Imported Upstream version 4.7.3 upstream/4.7.3
authorAnas Nashif <anas.nashif@intel.com>
Mon, 20 May 2013 16:58:35 +0000 (12:58 -0400)
committerAnas Nashif <anas.nashif@intel.com>
Mon, 20 May 2013 16:58:35 +0000 (12:58 -0400)
1273 files changed:
ChangeLog
INSTALL/binaries.html
INSTALL/build.html
INSTALL/configure.html
INSTALL/download.html
INSTALL/finalinstall.html
INSTALL/gfdl.html
INSTALL/index.html
INSTALL/old.html
INSTALL/prerequisites.html
INSTALL/specific.html
INSTALL/test.html
LAST_UPDATED
MD5SUMS
NEWS
boehm-gc/ChangeLog
boehm-gc/Makefile.am
boehm-gc/Makefile.in
boehm-gc/include/Makefile.in
boehm-gc/testsuite/Makefile.in
config/ChangeLog
contrib/ChangeLog
contrib/reghunt/ChangeLog
contrib/regression/ChangeLog
fixincludes/ChangeLog
gcc/BASE-VER
gcc/ChangeLog
gcc/DATESTAMP
gcc/Makefile.in
gcc/ada/ChangeLog
gcc/ada/adaint.c
gcc/ada/exp_attr.adb
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gnat-style.texi
gcc/ada/gnat_rm.texi
gcc/ada/init.c
gcc/ada/initialize.c
gcc/ada/projects.texi
gcc/ada/s-gearop.adb
gcc/ada/s-osinte-hpux-dce.ads
gcc/ada/s-osinte-kfreebsd-gnu.ads
gcc/ada/s-osinte-rtems.adb
gcc/ada/s-taspri-hpux-dce.ads
gcc/ada/s-taspri-lynxos.ads [deleted file]
gcc/ada/s-tpopsp-rtems.adb
gcc/ada/seh_init.c
gcc/ada/sem_ch12.adb
gcc/ada/tracebak.c
gcc/builtins.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-typeck.c
gcc/cfgcleanup.c
gcc/cfgexpand.c
gcc/cfgrtl.c
gcc/cgraph.c
gcc/cgraph.h
gcc/collect2.c
gcc/common.opt
gcc/common/config/m68k/m68k-common.c
gcc/config.gcc
gcc/config/alpha/t-linux [new file with mode: 0644]
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.md
gcc/config/arm/t-linux-eabi
gcc/config/avr/avr-c.c
gcc/config/avr/avr-mcus.def
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/rtems.h
gcc/config/avr/t-avr
gcc/config/darwin.c
gcc/config/fr30/fr30.md
gcc/config/i386/constraints.md
gcc/config/i386/cpuid.h
gcc/config/i386/driver-i386.c
gcc/config/i386/fmaintrin.h
gcc/config/i386/gnu-user.h
gcc/config/i386/gnu-user64.h
gcc/config/i386/i386-c.c
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/config/i386/sync.md
gcc/config/i386/t-gnu [new file with mode: 0644]
gcc/config/i386/t-kfreebsd [new file with mode: 0644]
gcc/config/i386/t-linux [new file with mode: 0644]
gcc/config/i386/t-linux64
gcc/config/ia64/ia64.c
gcc/config/ia64/t-linux [new file with mode: 0644]
gcc/config/m68k/t-linux
gcc/config/microblaze/rtems.h [new file with mode: 0644]
gcc/config/microblaze/t-rtems [new file with mode: 0644]
gcc/config/mips/t-linux64
gcc/config/pa/pa.c
gcc/config/pa/pa.h
gcc/config/pa/pa.md
gcc/config/pa/t-linux [new file with mode: 0644]
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/t-fprules
gcc/config/rs6000/t-linux [new file with mode: 0644]
gcc/config/rs6000/t-linux64
gcc/config/s390/s390.c
gcc/config/s390/t-linux64
gcc/config/sh/linux.h
gcc/config/sh/netbsd-elf.h
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md
gcc/config/sh/sh.opt
gcc/config/sh/t-sh
gcc/config/sparc/sol2.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h
gcc/config/sparc/sparc.md
gcc/config/sparc/sync.md
gcc/config/sparc/t-linux [new file with mode: 0644]
gcc/config/sparc/t-linux64
gcc/config/sparc/t-rtems [new file with mode: 0644]
gcc/config/sparc/t-rtems-64 [new file with mode: 0644]
gcc/config/tilegx/tilegx-builtins.h
gcc/config/tilegx/tilegx.c
gcc/config/tilegx/tilegx.h
gcc/config/tilegx/tilegx.md
gcc/config/tilepro/tilepro.c
gcc/config/tilepro/tilepro.h
gcc/configure
gcc/configure.ac
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-objcp-common.c
gcc/cp/cp-objcp-common.h
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/except.c
gcc/cp/expr.c
gcc/cp/init.c
gcc/cp/name-lookup.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/cppdefault.c
gcc/cppdefault.h
gcc/cse.c
gcc/doc/aot-compile.1
gcc/doc/cpp.1
gcc/doc/cpp.info
gcc/doc/cppinternals.info
gcc/doc/cppopts.texi
gcc/doc/extend.texi
gcc/doc/fragments.texi
gcc/doc/fsf-funding.7
gcc/doc/g++.1
gcc/doc/gc-analyze.1
gcc/doc/gcc.1
gcc/doc/gcc.info
gcc/doc/gccinstall.info
gcc/doc/gccint.info
gcc/doc/gcj-dbtool.1
gcc/doc/gcj.1
gcc/doc/gcj.info
gcc/doc/gcov.1
gcc/doc/generic.texi
gcc/doc/gfdl.7
gcc/doc/gfortran.1
gcc/doc/gij.1
gcc/doc/gpl.7
gcc/doc/grmic.1
gcc/doc/install.texi
gcc/doc/invoke.texi
gcc/doc/jcf-dump.1
gcc/doc/jv-convert.1
gcc/doc/rebuild-gcj-db.1
gcc/dse.c
gcc/dwarf2out.c
gcc/emit-rtl.c
gcc/expmed.c
gcc/expr.c
gcc/fold-const.c
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/class.c
gcc/fortran/decl.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/gfortran.info
gcc/fortran/module.c
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/simplify.c
gcc/fortran/symbol.c
gcc/fortran/target-memory.c
gcc/fortran/trans-array.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans-stmt.c
gcc/function.c
gcc/gcc-ar.c
gcc/gcc.c
gcc/gcse.c
gcc/gengtype-lex.c
gcc/genmultilib
gcc/ggc-common.c
gcc/ggc-page.c
gcc/gimple-fold.c
gcc/gimple-low.c
gcc/gimple.c
gcc/gimple.h
gcc/gimplify.c
gcc/go/ChangeLog
gcc/go/Make-lang.in
gcc/go/gccgo.texi
gcc/go/go-c.h
gcc/go/go-lang.c
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/expressions.h
gcc/go/gofrontend/go.cc
gcc/go/gofrontend/gogo-tree.cc
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/gogo.h
gcc/go/gofrontend/import.cc
gcc/go/gofrontend/import.h
gcc/go/gofrontend/lex.cc
gcc/go/gofrontend/lex.h
gcc/go/gofrontend/parse.cc
gcc/go/gofrontend/parse.h
gcc/go/gofrontend/statements.cc
gcc/go/gofrontend/types.cc
gcc/go/gofrontend/types.h
gcc/go/lang.opt
gcc/godump.c
gcc/graphite-dependences.c
gcc/haifa-sched.c
gcc/ifcvt.c
gcc/incpath.c
gcc/ipa-inline-transform.c
gcc/ipa.c
gcc/ira-int.h
gcc/java/ChangeLog
gcc/langhooks-def.h
gcc/langhooks.h
gcc/loop-iv.c
gcc/lto-opts.c
gcc/lto-wrapper.c
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/objc/ChangeLog
gcc/objcp/ChangeLog
gcc/omp-low.c
gcc/optabs.c
gcc/po/ChangeLog
gcc/po/be.gmo
gcc/po/be.po
gcc/po/da.gmo
gcc/po/da.po
gcc/po/de.gmo
gcc/po/de.po
gcc/po/el.gmo
gcc/po/el.po
gcc/po/es.gmo
gcc/po/es.po
gcc/po/fi.gmo
gcc/po/fi.po
gcc/po/fr.gmo
gcc/po/fr.po
gcc/po/hr.gmo
gcc/po/hr.po
gcc/po/id.gmo
gcc/po/id.po
gcc/po/ja.gmo
gcc/po/ja.po
gcc/po/nl.gmo
gcc/po/nl.po
gcc/po/ru.gmo
gcc/po/ru.po
gcc/po/sr.gmo
gcc/po/sr.po
gcc/po/sv.gmo
gcc/po/sv.po
gcc/po/tr.gmo
gcc/po/tr.po
gcc/po/vi.gmo
gcc/po/vi.po
gcc/po/zh_CN.gmo
gcc/po/zh_CN.po
gcc/po/zh_TW.gmo
gcc/po/zh_TW.po
gcc/pointer-set.c
gcc/prefix.c
gcc/print-tree.c
gcc/sel-sched-ir.c
gcc/sel-sched.c
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr33763.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/pr54988.c [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/anon1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle61.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/alias-decl-20.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/constexpr-initlist6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/constexpr-virtual4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/decltype48.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/fntmpdefarg4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/initlist-defarg1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/initlist-protected.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/initlist-pure.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-initlist2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template9.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this9.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/noexcept18.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/noexcept19.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/noexcept20.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/nullptr21.C
gcc/testsuite/g++.dg/cpp0x/range-for24.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/trailing9.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/variadic-explicit2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/variadic133.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/variadic134.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/vt-55542.C [new file with mode: 0644]
gcc/testsuite/g++.dg/debug/pr54828.C [new file with mode: 0644]
gcc/testsuite/g++.dg/debug/pr56819.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/visibility/anon11.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr56217.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/array33.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/array34.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/const9.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/new41.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ipa/pr55264.C [new file with mode: 0644]
gcc/testsuite/g++.dg/opt/pr55331.C [new file with mode: 0644]
gcc/testsuite/g++.dg/other/abstract3.C
gcc/testsuite/g++.dg/parse/crash61.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/pr56239.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/array24.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/array25.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/crash115.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/error49.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/meminit3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/new11.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/param1.C
gcc/testsuite/g++.dg/template/pr54858.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/ptrmem23.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typedef39.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typedef40.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typename19.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typename20.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/20121105-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr54563.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr54735.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr54902.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr55355.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr56403.C [new file with mode: 0644]
gcc/testsuite/g++.dg/torture/pr56768.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wreturn-type-8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wunused-var-19.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/pmf2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.jason/enum6.C
gcc/testsuite/g++.old-deja/g++.law/enum9.C
gcc/testsuite/g++.old-deja/g++.other/enum4.C
gcc/testsuite/gcc.c-torture/compile/20121107-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-2.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-3.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-4.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-5.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54103-6.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr54552-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr55921.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr56539.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
gcc/testsuite/gcc.c-torture/execute/pr54985.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr56051.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr56250.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/20030711-1.c
gcc/testsuite/gcc.dg/20050826-1.c
gcc/testsuite/gcc.dg/c90-const-expr-8.c
gcc/testsuite/gcc.dg/lto/pr55660_0.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/lto/pr55660_1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr44061.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr45259.c
gcc/testsuite/gcc.dg/pr45472.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr49069.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr53701.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr54121.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55019.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55094.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55110.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55236.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55570.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55838.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr55940.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56023.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56098-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56125.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56275.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56350.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr56510.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr47917.c
gcc/testsuite/gcc.dg/torture/pr53663-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr53663-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr53663-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr53922.c
gcc/testsuite/gcc.dg/torture/pr54127.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr54877.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr54894.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr54920.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55107.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55481.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55755.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55882.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55890-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55890-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr55890-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr56443.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr56488.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr56501.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
gcc/testsuite/gcc.dg/tree-ssa/sra-13.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c
gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c
gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c
gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c
gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c
gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c
gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c
gcc/testsuite/gcc.dg/vect/pr52298.c
gcc/testsuite/gcc.dg/vect/slp-38.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-104.c
gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c
gcc/testsuite/gcc.dg/vect/vect-outer-1.c
gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c
gcc/testsuite/gcc.dg/vect/vect-outer-1a.c
gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c
gcc/testsuite/gcc.dg/vect/vect-outer-1b.c
gcc/testsuite/gcc.dg/vect/vect-outer-2b.c
gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
gcc/testsuite/gcc.dg/vect/vect-outer-3b.c
gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
gcc/testsuite/gcc.misc-tests/gcov-12.c
gcc/testsuite/gcc.target/arm/arm.exp
gcc/testsuite/gcc.target/arm/combine-movs.c
gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c
gcc/testsuite/gcc.target/arm/pr42879.c
gcc/testsuite/gcc.target/arm/pr51835.c
gcc/testsuite/gcc.target/arm/pr51915.c
gcc/testsuite/gcc.target/arm/pr52006.c
gcc/testsuite/gcc.target/arm/pr53187.c
gcc/testsuite/gcc.target/arm/pr54892.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/synchronize.c
gcc/testsuite/gcc.target/arm/thumb-find-work-register.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/unsigned-extend-1.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
gcc/testsuite/gcc.target/i386/clearcapv2.map [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/i386.exp
gcc/testsuite/gcc.target/i386/movsd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr54703.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr55142-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr55142-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr55597.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr56028.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr56560.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c
gcc/testsuite/gcc.target/pr55981.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/sh/pr49880-5.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/allocate_error_4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/block_12.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/class_55.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/class_56.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/class_allocate_13.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/elemental_scalar_args_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/enum_10.f90
gcc/testsuite/gfortran.dg/enum_9.f90
gcc/testsuite/gfortran.dg/fmt_cache_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/pr56052.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/import10.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/import11.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/import2.f90
gcc/testsuite/gfortran.dg/import8.f90
gcc/testsuite/gfortran.dg/interface_derived_type_1.f90
gcc/testsuite/gfortran.dg/internal_pack_13.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/internal_pack_14.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/intrinsic_size_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/intrinsic_size_4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/matmul_9.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/module_error_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/namelist_76.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/namelist_80.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr56015.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/select_8.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/transfer_class_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/transfer_intrinsic_4.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/transfer_intrinsic_5.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_22.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_23.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_24.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_25.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_26.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/use_27.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.fortran-torture/execute/pr54767.f90 [new file with mode: 0644]
gcc/testsuite/gnat.dg/addr1.adb
gcc/testsuite/gnat.dg/addr1.ads
gcc/testsuite/gnat.dg/alignment10.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/array16.adb
gcc/testsuite/gnat.dg/array16.ads
gcc/testsuite/gnat.dg/atomic5.adb
gcc/testsuite/gnat.dg/atomic5.ads
gcc/testsuite/gnat.dg/concat2.adb
gcc/testsuite/gnat.dg/concat2.ads
gcc/testsuite/gnat.dg/controlled7.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/controlled7.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/discr23.ads
gcc/testsuite/gnat.dg/discr29.adb
gcc/testsuite/gnat.dg/discr29.ads
gcc/testsuite/gnat.dg/lto14.adb
gcc/testsuite/gnat.dg/lto15.adb
gcc/testsuite/gnat.dg/modular4.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/modular4_pkg.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/nested_float_packed.ads
gcc/testsuite/gnat.dg/opt20.adb
gcc/testsuite/gnat.dg/opt20.ads
gcc/testsuite/gnat.dg/opt26.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/specs/addr1.ads
gcc/testsuite/gnat.dg/specs/atomic1.ads
gcc/testsuite/gnat.dg/specs/oconst6.ads [moved from gcc/testsuite/gnat.dg/oconst6.ads with 100% similarity]
gcc/testsuite/gnat.dg/stack_check3.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/stack_check3.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/vect8.adb
gcc/testsuite/gnat.dg/vect8.ads
gcc/testsuite/lib/gcc-dg.exp
gcc/testsuite/lib/target-supports.exp
gcc/toplev.c
gcc/tree-complex.c
gcc/tree-dump.c
gcc/tree-inline.c
gcc/tree-sra.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-math-opts.c
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-strlen.c
gcc/tree-ssa-structalias.c
gcc/tree-ssa-tail-merge.c
gcc/tree-ssa-threadedge.c
gcc/tree-streamer-in.c
gcc/tree-streamer-out.c
gcc/tree-streamer.c
gcc/tree-switch-conversion.c
gcc/tree-tailcall.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h
gcc/tree-vrp.c
gcc/tree.c
gcc/tree.h
gcc/var-tracking.c
gnattools/ChangeLog
include/ChangeLog
include/md5.h
include/sha1.h
intl/ChangeLog
libada/ChangeLog
libada/Makefile.in
libcpp/ChangeLog
libcpp/configure
libcpp/configure.ac
libcpp/po/ChangeLog
libcpp/po/eo.gmo [new file with mode: 0644]
libcpp/po/eo.po [new file with mode: 0644]
libcpp/po/sv.gmo
libcpp/po/sv.po
libcpp/po/vi.gmo
libcpp/po/vi.po
libdecnumber/ChangeLog
libffi/ChangeLog
libffi/Makefile.in
libffi/configure.ac
libffi/include/Makefile.in
libffi/man/Makefile.in
libffi/testsuite/Makefile.in
libgcc/ChangeLog
libgcc/Makefile.in
libgcc/config.host
libgcc/config/alpha/linux-unwind.h
libgcc/config/arm/unwind-arm.h
libgcc/config/i386/32/sfp-machine.h
libgcc/config/i386/64/sfp-machine.h
libgcc/config/libbid/ChangeLog
libgcc/config/sh/lib1funcs.S
libgcc/config/t-slibgcc-hpux
libgcc/emutls.c
libgcc/unwind-dw2-fde-dip.c
libgfortran/ChangeLog
libgfortran/io/format.c
libgfortran/io/list_read.c
libgfortran/io/open.c
libgfortran/io/unix.c
libgfortran/runtime/environ.c
libgo/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/configure.ac
libgo/go/bufio/bufio.go
libgo/go/builtin/builtin.go
libgo/go/bytes/bytes.go
libgo/go/compress/flate/inflate.go
libgo/go/compress/flate/reader_test.go [new file with mode: 0644]
libgo/go/crypto/elliptic/elliptic.go
libgo/go/crypto/rand/rand_test.go
libgo/go/crypto/rand/rand_windows.go
libgo/go/crypto/rsa/pkcs1v15.go
libgo/go/crypto/tls/conn.go
libgo/go/crypto/x509/verify.go
libgo/go/crypto/x509/x509.go
libgo/go/database/sql/fakedb_test.go
libgo/go/database/sql/sql.go
libgo/go/encoding/binary/varint.go
libgo/go/encoding/gob/decode.go
libgo/go/encoding/gob/doc.go
libgo/go/encoding/gob/encoder_test.go
libgo/go/encoding/gob/type.go
libgo/go/encoding/json/encode.go
libgo/go/flag/flag.go
libgo/go/fmt/fmt_test.go
libgo/go/fmt/print.go
libgo/go/go/ast/print.go
libgo/go/go/ast/print_test.go
libgo/go/go/ast/resolve.go
libgo/go/go/ast/walk.go
libgo/go/go/build/build.go
libgo/go/go/build/build_test.go
libgo/go/go/build/doc.go
libgo/go/go/doc/reader.go
libgo/go/go/doc/testdata/error2.1.golden
libgo/go/go/doc/testdata/error2.go
libgo/go/go/printer/nodes.go
libgo/go/go/printer/printer_test.go
libgo/go/go/scanner/errors.go
libgo/go/go/scanner/scanner.go
libgo/go/html/template/content.go
libgo/go/html/template/url.go
libgo/go/image/jpeg/reader.go
libgo/go/image/jpeg/writer.go
libgo/go/image/jpeg/writer_test.go
libgo/go/image/names.go
libgo/go/io/io.go
libgo/go/log/syslog/syslog.go
libgo/go/log/syslog/syslog_test.go
libgo/go/math/all_test.go
libgo/go/math/big/nat.go
libgo/go/math/bits.go
libgo/go/math/remainder.go
libgo/go/mime/grammar.go
libgo/go/mime/multipart/multipart.go
libgo/go/net/dial.go
libgo/go/net/fd.go
libgo/go/net/file.go
libgo/go/net/http/client.go
libgo/go/net/http/client_test.go
libgo/go/net/http/example_test.go
libgo/go/net/http/export_test.go
libgo/go/net/http/fs.go
libgo/go/net/http/fs_test.go
libgo/go/net/http/header.go
libgo/go/net/http/httptest/server.go
libgo/go/net/http/httputil/dump.go
libgo/go/net/http/pprof/pprof.go
libgo/go/net/http/range_test.go
libgo/go/net/http/serve_test.go
libgo/go/net/http/server.go
libgo/go/net/http/transport.go
libgo/go/net/http/transport_test.go
libgo/go/net/iprawsock.go
libgo/go/net/iprawsock_plan9.go
libgo/go/net/iprawsock_posix.go
libgo/go/net/mail/message.go
libgo/go/net/net_posix.go [new file with mode: 0644]
libgo/go/net/rpc/jsonrpc/all_test.go
libgo/go/net/rpc/server.go
libgo/go/net/sockopt.go
libgo/go/os/error_plan9.go
libgo/go/os/error_posix.go
libgo/go/os/error_test.go
libgo/go/os/error_windows.go
libgo/go/os/exec.go
libgo/go/os/exec/exec.go
libgo/go/os/exec/exec_test.go
libgo/go/os/exec_plan9.go
libgo/go/os/exec_posix.go
libgo/go/os/exec_unix.go
libgo/go/os/exec_windows.go
libgo/go/os/file_posix.go
libgo/go/os/file_unix.go
libgo/go/os/os_test.go
libgo/go/os/types.go
libgo/go/path/path.go
libgo/go/path/path_test.go
libgo/go/reflect/all_test.go
libgo/go/reflect/type.go
libgo/go/reflect/value.go
libgo/go/regexp/regexp.go
libgo/go/runtime/pprof/pprof.go
libgo/go/runtime/pprof/pprof_test.go
libgo/go/strconv/atoi.go
libgo/go/sync/waitgroup.go
libgo/go/sync/waitgroup_test.go
libgo/go/syscall/env_windows.go
libgo/go/syscall/exec_unix.go
libgo/go/syscall/exec_windows.go
libgo/go/syscall/libcall_linux.go
libgo/go/syscall/security_windows.go
libgo/go/syscall/socket.go
libgo/go/syscall/socket_linux.go
libgo/go/syscall/syscall.go
libgo/go/syscall/syscall_linux_386.go
libgo/go/testing/testing.go
libgo/go/text/tabwriter/tabwriter.go
libgo/go/text/template/doc.go
libgo/go/text/template/exec_test.go
libgo/go/text/template/funcs.go
libgo/go/text/template/parse/lex.go
libgo/go/text/template/parse/lex_test.go
libgo/go/time/time.go
libgo/mksysinfo.sh
libgo/runtime/chan.c
libgo/runtime/cpuprof.c
libgo/runtime/go-append.c
libgo/runtime/go-int-to-string.c
libgo/runtime/go-make-slice.c
libgo/runtime/go-rune.c
libgo/runtime/go-type-complex.c
libgo/runtime/go-type-float.c
libgo/runtime/malloc.h
libgo/runtime/print.c
libgo/runtime/runtime.c
libgo/testsuite/Makefile.in
libgomp/ChangeLog
libgomp/libgomp.info
libgomp/task.c
libgomp/team.c
libgomp/testsuite/libgomp.c++/pr56217.C [new file with mode: 0644]
libiberty/ChangeLog
libiberty/md5.c
libiberty/regex.c
libiberty/sha1.c
libitm/ChangeLog
libitm/Makefile.in
libitm/configure
libitm/configure.ac
libitm/libitm.info
libitm/testsuite/Makefile.in
libjava/ChangeLog
libjava/classpath/ChangeLog
libjava/classpath/ChangeLog.gcj
libjava/classpath/Makefile.in
libjava/classpath/configure.ac
libjava/classpath/doc/Makefile.in
libjava/classpath/doc/api/Makefile.in
libjava/classpath/doc/cp-tools.info
libjava/classpath/doc/cp-tools.texinfo
libjava/classpath/doc/gappletviewer.1
libjava/classpath/doc/gjar.1
libjava/classpath/doc/gjarsigner.1
libjava/classpath/doc/gjavah.1
libjava/classpath/doc/gjdoc.1
libjava/classpath/doc/gkeytool.1
libjava/classpath/doc/gnative2ascii.1
libjava/classpath/doc/gorbd.1
libjava/classpath/doc/grmid.1
libjava/classpath/doc/grmiregistry.1
libjava/classpath/doc/gserialver.1
libjava/classpath/doc/gtnameserv.1
libjava/classpath/examples/Makefile.in
libjava/classpath/external/Makefile.in
libjava/classpath/external/jsr166/Makefile.in
libjava/classpath/external/relaxngDatatype/Makefile.in
libjava/classpath/external/sax/Makefile.in
libjava/classpath/external/w3c_dom/Makefile.in
libjava/classpath/include/Makefile.in
libjava/classpath/lib/Makefile.in
libjava/classpath/lib/gnu/gcj/convert/Convert.class
libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class
libjava/classpath/lib/gnu/java/locale/LocaleData.class
libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
libjava/classpath/native/Makefile.in
libjava/classpath/native/fdlibm/Makefile.in
libjava/classpath/native/jawt/Makefile.in
libjava/classpath/native/jni/Makefile.in
libjava/classpath/native/jni/classpath/Makefile.in
libjava/classpath/native/jni/gconf-peer/Makefile.in
libjava/classpath/native/jni/gstreamer-peer/Makefile.in
libjava/classpath/native/jni/gtk-peer/Makefile.in
libjava/classpath/native/jni/java-io/Makefile.in
libjava/classpath/native/jni/java-lang/Makefile.in
libjava/classpath/native/jni/java-math/Makefile.in
libjava/classpath/native/jni/java-net/Makefile.in
libjava/classpath/native/jni/java-nio/Makefile.in
libjava/classpath/native/jni/java-util/Makefile.in
libjava/classpath/native/jni/midi-alsa/Makefile.in
libjava/classpath/native/jni/midi-dssi/Makefile.in
libjava/classpath/native/jni/native-lib/Makefile.in
libjava/classpath/native/jni/qt-peer/Makefile.in
libjava/classpath/native/jni/xmlj/Makefile.in
libjava/classpath/native/plugin/Makefile.in
libjava/classpath/resource/Makefile.in
libjava/classpath/scripts/Makefile.in
libjava/classpath/tools/Makefile.in
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class
libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
libjava/configure
libjava/configure.ac
libjava/libltdl/ChangeLog
libmudflap/ChangeLog
libobjc/ChangeLog
libquadmath/ChangeLog
libquadmath/libquadmath.info
libquadmath/libquadmath.texi
libssp/ChangeLog
libstdc++-v3/ChangeLog
libstdc++-v3/Makefile.am
libstdc++-v3/Makefile.in
libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/configure.host
libstdc++-v3/doc/Makefile.am
libstdc++-v3/doc/Makefile.in
libstdc++-v3/doc/html/api.html
libstdc++-v3/doc/html/bk02.html
libstdc++-v3/doc/html/bk03.html
libstdc++-v3/doc/html/faq.html
libstdc++-v3/doc/html/index.html
libstdc++-v3/doc/html/manual/abi.html
libstdc++-v3/doc/html/manual/algorithms.html
libstdc++-v3/doc/html/manual/api.html
libstdc++-v3/doc/html/manual/appendix_contributing.html
libstdc++-v3/doc/html/manual/appendix_free.html
libstdc++-v3/doc/html/manual/appendix_gfdl.html
libstdc++-v3/doc/html/manual/appendix_gpl.html
libstdc++-v3/doc/html/manual/appendix_porting.html
libstdc++-v3/doc/html/manual/associative.html
libstdc++-v3/doc/html/manual/atomics.html
libstdc++-v3/doc/html/manual/backwards.html
libstdc++-v3/doc/html/manual/bitmap_allocator.html
libstdc++-v3/doc/html/manual/bk01pt02.html
libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html
libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html
libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html
libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html
libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html
libstdc++-v3/doc/html/manual/bk01pt03pr01.html
libstdc++-v3/doc/html/manual/bk01pt04.html
libstdc++-v3/doc/html/manual/bugs.html
libstdc++-v3/doc/html/manual/concurrency.html
libstdc++-v3/doc/html/manual/configure.html
libstdc++-v3/doc/html/manual/containers.html
libstdc++-v3/doc/html/manual/containers_and_c.html
libstdc++-v3/doc/html/manual/debug.html
libstdc++-v3/doc/html/manual/debug_mode.html
libstdc++-v3/doc/html/manual/diagnostics.html
libstdc++-v3/doc/html/manual/documentation_hacking.html
libstdc++-v3/doc/html/manual/dynamic_memory.html
libstdc++-v3/doc/html/manual/ext_algorithms.html
libstdc++-v3/doc/html/manual/ext_compile_checks.html
libstdc++-v3/doc/html/manual/ext_concurrency.html
libstdc++-v3/doc/html/manual/ext_containers.html
libstdc++-v3/doc/html/manual/ext_demangling.html
libstdc++-v3/doc/html/manual/ext_io.html
libstdc++-v3/doc/html/manual/ext_iterators.html
libstdc++-v3/doc/html/manual/ext_numerics.html
libstdc++-v3/doc/html/manual/ext_utilities.html
libstdc++-v3/doc/html/manual/extensions.html
libstdc++-v3/doc/html/manual/facets.html
libstdc++-v3/doc/html/manual/fstreams.html
libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
libstdc++-v3/doc/html/manual/index.html
libstdc++-v3/doc/html/manual/internals.html
libstdc++-v3/doc/html/manual/intro.html
libstdc++-v3/doc/html/manual/io.html
libstdc++-v3/doc/html/manual/io_and_c.html
libstdc++-v3/doc/html/manual/iterators.html
libstdc++-v3/doc/html/manual/license.html
libstdc++-v3/doc/html/manual/localization.html
libstdc++-v3/doc/html/manual/make.html
libstdc++-v3/doc/html/manual/memory.html
libstdc++-v3/doc/html/manual/mt_allocator.html
libstdc++-v3/doc/html/manual/numerics.html
libstdc++-v3/doc/html/manual/numerics_and_c.html
libstdc++-v3/doc/html/manual/pairs.html
libstdc++-v3/doc/html/manual/parallel_mode.html
libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
libstdc++-v3/doc/html/manual/policy_data_structures.html
libstdc++-v3/doc/html/manual/policy_data_structures_ack.html [new file with mode: 0644]
libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html [deleted file]
libstdc++-v3/doc/html/manual/policy_data_structures_design.html
libstdc++-v3/doc/html/manual/policy_data_structures_using.html
libstdc++-v3/doc/html/manual/profile_mode.html
libstdc++-v3/doc/html/manual/setup.html
libstdc++-v3/doc/html/manual/source_code_style.html
libstdc++-v3/doc/html/manual/source_design_notes.html
libstdc++-v3/doc/html/manual/source_organization.html
libstdc++-v3/doc/html/manual/status.html
libstdc++-v3/doc/html/manual/streambufs.html
libstdc++-v3/doc/html/manual/strings.html
libstdc++-v3/doc/html/manual/stringstreams.html
libstdc++-v3/doc/html/manual/support.html
libstdc++-v3/doc/html/manual/termination.html
libstdc++-v3/doc/html/manual/test.html
libstdc++-v3/doc/html/manual/traits.html
libstdc++-v3/doc/html/manual/using.html
libstdc++-v3/doc/html/manual/using_concurrency.html
libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
libstdc++-v3/doc/html/manual/using_exceptions.html
libstdc++-v3/doc/html/manual/using_headers.html
libstdc++-v3/doc/html/manual/using_macros.html
libstdc++-v3/doc/html/manual/using_namespaces.html
libstdc++-v3/doc/html/manual/utilities.html
libstdc++-v3/doc/xml/manual/abi.xml
libstdc++-v3/doc/xml/manual/allocator.xml
libstdc++-v3/doc/xml/manual/appendix_contributing.xml
libstdc++-v3/doc/xml/manual/build_hacking.xml
libstdc++-v3/doc/xml/manual/debug.xml
libstdc++-v3/doc/xml/manual/debug_mode.xml
libstdc++-v3/doc/xml/manual/documentation_hacking.xml
libstdc++-v3/doc/xml/manual/messages.xml
libstdc++-v3/doc/xml/manual/policy_data_structures.xml
libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml [new file with mode: 0644]
libstdc++-v3/doc/xml/manual/profile_mode.xml
libstdc++-v3/doc/xml/manual/shared_ptr.xml
libstdc++-v3/doc/xml/manual/spine.xml
libstdc++-v3/doc/xml/manual/status_cxx2011.xml
libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
libstdc++-v3/doc/xsl/customization.xsl.in [new file with mode: 0644]
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/alloc_traits.h
libstdc++-v3/include/bits/atomic_base.h
libstdc++-v3/include/bits/hashtable.h
libstdc++-v3/include/bits/hashtable_policy.h
libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/include/bits/unordered_map.h
libstdc++-v3/include/bits/unordered_set.h
libstdc++-v3/include/bits/vector.tcc
libstdc++-v3/include/debug/unordered_map
libstdc++-v3/include/debug/unordered_set
libstdc++-v3/include/ext/alloc_traits.h
libstdc++-v3/include/ext/pointer.h
libstdc++-v3/include/ext/string_conversions.h
libstdc++-v3/include/profile/iterator_tracker.h
libstdc++-v3/include/std/atomic
libstdc++-v3/include/std/complex
libstdc++-v3/include/std/condition_variable
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/future
libstdc++-v3/include/std/mutex
libstdc++-v3/include/std/streambuf
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/include/tr1/functional
libstdc++-v3/libsupc++/Makefile.am
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/libsupc++/exception_ptr.h
libstdc++-v3/libsupc++/initializer_list
libstdc++-v3/po/Makefile.in
libstdc++-v3/python/Makefile.in
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/c++11/Makefile.am
libstdc++-v3/src/c++11/Makefile.in
libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
libstdc++-v3/src/c++11/compatibility-c++0x.cc
libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
libstdc++-v3/src/c++11/regex.cc
libstdc++-v3/src/c++11/thread.cc
libstdc++-v3/src/c++98/Makefile.am
libstdc++-v3/src/c++98/Makefile.in
libstdc++-v3/src/c++98/compatibility-list-2.cc
libstdc++-v3/src/c++98/compatibility.cc
libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
libstdc++-v3/testsuite/20_util/function/cons/55320.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/function/cons/addressof.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
libstdc++-v3/testsuite/23_containers/array/range_access.cc
libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
libstdc++-v3/testsuite/23_containers/deque/range_access.cc
libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
libstdc++-v3/testsuite/23_containers/list/capacity/1.h
libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
libstdc++-v3/testsuite/23_containers/list/operations/1.cc
libstdc++-v3/testsuite/23_containers/list/operations/1.h
libstdc++-v3/testsuite/23_containers/list/operations/2.cc
libstdc++-v3/testsuite/23_containers/list/operations/2.h
libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
libstdc++-v3/testsuite/23_containers/list/operations/3.cc
libstdc++-v3/testsuite/23_containers/list/operations/3.h
libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
libstdc++-v3/testsuite/23_containers/list/operations/4.cc
libstdc++-v3/testsuite/23_containers/list/operations/4.h
libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
libstdc++-v3/testsuite/23_containers/list/operations/5.cc
libstdc++-v3/testsuite/23_containers/list/operations/5.h
libstdc++-v3/testsuite/23_containers/list/range_access.cc
libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/map/range_access.cc
libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/set/range_access.cc
libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
libstdc++-v3/testsuite/23_containers/vector/range_access.cc
libstdc++-v3/testsuite/24_iterators/range_access.cc
libstdc++-v3/testsuite/25_algorithms/copy/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/2.cc
libstdc++-v3/testsuite/25_algorithms/copy/3.cc
libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
libstdc++-v3/testsuite/25_algorithms/copy/4.cc
libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/fill/4.cc
libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
libstdc++-v3/testsuite/25_algorithms/heap/1.cc
libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
libstdc++-v3/testsuite/25_algorithms/move/1.cc
libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc
libstdc++-v3/testsuite/25_algorithms/partition/1.cc
libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
libstdc++-v3/testsuite/28_regex/range_access.cc
libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc [new file with mode: 0644]
libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc [new file with mode: 0644]
libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc [new file with mode: 0644]
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
libstdc++-v3/testsuite/ext/vstring/range_access.cc
libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc
libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc
libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
lto-plugin/ChangeLog
maintainer-scripts/ChangeLog
zlib/ChangeLog

index 9efd6f9..7d255b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index f360b1a..40eb488 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Binaries</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Binaries">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 644900f..d70e10a 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Building</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Building">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 0c58c8a..1a83c50 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Configuration</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Configuration">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
@@ -433,6 +433,14 @@ For ARM targets, possible values for <var>dialect</var> are <code>gnu</code> or
 <code>gnu2</code>, which select between the original GNU dialect and the GNU TLS
 descriptor-based dialect.
 
+     <br><dt><code>--enable-multiarch</code><dd>Specify whether to enable or disable multiarch support.  The default is
+to check for glibc start files in a multiarch location, and enable it
+if the files are found.  The auto detection is enabled for native builds,
+and for cross builds configured with <samp><span class="option">--with-sysroot</span></samp>, and without
+<samp><span class="option">--with-native-system-header-dir</span></samp>. 
+More documentation about multiarch can be found at
+<a href="http://wiki.debian.org/Multiarch">http://wiki.debian.org/Multiarch</a>.
+
      <br><dt><code>--disable-multilib</code><dd>Specify that multiple target
 libraries to support different target variants, calling
 conventions, etc. should not be built.  The default is to build a
@@ -1036,6 +1044,15 @@ being used as the target C library.  This causes <code>__eprintf</code> to be
 omitted from <samp><span class="file">libgcc.a</span></samp> on the assumption that it will be provided by
 &lsquo;<samp><span class="samp">newlib</span></samp>&rsquo;.
 
+     <br><dt><code>--with-avrlibc</code><dd>Specifies that &lsquo;<samp><span class="samp">AVR-Libc</span></samp>&rsquo; is
+being used as the target C library.  This causes float support
+functions like <code>__addsf3</code> to be omitted from <samp><span class="file">libgcc.a</span></samp> on
+the assumption that it will be provided by <samp><span class="file">libm.a</span></samp>.  For more
+technical details, cf. <a href="http://gcc.gnu.org/PR54461">PR54461</a>. 
+This option is only supported for the AVR target.  It is not supported for
+RTEMS configurations, which currently use newlib.  The option is
+supported since version 4.7.2 and is the default in 4.8.0 and newer.
+
      <br><dt><code>--with-build-time-tools=</code><var>dir</var><dd>Specifies where to find the set of target tools (assembler, linker, etc.) 
 that will be used while building GCC itself.  This option can be useful
 if the directory layouts are different between the system you are building
index 68d0ba3..cbd0cff 100644 (file)
@@ -3,7 +3,7 @@
 <title>Downloading GCC</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Downloading GCC">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 73b8820..04c4e43 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Final installation</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Final installation">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index d4f387c..0e8c13d 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: GNU Free Documentation License</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: GNU Free Documentation License">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 9b294f2..6dbc332 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index a211b08..370568e 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Old documentation</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Old documentation">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 6845aa3..2d3d972 100644 (file)
@@ -3,7 +3,7 @@
 <title>Prerequisites for GCC</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Prerequisites for GCC">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index fc02e30..3de182f 100644 (file)
@@ -3,7 +3,7 @@
 <title>Host/Target specific installation notes for GCC</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Host/Target specific installation notes for GCC">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
@@ -206,7 +206,7 @@ provide a fix shortly.
 
 <p>ARM-family processors.  Subtargets that use the ELF object format
 require GNU binutils 2.13 or newer.  Such subtargets include:
-<code>arm-*-netbsdelf</code>, <code>arm-*-*linux-gnueabi</code>
+<code>arm-*-netbsdelf</code>, <code>arm-*-*linux-gnueabi*</code>
 and <code>arm-*-rtemseabi</code>.
 
    <p><hr />
@@ -1327,9 +1327,9 @@ releases mishandled unaligned relocations on <code>sparc-*-*</code> targets.
 
 <h3 class="heading"><a name="TOC55"></a><a name="sparc64_002dx_002dsolaris2"></a>sparc64-*-solaris2*</h3>
 
-<p>When configuring the GNU Multiple Precision Library (GMP) or the
-MPFR library, the canonical target triplet must be specified as
-the <samp><span class="command">build</span></samp> parameter on the configure line.  For example
+<p>When configuring the GNU Multiple Precision Library (GMP), the MPFR
+library or the MPC library, the canonical target triplet must be specified
+as the <samp><span class="command">build</span></samp> parameter on the configure line.  For example
 on a Solaris 9 system:
 
 <pre class="smallexample">     % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
index 352ab17..359bfec 100644 (file)
@@ -3,7 +3,7 @@
 <title>Installing GCC: Testing</title>
 <meta http-equiv="Content-Type" content="text/html">
 <meta name="description" content="Installing GCC: Testing">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.12">
 <link title="Top" rel="top" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <!--
index 74e392f..2230e8f 100644 (file)
@@ -1 +1 @@
-Obtained from SVN: tags/gcc_4_7_2_release revision 191558
+Obtained from SVN: tags/gcc_4_7_3_release revision 197739
diff --git a/MD5SUMS b/MD5SUMS
index 9c05d3d..4929678 100644 (file)
--- a/MD5SUMS
+++ b/MD5SUMS
@@ -1,5 +1,5 @@
 # This file contains the MD5 checksums of the files in the 
-# gcc-4.7.2.tar.bz2 tarball.
+# gcc-4.7.3.tar.bz2 tarball.
 #
 # Besides verifying that all files in the tarball were correctly expanded,
 # it also can be used to determine if any files have changed since the
 fe60d87048567d4fe8c8a0ed2448bcc8  COPYING.RUNTIME
 d32239bcb673463ab874e80d47fae504  COPYING3
 6a6a8e020838b23406c81b19c1d46df6  COPYING3.LIB
-346413843699c32d443d58da86084d06  ChangeLog
+bfe3f9256a4f29dd867dad5707e09247  ChangeLog
 09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
 23b8927fe1fb0ab321c09a4f0500aa4c  INSTALL/README
-60392bf6eec376cda14f7d0790cda928  INSTALL/binaries.html
-7a42ac4abb765febe84f02ef80bf20a7  INSTALL/build.html
-7edd7250e27c4a51e9a5d6d533b564ef  INSTALL/configure.html
-0b94505bbfd1778c44284bc833b8afd5  INSTALL/download.html
-ce73e1729451a97624e71ad022ca561f  INSTALL/finalinstall.html
-716e37f85b804328d8ad3b03b69311fe  INSTALL/gfdl.html
-e604d9af59262b4bfa1b820c66d46745  INSTALL/index.html
-4c85841c9cdfeab1b61f1d6f9b33928b  INSTALL/old.html
-2a7ec89cbb185b4e00ab98f37e714139  INSTALL/prerequisites.html
-b669c66e06335c99fecfb0209df1cecd  INSTALL/specific.html
-b16dcd4bc2164607d252a6dca07cb011  INSTALL/test.html
-49c1011f7f2e13d439d426d93b30dfa6  LAST_UPDATED
+b9a70d438682f8726c4d189df9f4d490  INSTALL/binaries.html
+276983f4b4733a1c510e2b28b7d4d366  INSTALL/build.html
+aba97e6073582ca1d12ed282c58b6094  INSTALL/configure.html
+ccd3788e33def1daa7b5a2ad6d92c7a1  INSTALL/download.html
+d83d7ff741eb7660554e03a2bd6d44dd  INSTALL/finalinstall.html
+5ce937f477d8bb4003b7bc81c268e5ec  INSTALL/gfdl.html
+02817b800c7b74052c9d5f784bd98480  INSTALL/index.html
+6138d1e386b2120c016b4f4f588ea7b6  INSTALL/old.html
+4e791f183e31b7e4afc853a8c8248635  INSTALL/prerequisites.html
+6d4f2f603157bf9ac3f10514982d6440  INSTALL/specific.html
+df3669d7d5e057cf09017419a4e0bda2  INSTALL/test.html
+7dceb4444c9cb0b21fa7404abf76eff5  LAST_UPDATED
 1631eb122cc01f8203da4708ee78d4ee  MAINTAINERS
 f004f886f958071f5d33c3c72a7bd8f8  Makefile.def
 79e6a5d671f545a1879ee48263fe5c9a  Makefile.in
 c6c419b8005fb07168768568babda28c  Makefile.tpl
-7445dc3b5ab9ce6448cf2cf78cdf5f2e  NEWS
+982799cb44fb7071e3456de5825c0044  NEWS
 ec2b30b6785a025a4647df31097b2339  README
 b510a5285eb05298b5f3d9f5ae920588  boehm-gc/AmigaOS.c
 2caafacabf758bb76a9dfce1fc544b97  boehm-gc/BCC_MAKEFILE
-1f9598168cc158ede69e0fa8b7f5efa9  boehm-gc/ChangeLog
+9f0497a5e211b182283c5acf2dda081c  boehm-gc/ChangeLog
 c18075e3729cd116028480307a8e845d  boehm-gc/EMX_MAKEFILE
 3b7cc3be9ed3c2135bbda990e8a69303  boehm-gc/MacOS.c
 5cf7764626b7dd7272b2fe11403d1b6a  boehm-gc/MacProjects.sit.hqx
@@ -46,11 +46,11 @@ e9d4bf13bdd11f9590788db857faf080  boehm-gc/Mac_files/MacOS_Test_config.h
 f5f78130ed0450ba9503ca3122244195  boehm-gc/Mac_files/dataend.c
 548c55b112b5d4766c7f87be96f79df2  boehm-gc/Mac_files/datastart.c
 8ef74141b1fb9a289228c259044f4934  boehm-gc/Makefile.DLLs
-5ccc30c23469a2d3a477f3dfd529123f  boehm-gc/Makefile.am
+e3bfbe6fffb15626da8479bb70f75831  boehm-gc/Makefile.am
 ee5852b604978c4bc485f3503799bea5  boehm-gc/Makefile.direct
 dfbca9ef8eed29378fa34ab88a644c95  boehm-gc/Makefile.dist
 a50d3b2e14f6cf62519f1f7e557e7221  boehm-gc/Makefile.dj
-8d0e3b9831b76f66676bc2c498f1cb5f  boehm-gc/Makefile.in
+a4b5833111a219fcf5546577ed412d14  boehm-gc/Makefile.in
 bdf166ac9229e7e18158c3c84eb77915  boehm-gc/NT_MAKEFILE
 4c48a2eb34d18243e169564ded1eda87  boehm-gc/NT_STATIC_THREADS_MAKEFILE
 bc4287e5afadf75c1683ec57f0db80d0  boehm-gc/NT_THREADS_MAKEFILE
@@ -131,7 +131,7 @@ ab9d609f116e5a2127bc508d54674558  boehm-gc/headers.c
 214b7d9a2e0989b5e2d64c8eba365721  boehm-gc/if_mach.c
 9f84bf3dd95cc4ebb3ed4f5abb1eba6f  boehm-gc/if_not_there.c
 c4374424ebf25df207b9be9d7c913d2e  boehm-gc/include/Makefile.am
-87fa0a835d96d22a8024a0b0fcf3e8df  boehm-gc/include/Makefile.in
+b90e7195b345603ff982ea5a2f6aced7  boehm-gc/include/Makefile.in
 49d0db4f59bb4874db24c5942ed8c2ee  boehm-gc/include/cord.h
 b1d9c432f2e6709f4eed702f26126ac1  boehm-gc/include/ec.h
 2432efb8fea49b0d69f0510f492412ef  boehm-gc/include/gc.h
@@ -193,7 +193,7 @@ c697080a88f3f14a0f8971ad1f6d043a  boehm-gc/rs6000_mach_dep.s
 d084437a10829db11cbd5a5b9ff583df  boehm-gc/specific.c
 f0d0015cd40ed8b45360730aed61c307  boehm-gc/stubborn.c
 061fef1dd382a637253c2dbda7d91059  boehm-gc/testsuite/Makefile.am
-f015dd687a7713a3ce97228861a9f0c5  boehm-gc/testsuite/Makefile.in
+faf51a0a6dfed08d3d5d3d3c33d2eaa8  boehm-gc/testsuite/Makefile.in
 2ab602a1cde16f728ad785c0c1472b4e  boehm-gc/testsuite/boehm-gc.c++/test_cpp.cc
 15a34728bb0052429e2e93c22c15baef  boehm-gc/testsuite/boehm-gc.c/c.exp
 8d54baaff7824b3a08a87256aa14044c  boehm-gc/testsuite/boehm-gc.c/gctest.c
@@ -216,7 +216,7 @@ b04a1232318128ebd7c630fca10d02e5  boehm-gc/threads.mk.in
 8385976ed3a37f278f07c10341d53876  config.guess
 040359150cf11493f973a46d8a25b06b  config.rpath
 32c03149d8dd8808dea9adf58e712886  config.sub
-224cc0ea64ad503abe909de543bf59c8  config/ChangeLog
+69731c037c37b031ebbcfa7f4d51cb26  config/ChangeLog
 0fcd4badfe2a2191778bdf5ab94aa40c  config/acinclude.m4
 9238d23c68259d195b332db71892d242  config/acx.m4
 6b030f5cf640bdd401ea739f54a667f8  config/asmcfi.m4
@@ -293,7 +293,7 @@ b6afa5c33fb98edfaf591dd38d198b0d  config/warnings.m4
 e249d18c447a8372fd1ed5f084284d6b  config/zlib.m4
 f7c6e22a5570b5d03737fb9faaf0bdc3  configure
 65d5e5874a672db769377a1ef1b30208  configure.ac
-1f48e58dd143be67cd9455c5c0f46aa4  contrib/ChangeLog
+121ea48b516cc593e9877e0b8ae9adfb  contrib/ChangeLog
 7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
 e0ea80d7094bf66610f2f60db444f9a1  contrib/analyze_brprob
 174515e368b73ef2fc8c54c9455517bf  contrib/check_GNU_style.sh
@@ -322,7 +322,7 @@ fa945bac89ee68b410027dcfe1312f4b  contrib/index-prop
 0fb5c8c3cd465d8bd57b55b2548c683a  contrib/paranoia.cc
 9083c56c1c89c5bec355a27f78e49807  contrib/patch_tester.sh
 87a19b40fbd220938cf6c23c42c255e2  contrib/prepare_patch.sh
-e9cf884b7559a4a9e755e72f2a25184b  contrib/reghunt/ChangeLog
+d17300c78817054280621175dd651a27  contrib/reghunt/ChangeLog
 cf247a580e49d212518de409793db0a8  contrib/reghunt/bin/gcc-build-full
 724e70ea3e80f87f2a201bbe2f1eef37  contrib/reghunt/bin/gcc-build-simple
 3f2318bae7562a4ad1639e686916a545  contrib/reghunt/bin/gcc-cleanup
@@ -381,7 +381,7 @@ f251d49dd87647250fcd74dd50b7835f  contrib/reghunt/examples/common.config
 e2829fc4af4f433a6a328a62d5ce8066  contrib/reghunt/examples/reg-watch
 afd863c2ec84c906e20f9b9787b1f0fe  contrib/reghunt/examples/reg-watch.awk
 8955535523d4b5f48006bcb851ba9b4b  contrib/reghunt/examples/testall
-30e4bac56aaf231a334dc380272f6eb5  contrib/regression/ChangeLog
+64b0a7e8ac2b7d58a1c099b1def13b68  contrib/regression/ChangeLog
 30553bfced1b2b46bf7ca01ef6ba69d1  contrib/regression/GCC_Regression_Tester.wdgt/Default.png
 ad38ddd771df222eb9d413e3c7f6a751  contrib/regression/GCC_Regression_Tester.wdgt/Icon.png
 777bd286c147cc02861811f66b9a4440  contrib/regression/GCC_Regression_Tester.wdgt/Info.plist
@@ -403,7 +403,7 @@ f82011efd049c5b2b3bbbbd23da07f48  contrib/texi2pod.pl
 e00fa8f7dd72b80ca5a64130e85fe4f4  contrib/uninclude
 7cb42cbdf8becd280d1e16191416fb62  contrib/warn_summary
 21504de31981a67b5b93b265029d1865  depcomp
-d9721c43c158f16e1c45b92eb98e39b0  fixincludes/ChangeLog
+97140608e4ba35617bbe66851130f8fd  fixincludes/ChangeLog
 2a322f921f84a63f1935d28805cd9fa8  fixincludes/Makefile.in
 a3e295399ad4c66c3985433dd62ce25d  fixincludes/README
 455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
@@ -533,12 +533,12 @@ a5e817d35ded04a0fb03999b50c0e89e  fixincludes/tests/base/tgmath.h
 955462b555900ecd3934223c64e21fa7  fixincludes/tests/base/types/vxTypesBase.h
 c78e762f2c91f2af991feda7d3d7f4b2  fixincludes/tests/base/unistd.h
 d227bdd632a7e8a2d0323e1d37e10d16  gcc/ABOUT-GCC-NLS
-976f8858043ad09ccca4ed1f3ceabd01  gcc/BASE-VER
+74a13b82b5261096ec2e1f75329e3041  gcc/BASE-VER
 59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
 a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
 d32239bcb673463ab874e80d47fae504  gcc/COPYING3
 6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
-798d4886bb5113758f18e61dafcd5391  gcc/ChangeLog
+8ef8e70a22a6031a9012d8a7eb41921e  gcc/ChangeLog
 a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
 d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
 240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
@@ -560,19 +560,19 @@ fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/ChangeLog.graphite
 e7d34075f784a1023d629b2d5593e6b4  gcc/ChangeLog.ptr
 44a19214e0ebd53bf291bcfe85f7492f  gcc/ChangeLog.tree-ssa
 f8f89587d1efbf6a1f7456761d5712c5  gcc/ChangeLog.tuples
-2537e5b6da494d01fb24f0d85563ba81  gcc/DATESTAMP
+6c4ddfd65db33a8e7a46b747dd615795  gcc/DATESTAMP
 d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
 f76db67fe6b61ed06427646baa7ba6bf  gcc/FSFChangeLog
 44bbf940c2e0a18217b7e604f45216df  gcc/FSFChangeLog.10
 fa2c2f526f330fe2ea2f87ae5685c48c  gcc/FSFChangeLog.11
 39ad51480c15445f5595ec9bf0ee8fba  gcc/LANGUAGES
-7b910fe9ec663b1f9088cc21af55ed91  gcc/Makefile.in
+43af76cdea67e81101a7022e14b88abb  gcc/Makefile.in
 829657963f84cdbfce626a7324765d39  gcc/ONEWS
 09577e2fb41405fbad79f3440f614242  gcc/README.Portability
 b70b91c56d951ac47b87fcee904d9c86  gcc/acinclude.m4
 b005d20cd878dfe7f2b300371aab7dac  gcc/aclocal.m4
 30995d78221b41ce62c92b2f601b4ebb  gcc/ada/9drpc.adb
-8abe91a87421fea48f8385540a4170e2  gcc/ada/ChangeLog
+2690953d448319861e927d9cbdae3dae  gcc/ada/ChangeLog
 683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
 7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
 cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
@@ -1162,7 +1162,7 @@ a6d7b54a7a1a401188cfe54d1c2bad3b  gcc/ada/a-zzunio.ads
 728ca1ddf1e5507ea8f88a17fa6dc11c  gcc/ada/ada.ads
 093195e028a4a3781d9269a745f4f4ca  gcc/ada/adadecode.c
 04da11de5e8ecb1875c8e57964bbee2a  gcc/ada/adadecode.h
-27390e4fc5173a8a83c2dee1bd28c9e1  gcc/ada/adaint.c
+863a2dd5ef16b9518de3b235f3322f97  gcc/ada/adaint.c
 3507da52a36313b31e13daee767b2d29  gcc/ada/adaint.h
 c2a0f1d138d90f00300f8b47076f77b9  gcc/ada/affinity.c
 6de9208d272110591541bc3fc116b224  gcc/ada/alfa.adb
@@ -1245,7 +1245,7 @@ c28e769b564f9ee49fc27f7743565cf0  gcc/ada/errutil.adb
 e11e8fd5d74121efbe64f838b949e12a  gcc/ada/exp_alfa.ads
 7df3044cef681768cb2fa1e5f2198055  gcc/ada/exp_atag.adb
 f768c6b870ebc746874cc73fcdbdf7ab  gcc/ada/exp_atag.ads
-e3e4de04980b04253533f5e6b6a4f64b  gcc/ada/exp_attr.adb
+f2f0bdacef38c91b889ea8e22757e07d  gcc/ada/exp_attr.adb
 5702351fe63e0743b3814a1800c30ed2  gcc/ada/exp_attr.ads
 5e41342c4e672d7cb69a22e6d8fd41f2  gcc/ada/exp_cg.adb
 4eabed8d6501ce1ad40758d4710a9831  gcc/ada/exp_cg.ads
@@ -1534,21 +1534,21 @@ f459c88852baf5a8d82a6acef1473c32  gcc/ada/g-wispch.adb
 d7eca93022b3adc8f4a61dbe910e95d2  gcc/ada/g-zspche.adb
 b45654446bc74bb68ae4adef78906e9b  gcc/ada/g-zspche.ads
 698b837b776abdf33504479af8506a50  gcc/ada/g-zstspl.ads
-6861e5817c804491c61b1708da309d01  gcc/ada/gcc-interface/Make-lang.in
-fdaa9e850c9973ddf8d1f9de87d98da7  gcc/ada/gcc-interface/Makefile.in
+f6006df6b45e291b0f9480122fe3d158  gcc/ada/gcc-interface/Make-lang.in
+c79d44b648b666256ec97def51b2c015  gcc/ada/gcc-interface/Makefile.in
 d47cdfac076a7e474979da4139393b39  gcc/ada/gcc-interface/ada-tree.def
 87a3c905a4622e86db2ff3cd1f9e38dc  gcc/ada/gcc-interface/ada-tree.h
 0b1c6ffed20c195e773f26671ffe4088  gcc/ada/gcc-interface/ada.h
 f1169670279ca47f1fd033a1818a7832  gcc/ada/gcc-interface/config-lang.in
 74b86d9d165afda42b3b6357143a115a  gcc/ada/gcc-interface/cuintp.c
-8d254d342f76ad3128a3583611d279a6  gcc/ada/gcc-interface/decl.c
+79a8cdaf74dbb48a7fa4cb5a2a5107dd  gcc/ada/gcc-interface/decl.c
 c413d4d50e9563859f4d751a4404b705  gcc/ada/gcc-interface/gadaint.h
 5625183bb5074d04d03a5e87833860bf  gcc/ada/gcc-interface/gigi.h
 46e1d373e80f13f6425f491904a82f74  gcc/ada/gcc-interface/lang-specs.h
 9f09ad18d39a0196d6dd36592577bca1  gcc/ada/gcc-interface/lang.opt
 c76615b9ba678149973610f8e7bcb82a  gcc/ada/gcc-interface/misc.c
 0f2437f51d1d6e44c365b9a2e796f0cd  gcc/ada/gcc-interface/targtyps.c
-7663bc4638d409b5c42d7c586bb69f44  gcc/ada/gcc-interface/trans.c
+56b1739bde078b220a88b33b4dffbe60  gcc/ada/gcc-interface/trans.c
 ff23f8fd93d4e30f6bdbf3391fb23b8d  gcc/ada/gcc-interface/utils.c
 ea8dad53694bddd1cf1a64c84ec97df9  gcc/ada/gcc-interface/utils2.c
 c9aaf060940aaa50c8e52110793ba2ed  gcc/ada/get_alfa.adb
@@ -1557,11 +1557,11 @@ e19b2a36ddfd80f4afd6dec2cf0bd196  gcc/ada/get_scos.adb
 baa8fdaf8d693eb6c5a7e42944887584  gcc/ada/get_scos.ads
 47436d8aaf47b28b04899c6d42794e4e  gcc/ada/get_targ.adb
 49e33bddb0f1868a2cfcdd2ebc22c7fb  gcc/ada/get_targ.ads
-6264d3774bd5a568ab7487fae8bb67ba  gcc/ada/gnat-style.texi
+3cbd9011541c9534a46c357ee7520e7f  gcc/ada/gnat-style.texi
 7b7c2047be0205363f2b3fc874d90686  gcc/ada/gnat.ads
 2296ef0cbf01e9c4428f6c345085790b  gcc/ada/gnat1drv.adb
 beefe04ac280b78e5132623eae11e65c  gcc/ada/gnat1drv.ads
-1a80056e6b50494a33580774e3fc5bc4  gcc/ada/gnat_rm.texi
+abbf39d8396df655bf8a05f8226c8de3  gcc/ada/gnat_rm.texi
 369835c18a5f0370bc9056e3cec25907  gcc/ada/gnat_ugn.texi
 def9b0fd15a1f45a41582bee99c2c1be  gcc/ada/gnatbind.adb
 966a668cd3b0e1c15164248e254f1831  gcc/ada/gnatbind.ads
@@ -1623,8 +1623,8 @@ cf30e53ecfa77871a638d0d8251fc116  gcc/ada/impunit.adb
 d7687cbf6b1c440a90c770b40742ab35  gcc/ada/indepsw-mingw.adb
 fa914ddcd147d8430f947dc903d68021  gcc/ada/indepsw.adb
 5b85c73b60202d26b3cccad29575fd6a  gcc/ada/indepsw.ads
-84aea8b0cf0794a171be674d8bbad030  gcc/ada/init.c
-fe259e751a3917fbee2578d0808029e1  gcc/ada/initialize.c
+8793a6a566d0493b917cf7d05272801c  gcc/ada/init.c
+594dbbbae12d405f97b37e94f2beb1b2  gcc/ada/initialize.c
 5a3077e973312afdb08dcd67ba8579c0  gcc/ada/inline.adb
 f147e86fd0c0174d2d1def6a6dd7a51b  gcc/ada/inline.ads
 4a2103f4b41dd969ae51dc16f195980f  gcc/ada/interfac.ads
@@ -1781,7 +1781,7 @@ db3eb03391b7f8828c4aa2f95e92a56c  gcc/ada/prj-tree.adb
 aab844ab0b563ebfae4932d1ecd9d13a  gcc/ada/prj-util.ads
 c3e13deda75ade7d89a4a0c14d435d27  gcc/ada/prj.adb
 c3cbc1151dcb1093fbe498540fb791ad  gcc/ada/prj.ads
-fb32f1af17806aee518aad7678630815  gcc/ada/projects.texi
+089913c24c3212456066159e1a17bc20  gcc/ada/projects.texi
 e99c55824e212c505e958f0c7f3de578  gcc/ada/put_alfa.adb
 aebaa90827af76516a0889d2c0fb6f7c  gcc/ada/put_alfa.ads
 93544fd5a3681c5857a4b402b1600931  gcc/ada/put_scos.adb
@@ -1922,7 +1922,7 @@ b1391b21f314fbe121191df2a27aaf12  gcc/ada/s-flocon.adb
 aced6f04ef4580b4878c4be93688464c  gcc/ada/s-fvadfl.ads
 120c1e16df7dfade055a5c04d3ab134a  gcc/ada/s-fvaffl.ads
 9715c8226f25fa6ec465b43cf7d0a433  gcc/ada/s-fvagfl.ads
-f2c37d10bec0e1d6b9872e7f9690a9b0  gcc/ada/s-gearop.adb
+1d418a2d03f06f0aa970f9571e04e4ef  gcc/ada/s-gearop.adb
 d529c83f3e342b9a225a244851495194  gcc/ada/s-gearop.ads
 c86a0808a27ce9abe00379e4d33e4900  gcc/ada/s-geveop.adb
 d082c07cf136e2e75bd52e7707c34bb6  gcc/ada/s-geveop.ads
@@ -2024,11 +2024,11 @@ c8e1ee8f91336e8dc2ef1d4664410962  gcc/ada/s-osinte-dummy.ads
 1f06872d93c69bbab8ffc44d7bb1a6e6  gcc/ada/s-osinte-freebsd.adb
 22fe8cfebbc50f321bdcf46321c16d7d  gcc/ada/s-osinte-freebsd.ads
 7f1f83f2b78279e17d374e171c1da3b2  gcc/ada/s-osinte-hpux-dce.adb
-f47a168bb479fceaa0f2091c80fda6f3  gcc/ada/s-osinte-hpux-dce.ads
+fb6c00dc0856c51a627409cdbfae29d1  gcc/ada/s-osinte-hpux-dce.ads
 88ed7da86922b75f74b74c7a7eb182f3  gcc/ada/s-osinte-hpux.ads
 3efbdd92d31d5de0400602dc09f90f5c  gcc/ada/s-osinte-irix.adb
 28000dbc6885cf979e802b01fe2a3305  gcc/ada/s-osinte-irix.ads
-ccafce7c7ab8ecedf7821ba88ed064b3  gcc/ada/s-osinte-kfreebsd-gnu.ads
+376481f6d3fa0a58f5cc74dc8e0eed72  gcc/ada/s-osinte-kfreebsd-gnu.ads
 d03d97106a8c275637ba7a2bae7f8e45  gcc/ada/s-osinte-linux.ads
 3ab6c115c53ce46679b52a2e0a811191  gcc/ada/s-osinte-lynxos-3.adb
 6e3a8a6213d82e85baaa990d449b5b1b  gcc/ada/s-osinte-lynxos-3.ads
@@ -2036,7 +2036,7 @@ be5febb6b7f86c54f805798e50b78005  gcc/ada/s-osinte-lynxos.adb
 8a7fa1165af0a84635d8ce7ecf33e5a0  gcc/ada/s-osinte-lynxos.ads
 b85c1bad50fd2371b834eccad99e6df0  gcc/ada/s-osinte-mingw.ads
 f2386814a745d86f464fe491041f692c  gcc/ada/s-osinte-posix.adb
-7f57f18ef5275579cd26603c69e1dc2d  gcc/ada/s-osinte-rtems.adb
+d92efb0bc0d05dfdd5194b6f6da22a4b  gcc/ada/s-osinte-rtems.adb
 3dd5936d5b2ac8711103b898e57f8824  gcc/ada/s-osinte-rtems.ads
 0621af72486e9a9c898408ee2215acf6  gcc/ada/s-osinte-solaris-posix.ads
 4b79cc58a1b73b941681456c8abba9f5  gcc/ada/s-osinte-solaris.adb
@@ -2307,8 +2307,7 @@ ae860867f9d99415c32b1d1c149e5fdb  gcc/ada/s-tasini.ads
 90947d5b567c582f25a9baa6fda6eff3  gcc/ada/s-tasloc.adb
 09927e289fec4b997d31b6f1970bc485  gcc/ada/s-tasloc.ads
 0c9e49664ed456ed825369b25644ba84  gcc/ada/s-taspri-dummy.ads
-a0d7375055e0dfc0eeff4340f7ee06f6  gcc/ada/s-taspri-hpux-dce.ads
-d051cd9264f86bb6b90842759bdfa4fa  gcc/ada/s-taspri-lynxos.ads
+d0895775d7922a5e037392c80c7a0642  gcc/ada/s-taspri-hpux-dce.ads
 ce01f53113e81a4b8b41873f5bd04138  gcc/ada/s-taspri-mingw.ads
 3c65ff2e9a0513c3d6f9ffced45a90c8  gcc/ada/s-taspri-posix-noaltstack.ads
 c2173c476287d994d16710f0bc757395  gcc/ada/s-taspri-posix.ads
@@ -2341,7 +2340,7 @@ b071b7f589bbafd86513b9bcf2a2c15b  gcc/ada/s-tpobop.ads
 3e5a5a677e3eddb82bcb8f39e5c9babe  gcc/ada/s-tpopsp-lynxos.adb
 1471ba444100176038c49ac530e19860  gcc/ada/s-tpopsp-posix-foreign.adb
 dfc822a4e03160069b5f1dc35f64b9f2  gcc/ada/s-tpopsp-posix.adb
-fec5efc94507bcc714ef20187b8984ca  gcc/ada/s-tpopsp-rtems.adb
+4d84086ef30972c81f6f64a8d28f2e9f  gcc/ada/s-tpopsp-rtems.adb
 72cd8faeb67e5bf7ea491b58fe02dd35  gcc/ada/s-tpopsp-solaris.adb
 954c913d41b1d76a8399d2ba3656031c  gcc/ada/s-tpopsp-tls.adb
 f640b0e629d69843ec5b8645d38d2497  gcc/ada/s-tpopsp-vms.adb
@@ -2455,7 +2454,7 @@ f5447320402deba2516546cab02f5d52  gcc/ada/scng.ads
 53cb47f400e475a438a51034ce47e21c  gcc/ada/scos.adb
 4aa11083b25e7dbf5036678e0bfd22f9  gcc/ada/scos.ads
 445d41c16aa95c28f6bfe320f18a9439  gcc/ada/sdefault.ads
-0b279165452a0d4c90d1c5aa8f83550d  gcc/ada/seh_init.c
+434237b765ab746ea086a42ab7da2740  gcc/ada/seh_init.c
 be4591f43a976a90d03836caf4f8c31b  gcc/ada/sem.adb
 05875586813fa8221101b8aff7d0e0b5  gcc/ada/sem.ads
 39fac9d0ac44f32eeb5cea45c295c885  gcc/ada/sem_aggr.adb
@@ -2472,7 +2471,7 @@ bd02c1de11646654c6bb515392535d12  gcc/ada/sem_ch10.adb
 d46ce314d942052fc2d835e525c494ce  gcc/ada/sem_ch10.ads
 177cf307a638704695cec355222dd535  gcc/ada/sem_ch11.adb
 1ca4bcdd6b9072be33a72dfe7b903994  gcc/ada/sem_ch11.ads
-1e162fb6e353c1fa887bba05373a03e2  gcc/ada/sem_ch12.adb
+e5ec23980bb8da0faf1c0b64e8122d8f  gcc/ada/sem_ch12.adb
 390679ec47a0c489b105651ca65e20fa  gcc/ada/sem_ch12.ads
 885b8a46ba47d33c82ab3eebcc97bf8b  gcc/ada/sem_ch13.adb
 89850fdda9f71218d96ea19d78a528ee  gcc/ada/sem_ch13.ads
@@ -2639,7 +2638,7 @@ f977c18888383f4d676d0840f07e3d6a  gcc/ada/targparm.ads
 aa284a81e4beac86afd489410418b42e  gcc/ada/terminals.c
 63b975bbe31d6cdd85dd7334283b758d  gcc/ada/text_io.ads
 8cf7fc22e00d366a177f6b5e9924186f  gcc/ada/thread.c
-5dd3689c34703340a51aa3ebeb8ae06a  gcc/ada/tracebak.c
+7905a2bd298bacf1704f655f80e68a2c  gcc/ada/tracebak.c
 d716b4e0b7cfdf3282fe8c1fe881aa8b  gcc/ada/tree_gen.adb
 482de4c511e9e081dcf48bf3f9c96cc7  gcc/ada/tree_gen.ads
 0f928b8a27ae6818fb9e41b3682bddda  gcc/ada/tree_in.adb
@@ -2706,7 +2705,7 @@ d6f6a8832d4bba8a36070c9222c1e4c1  gcc/bb-reorder.c
 78c684cc5aa26d269f958b1ccab7e0c3  gcc/bt-load.c
 5dd4d939b2820379a866b5ef47c76c21  gcc/builtin-attrs.def
 ff6c67529af6419d3976feb2c800e7bb  gcc/builtin-types.def
-1c86b05c5a88e47d7dd3498e31b4b0a7  gcc/builtins.c
+1151c728c52d0e9538d138fde9479e70  gcc/builtins.c
 ddf863dd75f0b618b8a6bc7cfddc4c26  gcc/builtins.def
 88c52ea9d8e4609be42f62f8e9cb5c15  gcc/builtins.h
 052ff25c8f75c86c4ec9ed732a63be0c  gcc/c-aux-info.c
@@ -2714,10 +2713,10 @@ ddf863dd75f0b618b8a6bc7cfddc4c26  gcc/builtins.def
 659bd21f4a74e0a1a5ed866c39b7486f  gcc/c-convert.c
 b9d8de44b3f283e508a1a67d17240782  gcc/c-decl.c
 7b6ca63efd5fb2c3125f9d044b219a1b  gcc/c-errors.c
-ff2168adf90eb2be9ffea0b0a576c46c  gcc/c-family/ChangeLog
+e3d2d4b31042acddc547beabd75c60cf  gcc/c-family/ChangeLog
 c786c7c35c0b370b36202054399be255  gcc/c-family/c-ada-spec.c
 937a6f95b3815b61962a56f8cfdfc10e  gcc/c-family/c-ada-spec.h
-9dbdee2de4df4906b6903b6183bb69ab  gcc/c-family/c-common.c
+38282cda1325e070c0b902702e4916c5  gcc/c-family/c-common.c
 155b88228fde9ed542b2c46bf97fa859  gcc/c-family/c-common.def
 9aad3917d57f3beedfd1c2c8c374c95d  gcc/c-family/c-common.h
 af52540049b76380c3ba888f82acd2d3  gcc/c-family/c-cppbuiltin.c
@@ -2747,14 +2746,14 @@ bd1bcc6806874633262e10030a6ce473  gcc/c-family/c.opt
 7b8721dfd2c835f62c1876b6d8ff71ae  gcc/c-objc-common.h
 87cd77e98912ef9f710a37a30229c8c2  gcc/c-parser.c
 6ae03284bcab05b2d1d3910203a58b46  gcc/c-tree.h
-1c9140eafaa8e25fed1986c18f0d02e2  gcc/c-typeck.c
+13c48c09607afe72226364663e537e5f  gcc/c-typeck.c
 34f82e3c4f9359527ab1e4ebf22d73b4  gcc/caller-save.c
 2cc4cbb687660a1b90eede47ccea5ed3  gcc/calls.c
 4a7bd3c0ad54ad003a2dfb01ad13da4e  gcc/cfg.c
 d0ff7c24e52b4523b074bea6a8d60e7e  gcc/cfganal.c
 d0f31a8e3e01de3c8bba830040efdd24  gcc/cfgbuild.c
-1f1f4072cd48f681f00cc4e49a8a7534  gcc/cfgcleanup.c
-91146e576f07f0855e995eeaaff04c1f  gcc/cfgexpand.c
+19f8da8f5d961ea3e986d858f7f11807  gcc/cfgcleanup.c
+d241f3d096d88054de25cd1fa0eac752  gcc/cfgexpand.c
 cda475b9b48f7cc96eba8b8f3afaa7e4  gcc/cfghooks.c
 97021c9d8921771b97c0be2bd91673ab  gcc/cfghooks.h
 a0e4817febcb3673dd5f45eedf308fc4  gcc/cfglayout.c
@@ -2763,19 +2762,19 @@ f35ec7d9711a5a6c33b3b80b8a9e9fd7  gcc/cfgloop.c
 254dee70c5d24a2248aae72e1891bd1c  gcc/cfgloop.h
 5f40f9da24a6adddaa3f38a85bc4334f  gcc/cfgloopanal.c
 fe8aebe18e0996e19c055a01bafefb3d  gcc/cfgloopmanip.c
-cc5cbc0862d2285c81a6e64e8dc5181f  gcc/cfgrtl.c
-8cfba4cb31d2ded25e1e47d8e2f80c32  gcc/cgraph.c
-d2493383a1f2aa62d185993120f42424  gcc/cgraph.h
+f8bf15d643e5e22c6dd454c82feb7c0a  gcc/cfgrtl.c
+492de1b1cc6a13fd002d2164d264bb98  gcc/cgraph.c
+2fef30a576300bbe02e446bf82930eda  gcc/cgraph.h
 0332c117179bae5ca3b89c06e992dc57  gcc/cgraphbuild.c
 d5d316a0160fd75b7be6f2d2fceb796a  gcc/cgraphunit.c
 a9cef1133fc39f3870bd83bb39474c75  gcc/cif-code.def
 69feeb0f03023f3513e45010e46f1112  gcc/collect2-aix.c
 b7485300552aea793f4b36a7974db9e8  gcc/collect2-aix.h
-30bd02f7c21f3b5637a7b3d86d6b9a7b  gcc/collect2.c
+c628deda1d9e460469e17820678e1c15  gcc/collect2.c
 8de3a739c709a4811977903ec5a4c2ad  gcc/collect2.h
 33944293e76f7bd80203791a6533026a  gcc/combine-stack-adj.c
 38b77788cd340700930d79183553ff02  gcc/combine.c
-4b76125e4511a9e257f15c790fac8758  gcc/common.opt
+697b7a1e676825f866c2c4cbabd66e64  gcc/common.opt
 5a1f563cd3eb60a4652447a390a6d868  gcc/common/common-target-def.h
 fc20b1f729d856d9729f10796ba07069  gcc/common/common-target.def
 50dde7bd70e6d551f88e0d4bfb4cb0dd  gcc/common/common-target.h
@@ -2798,7 +2797,7 @@ d5f26db032528d583b5f665007670f35  gcc/common/config/ia64/ia64-common.c
 ed1dde2a40229579bdbfb7ba26460969  gcc/common/config/iq2000/iq2000-common.c
 70474da46ecced9599d9b500293645c6  gcc/common/config/lm32/lm32-common.c
 6d4cd93a1a0e729089989e095860ac0f  gcc/common/config/m32r/m32r-common.c
-2eae52770be87484b198009e5611e4b6  gcc/common/config/m68k/m68k-common.c
+092eee5a266f0ae91612e576cab5586b  gcc/common/config/m68k/m68k-common.c
 ea582046c15affde4f517e8a65335809  gcc/common/config/mcore/mcore-common.c
 c5946cde5714c2292c01c96f4cb5d1fb  gcc/common/config/mep/mep-common.c
 ab3f5254ec4aca457104dba134403171  gcc/common/config/microblaze/microblaze-common.c
@@ -2824,7 +2823,7 @@ b8e741aeef723b0a904c533adda181f1  gcc/common/config/xtensa/xtensa-common.c
 35608c0792e77eef455d926dff081abf  gcc/compare-elim.c
 162c077c493d89717647c605b5b81996  gcc/conditions.h
 5cf36547e5b390f3948c5c2754738b5f  gcc/config.build
-8c84a40c38939f02ae5b88958a95510a  gcc/config.gcc
+51fc6d095f1861f9925f0297f40e6069  gcc/config.gcc
 bfbb2740ad7e066f6985fc38bbe129f5  gcc/config.host
 443e2c7d7439c5384c7c309eec3d20ae  gcc/config.in
 8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
@@ -2851,6 +2850,7 @@ ccf34f61875e98af4a49a9ec7ba4655e  gcc/config/alpha/netbsd.h
 bc475c679e4038b321f2ea98f1a07392  gcc/config/alpha/osf5.opt
 cfdd9fbebaa524f5002cbfe1e4f4a077  gcc/config/alpha/predicates.md
 310a1568e2bc994b1462e1986916fb14  gcc/config/alpha/sync.md
+6e8dd648b9668f18b1dfd9f1203c9885  gcc/config/alpha/t-linux
 f1c7889a5228eaa86370590433749a40  gcc/config/alpha/t-vms
 e0c6a0a7db3ce02b6edf6510571b0756  gcc/config/alpha/va_list.h
 ca9cb36c0edf8690d9e04e880c431fac  gcc/config/alpha/vms.h
@@ -2870,9 +2870,9 @@ eef7e62bea34aa9f13340d59f71bebc8  gcc/config/arm/arm-opts.h
 57b9028957820eda924a8a66de4ff883  gcc/config/arm/arm-protos.h
 fbb66882066c5828a80d02b26ac3d0ae  gcc/config/arm/arm-tables.opt
 2c097a7beb32503d7832ddb4e9848a58  gcc/config/arm/arm-tune.md
-485fa281544941203a1f1481e932fd97  gcc/config/arm/arm.c
-563030a4dd29b1e78ace719d6c3b34ba  gcc/config/arm/arm.h
-5bf8b9bbbf26e0aed5512fec5ee63377  gcc/config/arm/arm.md
+9850ed8c3939e982623728e086ab37c6  gcc/config/arm/arm.c
+d046d1acfd11db2882fd79133f58359c  gcc/config/arm/arm.h
+531183ec8abb4a16bb19f2d3ce7d9d45  gcc/config/arm/arm.md
 ad94d6b683910f0195398677e1bfa8a7  gcc/config/arm/arm.opt
 3e100a448539aab31c3af8bb0d9f5c8f  gcc/config/arm/arm1020e.md
 6ce550532f1eb772756d2052de0611cf  gcc/config/arm/arm1026ejs.md
@@ -2932,7 +2932,7 @@ bc9651f25f9cd8f7e724aacbbac25ce2  gcc/config/arm/sync.md
 8036de3016fa67a817fe9ea47ef4114a  gcc/config/arm/t-arm-elf
 4dc427c456af5e56b1ac39bda8969af6  gcc/config/arm/t-bpabi
 e3950ec6bd159734835f8f8fb143efc6  gcc/config/arm/t-linux-androideabi
-361d6ec12a3e54ce8daef968787c1cf6  gcc/config/arm/t-linux-eabi
+c9ff70e499bbaa75a5eb47016fcb2a64  gcc/config/arm/t-linux-eabi
 de1f5476a1a858d915c11ffea2c56ee5  gcc/config/arm/t-rtems
 8e6de408491dfa0c27b80b7cf422f986  gcc/config/arm/t-rtems-eabi
 5abb037ba2d7c265bfdb0d2d3b0afdcb  gcc/config/arm/t-strongarm-elf
@@ -2950,17 +2950,17 @@ f60087b05e2379d68f4de3222246120a  gcc/config/arm/vxworks.h
 57f22728b34efe0937f1cd5ac307bc48  gcc/config/arm/vxworks.opt
 6b81c00be6987dbcfb0da6a6d9cb2043  gcc/config/arm/wince-pe.h
 a17a638dc98f3f18b0e13448c69e1e65  gcc/config/arm/x-arm
-2dec75856be07ae2e90d85870d6bb7de  gcc/config/avr/avr-c.c
+e2918a4be4ce182a288e96638fd4f6ec  gcc/config/avr/avr-c.c
 80ea40e9621da167cce13e22990d8264  gcc/config/avr/avr-devices.c
 461c6202b8d869b26ccd5da2fb216f7c  gcc/config/avr/avr-dimode.md
 1bcaf5a91823812fc966be8f023f9277  gcc/config/avr/avr-log.c
-1806cc06cffe5370d4b611d2a03698fb  gcc/config/avr/avr-mcus.def
+c3219b17deb5b10004e50394adac932e  gcc/config/avr/avr-mcus.def
 de7c57a9569810baf3f897705443ca3b  gcc/config/avr/avr-modes.def
 eaaa2c80fcad54cd75dc77f94b7325fc  gcc/config/avr/avr-protos.h
 925c6dea2f32d430268ad9494fc6d6ab  gcc/config/avr/avr-stdint.h
 f96cc07fdf2c5a1fdd3f3172621fd1ea  gcc/config/avr/avr-tables.opt
-ff0d9a80074c1a862e92dffc6134bee7  gcc/config/avr/avr.c
-080c08b10fda906aec43351ffd9cc719  gcc/config/avr/avr.h
+c33733e436510f54284b7631084ee985  gcc/config/avr/avr.c
+bfd470a1b299105f05fd08376ada547d  gcc/config/avr/avr.h
 5ece769b368f796d0a8dec34993e0572  gcc/config/avr/avr.md
 6f3794f599cc65749e586bff65516d45  gcc/config/avr/avr.opt
 897ba35be360d8222d985dcf545fd9f4  gcc/config/avr/avrlibc.h
@@ -2971,8 +2971,8 @@ ff0d9a80074c1a862e92dffc6134bee7  gcc/config/avr/avr.c
 88bc027600adfc3d913efdf48e3c1b19  gcc/config/avr/genmultilib.awk
 340b4bc17c9ee5860a49c9fdb63b97a4  gcc/config/avr/genopt.sh
 8fa42fbdf66032432b556700f52e0865  gcc/config/avr/predicates.md
-c8f4329d7e38c1ebe3b14b92f23eabfc  gcc/config/avr/rtems.h
-531797d51c6a61b680b1c29197b73f36  gcc/config/avr/t-avr
+7b87e567a2f61325ecc95cfa783965fd  gcc/config/avr/rtems.h
+aa3ca7480eb642b3a99fb47c314deb4e  gcc/config/avr/t-avr
 cc3917b1482232dbdd102405706d2f8b  gcc/config/avr/t-multilib
 6aa29f64f366fd362ab1f548d54415cc  gcc/config/avr/t-rtems
 c644e518e86817d224b616e6bb55e02a  gcc/config/bfin/bfin-modes.def
@@ -3047,7 +3047,7 @@ b2fae17b46f937ccb27b8b230ecbfe3c  gcc/config/darwin-f.c
 8542b57bc35681f6ee5ae657995b4775  gcc/config/darwin-ppc-ldouble-patch.def
 91cb463f1091dca6bb1b1ff3d1b48403  gcc/config/darwin-protos.h
 dc7847bbecbda96bc1374ed3c4e1e58f  gcc/config/darwin-sections.def
-24eda80771d076ac3cf049a14a5895ab  gcc/config/darwin.c
+7a2ed526d6ff3514960d1dbc5dd9afb5  gcc/config/darwin.c
 5ac954cdf148c0865ab1b9f792f12ecf  gcc/config/darwin.h
 d47b0c8283c8a2a258f3e6b9eff51754  gcc/config/darwin.opt
 39c9032d6a23c21adb5cb4fc26b4f29b  gcc/config/darwin10.h
@@ -3075,7 +3075,7 @@ bcc1014cffb242f0527ed52b293e1b4f  gcc/config/flat.h
 a40e1dd62426beb3aea4f3e13512af39  gcc/config/fr30/fr30-protos.h
 cf4dd5c997fc37bf5a485e2816a8554b  gcc/config/fr30/fr30.c
 c70036cce6787eba2f71a299b1900187  gcc/config/fr30/fr30.h
-80678b570a985adc098a9e20c5e33fea  gcc/config/fr30/fr30.md
+5fe02e069a55e9504a637188c2f34413  gcc/config/fr30/fr30.md
 5b45279a5e682fe22ca110a02ae4fe9e  gcc/config/fr30/fr30.opt
 2fa29912b28df57b93f2ee6c62fd6547  gcc/config/fr30/predicates.md
 e335cc6383710683ca9479f618a5b6cb  gcc/config/freebsd-nthr.h
@@ -3135,9 +3135,9 @@ be6ef7bd2209fec8d07fdec4c6c183ba  gcc/config/i386/bmi2intrin.h
 f959e7dfa2536f6dfbc34852682d39d3  gcc/config/i386/bmiintrin.h
 d16b033a1e910ba46219892bc5114101  gcc/config/i386/bmmintrin.h
 26dd6829f0ec362360afbbcf44d12fd5  gcc/config/i386/bsd.h
-76b8f9668735a9b1d31b54023fe93b64  gcc/config/i386/constraints.md
+03c96c3e8c8466b020631da652a38c1e  gcc/config/i386/constraints.md
 a49f3a89b763880ebd0ee049ce35f75a  gcc/config/i386/core2.md
-34fb86d353713ffaea99105452f03915  gcc/config/i386/cpuid.h
+a7fb835ebfe03e809e0ed56bd3409366  gcc/config/i386/cpuid.h
 905921837900244ece0f0c1814e76cf4  gcc/config/i386/cross-stdarg.h
 960cca0dc0c3df8c6ea4ff2792453c12  gcc/config/i386/crtdll.h
 8db022216d1911df564ea7fdf26456e0  gcc/config/i386/cygming.h
@@ -3149,18 +3149,18 @@ afc2a4a02051e261bbe685f4f05d54ef  gcc/config/i386/darwin.h
 d317a2b3352d2d3715ed395b12799ba0  gcc/config/i386/djgpp-stdint.h
 e14c7215c369c667ac9c0cf4e73b4639  gcc/config/i386/djgpp.h
 14330dd11be7ad7b247a2a6fd090aff8  gcc/config/i386/djgpp.opt
-eeca4fb4bee66c05f2cb6acf36b4ff57  gcc/config/i386/driver-i386.c
+85b4d815328380a19224d1bf1f0312cf  gcc/config/i386/driver-i386.c
 cb7f66bf6fccb6d8a238dfbcc69cf800  gcc/config/i386/emmintrin.h
 f60a7f36538c0bd05533cd4b2af8875a  gcc/config/i386/f16cintrin.h
 c9989f34f95b734a3936a68c1a525598  gcc/config/i386/fma4intrin.h
-31b847767b1fb7d43a8e39badebcffcc  gcc/config/i386/fmaintrin.h
+16985900d2f64211d0bfbdba4ff02e22  gcc/config/i386/fmaintrin.h
 8ca990fbf5f1e7779e8e6c647691276b  gcc/config/i386/freebsd.h
 18dd326359034dac7e28b0bd5d8c97e5  gcc/config/i386/freebsd64.h
 dd7f93ca6c922a761a7da97d91de7886  gcc/config/i386/gas.h
 1a46a5b7e0f67c0aa0c29f096be6d2c6  gcc/config/i386/geode.md
 2fc33f8550cd44816bce1cd499b09eff  gcc/config/i386/gmm_malloc.h
-cbff23c07d91616fee204d6ac85bb4aa  gcc/config/i386/gnu-user.h
-0a410bcab0d9a9d73f939934a1ef16f1  gcc/config/i386/gnu-user64.h
+da7c8923dc8bcd88e08fa5adbdef679c  gcc/config/i386/gnu-user.h
+776550fd1cec27b1bb3f3f4be525c488  gcc/config/i386/gnu-user64.h
 f0548ac6468b1acbc09c9f2236200683  gcc/config/i386/gnu.h
 3349498ec85e12ac7055f4802239086c  gcc/config/i386/gstabs.h
 1a9160c782b277849aa63d5c6e960f5d  gcc/config/i386/host-cygwin.c
@@ -3168,14 +3168,14 @@ f0548ac6468b1acbc09c9f2236200683  gcc/config/i386/gnu.h
 46929291e3bbdc5148dce439c1ed749b  gcc/config/i386/host-mingw32.c
 5bab7979b52fe90a3f4c1820b95f1e66  gcc/config/i386/i386-builtin-types.awk
 e44905387876cfce6c8c387398f6cb0c  gcc/config/i386/i386-builtin-types.def
-79fc334a616360fc35905caa0bcf9036  gcc/config/i386/i386-c.c
+0fdd42e8bf0d045ccb2a9e01cdd3878a  gcc/config/i386/i386-c.c
 e264944097e94ba6d57e37a94c760b40  gcc/config/i386/i386-interix.h
 d10868eb41da45bd266e310e1ab4685f  gcc/config/i386/i386-modes.def
 54bb79c818bd9867e64bb787b6362f2a  gcc/config/i386/i386-opts.h
-5cde3063f6cb3e8fb699da13df7a6423  gcc/config/i386/i386-protos.h
-7ab2deb99347da44fe0b79628a4dd4a4  gcc/config/i386/i386.c
-2166c9c1700440b9bdff81bc3f09b259  gcc/config/i386/i386.h
-3d78c807e08becd3f3b3e91d3ec171d0  gcc/config/i386/i386.md
+fbe59491e1417dd3d3b3149e71cd8e37  gcc/config/i386/i386-protos.h
+6f1f1f35ae96c05ae2c9002b1e067d74  gcc/config/i386/i386.c
+fd9870076ee9493d24d15ef9096d2564  gcc/config/i386/i386.h
+69ed39d2b71a9ada925fa0d915651fdb  gcc/config/i386/i386.md
 daea248d353429e5b0cfeab1e41fe0d3  gcc/config/i386/i386.opt
 b6ee8b10fd8323d85cb9fdc1640455cc  gcc/config/i386/i386elf.h
 34a42196da1b1486af5e479f21fbdebc  gcc/config/i386/ia32intrin.h
@@ -3213,22 +3213,25 @@ aa297e6a75976dedc4946fa88496ddc9  gcc/config/i386/pmm_malloc.h
 150b69ad9bbe39ddb4ef2b46dca8ef1e  gcc/config/i386/pmmintrin.h
 67854c8f32e4e12eee38301309d0df6a  gcc/config/i386/popcntintrin.h
 066ceb6eb6e3a607025a87c7b2fddbf8  gcc/config/i386/ppro.md
-15704510e11d893f97d33afc9859e935  gcc/config/i386/predicates.md
+c46e6e1d02b8a5653d4c0188ab2b15ae  gcc/config/i386/predicates.md
 5aaf9e5a27e6af65db4d947695469397  gcc/config/i386/rtemself.h
 120f4603dd8578b5775512916e6771e6  gcc/config/i386/smmintrin.h
 e501c31a2e34868cc6af320a4c89a270  gcc/config/i386/sol2-bi.h
 a1a2e24465491cfb42b5269d53f16ac7  gcc/config/i386/sol2.h
-9e00b784bc47fc2f4580cfa2cd8423b2  gcc/config/i386/sse.md
+a7d3f389e25fedd208caff8b07b4a9e8  gcc/config/i386/sse.md
 6bba0b540111d1aa8e5a67a674cd557f  gcc/config/i386/ssemath.h
-9259ed695aaac8b4e52072ae1a5e8d93  gcc/config/i386/sync.md
+c23c024374c3ea98d3e13d8c7ffab909  gcc/config/i386/sync.md
 5bc10cb953b5cecf2513acb22abdc07d  gcc/config/i386/sysv4.h
 726c6e7d43a91d4a8097db487d1503ce  gcc/config/i386/t-cygming
 98d94861be252f8541038afee279417f  gcc/config/i386/t-darwin
 8f92133cb94c59e2939cd65dc5fc8cb4  gcc/config/i386/t-darwin64
 3a1c0dac7740fd9ef48c7bdf5f313c9d  gcc/config/i386/t-gmm_malloc
+d5939c6bccbf8957206c63308ce628a6  gcc/config/i386/t-gnu
 10f869c124b968c011ebf2548839f91f  gcc/config/i386/t-i386
 f18931b1238c83d95a6bdfb3bffe1189  gcc/config/i386/t-interix
-61f874f94c9c722aee61231c8c92ba2a  gcc/config/i386/t-linux64
+51dcf9826007c01cfd67be11d5f0d538  gcc/config/i386/t-kfreebsd
+39ad69cb2a2e67aa8d46664a75b02789  gcc/config/i386/t-linux
+8552301344fcfd842b96e2bdbcc8735f  gcc/config/i386/t-linux64
 cd662e746e08a18749e8272fa759278e  gcc/config/i386/t-mingw-w32
 67bcf41f125bbec93a13ad3bd98abaee  gcc/config/i386/t-mingw-w64
 813c980909a4848e5aed5faeca6fe2bd  gcc/config/i386/t-openbsd
@@ -3268,7 +3271,7 @@ e210657fa7c87d62a227c0885258f9d8  gcc/config/i386/xopintrin.h
 2ce3617eaff76a6ff7c9e58039b2cc45  gcc/config/ia64/ia64-modes.def
 eee7fc337a3143d8c29178b9cdfd08f0  gcc/config/ia64/ia64-opts.h
 00cff890d7a3777c58cad4f87916a1e6  gcc/config/ia64/ia64-protos.h
-bd67830fd87560b9f67103a800e5d2b3  gcc/config/ia64/ia64.c
+c4cdb5bcc83e1ea64fcf156beff60044  gcc/config/ia64/ia64.c
 2b295b79655e3573aafbb61b17afb1f1  gcc/config/ia64/ia64.h
 7de0461037a8ce8cfaabd134f4fccf86  gcc/config/ia64/ia64.md
 43a37fd3ed1708c9830aa6f85a59a0b4  gcc/config/ia64/ia64.opt
@@ -3281,6 +3284,7 @@ e5daad4dc14ce8bdbbde107e0b7adb68  gcc/config/ia64/sync.md
 6e51b5acf261694ed25d369b7c003941  gcc/config/ia64/sysv4.h
 fefa9792a84cd79510c84d7a56c42e2c  gcc/config/ia64/t-hpux
 5143460d77500981913772377bfcd3bd  gcc/config/ia64/t-ia64
+67736f64800d10923b58be4e448620d6  gcc/config/ia64/t-linux
 68eafef36d6a0753ed4fea3e2701939c  gcc/config/ia64/vect.md
 cdb82c5adab187680659c280afa4067c  gcc/config/ia64/vms.h
 277bf68f5a69f7b7151b862aa3763613  gcc/config/ia64/vms.opt
@@ -3376,7 +3380,7 @@ b97c0891bb16fc2cec4ebf32b47256d3  gcc/config/m68k/print-sysroot-suffix.sh
 c80c611ab650e0e78642a18944ceb7a6  gcc/config/m68k/rtemself.h
 879b88efeebb8ddd41a3bc15b783e639  gcc/config/m68k/sync.md
 19d5ed41f3394c9423ff3afe64804076  gcc/config/m68k/t-cf
-4760da2ff0fcf96ebceb973317d98d90  gcc/config/m68k/t-linux
+d25b436307c7bcd55848686aeb587927  gcc/config/m68k/t-linux
 baa4595148bafa6426b8d665881ced45  gcc/config/m68k/t-m68k
 c8278c25339f71d746d91a193efd6cea  gcc/config/m68k/t-m68kbare
 54c2297c900bf518691a3dcb5951814c  gcc/config/m68k/t-mlibs
@@ -3424,7 +3428,9 @@ c39c3bc8ecd98a363ac06263edadfba3  gcc/config/microblaze/microblaze-protos.h
 bc23bb80b4ff9a110b761b253d9ae8cb  gcc/config/microblaze/microblaze.md
 5ca18b8c5b3267554e28f081b2824feb  gcc/config/microblaze/microblaze.opt
 956d02e3f0d9b535a7dec0b06ca99ae0  gcc/config/microblaze/predicates.md
+b6e1d877e9936c3ff9e2abeb018c943f  gcc/config/microblaze/rtems.h
 4675aeb054e3fd7bb0c04f06be9d2716  gcc/config/microblaze/t-microblaze
+a8b08640136e3e7712d2278eb84c21d9  gcc/config/microblaze/t-rtems
 5a727b680e82780a1e0f8f396ce6f989  gcc/config/mips/10000.md
 b892b58e169b89789ff176eef0cfde7a  gcc/config/mips/20kc.md
 fa37335203b2298ab27e5115313be602  gcc/config/mips/24k.md
@@ -3492,7 +3498,7 @@ f88a8bd91b66e7563028dbabbb745e9a  gcc/config/mips/sde.opt
 f2a0756e74eb4c5292e96d59d5d3ff8b  gcc/config/mips/t-elf
 01c4d87beb27ccf70c5577ec09c553cf  gcc/config/mips/t-irix6
 f49664ab02471f0bdf9496e9b0fa9aa5  gcc/config/mips/t-isa3264
-3705a75fcb746c8855a68157b3fe2163  gcc/config/mips/t-linux64
+6faf395d70e25ac6a37f8ba688121a38  gcc/config/mips/t-linux64
 66433617296a99875f89490d1b5744ff  gcc/config/mips/t-mips
 2cbfb382b0f94ffa0050d7c5317b4fa6  gcc/config/mips/t-r3900
 edea7bd06d822f296da89cda10320ed2  gcc/config/mips/t-rtems
@@ -3563,9 +3569,9 @@ aa28d5b61b9697e44b5793fe58feb292  gcc/config/pa/pa-hpux1111.opt
 01b8e14468e166bb285428fdc6a20bd3  gcc/config/pa/pa-modes.def
 83b07ba70fe8175a3b65bd0296b00e0a  gcc/config/pa/pa-opts.h
 4077a40fe90139ec20a4d45234628bf1  gcc/config/pa/pa-protos.h
-87100adf381c723f6d1c1a4948485343  gcc/config/pa/pa.c
-c6d437716120ce60b30fd5c1ea5fe8c8  gcc/config/pa/pa.h
-d59aa15c7f19151d24333971277fe415  gcc/config/pa/pa.md
+7f6a1cacbe47484ac819d52f355d89f4  gcc/config/pa/pa.c
+ee1ad0fc804922dc6bb8bb51d8378e65  gcc/config/pa/pa.h
+fb1bb39ebca00cc6585c94565a84966a  gcc/config/pa/pa.md
 2c61d8746fcd6748dd3e49da66204bfc  gcc/config/pa/pa.opt
 392a0f7d51b83a488fe1917df89384b7  gcc/config/pa/pa32-linux.h
 d0b7729b72b1a284d739641f9914e26d  gcc/config/pa/pa32-regs.h
@@ -3577,6 +3583,7 @@ a9a6afd79b827565ffb8de8330b4cfe6  gcc/config/pa/pa64-start.h
 1d707f4b1d4416b2f2324bc58e2e9d3d  gcc/config/pa/predicates.md
 be9e8cc31d24e4f65845ad5bbea50b2e  gcc/config/pa/som.h
 4104beb84cb7f3a8a5915652c3da66c5  gcc/config/pa/t-dce-thr
+6fd25f8c665d2d7390ea94c01dcb8e34  gcc/config/pa/t-linux
 dd493c2921c7f7de77f4de74a9ed8179  gcc/config/pdp11/constraints.md
 61c8af44c865f9adb6ee1692b15f8fd0  gcc/config/pdp11/pdp11-modes.def
 2fc5e3d2ffa6c5b751eaca8620fb7927  gcc/config/pdp11/pdp11-protos.h
@@ -3677,7 +3684,7 @@ a218d9a03c926b9b873ec4ade7775f77  gcc/config/rs6000/power6.md
 3338da436cdb64be006ed75c2d3f2408  gcc/config/rs6000/power7.md
 bc3e171d9c3dbec11c23c5f1b622240b  gcc/config/rs6000/ppc-asm.h
 db8d2047f7ec4cf2fe819a4bad157466  gcc/config/rs6000/ppu_intrinsics.h
-2ee4f566fd9412922d5cacd15fa8dd97  gcc/config/rs6000/predicates.md
+951442a09c136afc182e9d46a5c7aa09  gcc/config/rs6000/predicates.md
 300b4166dad42d6834cd6698bfdd9ff3  gcc/config/rs6000/rios1.md
 f75f38a99f81959896463ffc97ae38e4  gcc/config/rs6000/rios2.md
 bd677242a944a2496e7b08b9b2699b79  gcc/config/rs6000/rs6000-builtin.def
@@ -3687,9 +3694,9 @@ e8184c7bb1bdac753fe7a4bd9d7b6d38  gcc/config/rs6000/rs6000-modes.def
 ad7b35ff30a16298d1323f59a62bb368  gcc/config/rs6000/rs6000-opts.h
 3be3526192ab7064061f77aa86a527e8  gcc/config/rs6000/rs6000-protos.h
 c4c899daccffc91de86b45c5ed1f0eb0  gcc/config/rs6000/rs6000-tables.opt
-c6756caa23c068822bacb54ebb61ec7a  gcc/config/rs6000/rs6000.c
+0079c01e6139b9a88e24e11aa684235f  gcc/config/rs6000/rs6000.c
 8a7b3421d90ac8b5c8e5ac18cb6b6ba7  gcc/config/rs6000/rs6000.h
-a461e8fa394e3f36128223cba5e64d86  gcc/config/rs6000/rs6000.md
+2cdb19b8dbd2e1e59980631b2ea39015  gcc/config/rs6000/rs6000.md
 27ae2e3dc07c58c88408d6c3fe34cb04  gcc/config/rs6000/rs6000.opt
 dc120c9c268863a37518b46f4c31f324  gcc/config/rs6000/rs64.md
 9bb7c89d90c10fd785427d511815b5df  gcc/config/rs6000/rtems.h
@@ -3707,9 +3714,10 @@ f4aee0718fab9839b86d2e9ad4a901f3  gcc/config/rs6000/t-aix43
 3110623e7e8c0707c1e86d8da075b377  gcc/config/rs6000/t-aix52
 f3250b9720d1149346f1ef8e21b52ea9  gcc/config/rs6000/t-darwin64
 636250eb91fc5dada4804efcd525fc02  gcc/config/rs6000/t-darwin8
-9e82669d0404381ea18126268a6ac7c0  gcc/config/rs6000/t-fprules
+d2c133f62c368b2c258fd653dafe1049  gcc/config/rs6000/t-fprules
 2a34e8f21decfe38886cc924f72f5d35  gcc/config/rs6000/t-freebsd64
-829a7eed9749ba87acd5685cb3a97f96  gcc/config/rs6000/t-linux64
+4b73ff6971b1c8fbbe683358e74e1991  gcc/config/rs6000/t-linux
+d623ea27413b607d0633f7dae08e83ca  gcc/config/rs6000/t-linux64
 ccd831c5e11ae440b041ed2c82414a6d  gcc/config/rs6000/t-lynx
 2eab8f1eac9387786d88c624c33faaf2  gcc/config/rs6000/t-netbsd
 d16f6cf4f2eb032f99f5da38ed151dc9  gcc/config/rs6000/t-ppccomm
@@ -3759,12 +3767,12 @@ c98b758bd776c662734e280fb84010e9  gcc/config/s390/constraints.md
 2bab2fbaed3e13cee35c80e67eb882e5  gcc/config/s390/s390-modes.def
 2bdb1c443a1b03bf27e841b48f6290ed  gcc/config/s390/s390-opts.h
 7492207a5784b1bde32b8ad1141a6090  gcc/config/s390/s390-protos.h
-c58487c1adca2bd20700f3dcae15657d  gcc/config/s390/s390.c
+22f56bb7e2e864693ec6c868e8f99fcf  gcc/config/s390/s390.c
 466f2fdca8af5ee01fdf8351e9cc7306  gcc/config/s390/s390.h
 7d482ea68e1ffa2018674b7742e9cd99  gcc/config/s390/s390.md
 1808c9dee8a4b717b22ab5eefba51777  gcc/config/s390/s390.opt
 0f3debf41179406f77530d752d92ad9a  gcc/config/s390/s390x.h
-d27db5c14836e457a9168b50f7091de3  gcc/config/s390/t-linux64
+551847ee4c38fa1a7e95fd93cdb32f17  gcc/config/s390/t-linux64
 d0605bd853aff5f7bef8fc73d6c345ff  gcc/config/s390/tpf.h
 249beaf3a96676e58fd434f66c957716  gcc/config/s390/tpf.md
 be092bb5b940bfb50916a5d306bd6a43  gcc/config/s390/tpf.opt
@@ -3786,9 +3794,9 @@ bdc4c872b3aead10db84cff3429b7a9a  gcc/config/sh/divcost-analysis
 9770d084f79d5576bec52cfb6b308f42  gcc/config/sh/divtab.c
 1a26f5f884aa19e65e77e3245e51e276  gcc/config/sh/elf.h
 ee628b6300e36d757d9d5f43f808ff40  gcc/config/sh/embed-elf.h
-35107b02931985406266d638b3cf747f  gcc/config/sh/linux.h
+3af9cd08d583b6500b176f749c193aaf  gcc/config/sh/linux.h
 21914ac4404a0eaea9748b21dfd3b373  gcc/config/sh/little.h
-67d5859f7c249ae7f3bb72aae5edb575  gcc/config/sh/netbsd-elf.h
+3014a9723d4d2ef86596d459efe1e916  gcc/config/sh/netbsd-elf.h
 efa4b8a0ae553a19d8195ed5b51bb03a  gcc/config/sh/newlib.h
 492a202555961426ee3a7abcd434c6b5  gcc/config/sh/predicates.md
 746f2a4214e4c64d203ed00e4ee3337e  gcc/config/sh/rtems.h
@@ -3796,10 +3804,10 @@ efa4b8a0ae553a19d8195ed5b51bb03a  gcc/config/sh/newlib.h
 9d3923de50cf7b332d51751588012204  gcc/config/sh/sh-c.c
 8d439712ff37bef737b9454a03cfa4b5  gcc/config/sh/sh-modes.def
 1adfe21d5a61f448b1577c55863456b8  gcc/config/sh/sh-protos.h
-2d90df696c979fa68ece0da6a9681994  gcc/config/sh/sh.c
-4534f0c1779610a6db8b09b6cc668ab0  gcc/config/sh/sh.h
-d596e999dff809427ffc03bfbba776c9  gcc/config/sh/sh.md
-a937332933411a04d245d66186fb2592  gcc/config/sh/sh.opt
+ecc12b63b49f06c18ceeeb40a67de8d8  gcc/config/sh/sh.c
+5ff9f2f649729745a22a80a7bc730867  gcc/config/sh/sh.h
+f3ab7d68f8bb72e37b8b3e4c87a66608  gcc/config/sh/sh.md
+63bcb5cc337bae3faa88a84d8f9bc5f8  gcc/config/sh/sh.opt
 d3f5c6e2b4a3620817b14d8dd55128b1  gcc/config/sh/sh1.md
 edae695e2c740a39c2253e67bda533b8  gcc/config/sh/sh4-300.md
 5833b380b37113142084ed2ea2c51a76  gcc/config/sh/sh4.md
@@ -3814,7 +3822,7 @@ c10f214f8d38362dfebe1fc8c14fd79f  gcc/config/sh/sync.md
 d136f788a5f1c0fd4a8cf495f33aabd8  gcc/config/sh/t-linux
 959d48612dfaf31382c677435816d011  gcc/config/sh/t-netbsd-sh5-64
 ad88281b142c81e6c7017a842c281d5f  gcc/config/sh/t-rtems
-38686bdc53724d5f70cb53a8ac3cef7d  gcc/config/sh/t-sh
+048bcba6ca83c45945465a98ae4a5790  gcc/config/sh/t-sh
 04e938e6147081a6d6f4f0aea461243e  gcc/config/sh/t-sh64
 9f0e9638f478c08d204c5dce468c95ce  gcc/config/sh/t-vxworks
 c8c35d8d251fb1be001c9ba8e0b78356  gcc/config/sh/ushmedia.h
@@ -3846,26 +3854,29 @@ e61236a920dbb9948a13577a5b32dac0  gcc/config/sparc/netbsd-elf.h
 3e412b91070bd9a47a157496c9be590a  gcc/config/sparc/openbsd64.h
 7228593ef680e31e599b105767f0c32b  gcc/config/sparc/predicates.md
 239b0e98e01de268a9bf0eb97b639a30  gcc/config/sparc/rtemself.h
-c7c11b7b805dcbd49d4252807ebcca74  gcc/config/sparc/sol2.h
+84de7fee3d5cbbdeaecedc6a82fb3018  gcc/config/sparc/sol2.h
 902fb995b56fed45468d3eb2a94f2945  gcc/config/sparc/sp-elf.h
 535ebd71bba7f278ffba850edadc2f00  gcc/config/sparc/sp64-elf.h
 337af6a3d780bf8542f3220ac9704707  gcc/config/sparc/sparc-c.c
 0b74b64e4399075e87238619d484dd4c  gcc/config/sparc/sparc-modes.def
 5d67033247044f167e4fdcc7ae31a1f7  gcc/config/sparc/sparc-opts.h
 5f7b9b9a237807ab95219302f9668155  gcc/config/sparc/sparc-protos.h
-19e18ef60849b811d3771a1d3af1a0b9  gcc/config/sparc/sparc.c
-7dab081a4f76756f4ef4ba254326fadd  gcc/config/sparc/sparc.h
-87693de6a5c8f873a6a35209bcdc6ee0  gcc/config/sparc/sparc.md
+93a8559869fce690a0a2e4a7bc2f2d01  gcc/config/sparc/sparc.c
+d5ffcb9864b82c614bed45a8ab55c9e7  gcc/config/sparc/sparc.h
+939ec73f45400946eba38d91e09eeabc  gcc/config/sparc/sparc.md
 84616fed54f46178b678f4d17eeab816  gcc/config/sparc/sparc.opt
 e085c3934f5520c64222de26b11c11c6  gcc/config/sparc/sparclet.md
 f271a2c5c69010bdc36679b647809dcf  gcc/config/sparc/supersparc.md
-e1e11cbb59ffd2e68f60ee78f2428cd9  gcc/config/sparc/sync.md
+0341151cfefc81844556d47b27ef48ec  gcc/config/sparc/sync.md
 93366f555d4f26511683d08fcba378f9  gcc/config/sparc/sysv4.h
 2d6973fba0fd90767185263229f58463  gcc/config/sparc/t-elf
 fc142f2df8efccf31e9194d5a6d9c449  gcc/config/sparc/t-leon
 1054bc627937cae452da33380722c5f4  gcc/config/sparc/t-leon3
-03b07583cf3b307efee6aa5b381da4a0  gcc/config/sparc/t-linux64
+4a7d3f368a24d549fabaafbe44fcb134  gcc/config/sparc/t-linux
+74f79951606a049cbe57bb716f219731  gcc/config/sparc/t-linux64
 75987b7fdc6fa9c9ff2108ff1003e6d2  gcc/config/sparc/t-netbsd64
+4776267105814c16c6005e7d1e957f30  gcc/config/sparc/t-rtems
+df598384f73e7da35a2f8ccd945213e3  gcc/config/sparc/t-rtems-64
 511770bb20c2707fabd4f231ce8b83cf  gcc/config/sparc/t-sol2-64
 0c6d1531b9738824b6147c19d64796a7  gcc/config/sparc/t-sparc
 b04597637b0c08dd3e6d1a40c43e76b4  gcc/config/sparc/t-vxworks
@@ -3919,15 +3930,15 @@ f62347fb17ffdccf93a30b860f9f4dc2  gcc/config/tilegx/feedback.h
 b9de6d097f47daffab2310e0d13d49de  gcc/config/tilegx/predicates.md
 44afb0e119bf82038d362056ba386e8a  gcc/config/tilegx/sync.md
 7bf5713be56996f566a86927d32ac67b  gcc/config/tilegx/t-tilegx
-d014dfc2487bceb42634ce10e24bf5e7  gcc/config/tilegx/tilegx-builtins.h
+531d6d1279a9e738c32ee5fcf7173826  gcc/config/tilegx/tilegx-builtins.h
 cd3f001bef23261e293e65591f06966f  gcc/config/tilegx/tilegx-c.c
 c86e883be1e01c16536be8118ebc6238  gcc/config/tilegx/tilegx-generic.md
 81f6b707ef95ba3324a7d6fbff43b229  gcc/config/tilegx/tilegx-modes.def
 f6a85a68361491bbe8ccc4be5cc3c56a  gcc/config/tilegx/tilegx-multiply.h
 6a44bee52f97df0b5b4e4ad9bcc1dc4c  gcc/config/tilegx/tilegx-protos.h
-773526908e3163fbb9aa47fc9cd4efeb  gcc/config/tilegx/tilegx.c
-5faefcaedbe98219e63836ec93684f95  gcc/config/tilegx/tilegx.h
-f939496e929cef7aafcc327c748d88fe  gcc/config/tilegx/tilegx.md
+44a2d0dcd9628751c0fb89f8d11c7a70  gcc/config/tilegx/tilegx.c
+eb4db0583a55521a3b1361d649c08d17  gcc/config/tilegx/tilegx.h
+f0a58464e505b9636e13dbae77fd7194  gcc/config/tilegx/tilegx.md
 f22ea33023a5fc1b6132b23a3d389606  gcc/config/tilegx/tilegx.opt
 66baa3cce35126c1c6a983fca631d58f  gcc/config/tilepro/constraints.md
 f62347fb17ffdccf93a30b860f9f4dc2  gcc/config/tilepro/feedback.h
@@ -3942,8 +3953,8 @@ b39bc67a984ffc06bb76bb4306b8883d  gcc/config/tilepro/tilepro-generic.md
 d30517bf0008347e8528b8d7efddb41e  gcc/config/tilepro/tilepro-modes.def
 a23f88eedb9c4e385274cc27614392d7  gcc/config/tilepro/tilepro-multiply.h
 0194727cdcdc6fa4a100fbf1c22c4251  gcc/config/tilepro/tilepro-protos.h
-12ddf94475894a5457a99d84b6a6c889  gcc/config/tilepro/tilepro.c
-cf2ecd0ebde7f48a0c36e8677888636a  gcc/config/tilepro/tilepro.h
+7e10e1218ae63d92c55d85eae7078f83  gcc/config/tilepro/tilepro.c
+5438a4d52a2690e72663ee3d695843b2  gcc/config/tilepro/tilepro.h
 b79c317b1b1f015f10d95ac06ee9cffd  gcc/config/tilepro/tilepro.md
 dabb0fdde5821e29fcacea2f11995310  gcc/config/tilepro/tilepro.opt
 17fd5cabcc31b720b23bad47cf7fe84c  gcc/config/tm-dwarf2.h
@@ -4013,14 +4024,14 @@ cccf083a170fbfe04d44a1c3fce88906  gcc/config/xtensa/t-xtensa
 6c950d49308c2486553280ce7df5a5d9  gcc/config/xtensa/xtensa.h
 843e6bdc5b55528fe0f5180eb0ff1e63  gcc/config/xtensa/xtensa.md
 5933d388513eca96e9a100854b6156a6  gcc/config/xtensa/xtensa.opt
-aa25fb7639c439e9d753efa6b550eea2  gcc/configure
-b2abbc6de735739a72bf9174f1bb8300  gcc/configure.ac
+25bc167ab1fbdb7bff6f1941e38154b5  gcc/configure
+3bb0673ae909b786e7c7a28c4a277e04  gcc/configure.ac
 09a583886642b73a2ccf651045d7ac11  gcc/convert.c
 8e8d379b495b79ad19b6260bb3fc43b2  gcc/convert.h
 048593b7f507f93ddfb85d600a2de300  gcc/coretypes.h
 59c7baca802bd3837c558a91dcfac49e  gcc/coverage.c
 b86ee7f04db9c56234a11a95423b9fb7  gcc/coverage.h
-024d062e6b7e77d36e5ed4aa42bce421  gcc/cp/ChangeLog
+df374e60fd8c26e559f5392088c90d65  gcc/cp/ChangeLog
 d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
 f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
 ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
@@ -4044,56 +4055,56 @@ d3a9f903c71463c15002ac1d05c8aa16  gcc/cp/ChangeLog.ptr
 8888c230ee6f25898999373f102db18c  gcc/cp/ChangeLog.tree-ssa
 f456b7f483fb1e2850b238e87a3dc6fd  gcc/cp/Make-lang.in
 ab4a46976e9a3cf04888156c085070b4  gcc/cp/NEWS
-cd61dfe7a07910f31be3f15e318b2b84  gcc/cp/call.c
+15b15a199e303e9b3558f314eead879c  gcc/cp/call.c
 c333d7276d59c1b4b8e8826a1cb154ba  gcc/cp/cfns.gperf
 6378f6e4fd51e667512dbe94be975d88  gcc/cp/cfns.h
-2efc49269a712847dbe8d5db076b25f9  gcc/cp/class.c
+2e28a32fcfdcee57b7f05ff43ea8b2d3  gcc/cp/class.c
 e8547f150eee07e9384efc1271c2e3f7  gcc/cp/config-lang.in
 a87cd6b3e66c9371491d10ea68c14e00  gcc/cp/cp-gimplify.c
 f355b3e714015a76769ffd1afae46f95  gcc/cp/cp-lang.c
-366737cc7a31bff381234373c2322e2d  gcc/cp/cp-objcp-common.c
-9674400375ab28ab8f1a39d2d39654b4  gcc/cp/cp-objcp-common.h
+b22e46ad2c035206fd3512a750244d09  gcc/cp/cp-objcp-common.c
+ebc8209d713cae6945cca7b84208cf07  gcc/cp/cp-objcp-common.h
 d8107437274e864a74f06836e910272b  gcc/cp/cp-tree.def
-8d74c13582663678a7476e4e90ba00ce  gcc/cp/cp-tree.h
+4f95a89b228edfd5b8d4a6bdeddddc63  gcc/cp/cp-tree.h
 602ed19b791090010d346f08e354437d  gcc/cp/cvt.c
 1cfe61f1e431b46f80eed6605d435f74  gcc/cp/cxx-pretty-print.c
 b31a5cf090faf3a361520cba3205d47d  gcc/cp/cxx-pretty-print.h
-30e605060c06e2bbb558d773688a5360  gcc/cp/decl.c
+dc06a581744ee2533605d34edf868e4c  gcc/cp/decl.c
 5626f8be7c0353390d8a2d6e1c647a2d  gcc/cp/decl.h
-cb82930999ddd489faf5af656c224c18  gcc/cp/decl2.c
+4b2f129b59b6bf2c23149b66a6b90d96  gcc/cp/decl2.c
 053929043ea47f4cfedafdec046a6f81  gcc/cp/dump.c
 3b671644053baeb445c5cd8b0182f1f2  gcc/cp/error.c
-5e4e34f9a8f0b7d570abee5f93987828  gcc/cp/except.c
-0a828a1619e9a402b0ae9d2bd0b5342f  gcc/cp/expr.c
+5e9b607ba837b8c809bbfe5238c7a2a5  gcc/cp/except.c
+59a9c3d4b2b7b7c64c481b0d6b938b1c  gcc/cp/expr.c
 bf178f91b77b9673cb270b5be109c650  gcc/cp/friend.c
 42e3401e9df0dc8e3fe911a330119085  gcc/cp/g++spec.c
-f61cac02685123306ee1734bd46ece76  gcc/cp/init.c
+75fb1dcc3d19a20a0ea2356ea37384db  gcc/cp/init.c
 1b34614409e2eee4e9083d50a2386e43  gcc/cp/lang-specs.h
 0ae7307da476c52aa9205bfb56d75913  gcc/cp/lex.c
 4fef108ed3a42408834e690cb58a8481  gcc/cp/mangle.c
 2742233a46cca8561d39d610a7d26edf  gcc/cp/method.c
-591af9d98728ae8e04fa8014b15ce165  gcc/cp/name-lookup.c
+8f03533fef8800031a513ca6f74a6134  gcc/cp/name-lookup.c
 4483aa5d7e3dc500e4355d5d69dd0976  gcc/cp/name-lookup.h
 6de39f5efb344cf8fc12debf872949d1  gcc/cp/operators.def
 e51577eab84b7eca2a2a2c4dbed15389  gcc/cp/optimize.c
-af78c21016f9802db2fbabfcfc102f71  gcc/cp/parser.c
+e795121b58e4385539530d1f48b4d810  gcc/cp/parser.c
 33a341f564edf44a51cd6f783dd8ff9f  gcc/cp/parser.h
-584f4df37a5c5475c182ebcc9e0fd960  gcc/cp/pt.c
+09a5efab6c1a3845862645a48dd51617  gcc/cp/pt.c
 0b48b0579a960ea13e8abfb0d5cfa6f6  gcc/cp/ptree.c
 4c5341f403234b9da9a6af463497c42b  gcc/cp/repo.c
 20d5825f771abccdf9723ab5b9809a36  gcc/cp/rtti.c
 094b44a70b8e28368eb190be53319079  gcc/cp/search.c
-ff2ea62875e59912cd9593a607331ebc  gcc/cp/semantics.c
-4b7520c18596f70f4e760d4e5f8d37f9  gcc/cp/tree.c
-09e0871e02e6284ca08d951b6ef79f23  gcc/cp/typeck.c
-660b0934ce5b31bdb6ec92e77b24609a  gcc/cp/typeck2.c
+f71d03fff4eebdc9542a732847536292  gcc/cp/semantics.c
+d37f40a99bda0c12699ab4bac7a494b5  gcc/cp/tree.c
+c6361c80705f12ba070a5ac3c089bd70  gcc/cp/typeck.c
+8119c8896bdb39f94233520d82396e27  gcc/cp/typeck2.c
 4d0441e56b85b56cdb7fd99736f861df  gcc/cppbuiltin.c
 390df188d4cdaa4ee1ab26a712ecf998  gcc/cppbuiltin.h
-ee37677476152ddbbe9fe312e638063f  gcc/cppdefault.c
-8cbfd0935964cec15954e2b50ffd92c9  gcc/cppdefault.h
+ea847093bb818cb488452bf3e3c15a27  gcc/cppdefault.c
+aaf9933e79b45847d7fbf43fce7ce0cb  gcc/cppdefault.h
 3a9c59d59f488008ab24d8c51d2b8c93  gcc/cppspec.c
 5f4ed3ba3f0b4e0dacde6c845fd9a66a  gcc/cprop.c
-dfc9f70a35b87d45ee4551646eeae7c9  gcc/cse.c
+f4b9b7fa4936429e6748fe53b6b1918a  gcc/cse.c
 f1b2e184c88cca42623fd5138a559ce2  gcc/cselib.c
 46e37e036abda717815966b2f5d08821  gcc/cselib.h
 1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
@@ -4123,7 +4134,7 @@ dd1e79e387e3b16ad878a982b51fa84a  gcc/dfp.c
 c72b6a9ce2247b307428524eccbbc3f0  gcc/diagnostic.c
 02f5415206cf90ce78f5325cf12915e1  gcc/diagnostic.def
 8c0468ec397027efc1c820bae43ced63  gcc/diagnostic.h
-1251b0bd79871e247b6a267643dd5f95  gcc/doc/aot-compile.1
+357356b20bf1a2980b539069da08bb17  gcc/doc/aot-compile.1
 972a80440a00db9edb7d3e88725abd8b  gcc/doc/arm-neon-intrinsics.texi
 f14bb72f864987edc101885b31399d41  gcc/doc/bugreport.texi
 97d36d8c40ab387990eeab73174eec5e  gcc/doc/cfg.texi
@@ -4133,38 +4144,38 @@ cdbb61bc66e8eecfd747e24f8755b77b  gcc/doc/configfiles.texi
 6ed911b9535d38ab2eef4969854f0581  gcc/doc/configterms.texi
 39a2d8c13d42efe5d43cb5acb761c1b7  gcc/doc/contrib.texi
 532efd24ba5590c6aed6cc4fa92638d8  gcc/doc/contribute.texi
-8adcd3bda97fb129ac0b374bcb57e23d  gcc/doc/cpp.1
-48edb7a66e4d98df1131ced4d643d919  gcc/doc/cpp.info
+5bc2c8f5dd91a90cc21680414ec78b23  gcc/doc/cpp.1
+2b0a07d5dc87db8f8b6e2555b2eaf400  gcc/doc/cpp.info
 3b56531440e5d3475757b74c8b851a2a  gcc/doc/cpp.texi
 8462a717da44ca316c8c9ac975457a32  gcc/doc/cppenv.texi
-9096467020759844097ab0773bc7be4b  gcc/doc/cppinternals.info
+673652ad15f3fd8f5dc86dd62bb50b7d  gcc/doc/cppinternals.info
 27c497524af4e535fe2d9d7d9a9c9e0f  gcc/doc/cppinternals.texi
-68f547b35b053569d1adbc35bb9d610a  gcc/doc/cppopts.texi
-fa211fbc78de6a308abeec322f41753f  gcc/doc/extend.texi
-8abab1bebb5f0df833600ffa93e3c51b  gcc/doc/fragments.texi
+8547ba6022be738ee65febf10cd907b4  gcc/doc/cppopts.texi
+bd107ea2b6aa19e169ac10a4dcc16027  gcc/doc/extend.texi
+17eed4dc1679770db7997078ea05e39f  gcc/doc/fragments.texi
 92fe9a03b38d902d29182f6933a8bffc  gcc/doc/frontends.texi
-e43cf566b36e39302c979e2724fdab92  gcc/doc/fsf-funding.7
-a5126681abd03689036a592c976dfaff  gcc/doc/g++.1
-3c9a1f125ff689e8fe1ba9dda2b94068  gcc/doc/gc-analyze.1
-a5126681abd03689036a592c976dfaff  gcc/doc/gcc.1
-7b3be96ed0b26456f0068b061cd2852e  gcc/doc/gcc.info
+a7ee2cadd7dac41c49625f40c142c23f  gcc/doc/fsf-funding.7
+9ff5cca861dd4da21f6f89141e409bbc  gcc/doc/g++.1
+d610ca1b8924ba0bdd4716758131fe0b  gcc/doc/gc-analyze.1
+9ff5cca861dd4da21f6f89141e409bbc  gcc/doc/gcc.1
+59d9fd36ff7f0732402dff475f5ee756  gcc/doc/gcc.info
 295da9cf03906a81b17a79278225a483  gcc/doc/gcc.texi
-3d9c62d1e60efb26900fc3239ce14535  gcc/doc/gccinstall.info
-b291f2166308ad7273774d8fe0206466  gcc/doc/gccint.info
+a782197f7f3b2159de1d0a6e7c38d2d6  gcc/doc/gccinstall.info
+0165f1a4259cb9181fce07f281ee8c46  gcc/doc/gccint.info
 0641e6c162171d625639a3651b3fff66  gcc/doc/gccint.texi
-fd7414998ca7c7d26d19baf2fb574bcb  gcc/doc/gcj-dbtool.1
-b6cecfd86ff7a8a859528f055c0ebd68  gcc/doc/gcj.1
-b41dcfb51b69054ec8efd43c7b377cbb  gcc/doc/gcj.info
-05d5defed593280fa2c11c23e0b4c65d  gcc/doc/gcov.1
+ea052f4d6369571f6ad37aa96ef2d8aa  gcc/doc/gcj-dbtool.1
+d62cc8917eb0a41a5c46f6dfd137ac6f  gcc/doc/gcj.1
+9ea3cb313cebbaefe765bf56a1ca772d  gcc/doc/gcj.info
+af9f8b1bae089ed85f3fcd089ecd77fe  gcc/doc/gcov.1
 5e7047d05316ccd02d77d9318ac1015c  gcc/doc/gcov.texi
-93e4546c9a5bed781a252f74c1725bb5  gcc/doc/generic.texi
-143e6411f187fc3ce4f3b19374ea86d2  gcc/doc/gfdl.7
-3a0a9d2c1a02aff721709e9ffde07c61  gcc/doc/gfortran.1
-e8fbf87f4669a9cbef770c53198b18c7  gcc/doc/gij.1
+12b5f65302a1eba6d927302638cf9c72  gcc/doc/generic.texi
+1d5e0520d79270311e912e50d54f9080  gcc/doc/gfdl.7
+390d21161ecc4d7d0044236297b15dbd  gcc/doc/gfortran.1
+d4b058f5f5e1b4a0be99c694587ecf8b  gcc/doc/gij.1
 7a5c764848a05f5cf4a03d73ed93cea2  gcc/doc/gimple.texi
 290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
-e66648f0123ee846623f5ef6792f3108  gcc/doc/gpl.7
-116ddf2205e561db91018a5643314245  gcc/doc/grmic.1
+47a271882f5a78dffde679c605d7d7de  gcc/doc/gpl.7
+89709c48a5a42ed507e819376aca62af  gcc/doc/grmic.1
 9a7ff7727a2bc98d269b1ebaca8c25e2  gcc/doc/gty.texi
 12712ad63a56e9d549562b21b42b1454  gcc/doc/headerdirs.texi
 34af0e470967a81eca6382a2d9927ffe  gcc/doc/hostconfig.texi
@@ -4177,12 +4188,12 @@ be9b425ec8b2ca65e2fdbad1029e2dff  gcc/doc/include/gcc-common.texi
 5f5adc2c6c4ebdcf03cc0125250f5995  gcc/doc/include/gpl_v3.texi
 dee9095d1a927726aff2b0f71fd1f9f5  gcc/doc/include/texinfo.tex
 2039f69ab7710903f41e12090b21a7a4  gcc/doc/install-old.texi
-a5fa1c325ba46b5881229e878e7f69a9  gcc/doc/install.texi
+a3afcafd4eadc7e57c4ffab978201b1f  gcc/doc/install.texi
 8798a4a6671853841bb8260cf24753d2  gcc/doc/install.texi2html
 5407c66b804884426ce94dcac22864d1  gcc/doc/interface.texi
-d8a8f565de5dc38899e268a857035dd6  gcc/doc/invoke.texi
-b682964de546069f28938a8d44e56543  gcc/doc/jcf-dump.1
-9c878f3f02bbc24c7d6d6c6b4966b557  gcc/doc/jv-convert.1
+edaa0d4f749bf0380e182867c571a7f4  gcc/doc/invoke.texi
+86707cbfe653005ef0e9f1b995982d6e  gcc/doc/jcf-dump.1
+6d5d6d78750062506685ce6c01b7ad8a  gcc/doc/jv-convert.1
 01b0dc3ad11961d7eab2d299d15e9672  gcc/doc/languages.texi
 67cf76904449ef7d65eecd8a426ef0aa  gcc/doc/libgcc.texi
 0c213cbb01a0ef94ec9307a6ff795722  gcc/doc/loop.texi
@@ -4194,7 +4205,7 @@ c93b65423413329363dfeb8ff3f6a77a  gcc/doc/options.texi
 ed62128d9d0c21350f7c0e2daf72ddfb  gcc/doc/passes.texi
 3875aea4ccb8066c4c8fd4f4a6ced510  gcc/doc/plugins.texi
 72136dc6e58c1bb1790f0f25bbaf8897  gcc/doc/portability.texi
-967d2e878ebabe46bdb2c8ec70feadff  gcc/doc/rebuild-gcj-db.1
+d352b852b939ce52e99fbee297a3e669  gcc/doc/rebuild-gcj-db.1
 9e2367f7c9814dc4976e7c7a269b6300  gcc/doc/rtl.texi
 d65d49dcfee4f97f1aea81855a0c20d6  gcc/doc/service.texi
 a73fa16428694b833800fdddca43df3e  gcc/doc/sourcebuild.texi
@@ -4209,16 +4220,16 @@ ab18561e198caa17636076997fe16bce  gcc/doc/trouble.texi
 79f0d5df1c6564155509816fa0019047  gcc/domwalk.h
 1fe7c6dc50e0630bb735cd8e1a02d24f  gcc/double-int.c
 fcd66de7382c3192cae5399667490464  gcc/double-int.h
-51e4b0c58c93dbdce77ef20e7791580a  gcc/dse.c
+299be13fa96aa91d53c2e0d3f16cc450  gcc/dse.c
 e88f24b9626e3a4beef8acee9c08478a  gcc/dse.h
 3aa2bf353e00f2b21f0b9f718ee8c916  gcc/dwarf2asm.c
 c6a89eaf1ae0e2753ca8dbbf7f4c10a4  gcc/dwarf2asm.h
 031a4e3fb2ca5dd404ba146fc3b0992d  gcc/dwarf2cfi.c
-f838748466afd13c752a26d49870bb1c  gcc/dwarf2out.c
+4c7bb7e36b749d1e0e2f93c22b488d74  gcc/dwarf2out.c
 75f85e4ca51b1b0bbe3b4634f9179186  gcc/dwarf2out.h
 a97614a8590c45503176043a155b75bf  gcc/ebitmap.c
 5aede90d7380412cbc9521027ec7c6a9  gcc/ebitmap.h
-67808f738e394033a7a03079c4f1ed20  gcc/emit-rtl.c
+3036643d829eb38967eaf8a117b1b22c  gcc/emit-rtl.c
 e985249e1483c2201a412dd3681d227e  gcc/emit-rtl.h
 b12c5ca3c76e24c5f411eab1cb24130c  gcc/errors.c
 ef9c48fa11bbd2e01040e2291612a7b7  gcc/errors.h
@@ -4228,17 +4239,17 @@ a3807ac85784b894a9c973f48245a095  gcc/except.c
 b1c5ec27e5da5d4956cc9151fa3399b1  gcc/except.h
 b80aab63fbbde13ba9fb00241072080f  gcc/exec-tool.in
 b24de8ed0fd2501970d93bd6405b9e10  gcc/explow.c
-0c33c57a6dcb0989928e4ad519b7ceaf  gcc/expmed.c
+79ce54bbed57ab8a0109ace5bc1a52be  gcc/expmed.c
 76f94abc1da757d7c8ee22bfd3c09c6f  gcc/expmed.h
-6f66457eb65c7038e8bc2ebf98c32648  gcc/expr.c
+d0f35f936ed9ff155651cf0a715dda2b  gcc/expr.c
 bba4f1403eb290e01644a37e05aebe6f  gcc/expr.h
 5084380f29300cdea3f1749760ed56d3  gcc/final.c
 6b9fd7bb3fdc43029b310b6e3edd4240  gcc/fixed-value.c
 f57fd99a821089eaf00eb7374a49a38e  gcc/fixed-value.h
 d0b1e2ba9bba8e940e8b24c086d05e8c  gcc/flag-types.h
 f881c6bc1505d76ca92c10722f265f2f  gcc/flags.h
-d2e4f044768a3cd434127f5c31d81363  gcc/fold-const.c
-66b2c900bb3fddbaab2087371f6b9297  gcc/fortran/ChangeLog
+7264a43ede05f1023779adb27c7fde16  gcc/fold-const.c
+8b9f80d5b2e90ec634d1e858d7315f8e  gcc/fortran/ChangeLog
 3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
 d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
 bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
@@ -4255,8 +4266,8 @@ f851636001c3cc77afa05855758aa841  gcc/fortran/ChangeLog-2007
 9cf51c8c958888e57268ae77059be801  gcc/fortran/arith.h
 2e5469f33fe7bb9813a1dfb48c898528  gcc/fortran/array.c
 70e200331a2f53233ac222da8434bc3e  gcc/fortran/bbt.c
-98cfdfb22216b0d801cc92761bc2566f  gcc/fortran/check.c
-f9821e4d32f5fd7f73a6d6946b1c5baa  gcc/fortran/class.c
+2fe247557cb26d0c0d6d60cf1a2ef159  gcc/fortran/check.c
+0bccaa3575739bda97eeae507cd1117a  gcc/fortran/class.c
 7c7f86a9e45099db8d493ea49228c0db  gcc/fortran/config-lang.in
 1c69af02a68e17cea021b1d7007c65c6  gcc/fortran/constructor.c
 7bcd253b180a56fd61db3c3615fdb85a  gcc/fortran/constructor.h
@@ -4265,17 +4276,17 @@ f9821e4d32f5fd7f73a6d6946b1c5baa  gcc/fortran/class.c
 6d1cdd748cc7698067c3745514bc2254  gcc/fortran/cpp.h
 db6838d161e9a8524cf8845b8c7268fe  gcc/fortran/data.c
 8ebaa0809e6142da26506ff1cf8edece  gcc/fortran/data.h
-d689a3f62d9e4e9a790801b92e7512a0  gcc/fortran/decl.c
+7bdafeca7acc7b226f97ecc93d5e9cc3  gcc/fortran/decl.c
 3ea4e19a4e7778e89ac7ef0c0043638f  gcc/fortran/dependency.c
 48c8a1d7162b15b5696c7e17d604620a  gcc/fortran/dependency.h
 9eb8666b60ca3c9a5bfc51a4a617fd20  gcc/fortran/dump-parse-tree.c
 f90da3b9ef356dcb8b199709d04295c0  gcc/fortran/error.c
-801a58b6277d0c988251f02221f4fc4d  gcc/fortran/expr.c
+0dbb3e3e449c65239e23e8036301966d  gcc/fortran/expr.c
 912f38c8ebd1409619e196ee81566776  gcc/fortran/f95-lang.c
 3fcfc5acae35074e6ccc24a54aa5d619  gcc/fortran/frontend-passes.c
 54455177b152a958a17d0a1cf7098dc7  gcc/fortran/gfc-internals.texi
-8473efcfe86db4d1e500ac74b83e8e8f  gcc/fortran/gfortran.h
-676c46ec566367329c064d0d751b89b5  gcc/fortran/gfortran.info
+4316dcb01062c127b14778f1c22cde66  gcc/fortran/gfortran.h
+3e63e994fb73edbc690ac574d9f63a02  gcc/fortran/gfortran.info
 ff4ff4dc585e7064b7e45ed9f3dd7292  gcc/fortran/gfortran.texi
 1c42655f8e847c030340c0bc0f572455  gcc/fortran/gfortranspec.c
 c1cf766acd870f6c5572596d41adf403  gcc/fortran/interface.c
@@ -4296,30 +4307,30 @@ fecd56ad887bfd6365fb5ae4b1c9a466  gcc/fortran/match.c
 12e8d31a0ad8418861c15ee078422151  gcc/fortran/matchexp.c
 56aca94612aaf36f80d3515a9bf14856  gcc/fortran/mathbuiltins.def
 9f63ccce26b1e3d966cd4326d311ff2d  gcc/fortran/misc.c
-c8bfc595c3d35718d53fd1a25f02dcb0  gcc/fortran/module.c
+28f8153502ed531c1877a93d4d5e7538  gcc/fortran/module.c
 828922c46f02490055bbee2bdc86d486  gcc/fortran/openmp.c
 ae6e6431554ba13cc79d0e80177b1f54  gcc/fortran/options.c
-bd8c67cac7cedcdc70a9f9528e2a2e50  gcc/fortran/parse.c
+daf0fa6ea568e29473fe8732fa6d86a1  gcc/fortran/parse.c
 d48e727ba0338b4dbef5767320dc6379  gcc/fortran/parse.h
 aedfdbb69dc322bd0822bdc0cd3d9bf7  gcc/fortran/primary.c
-7f5e81d4af7619b89fa5e35c436f94b9  gcc/fortran/resolve.c
+82655fbb138947a0bd03c858cdbd56c9  gcc/fortran/resolve.c
 55b90d908a182b26c94fbd55418e3e9c  gcc/fortran/scanner.c
-198f043929a924a147f5f753c4d11dee  gcc/fortran/simplify.c
+91bb55d1c8808e6685b541b633536e9a  gcc/fortran/simplify.c
 29d6d2fa3d06f9daadf9e273da6dd5d8  gcc/fortran/st.c
-8a692f93893ed676479a04b4972d1147  gcc/fortran/symbol.c
-300df8bfa8e8b2e3476a34839e3214d3  gcc/fortran/target-memory.c
+3dd0bb7051def9f539c8a00c8be2946f  gcc/fortran/symbol.c
+7fec092b880b0965cbc758c70b1d7796  gcc/fortran/target-memory.c
 1f3813bb0560a7d133c1144c5de3c350  gcc/fortran/target-memory.h
-5b0eedb0d6a74c0937c3e80965aa4f07  gcc/fortran/trans-array.c
+a4827709836d35305cd00c9ecf0f8f63  gcc/fortran/trans-array.c
 fea09f6fe9590179066568a70fada097  gcc/fortran/trans-array.h
 3f06bc73b8af6251543ca8b9c3c29ad4  gcc/fortran/trans-common.c
 b0c47e25986e6bf4b2fac2f4774d5c80  gcc/fortran/trans-const.c
 79f96a38a9660a5bd87e8a7ca25ac5db  gcc/fortran/trans-const.h
-d72d8a57112b4da96e383622324a67a7  gcc/fortran/trans-decl.c
-694d1630196d0cd4bfeee53b453e9af8  gcc/fortran/trans-expr.c
-615d70231f481f866a5c1a9c743c0627  gcc/fortran/trans-intrinsic.c
+a51a072541c8611d705be72ded160e55  gcc/fortran/trans-decl.c
+a14510644e508833246e5a5f41e6372b  gcc/fortran/trans-expr.c
+d7d949c88cf5733ae562735f360729e5  gcc/fortran/trans-intrinsic.c
 6fc3b9df732f14b7b36b27a6a6e47e1e  gcc/fortran/trans-io.c
 c1b453df9d1e8d96310e4814784814fb  gcc/fortran/trans-openmp.c
-a7f63a9e878c5306b1bc2c946809149e  gcc/fortran/trans-stmt.c
+bc312e68f734f6f67e316fd22ffd639c  gcc/fortran/trans-stmt.c
 ef5a0744fb5a2df7cf08410ee996c3be  gcc/fortran/trans-stmt.h
 68b3e35ff2008993f4a4df0d246b32bc  gcc/fortran/trans-types.c
 e30c03e67838eb8e054c0f8e91214f78  gcc/fortran/trans-types.h
@@ -4327,12 +4338,12 @@ e30c03e67838eb8e054c0f8e91214f78  gcc/fortran/trans-types.h
 d0a47fa5ead5a7822d365800f994f46c  gcc/fortran/trans.h
 147d9b96f7e37ac62b11cddda43c51a2  gcc/fortran/types.def
 dcbfb5f59aa7c840c77285967d94c409  gcc/fp-test.c
-4927aba97169914c3b6ba27dd726be9f  gcc/function.c
+3f261c86c6401ae82cc5f5a3890eaf3d  gcc/function.c
 2505f17cd78ed0e2f1c276f7d21fdffd  gcc/function.h
 c7a080f9678d370d1bd20dd1db29d271  gcc/fwprop.c
-15781ab1b331f4127e7f775fd7fb5749  gcc/gcc-ar.c
+708e1d2705fea3b54b48cb54d159e0e9  gcc/gcc-ar.c
 04b4e8400e06beafe7f9d0d14b4a0002  gcc/gcc-plugin.h
-230355ef6ea3d7caf826c070ac6aff48  gcc/gcc.c
+9971d2c41e0c3f8558767d38bdf236d1  gcc/gcc.c
 aaab43257c03d552327496ec7e66ed66  gcc/gcc.h
 43b7275353aef8f132e8e2a7eb26ccb7  gcc/gccspec.c
 bd0c2a431db986c7bd1145620aa92fd8  gcc/gcov-dump.c
@@ -4340,7 +4351,7 @@ ff8326072ca4008686bcef27bffe60e5  gcc/gcov-io.c
 cb0bc9951b1b6a9c539e6d760ea58b74  gcc/gcov-io.h
 33109c20d16213340895643a4a460581  gcc/gcov-iov.c
 f53472e633cac3100271cb30e56dd163  gcc/gcov.c
-42108cf4367d1798666dbe9836adb89b  gcc/gcse.c
+1902e3a1f4978a79adfa6b01c87de5b4  gcc/gcse.c
 180d9c908b7c1c5d622b4f32d0328802  gcc/gcse.h
 cae755a2c840ff133fea21a084840e4a  gcc/gdbinit.in
 288c92deadca49fd4f23ddd4913673b8  gcc/genattr-common.c
@@ -4358,7 +4369,7 @@ f11e3b1f9fd66f305ebc5eb4d6ca0c18  gcc/genconfig.c
 1a949f80b2d03a1861593fe575394588  gcc/genextract.c
 f6183e8ec67c2b447d2ba68e1ced923e  gcc/genflags.c
 b5dea17ff36cc4c2f5cc93268a3ea198  gcc/gengenrtl.c
-4ed1d5dac7486b533643797336d391f3  gcc/gengtype-lex.c
+93cff294ec7865755245af5d450783b7  gcc/gengtype-lex.c
 8ab978b8ee23e81a64b0f3c3ff5bf847  gcc/gengtype-lex.l
 5c66b1c23948f45ae835d30170b630e0  gcc/gengtype-parse.c
 d797b0ea2e498ad224336602c1e78372  gcc/gengtype-state.c
@@ -4367,7 +4378,7 @@ d1018ec702893af7c02a8bf1cf39e07b  gcc/gengtype.h
 1a4a45d0edbdc51a0fedc4aebbc9848a  gcc/genhooks.c
 06336226b5a888eb6ad518a53adf7bc0  gcc/genmddeps.c
 ff712331c5b94d6c2ed9340efe057dad  gcc/genmodes.c
-f1c2fe8573f56b71726a18d4bd05065b  gcc/genmultilib
+3d49029e3e7624e8b592e8dbcd4e1ea9  gcc/genmultilib
 2f1d38bf64ebc9a46d93cb42da83cfef  gcc/genopinit.c
 478910c61e5ba20eb368a5c09e5f11b0  gcc/genoutput.c
 8986de6ceee332823b6e633d446adad1  gcc/genpeep.c
@@ -4375,25 +4386,25 @@ f2d14aae54113a35019ad8219f9ddd19  gcc/genpreds.c
 5508cbe1b33136bfcaa2914d379a2a91  gcc/genrecog.c
 e7e90cc704bee8f220c360319384f079  gcc/gensupport.c
 e8684cf00de5582ae83e8218a74d3bae  gcc/gensupport.h
-0a15fcb6bf4d3ddddf7fe9346160c8e5  gcc/ggc-common.c
+1db3f61752c181226d7f24d82c7f7d50  gcc/ggc-common.c
 48e7e9a448fb10e251c16b49748aeea0  gcc/ggc-internal.h
 ef87f64a8bab5db90333bb084b79c43b  gcc/ggc-none.c
-4fc35eaaa0cdcc7bd44a171f3b2eb225  gcc/ggc-page.c
+db696cc84223e1399c2b81dc0b32ee25  gcc/ggc-page.c
 bfd40b913bb370006ab0aaa3c942e386  gcc/ggc-zone.c
 a24699cb051bcc536fe2891b3c2c33c5  gcc/ggc.h
-00553e07312d12af322f3b047695a4c3  gcc/gimple-fold.c
+c6414897667f37e2a21b292c6a9e5716  gcc/gimple-fold.c
 5058e8dc47d476d569946cca25ba1f72  gcc/gimple-fold.h
 f3c11878b0af9f6e31df84251c30c6da  gcc/gimple-iterator.c
-a1e858cfac411c8e369f192ad3693c38  gcc/gimple-low.c
+faa13094c01e0431e2eb927f352fdd0a  gcc/gimple-low.c
 2e7e59bf61daae1681ed988e1e8cc4a6  gcc/gimple-pretty-print.c
 e9616c058c7a31e98f37c6e37cf53a61  gcc/gimple-pretty-print.h
 056b7cfe244afc0d2afe481ec9c4c335  gcc/gimple-streamer-in.c
 0ad7ea7019c7ea4853f3ec2ce5a506ba  gcc/gimple-streamer-out.c
 55ee71a641706b2763851c505dfce0a6  gcc/gimple-streamer.h
-562739a15754fc485520d11f7812a675  gcc/gimple.c
+69b3ef02f55e5fd79e20a06939d5c1db  gcc/gimple.c
 b9757294d5092fd62c8acef003afd1ad  gcc/gimple.def
-3caea49179a00ccc6c9bdfe4d5ac8110  gcc/gimple.h
-2af86088bf460ecbacf3f8e774d46ed6  gcc/gimplify.c
+3e1db716c7b98a431ebbe79a6a5edb7f  gcc/gimple.h
+dfdb4f1e40c39f4d5aacaa355890a7eb  gcc/gimplify.c
 5aed18d78fc22bdec7fde8f29c83dab8  gcc/ginclude/float.h
 798164dd63bdd388c276bdda934db337  gcc/ginclude/iso646.h
 922cfd657d9b95a5746eb208a9fe42ae  gcc/ginclude/stdalign.h
@@ -4408,15 +4419,15 @@ c4fa9905583ee2d3bf5bc1af35bb6a0a  gcc/ginclude/tgmath.h
 897f703ac94c2e943d10fc70add9be6f  gcc/ginclude/unwind-arm-common.h
 8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
 1f7349a34b50f9b1be2a87d026723b0b  gcc/glimits.h
-73a376b3ccd682ec774b39e73e6c4b9c  gcc/go/ChangeLog
-9346523019ca5dfa4f6aea20c1382a2b  gcc/go/Make-lang.in
+17d81595354a213f99b50a2692073846  gcc/go/ChangeLog
+1ffa723af8a46cf1c401d15bf369cce8  gcc/go/Make-lang.in
 60ea054548c83c7f66170073f9f3e74c  gcc/go/README.gcc
 2cf0231be089453273a5d1c00c6bc4af  gcc/go/config-lang.in
-6ac9f01feb5461601557dcf08d131f02  gcc/go/gccgo.texi
+e01beed1a56ac4a94dbdd65aa43246f9  gcc/go/gccgo.texi
 7c69d859b429081caf1722538e2c31f1  gcc/go/go-backend.c
-7a061bde15d8ba4019eac831dfdea584  gcc/go/go-c.h
+245fbf4782d724a788b4e8677b954a4a  gcc/go/go-c.h
 6dfe569b4c57e168a9818312fc3b1bc4  gcc/go/go-gcc.cc
-0291be6307e97bbcd02a6e6b46c00ee5  gcc/go/go-lang.c
+f1a0a6df85f5eb79700328e8bfcbda2c  gcc/go/go-lang.c
 23c13bf184eab0071ce44a00188801f6  gcc/go/go-linemap.cc
 e044aac17049110bf65f2288f6f7cace  gcc/go/go-location.h
 28fe892c0b210b28cedaccd16286c3c9  gcc/go/go-system.h
@@ -4430,38 +4441,38 @@ e044aac17049110bf65f2288f6f7cace  gcc/go/go-location.h
 ac50f288c85f0d8fff72198966a48008  gcc/go/gofrontend/dataflow.h
 8734f348c527b9800d30461119288c38  gcc/go/gofrontend/export.cc
 5725a5fa742fd955d4c6d2c2c1befb13  gcc/go/gofrontend/export.h
-f4f4396d82f47c42ada3d9c0b54deba9  gcc/go/gofrontend/expressions.cc
-b7202472885bf5b1761f01029891b601  gcc/go/gofrontend/expressions.h
+d532db8090cb11fa20040e5cae3a6310  gcc/go/gofrontend/expressions.cc
+69f361f94beb5f8ac0c8f2b8595f38aa  gcc/go/gofrontend/expressions.h
 19e66447fa803385274b4e1a7501a4d5  gcc/go/gofrontend/go-dump.cc
 e3f005ccc40000dcaf14ab6eec979f69  gcc/go/gofrontend/go-dump.h
 505078b1e9185e86c97fda5cda6fa67a  gcc/go/gofrontend/go-linemap.h
 a9976cefc0150a7132d127b093292abb  gcc/go/gofrontend/go-optimize.cc
 6d061113313f445cd9a8a626d8138a43  gcc/go/gofrontend/go-optimize.h
-b993c27bc5e601b804d51c367a3c65b1  gcc/go/gofrontend/go.cc
-19a0699041b06e3dcc7e1fbe5a6b0cfc  gcc/go/gofrontend/gogo-tree.cc
-7ce770ff23c4c79d48980ae737ced6e9  gcc/go/gofrontend/gogo.cc
-57b5226630ea83a79a5d05b331b24715  gcc/go/gofrontend/gogo.h
+959d260ce5e9d4d11760f564b82713c1  gcc/go/gofrontend/go.cc
+0016427dfdc859b7b96b4d870c73a6e0  gcc/go/gofrontend/gogo-tree.cc
+79390e8bca6b1e2e9485575cc769939f  gcc/go/gofrontend/gogo.cc
+1799b3edafd6f9a49dc422e7f1ffeac5  gcc/go/gofrontend/gogo.h
 8dada3560d1257309c9d45869bed0d33  gcc/go/gofrontend/import-archive.cc
-a5e9929c85828ae721e53270c1af0bca  gcc/go/gofrontend/import.cc
-cc5e6361ff1d61af655e87ee3ad94828  gcc/go/gofrontend/import.h
-53e109e0164893988e9c769a19d4486b  gcc/go/gofrontend/lex.cc
-24acfec45f3416c864356dcaf9b6acd8  gcc/go/gofrontend/lex.h
+499fe8bccdd0651f0566d8c145b8d5f7  gcc/go/gofrontend/import.cc
+8ce6ea644300b19ee74606e62d1d80f1  gcc/go/gofrontend/import.h
+1f3cd35a61fa96331d0d97abea2a33b6  gcc/go/gofrontend/lex.cc
+6045027a4385a573e5d65259dcab7d4f  gcc/go/gofrontend/lex.h
 98235b1a736055cd6a130337a9ee8e8e  gcc/go/gofrontend/operator.h
-230b1acf200e0fd77eb553bdeb8329bc  gcc/go/gofrontend/parse.cc
-1360dd12661026c97e6f38364adf098c  gcc/go/gofrontend/parse.h
+f29fbb66aac48fc1de738c660e0a50fb  gcc/go/gofrontend/parse.cc
+0227100f0aeb932985c319976f3c0d3d  gcc/go/gofrontend/parse.h
 62703ba4170d95cd9854cf2f2cd59eda  gcc/go/gofrontend/runtime.cc
 d9295ca66293f27c7568cedac6456ef8  gcc/go/gofrontend/runtime.def
 df0b2e89a7ce7d87c1816e63cdecbf48  gcc/go/gofrontend/runtime.h
-98b23253f13c0b0d95eacd74017bef2c  gcc/go/gofrontend/statements.cc
+ae58967c9e478b73b9c3e4858f29b9ac  gcc/go/gofrontend/statements.cc
 2a4eada505cbd5f6fed57252a9a7dd69  gcc/go/gofrontend/statements.h
 0ba1a11b029f92c6795e4c940c966f48  gcc/go/gofrontend/string-dump.h
-094d182ab084cb4170db07aa6eae212d  gcc/go/gofrontend/types.cc
-e9852e9d8c139c063dc22848f28ec2d8  gcc/go/gofrontend/types.h
+17a4617ea52c53e59e0082c780fbda67  gcc/go/gofrontend/types.cc
+8aa7de8151c516db023dd175d3b46a7f  gcc/go/gofrontend/types.h
 14f99064d66c4b9bc9ab92b14d4e7afe  gcc/go/gofrontend/unsafe.cc
 30aed6b9c00005057aea50d3ed777935  gcc/go/gospec.c
 ac629fb72b8ae11a96f747602e7477e1  gcc/go/lang-specs.h
-19bb584cdf03bcaff756a348009dc70e  gcc/go/lang.opt
-62efda50f211afb68061f8063e845a29  gcc/godump.c
+24b23fb5b01f679e28d697d10f5a72f6  gcc/go/lang.opt
+6e82fee00ac7055e0f0cd61385c38745  gcc/godump.c
 24db026e16174f047354bd49a5e484de  gcc/graph.c
 abc3375f56df3dcfdfe30ff04766033e  gcc/graph.h
 5fac5c6cc10cd713d8ab6fc9a519779b  gcc/graphds.c
@@ -4472,7 +4483,7 @@ bfe3619960041028cee548a4b25465d0  gcc/graphds.h
 d722c7137470569dab7e905f819f9a18  gcc/graphite-cloog-compat.h
 4191e04b17063fd15303cb1d4ea556e6  gcc/graphite-cloog-util.c
 44ce46e6134d704b71e17cd533120e4d  gcc/graphite-cloog-util.h
-a904d88eb81f73ae782171e389145c90  gcc/graphite-dependences.c
+228090bef51c0eeffe9197cb2b0a2b3c  gcc/graphite-dependences.c
 71f155f12b33959ba1b09fb10718e56f  gcc/graphite-dependences.h
 76f7af7f343c7c1b4862e72a99bf41a6  gcc/graphite-flattening.c
 8127ac2890001feb7a5442da8adbf630  gcc/graphite-interchange.c
@@ -4490,7 +4501,7 @@ ed0cfe5d4ebd68ee2d9cae374f976aa0  gcc/gstab.h
 6dd506c03db714357bc886e37f9fcaf9  gcc/gsyms.h
 c32a1d882e7039afe158bb9e59b65223  gcc/gsyslimits.h
 cc5429cb0d7cdb040e636883a80fb2b3  gcc/gtm-builtins.def
-f5ef48c49445b8e095eb355b1c76ab8f  gcc/haifa-sched.c
+d013cc7a3508ac227b64c68dacbed318  gcc/haifa-sched.c
 28960bacaa5336495e0fdb174b79f007  gcc/hard-reg-set.h
 cbc95a511540f0ae143058f4c2f188d7  gcc/highlev-plugin-common.h
 fccb176146fe0eafa1a37051e88cd55d  gcc/hooks.c
@@ -4502,8 +4513,8 @@ afeac1a18941ee67ec51479e791a842a  gcc/hw-doloop.c
 e48a118d78cea0bf1540cc084a2a0f36  gcc/hw-doloop.h
 75a83072c8ae0122fefc097f5a17f824  gcc/hwint.c
 721d533d4a1c5fa1947e2f8b7d84b6e0  gcc/hwint.h
-6b2d4d1dc4b4aa27b0e0947fcd04f951  gcc/ifcvt.c
-9c4e80b74d5cc1c70cf0ee21c027fe0a  gcc/incpath.c
+b1e08c9721adde96b4afbaae30f5a79e  gcc/ifcvt.c
+29bf163ac8078224e92058e25b9712ef  gcc/incpath.c
 103e62dfb5a9bd1bd263bf9fb90645b5  gcc/incpath.h
 9700f61c376e7defc904120d8372fdd7  gcc/init-regs.c
 e09554cd12b65a1a7878a0349ef9a388  gcc/input.c
@@ -4519,7 +4530,7 @@ a00e5299f2012b33a3f021760c0d1fdc  gcc/internal-fn.def
 7c97b2ae48706809ea6c5d02fe74db76  gcc/intl.h
 3e04d6cf4e3609d4cd82581ae422bf35  gcc/ipa-cp.c
 e650ccf6c3546386a33be9fa55f96168  gcc/ipa-inline-analysis.c
-b567d280eeade8296098ed2215791e56  gcc/ipa-inline-transform.c
+7805a96fd07fcc2e7bbe1a81540283c8  gcc/ipa-inline-transform.c
 fe9761a30608b616eef769823f2b1298  gcc/ipa-inline.c
 2b20dfa394151a881cc22ea798ef5ea1  gcc/ipa-inline.h
 03f650910accd754aa65a9569cf04e9b  gcc/ipa-prop.c
@@ -4533,17 +4544,17 @@ d23135f6347926900ccb8c5ac034f167  gcc/ipa-ref.h
 bae5e3ae202da88053d1df913273dd8a  gcc/ipa-split.c
 3e86665807d5edd4aa4f10ced632ed61  gcc/ipa-utils.c
 8edb5e01721b752b36f93fe50a9a15f1  gcc/ipa-utils.h
-bb41397bbb33c17a3e79f72a8dc66f93  gcc/ipa.c
+b81978d9a3ea77917b9b8f8808e73a35  gcc/ipa.c
 bb5f967fec0b6b4fbe9d62fd51be120d  gcc/ira-build.c
 3b778c301e8e8741e43849099847499e  gcc/ira-color.c
 4383064235b3370324ace0265824e682  gcc/ira-conflicts.c
 e9fc71608c66a020bc5065751834345e  gcc/ira-costs.c
 f40382429f977edccd08812a87dc118e  gcc/ira-emit.c
-372dc2fa1b95c7dfe785f4b1145e112e  gcc/ira-int.h
+54349a481c147239e827997ad23e2be7  gcc/ira-int.h
 4bfb54c69e738752f2b00a1cb96da798  gcc/ira-lives.c
 f7b888c81c6757427dc94ff4bb913027  gcc/ira.c
 0c03a79a3d24fe716b5d18971b84ae94  gcc/ira.h
-89c13769a68919105696073d032beb6d  gcc/java/ChangeLog
+bd824ddbf9ef7b59ae57238a92e8b59d  gcc/java/ChangeLog
 3becfaac793f49e1f52cd74e78172b48  gcc/java/ChangeLog.ptr
 32ebed5cdcf7881894c85752621f10b5  gcc/java/ChangeLog.tree-ssa
 394f326af882bb222d9663363dc8c1d5  gcc/java/Make-lang.in
@@ -4587,9 +4598,9 @@ c0cdd780647138a23d217f53399279eb  gcc/java/verify.h
 8ff27bcca6d23ee9aab952e79cab4fbe  gcc/java/zextract.c
 0a4520179cff24a4aea36082c6b33442  gcc/java/zipfile.h
 837898d75e710f8338c93226a4bf0e14  gcc/jump.c
-ebcb92cf45726577f2d46fa1d6724ada  gcc/langhooks-def.h
+ae8b07c6c7c62008d08e17c1a0cc24b3  gcc/langhooks-def.h
 f306c6491a96f95d8f5456ddd38523c8  gcc/langhooks.c
-c450d4951fd22b45f50c27277d68a5e0  gcc/langhooks.h
+8740d843d5385fa4b4f3b27d2aa29fda  gcc/langhooks.h
 e31e543c339095249c54bfa778688af6  gcc/lcm.c
 2a2147a9b6e50b584da4c1ff098d2b5d  gcc/libfuncs.h
 62f17d7ec18d21fc1785a3b2556d7de9  gcc/limitx.h
@@ -4598,14 +4609,14 @@ e31e543c339095249c54bfa778688af6  gcc/lcm.c
 50506490f1b930d3728aa37277e38fae  gcc/loop-doloop.c
 8d35d3b71d2b26c1accc7aa2277ac3f1  gcc/loop-init.c
 2aa1073697b06a446868cad2ddf70114  gcc/loop-invariant.c
-a8129bfddafb34f2127161a0217bc04e  gcc/loop-iv.c
+25541c445d6cfd0384cbe61ef1567e61  gcc/loop-iv.c
 d6325e17bb7c991eb20f710406f9b9c4  gcc/loop-unroll.c
 7837e15f453f1aa47d4128b631dc1a4e  gcc/loop-unswitch.c
 17e65498be6c7e28f250a133c3679152  gcc/lower-subreg.c
 516e0bf9ffd2afe94e10d6c14f965752  gcc/lto-cgraph.c
 d99bfb2e4a96374b3691792018360d35  gcc/lto-compress.c
 59a05eb75c837c5411ca81b5dc06c84a  gcc/lto-compress.h
-c51d51c424c32462b29507e1ce826f9d  gcc/lto-opts.c
+b1855f0786eb0e19ef4c408cc4c7abfa  gcc/lto-opts.c
 8f9bbce588e69d7ce5a9dc8d3d3b367c  gcc/lto-section-in.c
 95be410175a493bbdc176baa10d4f90d  gcc/lto-section-out.c
 bc4ad0401ac0ba0e680a4db1b6e722ec  gcc/lto-streamer-in.c
@@ -4613,8 +4624,8 @@ bc4ad0401ac0ba0e680a4db1b6e722ec  gcc/lto-streamer-in.c
 931a6ffd20b3ba9ee8d7599a2ec97747  gcc/lto-streamer.c
 b0d7c571ccd020b9e3f647eac0ff6e99  gcc/lto-streamer.h
 5da77a6966dabb90acc5132736d74022  gcc/lto-symtab.c
-190335cb466c40dc3010a7684b205e41  gcc/lto-wrapper.c
-fd74c52c20321232d4d797380ec09847  gcc/lto/ChangeLog
+10c8f0cab15150853818cb334e9e4ad8  gcc/lto-wrapper.c
+d238351cc0f901201279d7919c46c3e9  gcc/lto/ChangeLog
 56b26f3c44943a7603b7a27a18f7d004  gcc/lto/Make-lang.in
 6e14ecfada02760ef348d20107edc908  gcc/lto/common.c
 094b93864c0f27f2d50fe81172933d4f  gcc/lto/common.h
@@ -4624,7 +4635,7 @@ e79a8289c2f339f907ab36026e71099d  gcc/lto/lang.opt
 4abda86bbe9c1a56bcc41be688c0c965  gcc/lto/lto-lang.c
 e874006441251911f101ab5b8a215a36  gcc/lto/lto-object.c
 3a81c00120db4eff4ec9e6ea097a36c0  gcc/lto/lto-tree.h
-6e1453a374d3ee88c7902f3c7ba32be2  gcc/lto/lto.c
+7ed83e0b893b7d38d16a56864d55bc1f  gcc/lto/lto.c
 1dfdedb377e2ff81e6a0913812646751  gcc/lto/lto.h
 b749a14a372e086752e053a2a1efe28f  gcc/machmode.def
 68b5e3fa8d998d1e7326be4dfaf02b3b  gcc/machmode.h
@@ -4637,7 +4648,7 @@ d79df9e1caf58335bab675e9bf82b0c5  gcc/mips-tdump.c
 2569a0ab9b2c9f2c2b8e980aee6fbbe3  gcc/mode-classes.def
 e506d103ca497d298c8dd5c5610fe4ea  gcc/mode-switching.c
 8947509f901796633fb74498eb521da0  gcc/modulo-sched.c
-501bc8ccc974f1e2ea7beb678efc38f3  gcc/objc/ChangeLog
+cc936b807fbec240a2a5797eaac44fe7  gcc/objc/ChangeLog
 436ad493581c41f8e4cc76a148dd32e0  gcc/objc/Make-lang.in
 da45b23fbd1e8363b91c55b77441dd08  gcc/objc/config-lang.in
 0097a3df91b144aae7c5cdce502e2964  gcc/objc/lang-specs.h
@@ -4656,7 +4667,7 @@ c21b78d92750bd0cf77e24d917b432aa  gcc/objc/objc-next-runtime-abi-01.c
 ee8a09e553d652170ee422b9efe808f2  gcc/objc/objc-runtime-shared-support.c
 21ad5b0852d5d769f7c5ffc32f5ebab8  gcc/objc/objc-runtime-shared-support.h
 2ba7d060c0828ada5d0106ae3e71b7e9  gcc/objc/objc-tree.def
-8de1a2df615c4e5be0fa42881434a452  gcc/objcp/ChangeLog
+41aff60608ff7a55904d7f265ff179c1  gcc/objcp/ChangeLog
 e3076f47f86f2600549b06fd4bad6860  gcc/objcp/Make-lang.in
 f50cc8cd3f754c025a21d8610532afdd  gcc/objcp/config-lang.in
 12b71fbafaa2d4d0f413d60abd7b80c8  gcc/objcp/lang-specs.h
@@ -4666,12 +4677,12 @@ f50cc8cd3f754c025a21d8610532afdd  gcc/objcp/config-lang.in
 61216b2e6ce4c38fd06abb1afe5dab31  gcc/omega.c
 df3c8a46ec9181c0c65e2b3e953dd1e2  gcc/omega.h
 b4617349a49641c8ae9da5b94a6c49d9  gcc/omp-builtins.def
-0776bf97901348296979d52adec4dde4  gcc/omp-low.c
+0eb9d805c3828472fc94137ef731843b  gcc/omp-low.c
 d43babbf2865e3dcb835507d3e6d35f1  gcc/opt-functions.awk
 ecb17bb0f21652aff510a738b9235bbf  gcc/opt-gather.awk
 4f41ce38476ec14bc6f2aa2b81241b2e  gcc/opt-include.awk
 3d010ced67e4be45a93d50038f6bee33  gcc/opt-read.awk
-9472f97d46e177b2d5815ed163e38469  gcc/optabs.c
+100d19768f235e1181fdbda488e915a3  gcc/optabs.c
 52d16adf03335ee4fafb1b3c10055b50  gcc/optabs.h
 e75848ca066c73c8737386188915b055  gcc/optc-gen.awk
 b5cb0bb31450b4d5944c5c6cf13d5139  gcc/optc-save-gen.awk
@@ -4689,59 +4700,59 @@ d4fd5db6ffa51b594592b4aee12a8ce0  gcc/passes.c
 276dab36c8a8c0d629e819d7e679ca7a  gcc/plugin.c
 5d2b4c53783879fbf2517aa21103c11f  gcc/plugin.def
 556fd102f801561a9b39d1f8b3442096  gcc/plugin.h
-90709e04962417c7cf1d21f54434a55d  gcc/po/ChangeLog
+34abb175710e9e23635eb6729c946c25  gcc/po/ChangeLog
 c18cccb16a6bd9d20e5c1cc80a1411e8  gcc/po/EXCLUDES
-d39d6dc7959bf71a09e8e1df5aad4d3a  gcc/po/be.gmo
-e76a4d7494b5cca0e468b587364b4f79  gcc/po/be.po
-f779c93130af75271f33c7ff80f72e36  gcc/po/da.gmo
-834b5aeab9a1cb0e7f137bfc36bfca75  gcc/po/da.po
-c5c72f01d71b975de23d6f5226626553  gcc/po/de.gmo
-400ff89a109327a2f1bccda21f67d25d  gcc/po/de.po
-3dae723278bbac5fa3bd260e69590678  gcc/po/el.gmo
-b3f766602751743dfc1c157af76fc712  gcc/po/el.po
-a890e03c20c82b053c8125d147e3c7cf  gcc/po/es.gmo
-a339e23169b951b8d3d3b72073cbcb41  gcc/po/es.po
+606bb6f798de9817ddeb3d25fa70ef4d  gcc/po/be.gmo
+a9a4a16cd4c593709cd04092b7dbab42  gcc/po/be.po
+b891d03b2112c5bdb19f03121a97cf2f  gcc/po/da.gmo
+7803d80c7b0dfd4c506dcf3c10d7e343  gcc/po/da.po
+4fd7907ed132d9f353972ba89dd97d06  gcc/po/de.gmo
+fcaa204657b7351d21832634975c5e5f  gcc/po/de.po
+cf164efda9defa9e2a0984ef3b68bac8  gcc/po/el.gmo
+09d7422988b8c91148f1fbae98083c80  gcc/po/el.po
+6d7db079ff4b6057ce0b7ad7bd2eb25c  gcc/po/es.gmo
+74c3620ea57227b35d593a611e8b516d  gcc/po/es.po
 93276b2bb0f2b7c1ff59ab81f512400a  gcc/po/exgettext
-5891041687524ac7e35377b8e46a1d84  gcc/po/fi.gmo
-730e858475a2ba69b4604cdbbd07b504  gcc/po/fi.po
-bd86e3829c58677846a9f816558c1b09  gcc/po/fr.gmo
-c31554d9ccd89c08fbcc0395b84f9b79  gcc/po/fr.po
+2f2b968fc4c9726dfe1335b745a09195  gcc/po/fi.gmo
+ac9c912c3c3e7d15b8b08dde4c6b1641  gcc/po/fi.po
+6799799976f3addf8c5bc5e651777031  gcc/po/fr.gmo
+4a5c8eb2569debd0c0f52a0b4f5f79d8  gcc/po/fr.po
 ef0ce78f9e44522c56937d070706df8f  gcc/po/gcc.pot
-a8cb7f77f5fe4f271fbfc1dd61aa8bd5  gcc/po/hr.gmo
-4e651d1ff38fd13485e37dff944d37ea  gcc/po/hr.po
-c283482df8e67631431c53a92c1d5be6  gcc/po/id.gmo
-5c5bd20b36fbc2266ca6a49c6c405e11  gcc/po/id.po
-e07e30fe5d8cb80c0ed5fb848ed99fde  gcc/po/ja.gmo
-c3e582430e19f0fda0a475c2c0418f2c  gcc/po/ja.po
-be2cdf4aff28b2d90e461777856f54d0  gcc/po/nl.gmo
-b08588fa323e5e3b128188e9508db118  gcc/po/nl.po
-b9445e7ec4f89975d0c8f6d35a3fbb28  gcc/po/ru.gmo
-2b370c8fe95a07950dc15fc718af6245  gcc/po/ru.po
-0e1accfb3cba188c68a6e95919a6fd4d  gcc/po/sr.gmo
-30a19935c79e88115af561bc833eb986  gcc/po/sr.po
-9759406150dff37bf01f88c906ef5f68  gcc/po/sv.gmo
-095e834f64df2b65dc74577c16b41eb3  gcc/po/sv.po
-dd25933ef6ab81ae4be6aac7519ac44c  gcc/po/tr.gmo
-4ad5de8fa8d6627267dd5609da384104  gcc/po/tr.po
-98f582ca4c305b6753d290b2855d015b  gcc/po/vi.gmo
-803ba8d5a62ac23a7d4b7cae5fc8c19b  gcc/po/vi.po
-19fc97fb046ad860faef9324c4cf029c  gcc/po/zh_CN.gmo
-90fecf363e66416689054712619fab26  gcc/po/zh_CN.po
-e4d3d89c5bc5fd9f0ec8e989e1ab5843  gcc/po/zh_TW.gmo
-d9fb418aa6380b122d136577b7f5d54e  gcc/po/zh_TW.po
-fbd6686d270966521ff0800350352290  gcc/pointer-set.c
+8f8f0d4c7f0fe31c2418e6c2af4e27a0  gcc/po/hr.gmo
+a0cde17658c927ce7d97c2dd6cffbd07  gcc/po/hr.po
+e1ca967933748e6a1ae14f77ea200e85  gcc/po/id.gmo
+490141fd9450adb2dda035eba48a9086  gcc/po/id.po
+ba17303750ef66940beaaa843c545d71  gcc/po/ja.gmo
+5365fdb9d575be4bcafdcaa9437572f7  gcc/po/ja.po
+71ee08b587ab3d2541fe46abfccf47a9  gcc/po/nl.gmo
+2adc2e43a0e09889617aff0d29986d64  gcc/po/nl.po
+74707a2a0b83417f55a946d79d7e13f1  gcc/po/ru.gmo
+cb0a2d9a9ceac8a854acb0997c05ab06  gcc/po/ru.po
+884be4ca547f2631c8d03fa0d24adefc  gcc/po/sr.gmo
+dcc9a08480c6f2b06ab605c5bdd157dc  gcc/po/sr.po
+4c53c2479deb90b3fbbda6a18c9b97ad  gcc/po/sv.gmo
+65451f9412dfb8a3defe63f86610be85  gcc/po/sv.po
+0cd441b9b5dee2367d8e1c62d8030b79  gcc/po/tr.gmo
+847497f8015e9e23cda9373501047866  gcc/po/tr.po
+bc5029dbd72012133ca542c6a03be5aa  gcc/po/vi.gmo
+eb7d92af46ff7732cbbae21ef42de864  gcc/po/vi.po
+801e2153a8be89196eefdd394a3beff8  gcc/po/zh_CN.gmo
+fb62935bb62bf7f41f023f65bb19e5c4  gcc/po/zh_CN.po
+c180df3737246433849b5e0a2f7f0975  gcc/po/zh_TW.gmo
+911865bf136bf403084dc1ea507442d6  gcc/po/zh_TW.po
+65079caca6db3c5056547197edbea48b  gcc/pointer-set.c
 a51eb8951c7700a5cd773501a341d8b0  gcc/pointer-set.h
 b772f9d6714d8bd7d1ccc0dfc3e9a4e2  gcc/postreload-gcse.c
 297922b702baaea86d4775aee0040819  gcc/postreload.c
 0ff850c431de9de702150e3f50991dbc  gcc/predict.c
 04093d15115503814434ff2c65412e15  gcc/predict.def
 3df18a48ab17532aa6b847ced633be98  gcc/predict.h
-a66deb88f1d38851951f2633f64ce79b  gcc/prefix.c
+807554bb8b92439008e4a56e3c175429  gcc/prefix.c
 94d146c56ef2e4148e20aaa6dcb04ae8  gcc/prefix.h
 54ab8f5cb3204302ac0d1a58eaab8415  gcc/pretty-print.c
 ae5aff997a42cf6eae85ad657cebdee0  gcc/pretty-print.h
 acf0b2bb5500d1c66c16c87685c60d4e  gcc/print-rtl.c
-af74be947dc54a24c8848dd59196eb8d  gcc/print-tree.c
+55a15fae27b23ff8c1ea6a80732abb5d  gcc/print-tree.c
 37b6785416dc5c5d84dffa73c769e948  gcc/profile.c
 68cf9a4ec05558f90c06d858679bf5e0  gcc/profile.h
 63e0892c01a9ba11ec89a53ed088228b  gcc/read-md.c
@@ -4789,13 +4800,13 @@ b1aff40c7513ce576f44ce91d03aa951  gcc/sched-int.h
 2bf1c375dc117d4f9b701a7aee5fd59c  gcc/sdbout.h
 5533dd58d4c86f056496518954280835  gcc/sel-sched-dump.c
 b17848d6a564d823646673d5a9d60651  gcc/sel-sched-dump.h
-71ab958e0136655e1780bb83056c24c9  gcc/sel-sched-ir.c
+dadd4542ec08d8037dfd862b691c92e7  gcc/sel-sched-ir.c
 dd36d975e8030cb9f833a643ce229098  gcc/sel-sched-ir.h
-a8b070c399653a15d64295a3633d437e  gcc/sel-sched.c
+e8c6184fc870ac089256e85395e77548  gcc/sel-sched.c
 32c2071cc9705b499f5917935cacd83f  gcc/sel-sched.h
 ccb65a11bfd2ad61af7bc0338bf40f70  gcc/sese.c
 869b55fc2d1ef0fce8f3037da52223c9  gcc/sese.h
-1aa91cb6fc868530c589c1426d66d2f0  gcc/simplify-rtx.c
+f8919a978ec24c4a0c92705536c5fdd2  gcc/simplify-rtx.c
 9d9ec4d8cc5360d6be1d37ebc30ef605  gcc/sparseset.c
 d401fe3058db6b68c515e587a196e323  gcc/sparseset.h
 d2c3b7023d5f7846966a413e13012642  gcc/sreal.c
@@ -4821,7 +4832,7 @@ c5a0ec898fbd3d6ecc86f1f872834cb6  gcc/target-hooks-macros.h
 508c9318dbb03c5717f94defd985fae9  gcc/target.h
 218240e84eca2c2dff5d2c50591592fa  gcc/targhooks.c
 c13c1b5a443063c21de9ad3d83cc9280  gcc/targhooks.h
-97bd40f8ab31ddb2adb57a27900291ee  gcc/testsuite/ChangeLog
+fc09e418ea393d50eda9e4a657e745b3  gcc/testsuite/ChangeLog
 bf09a3a4b2844c1427e18133bf8c4848  gcc/testsuite/ChangeLog-1993-2007
 0cfd18f5e11308d47955263801f31753  gcc/testsuite/ChangeLog-2008
 60d3faaef4bf51b170759743d2081977  gcc/testsuite/ChangeLog-2009
@@ -7574,6 +7585,7 @@ d4e3dc1aa87409198ff78d00e3448b7a  gcc/testsuite/c-c++-common/int128-2.c
 de3dd2daeb344b4e1fbcc4551d6441bc  gcc/testsuite/c-c++-common/int128-types-1.c
 37a20253a6b6ae34269390b00efedddf  gcc/testsuite/c-c++-common/pr20000.c
 b26d0787722b770e1bedb29da6ca65db  gcc/testsuite/c-c++-common/pr33193.c
+19a0263d13d2e33c9a7e8aeaa26cf684  gcc/testsuite/c-c++-common/pr33763.c
 b44f1a2b8f8186510fb3c16515aa210b  gcc/testsuite/c-c++-common/pr36513-2.c
 b7b47baf0eefc44ea18b3fd4f3ec1f7a  gcc/testsuite/c-c++-common/pr36513.c
 7a382f5e750b25abc9c999fb1a112aaf  gcc/testsuite/c-c++-common/pr41779.c
@@ -7588,6 +7600,7 @@ aadf03d86632dc2c5d8b990a20395ac4  gcc/testsuite/c-c++-common/pr44832.c
 19c5c8c6c4a09bd9d296a28e8078a301  gcc/testsuite/c-c++-common/pr52177.c
 e9ab7e8194d7254751245044f83dc8be  gcc/testsuite/c-c++-common/pr52181.c
 04183fac85291f4cd3c088092dba075c  gcc/testsuite/c-c++-common/pr54486.c
+6012f2d96fa48601b12db2a55f910316  gcc/testsuite/c-c++-common/pr54988.c
 b0ba836310044e7b419ef679f0b48d6f  gcc/testsuite/c-c++-common/raw-string-1.c
 554e7071d2525351de28445762633866  gcc/testsuite/c-c++-common/raw-string-10.c
 1183cc89c3223291d7813cf8d78ef4d6  gcc/testsuite/c-c++-common/raw-string-11.c
@@ -7663,6 +7676,7 @@ d01ecc4dce674b282eb2bb81f9e5ca0b  gcc/testsuite/config/default.exp
 e530347ad81371c3d469f2a1d1245735  gcc/testsuite/g++.dg/20090121-1.C
 348e4065febc4386a8dfdf2006ba26fa  gcc/testsuite/g++.dg/README
 c7c251f16058a4d4f1db8e0df28385ff  gcc/testsuite/g++.dg/abi/align1.C
+73057836297242b12d6b3c97ce7c525a  gcc/testsuite/g++.dg/abi/anon1.C
 770a1857da6a05380e26eabb7f0ecb92  gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
 cb4ad686f7564a8666256212398d911d  gcc/testsuite/g++.dg/abi/arm_cxa_vec2.C
 1f9e050ee7f8c952e5a9e739fdf898c6  gcc/testsuite/g++.dg/abi/arm_rtti1.C
@@ -7777,6 +7791,7 @@ ab876e48babd04649a5a955f1a3df61c  gcc/testsuite/g++.dg/abi/mangle56.C
 6aba6a8dbfcadb36b7b73576034e12e5  gcc/testsuite/g++.dg/abi/mangle59.C
 91c28df1b9796be812f1b833d650c6b1  gcc/testsuite/g++.dg/abi/mangle6.C
 ec63081e18506c793d02c80cc21c1a2a  gcc/testsuite/g++.dg/abi/mangle60.C
+66684a770eb87b4824cb6e758ae0f0ca  gcc/testsuite/g++.dg/abi/mangle61.C
 3ca84e7c044b9a2c08f1b773db1d5f4f  gcc/testsuite/g++.dg/abi/mangle7.C
 cc6afae4c242d6e5a9083cec1a9a9907  gcc/testsuite/g++.dg/abi/mangle8.C
 7e14b0353ae53e5a5a8bcf850c4fcbc9  gcc/testsuite/g++.dg/abi/mangle9.C
@@ -8084,6 +8099,7 @@ afbc0134edd12ca732047137c8645ff8  gcc/testsuite/g++.dg/cpp0x/alias-decl-14.C
 66b19192b9b57f5a26c4267ba1e1347b  gcc/testsuite/g++.dg/cpp0x/alias-decl-17.C
 cca5dfdbf0b8f7ed7591783e7cd099ef  gcc/testsuite/g++.dg/cpp0x/alias-decl-18.C
 c2cce297f5a269849810feab5878280c  gcc/testsuite/g++.dg/cpp0x/alias-decl-2.C
+d218f3158a292f48d6a78aa6b69aaf9b  gcc/testsuite/g++.dg/cpp0x/alias-decl-20.C
 c3b89826108eb56883340250f944b44c  gcc/testsuite/g++.dg/cpp0x/alias-decl-3.C
 59c96509b9564cc1faff3739baa87da7  gcc/testsuite/g++.dg/cpp0x/alias-decl-4.C
 0d73b2e329c0d6e43b1f9a3230a989dc  gcc/testsuite/g++.dg/cpp0x/alias-decl-5.C
@@ -8176,6 +8192,8 @@ d2cffceebc61a6331480d06b92637573  gcc/testsuite/g++.dg/cpp0x/constexpr-condition
 d0ad42a65f6f77dc80caef0d6d27924c  gcc/testsuite/g++.dg/cpp0x/constexpr-condition2.C
 d0cf4047a18cf95475f57cf96be3f551  gcc/testsuite/g++.dg/cpp0x/constexpr-const1.C
 8275bc8428329263df1be2cfecbfd456  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C
+2bc6cc40e749479137a924cb9cf548f2  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C
+1b2f8bb122b2c0e5f8588295b92735df  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C
 8ebcf2664e60d97bd74533e4495efbe3  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor2.C
 2921954a73d5c5721b085869dcf5b5f2  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor3.C
 1678beb65694065113fefd3e3c7c578f  gcc/testsuite/g++.dg/cpp0x/constexpr-ctor4.C
@@ -8233,6 +8251,7 @@ ea3c6576bcd620ade48ff17e16e78733  gcc/testsuite/g++.dg/cpp0x/constexpr-initlist.
 a96736112de707d2aac1b4ff7be2b8fe  gcc/testsuite/g++.dg/cpp0x/constexpr-initlist3.C
 208ceee8c7fb96ba26d76c1504202fc3  gcc/testsuite/g++.dg/cpp0x/constexpr-initlist4.C
 99d19a6dfa53edad50b94137fec10343  gcc/testsuite/g++.dg/cpp0x/constexpr-initlist5.C
+0459b8a64c5505a649c50d5dfde64b20  gcc/testsuite/g++.dg/cpp0x/constexpr-initlist6.C
 9c2cc881af9feef664fbfc1573f2a246  gcc/testsuite/g++.dg/cpp0x/constexpr-is_literal.C
 34c3af53313dddf0c2446a5041f5eea7  gcc/testsuite/g++.dg/cpp0x/constexpr-memfn1.C
 d1cabbaaafd13cb36a1d99e56fb30ddc  gcc/testsuite/g++.dg/cpp0x/constexpr-missing.C
@@ -8265,6 +8284,7 @@ eda4b62c9724e8778fe6183ee0352351  gcc/testsuite/g++.dg/cpp0x/constexpr-ptrmem.C
 de1b4b7af6ab721083fcc780f34b25b8  gcc/testsuite/g++.dg/cpp0x/constexpr-ref1.C
 221a000512ef7f4de6b2e973ce64fdc5  gcc/testsuite/g++.dg/cpp0x/constexpr-ref2.C
 53b6baee1f68ced654a5572129b21aaf  gcc/testsuite/g++.dg/cpp0x/constexpr-ref3.C
+052c3cad5b2d8c322cb35b42ba827a1a  gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C
 8032a8127e154097474bf4a4042fb4cc  gcc/testsuite/g++.dg/cpp0x/constexpr-rom.C
 1332b0b5b1d7639114fcedc32895dc58  gcc/testsuite/g++.dg/cpp0x/constexpr-sassert.C
 f28bf1ad973f2d63cf8d6c321e646970  gcc/testsuite/g++.dg/cpp0x/constexpr-static.C
@@ -8301,6 +8321,7 @@ a930284b1953ab77dcbc0ec94543b57b  gcc/testsuite/g++.dg/cpp0x/constexpr-value3.C
 4138d75ee330a5d2fd3099d8f561e59b  gcc/testsuite/g++.dg/cpp0x/constexpr-virtual.C
 74b6dc368af3203141184d90425c0b43  gcc/testsuite/g++.dg/cpp0x/constexpr-virtual2.C
 44969c53d3baefced39237dffe84c4e6  gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C
+bc39eef7475a0c5faba6415653b35595  gcc/testsuite/g++.dg/cpp0x/constexpr-virtual4.C
 51fdd051ce3db4219c5d1b41106cb6ed  gcc/testsuite/g++.dg/cpp0x/constexpr-wstring1.C
 ce4462d64022a2d110788148b8612b31  gcc/testsuite/g++.dg/cpp0x/constexpr-wstring2.C
 4ff67300939cebd756cacf6527987e2d  gcc/testsuite/g++.dg/cpp0x/dc1.C
@@ -8347,6 +8368,7 @@ ff80e8b3673109dfd5517500442ce21c  gcc/testsuite/g++.dg/cpp0x/decltype35.C
 3869d95e391dba45b73631274c1ea985  gcc/testsuite/g++.dg/cpp0x/decltype37.C
 a3ba35bd21a746eed5c781d96b7ac1b4  gcc/testsuite/g++.dg/cpp0x/decltype38.C
 279dfeb78dc189adeb256c12c0eb074e  gcc/testsuite/g++.dg/cpp0x/decltype4.C
+12b18d36a7f73c1419f238954db91a8d  gcc/testsuite/g++.dg/cpp0x/decltype48.C
 386eaa55c3c1d627d49e5f9e7adec123  gcc/testsuite/g++.dg/cpp0x/decltype5.C
 5e830daa5bfe8780960733c15cef7f74  gcc/testsuite/g++.dg/cpp0x/decltype6.C
 c3626f3b26fbb53bd234a4e39649b63f  gcc/testsuite/g++.dg/cpp0x/decltype7.C
@@ -8436,6 +8458,7 @@ df498e0efc0a2951008f5bfc084b5d8f  gcc/testsuite/g++.dg/cpp0x/extern_template-1.C
 a90d02344ce471556a85a9970c53f219  gcc/testsuite/g++.dg/cpp0x/extern_template-3.C
 8a5d5735f0b812bc9599db4a25b80ac5  gcc/testsuite/g++.dg/cpp0x/fntmpdefarg1.C
 7252622510976aa92f8dad7c1691be9e  gcc/testsuite/g++.dg/cpp0x/fntmpdefarg2.C
+890e3674c588eb6b42cac69ae8a5469e  gcc/testsuite/g++.dg/cpp0x/fntmpdefarg4.C
 04ce4364f7feeb38f930fd446dd14073  gcc/testsuite/g++.dg/cpp0x/forw_enum1.C
 5992ce1736adb2c4476912ff66f3f53e  gcc/testsuite/g++.dg/cpp0x/forw_enum10.C
 ee09a124820231fdb2182f9f8c5c412d  gcc/testsuite/g++.dg/cpp0x/forw_enum11.C
@@ -8470,10 +8493,13 @@ be547c72c829a568aff73dbc2f9fe7ad  gcc/testsuite/g++.dg/cpp0x/implicit8.C
 1d4723786bc4824bfdb686adaa35bf97  gcc/testsuite/g++.dg/cpp0x/initlist-arrray1.C
 51d6c3fa113ac763c428eee5a0bf2012  gcc/testsuite/g++.dg/cpp0x/initlist-ctor1.C
 eb7003ab085ff5ecbf9912f541699de6  gcc/testsuite/g++.dg/cpp0x/initlist-deduce.C
+164cef62ad37c1cf80ca6128f56094b2  gcc/testsuite/g++.dg/cpp0x/initlist-defarg1.C
 46b30a8dd80db36012da48c97c35a7ee  gcc/testsuite/g++.dg/cpp0x/initlist-lifetime1.C
 5b515ec778a6b491ece4a18fc6d719f7  gcc/testsuite/g++.dg/cpp0x/initlist-lifetime2.C
 29031937edb9fe42899c654f3187743d  gcc/testsuite/g++.dg/cpp0x/initlist-opt.C
 e8f2e453437a576f2ad42989fb420023  gcc/testsuite/g++.dg/cpp0x/initlist-postfix-open-square.C
+986e664bfb5049f5e5ae67cea915476e  gcc/testsuite/g++.dg/cpp0x/initlist-protected.C
+687792e0b9785a6bb3943753616533d4  gcc/testsuite/g++.dg/cpp0x/initlist-pure.C
 3379e3a179c2e4027dde434bb897ead0  gcc/testsuite/g++.dg/cpp0x/initlist-value.C
 96c9d6afe9a74599d1eefe4a8c8690b5  gcc/testsuite/g++.dg/cpp0x/initlist-value2.C
 92f9edf7e87f0820e6cef61451c12789  gcc/testsuite/g++.dg/cpp0x/initlist1.C
@@ -8556,11 +8582,14 @@ e2a083691b1566f137dbcda5f4010917  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-captu
 54a6709d8b18aeed6f5af2f5c5e5ddda  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-redundancy.C
 0a68dd13e614fbf045182246e71a882b  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
 10a07890295f88529ef6d9d5c0733160  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
+36e43fe3d11202e8be69861433c0de43  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C
 4597babb4f0ac0bfbeb695817891b020  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv.C
 d5bb4104e95c8d52ddef0bc24c6d6c71  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv2.C
 74374338d46ee8c68c3cf296fa0df579  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv3.C
 58edd027a4be4906904e2331d027b5c8  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C
 73178fdf66f50afb009644ba74956729  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C
+0667d21bc77dae37a2f498706d80e98a  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv6.C
+4dd7ebd501a1680b3f8462ca0c41896c  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv7.C
 eb6ad09e63a403c2d1214b2f57e10b0f  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-default-neg.C
 10e498fb9d230dd2843c7f8eb3be8ad3  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-default.C
 8484c1d108792ca45278c563b7ee4ce4  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-copy-neg.C
@@ -8595,6 +8624,7 @@ bd76880865a60c077162e1bd568af499  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice7.
 d3c0241a3af8693d76df3d5ff0d98ea5  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C
 8d2b28fcf373d04388bf30186708d379  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-init.C
 38b545800542503d9c6033b1c99c4898  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-initlist1.C
+38af739ec8484d8653e54faa96cb5096  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-initlist2.C
 9914379697936570b4ff15460f76ac01  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-lookup-neg.C
 558c31d302dbde20ef0062655103ef9f  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle.C
 e79c4415eb67d592185440eb9b8fda50  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle2.C
@@ -8623,10 +8653,15 @@ d1a7c959843584d547aca49d43a2a371  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-templ
 e099bfa2ff82527ea9b86eaaab9acb43  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template4.C
 cc240edecfa185c81fe9195ec050c0ef  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template5.C
 5cd7bbe09830f766176a0815ce83168c  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template6.C
+9a55bac0acdbff71a359863130dd75a9  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template9.C
 9d002f169bdb774675b31e9a34275dfb  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this.C
 6b4020e6c9caeff30b83c2777ea4181f  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C
 7ca436938d6d940290a229bc6528cb80  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this3.C
 f05f6091e72f7de7acb06537c63c94df  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this4.C
+0e50c6ba338476b8f6a0391b12b05179  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this6.C
+e013a0fec578788e6ad400a11823f0af  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this7.C
+65ec4094f1d124fffcc9f14bd3add6f5  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
+147e7a8a96d4de0dcf45268532a86f48  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this9.C
 caaefd4848f06121f583c4ee5fbfe0f5  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-type.C
 149cfef1943272807a39886c88fa25f1  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C
 84b9dbf948578dc586cf8cc0bdddc1f6  gcc/testsuite/g++.dg/cpp0x/lambda/lambda-use.C
@@ -8656,6 +8691,9 @@ ffb62e43eb65d1d46c8913f143adba04  gcc/testsuite/g++.dg/cpp0x/noexcept13.C
 a5c672bc03f870a600eeea5d5341666e  gcc/testsuite/g++.dg/cpp0x/noexcept14.C
 cf44e104afe39eaa0631ef00daa0e793  gcc/testsuite/g++.dg/cpp0x/noexcept15.C
 ae7b9d7f58a9bc802bcf7ffd5e196b3b  gcc/testsuite/g++.dg/cpp0x/noexcept16.C
+f10a73fb8e727619c647ab5fa4bfc33d  gcc/testsuite/g++.dg/cpp0x/noexcept18.C
+106c122a0f8476e054941f5467d4db3e  gcc/testsuite/g++.dg/cpp0x/noexcept19.C
+2c2ee75fa09bba00462d8640b91c498d  gcc/testsuite/g++.dg/cpp0x/noexcept20.C
 b2aeffa807ca947f2ac1ce254e43f97a  gcc/testsuite/g++.dg/cpp0x/nolinkage1.C
 6b7c91b931bbdacbbffbf9b90a79bc6a  gcc/testsuite/g++.dg/cpp0x/nolinkage1.h
 84840c32c28b1c181ccc33aecc2459a7  gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc
@@ -8699,7 +8737,7 @@ d08959fda4ce45ff554816152da0c8bc  gcc/testsuite/g++.dg/cpp0x/nullptr11.C
 46d2a39a16022d8ca69702e1b5d60561  gcc/testsuite/g++.dg/cpp0x/nullptr18.C
 ce2dfc16f110d22a5e939b229060c986  gcc/testsuite/g++.dg/cpp0x/nullptr19.C
 94afe1e15af80b216d3f892b6bc907d5  gcc/testsuite/g++.dg/cpp0x/nullptr20.C
-8f53ac3c9437341c6df7db62d3071ab3  gcc/testsuite/g++.dg/cpp0x/nullptr21.C
+95bcb928d87752cae874a63b5fff938f  gcc/testsuite/g++.dg/cpp0x/nullptr21.C
 daa3c23b4a575fedaa6fffe989bcfa97  gcc/testsuite/g++.dg/cpp0x/nullptr22.C
 c6bb4c0f3b538c300a9e10bc9d66a3d5  gcc/testsuite/g++.dg/cpp0x/nullptr23.C
 562d8b139a26b4f08ada61ba09450b5a  gcc/testsuite/g++.dg/cpp0x/nullptr24.C
@@ -8782,6 +8820,7 @@ eecc078ffe8294fd42a669a1e20d168d  gcc/testsuite/g++.dg/cpp0x/range-for19.C
 caca15a2b2f571ece3809cdff8f9d7c6  gcc/testsuite/g++.dg/cpp0x/range-for20.C
 7a5a28a73ab54a06719c8681aea0540d  gcc/testsuite/g++.dg/cpp0x/range-for21.C
 9ebe668a35ba5daba709458120b4cce4  gcc/testsuite/g++.dg/cpp0x/range-for22.C
+75c55c4514a4f778d81e382b928dc1d3  gcc/testsuite/g++.dg/cpp0x/range-for24.C
 1d67612408d08c763f0c7be2dc632bf2  gcc/testsuite/g++.dg/cpp0x/range-for3.C
 c8383e1b578f4ab5ed11fd681786cd14  gcc/testsuite/g++.dg/cpp0x/range-for4.C
 52cc0641b88ba892142f45b2e62cdf8f  gcc/testsuite/g++.dg/cpp0x/range-for5.C
@@ -8911,6 +8950,7 @@ e8d578309780ddc5af6d9210b37bb985  gcc/testsuite/g++.dg/cpp0x/template_deduction.
 d0d8f484e5d5d333ca0101b985fc1397  gcc/testsuite/g++.dg/cpp0x/trailing5.C
 0026f90fc95de5c545194c541891674a  gcc/testsuite/g++.dg/cpp0x/trailing6.C
 3d92fc594db0f6a5dc75c258d92c0835  gcc/testsuite/g++.dg/cpp0x/trailing7.C
+5bd7d763156f09225be67ac942ecf179  gcc/testsuite/g++.dg/cpp0x/trailing9.C
 afbc86b27b3b8cb6b3e9e9fba23e20e7  gcc/testsuite/g++.dg/cpp0x/trivial1.C
 0078276310c07ca205272bafb4893ff6  gcc/testsuite/g++.dg/cpp0x/udlit-addr.C
 7419243ec1c412aa9591638d30c8abc9  gcc/testsuite/g++.dg/cpp0x/udlit-args-neg.C
@@ -8979,6 +9019,7 @@ aa96644b8aeec60f1196acff72a83caa  gcc/testsuite/g++.dg/cpp0x/variadic-ex4.C
 69a34444b58e83f3dc18d0e759baf595  gcc/testsuite/g++.dg/cpp0x/variadic-ex8.C
 6669599e2ab36b110102b547028387b6  gcc/testsuite/g++.dg/cpp0x/variadic-ex9.C
 96b633228d8cfe73d3a9ceacd001e340  gcc/testsuite/g++.dg/cpp0x/variadic-explicit1.C
+0da7e7dea9fa31e0ecb2cc0bfd7f14de  gcc/testsuite/g++.dg/cpp0x/variadic-explicit2.C
 151f0547e4f12da833be0a3095748198  gcc/testsuite/g++.dg/cpp0x/variadic-function.C
 e27f5d2cf1ffacc9b03605f63974cadf  gcc/testsuite/g++.dg/cpp0x/variadic-init.C
 d27ab0ca2e970e8b526763be97fd98e7  gcc/testsuite/g++.dg/cpp0x/variadic-lambda.C
@@ -9028,6 +9069,8 @@ a236f3104477bbbc39059ee779e10fe1  gcc/testsuite/g++.dg/cpp0x/variadic124.C
 783f5b8f3855933722495d6a6f85bf18  gcc/testsuite/g++.dg/cpp0x/variadic13.C
 79ecddf7e7860cf9fd4194a0a3bdc4d5  gcc/testsuite/g++.dg/cpp0x/variadic131.C
 5e0d6d5db84504f475e1534613c59eb7  gcc/testsuite/g++.dg/cpp0x/variadic132.C
+16289b67a240f0f662766372110d6428  gcc/testsuite/g++.dg/cpp0x/variadic133.C
+70f85a4313e0ae6d4f02299251ddaaf1  gcc/testsuite/g++.dg/cpp0x/variadic134.C
 1e1fa2f2e9cc63d798ef3b07852ef7e5  gcc/testsuite/g++.dg/cpp0x/variadic14.C
 6ed2e036536de09852464be3cd9a350a  gcc/testsuite/g++.dg/cpp0x/variadic15.C
 5e1e29412f063305c242c74862e86181  gcc/testsuite/g++.dg/cpp0x/variadic16.C
@@ -9151,6 +9194,7 @@ a3ddb240ea5bf754f530e48afeaf5506  gcc/testsuite/g++.dg/cpp0x/vt-35331.C
 547e3ca9fa4d8abba50411644021e422  gcc/testsuite/g++.dg/cpp0x/vt-37737-1.C
 8dc6cc6ecca7fceb134c773bab5a0209  gcc/testsuite/g++.dg/cpp0x/vt-37737-2.C
 3ad2661187e925da0285de4a629b28b3  gcc/testsuite/g++.dg/cpp0x/vt-40092.C
+c288129c2ab09870634f7306fd8fc8ec  gcc/testsuite/g++.dg/cpp0x/vt-55542.C
 06601b6440e2686fddbd3542f963fd26  gcc/testsuite/g++.dg/cpp0x/warn_cxx0x.C
 4bd968ac675cf35ed5021d319a59242e  gcc/testsuite/g++.dg/cpp0x/warn_cxx0x2.C
 677e2b6eb878c26f856b4523d214d6b9  gcc/testsuite/g++.dg/cpp0x/warn_cxx0x3.C
@@ -9278,6 +9322,8 @@ ef8208b32c49dec3ad8e51a83a52564d  gcc/testsuite/g++.dg/debug/pr46583.C
 53cb11dc2a98772521b5c0f22a8b0e16  gcc/testsuite/g++.dg/debug/pr47106.C
 a864ac9ace6ee08b0ae00899e67445f0  gcc/testsuite/g++.dg/debug/pr47209.C
 3982c90f2cbd3107c17140c0b6d8f6b3  gcc/testsuite/g++.dg/debug/pr47283.C
+4926044cdcc2787b340e6d8bc2ed9ca4  gcc/testsuite/g++.dg/debug/pr54828.C
+3dc7fc950cc8912775fd7b3753944d23  gcc/testsuite/g++.dg/debug/pr56819.C
 c3f392076ad11f8768ef0321b89abd5f  gcc/testsuite/g++.dg/debug/static1.C
 7e13d86d33b17cfb7cdf61b7b8cca961  gcc/testsuite/g++.dg/debug/template1.C
 f50cc26d9a41a3cc4afb62032326372f  gcc/testsuite/g++.dg/debug/trivial.C
@@ -9760,6 +9806,7 @@ b4a8192e545a20f5b7dea0d9fb8a6f63  gcc/testsuite/g++.dg/ext/gnu-inline-namespace.
 df8bb001c84f32307c935ddafd4b28e1  gcc/testsuite/g++.dg/ext/gnu-inline-template-func.C
 b05584d72eb4e8994ea1fa3ba006fa66  gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
 0c4a4d6a159a48a564551033ebb89c18  gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C
+2c70d511b8b1cd2eb4c60f6d1f3497bd  gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C
 6bec7beb4547ddc44d475b8b6d7545a5  gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
 9ab0d0de30743cb9e3866cc5d6e0bea8  gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C
 3dc9db6cec54556688b76a904376f944  gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
@@ -9769,6 +9816,7 @@ a3e7fc4be8c0fa57bcda92f8875040a2  gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
 c7d029ba5056f7f575facbbb1d33c0ac  gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
 624811b2fb70c021978d15185fa25400  gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
 e4b05dcd7a97d0cb2b7a6baec073db70  gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
+45cdddfa9249380d0a8449336ca2526c  gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C
 326f3135872905cc190039b1e9eb418b  gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C
 c6f0545bc1364e6c2ba02db17185d224  gcc/testsuite/g++.dg/ext/has_trivial_assign.C
 74cd33bd9a4a20798b22a38804c96e73  gcc/testsuite/g++.dg/ext/has_trivial_constructor.C
@@ -9973,6 +10021,7 @@ a74f644ad1795f7b948fde6bec0f0e1e  gcc/testsuite/g++.dg/ext/vector2.C
 584dd0c1839de7f43f066aa14b317137  gcc/testsuite/g++.dg/ext/vector9.C
 a7cd8c7f7fec871a0af30c9bd8122ba5  gcc/testsuite/g++.dg/ext/visibility/anon1.C
 a584d24c7f0c42d5d7b9adeaab7e6e35  gcc/testsuite/g++.dg/ext/visibility/anon10.C
+369bf591deaf5f4fbb8bbc60afb36331  gcc/testsuite/g++.dg/ext/visibility/anon11.C
 f4d13decfaa5840017b392ae099bdac9  gcc/testsuite/g++.dg/ext/visibility/anon2.C
 251258dca8835128a261b3557e780874  gcc/testsuite/g++.dg/ext/visibility/anon3.C
 a9ac9686caa2bc8878f0912bbd23359a  gcc/testsuite/g++.dg/ext/visibility/anon4.C
@@ -10206,6 +10255,7 @@ d26dc16e551e9c50eaca4ea300e37bd2  gcc/testsuite/g++.dg/gomp/pr48716.C
 10d443c30e7bb75800fa9a3216776d1d  gcc/testsuite/g++.dg/gomp/pr49223-2.C
 07b2ae49f8ff75d1230e86dbfe3f3ef3  gcc/testsuite/g++.dg/gomp/pr51360.C
 7a2da759d2704e78a3b0d45bae8fc384  gcc/testsuite/g++.dg/gomp/pr51669.C
+271355b3ab79506b8ff11b6ce0ae4994  gcc/testsuite/g++.dg/gomp/pr56217.C
 d2c2484d4d1236326efc32a01fddaa03  gcc/testsuite/g++.dg/gomp/predetermined-1.C
 edac71d2b358ecd6e646fece69c5426d  gcc/testsuite/g++.dg/gomp/private-1.C
 536359d59fc418a1570a6d8574a66ca1  gcc/testsuite/g++.dg/gomp/sections-1.C
@@ -10369,6 +10419,8 @@ cd3850e151894462d2f417f022f58b7c  gcc/testsuite/g++.dg/init/array25.C
 30e0ae9123ab7bb807c4503c3a24b828  gcc/testsuite/g++.dg/init/array27.C
 93d1f2b22f375dea4f3b14687d2d2b73  gcc/testsuite/g++.dg/init/array28.C
 0212d2961b78684e39260cc7bf7ae66a  gcc/testsuite/g++.dg/init/array3.C
+4fbf3cf57f3093af3bafd6adf73e34db  gcc/testsuite/g++.dg/init/array33.C
+b5c490c86478a50e8b4adcab75ef8c1d  gcc/testsuite/g++.dg/init/array34.C
 dafd4fb071c88ff21250002b43675816  gcc/testsuite/g++.dg/init/array4.C
 0f2710d39e547bff2dfc21c51a8173ff  gcc/testsuite/g++.dg/init/array5.C
 12f516d0ef7088644b46185bbd83ef4d  gcc/testsuite/g++.dg/init/array6.C
@@ -10399,6 +10451,7 @@ d20e9e92d2904deda74fbcf84cb823bb  gcc/testsuite/g++.dg/init/const5.C
 1e8e9dc83b9cc3b9c04e15495abf5871  gcc/testsuite/g++.dg/init/const6.C
 f694cbd4095c7b8994036f80614d6f8b  gcc/testsuite/g++.dg/init/const7.C
 f95f725ee79bd108445d875c500d252a  gcc/testsuite/g++.dg/init/const8.C
+5f7abca81326462fe8a1ff089c28215a  gcc/testsuite/g++.dg/init/const9.C
 56a9eccbb4c3fff84a7c2e812f9f8efa  gcc/testsuite/g++.dg/init/constant1.C
 641df0a856e9b4cd6a3fe6823eda796c  gcc/testsuite/g++.dg/init/copy1.C
 c268699333b239c371d1bdc906ea54ad  gcc/testsuite/g++.dg/init/copy2.C
@@ -10475,6 +10528,7 @@ cb832553288f013af05fc884fc7a4d21  gcc/testsuite/g++.dg/init/new31.C
 f30d722e5e54dd454d89dcda7f983e4e  gcc/testsuite/g++.dg/init/new32.C
 cfea0ab170d4358b916fb0262fc92e02  gcc/testsuite/g++.dg/init/new33.C
 19dcda79922ea7017c7e260394e77415  gcc/testsuite/g++.dg/init/new4.C
+cbd73e68a7e047fb1fead38045398b76  gcc/testsuite/g++.dg/init/new41.C
 165b53a00e07117f81b4b42f0b88ed5c  gcc/testsuite/g++.dg/init/new5.C
 6142030ce76d1ab9453ff0a223722577  gcc/testsuite/g++.dg/init/new6.C
 625c88e7ce2f57c2f27e69085c8278eb  gcc/testsuite/g++.dg/init/new7.C
@@ -10612,6 +10666,7 @@ b6207250e81c199b2860b99758c7c707  gcc/testsuite/g++.dg/ipa/pr50605.C
 6b5972a83c02d489c1aab917516a43a3  gcc/testsuite/g++.dg/ipa/pr51759.C
 20fcc05340e0948ba3a032b0f5f2bbe9  gcc/testsuite/g++.dg/ipa/pr51929.C
 5645876c592391b1a221e2bbadde0436  gcc/testsuite/g++.dg/ipa/pr52939.C
+31b6d18c1858b5f5148de832f3fb7915  gcc/testsuite/g++.dg/ipa/pr55264.C
 f1339a059a53b8c932f6dd4870283209  gcc/testsuite/g++.dg/lookup/ambig1.C
 fa1ea4ed4c9f1ae996929481bd6de67c  gcc/testsuite/g++.dg/lookup/ambig2.C
 0e636168c26983f9ef884688bb4917e7  gcc/testsuite/g++.dg/lookup/ambig3.C
@@ -11201,6 +11256,7 @@ afaf8cb3f2a7b78fa9ceff10e9135773  gcc/testsuite/g++.dg/opt/pr51895.C
 4c73770833082fb8aa90b72c33979b0b  gcc/testsuite/g++.dg/opt/pr52429.C
 dd86735f0679bdb2fc27bf6f589696ee  gcc/testsuite/g++.dg/opt/pr52582.C
 42896cff6a898d9ad7f240b047103c9d  gcc/testsuite/g++.dg/opt/pr52727.C
+eb316460089208481c6b3e5a0c34a90a  gcc/testsuite/g++.dg/opt/pr55331.C
 ac2356162f00cd5e8804482480f1795a  gcc/testsuite/g++.dg/opt/pr6713.C
 90bdbfd9313461944756a9e9f01ce788  gcc/testsuite/g++.dg/opt/pr7503-1.C
 1451eba24eea82cbd0c1ab87885c0f77  gcc/testsuite/g++.dg/opt/preinc1.C
@@ -11255,7 +11311,7 @@ e384e4ea7483339d564580401d2ca3ab  gcc/testsuite/g++.dg/opt/vrp3.C
 3d91662dfd58e9e6569c52664e509a83  gcc/testsuite/g++.dg/other/PR23205.C
 6fee34d8b3b51c74ff33cdfe391ca591  gcc/testsuite/g++.dg/other/abstract1.C
 f08d1e182d4573cda49da8f5afb8ba41  gcc/testsuite/g++.dg/other/abstract2.C
-8faa8e965fcf01550ef523ddd47a449c  gcc/testsuite/g++.dg/other/abstract3.C
+32f6a4ff28854973168944cb1ac27537  gcc/testsuite/g++.dg/other/abstract3.C
 1952aeb9951f8c72a9b8ee8487e2991b  gcc/testsuite/g++.dg/other/access1.C
 65f203ac430205520ff2901caa9ed88f  gcc/testsuite/g++.dg/other/access2.C
 9badaf0d3171514f4d628f2da49a35a9  gcc/testsuite/g++.dg/other/access3.C
@@ -11696,6 +11752,7 @@ fcbbcebb755ba0db8bde5a91a31088a8  gcc/testsuite/g++.dg/parse/crash56.C
 01be7ea2b97a83045196ea78cd77b795  gcc/testsuite/g++.dg/parse/crash59.C
 3cae354cb01ecb5097fe78c4d17c8ccd  gcc/testsuite/g++.dg/parse/crash6.C
 84cac2482e8cc58f9b56a35359690164  gcc/testsuite/g++.dg/parse/crash60.C
+02796255ff9d4aacb61ea075da81bea0  gcc/testsuite/g++.dg/parse/crash61.C
 34393b72e5dec85fca930dee15e2f669  gcc/testsuite/g++.dg/parse/crash7.C
 5818f331167c496db06ad694932a1beb  gcc/testsuite/g++.dg/parse/crash9.C
 5940e29a523673e2c47048c21c11d678  gcc/testsuite/g++.dg/parse/ctor1.C
@@ -11908,6 +11965,7 @@ ccb7fdc23c8939016d3eac17f69a6da3  gcc/testsuite/g++.dg/parse/parser-pr28152-2.C
 893f2840af6f1df245145eec652be3cb  gcc/testsuite/g++.dg/parse/pr26997.C
 b195499fe12f3f3c5a8b1fb7605ee881  gcc/testsuite/g++.dg/parse/pr34758.C
 a57434275b0ab07b7a1f918fef7791bc  gcc/testsuite/g++.dg/parse/pr37862.C
+574617390f082262f81245e0bfb9c224  gcc/testsuite/g++.dg/parse/pr56239.C
 5a9d33aff7826f90760a0154af35d9f0  gcc/testsuite/g++.dg/parse/pragma1.C
 b8553036b01aadac9e932e75221336ae  gcc/testsuite/g++.dg/parse/pragma2.C
 d516a5d017b9be02cd665abb61b0fbaf  gcc/testsuite/g++.dg/parse/pragma3.C
@@ -12211,6 +12269,8 @@ dbd20d81c325cee68179c0a4fd156f81  gcc/testsuite/g++.dg/template/array20.C
 00136c7ca590bf08c5e9d3fa200ab503  gcc/testsuite/g++.dg/template/array21.C
 21e1f968e0203fb50fece892480a4888  gcc/testsuite/g++.dg/template/array22.C
 0218cd33eef2d06ff1cf3f60e250aed7  gcc/testsuite/g++.dg/template/array23.C
+a1f7515ba86f0bee05a8d1da2482e446  gcc/testsuite/g++.dg/template/array24.C
+8f0a4c4adf2f5e777a6dcc6b13f8fc46  gcc/testsuite/g++.dg/template/array25.C
 353ce65cd4b47cb87d4a7e33038e372d  gcc/testsuite/g++.dg/template/array3.C
 3904f7cfd18135b5f8ef1dbb020648fc  gcc/testsuite/g++.dg/template/array4.C
 c557bdb58ff52b9fc368185880923627  gcc/testsuite/g++.dg/template/array5.C
@@ -12296,6 +12356,7 @@ b3167df4bc44e634fce27a27e383e9a4  gcc/testsuite/g++.dg/template/crash109.C
 bc34a5c1a684295dab662a89dc6697f6  gcc/testsuite/g++.dg/template/crash110.C
 f5c17c8c05a6c2d1d6b29054c88125a1  gcc/testsuite/g++.dg/template/crash111.C
 5f633b0de1f82b78843e7d14bb9c5ca5  gcc/testsuite/g++.dg/template/crash112.C
+4881f59a4fc92a1ba6f12240d924549d  gcc/testsuite/g++.dg/template/crash115.C
 627140de004634696fc53c98684c31c2  gcc/testsuite/g++.dg/template/crash12.C
 2fcd941d4dd7debb10ded9602271ab54  gcc/testsuite/g++.dg/template/crash13.C
 7c732ef3b17279bd746eb1196b0d76fe  gcc/testsuite/g++.dg/template/crash14.C
@@ -12500,6 +12561,7 @@ d58d76bac4c95f750552f6b080278a6d  gcc/testsuite/g++.dg/template/error43.C
 7671645c3f9a57016a5fee9111ddb609  gcc/testsuite/g++.dg/template/error45.C
 d9a7aa2040681bdfe2554b4abe8205e0  gcc/testsuite/g++.dg/template/error46.C
 ef2ec17333cebad645145429d47e3b4f  gcc/testsuite/g++.dg/template/error47.C
+706afe0e7c07cecb5cbe62412106f6f6  gcc/testsuite/g++.dg/template/error49.C
 a988dc6a097a8766258a32544791c7db  gcc/testsuite/g++.dg/template/error5.C
 8f931fa8690071fcefc2b1d1d7483bfc  gcc/testsuite/g++.dg/template/error6.C
 3eacbecd65bcd0b71a23a9e2127f6e27  gcc/testsuite/g++.dg/template/error7.C
@@ -12687,6 +12749,7 @@ b29c5ddfeb79a3077e908d0877024b79  gcc/testsuite/g++.dg/template/memfriend5.C
 6602e9e6cba784386891556ebd44b430  gcc/testsuite/g++.dg/template/memfriend9.C
 5976fb93a66e679d029e62d55d218219  gcc/testsuite/g++.dg/template/meminit1.C
 49a8526a10802f5f264eca9873b6546a  gcc/testsuite/g++.dg/template/meminit2.C
+2814897eaaeccebed1436472d893ffd3  gcc/testsuite/g++.dg/template/meminit3.C
 a028161f345a592e44b9dd2c85780ba8  gcc/testsuite/g++.dg/template/memtmpl1.C
 742c5d9c3baa52309d717d8a67cb74e7  gcc/testsuite/g++.dg/template/memtmpl2.C
 65b31c49b4254df68b854aca90f1aa6a  gcc/testsuite/g++.dg/template/memtmpl3.C
@@ -12697,6 +12760,7 @@ b12c9a151e46871b430564ee47c57714  gcc/testsuite/g++.dg/template/nested4.C
 73ab67ac2716db374ac0d80e7ae5b200  gcc/testsuite/g++.dg/template/nested5.C
 57b33208329c8d10ea904c3d123076a9  gcc/testsuite/g++.dg/template/new1.C
 b4688d67c16095e2855630d6bf9633c2  gcc/testsuite/g++.dg/template/new10.C
+8a3716757b496de374cb6d6a4f5b6a64  gcc/testsuite/g++.dg/template/new11.C
 b8243d46589815a568bb0992cb04adec  gcc/testsuite/g++.dg/template/new2.C
 e803384df62d31ef9dc9c4a9a02c1eff  gcc/testsuite/g++.dg/template/new3.C
 ee60767832489389f13d0474ac598f82  gcc/testsuite/g++.dg/template/new4.C
@@ -12773,7 +12837,7 @@ f1c7ecb7e178c68814982e97bdc5ecf1  gcc/testsuite/g++.dg/template/overload12.C
 d98c22f6d2dfeb8d0131c9e0467d2655  gcc/testsuite/g++.dg/template/overload7.C
 cb3fd3ad47dd95cf7f0463be80d0a9b3  gcc/testsuite/g++.dg/template/overload8.C
 ef296b5932e0fe10416d5e48eb64ccb1  gcc/testsuite/g++.dg/template/overload9.C
-3b3b293347afc671ed1f1f11c850b223  gcc/testsuite/g++.dg/template/param1.C
+efb971f4591133c5f1a27dea6aeb5d1a  gcc/testsuite/g++.dg/template/param1.C
 335d675c515abc3965d67af12d3a7c72  gcc/testsuite/g++.dg/template/param2.C
 9cdc0ea3c87c4634fd17c85b389758e3  gcc/testsuite/g++.dg/template/param3.C
 e187a317d102d915368fe357726202ba  gcc/testsuite/g++.dg/template/partial-specialization.C
@@ -12797,6 +12861,7 @@ d3ba333f92088ba255ebad2bc17cd0cf  gcc/testsuite/g++.dg/template/pr28301.C
 8b412f982420deb1ea42c0e8ebcbb0b4  gcc/testsuite/g++.dg/template/pr35240.C
 65f61cad906468d3220688454e8f7d0c  gcc/testsuite/g++.dg/template/pr39425.C
 698fef868c92929bbef3fe847bfc6295  gcc/testsuite/g++.dg/template/pr4926-1.C
+6465acc359cf71ed791739a364127805  gcc/testsuite/g++.dg/template/pr54858.C
 04907f98f8eab7c64ced6646f5140346  gcc/testsuite/g++.dg/template/pretty1.C
 b1805d4b386b8dcd432f41c68e255100  gcc/testsuite/g++.dg/template/pseudodtor1.C
 632dfaf82a330021f820250c7641745b  gcc/testsuite/g++.dg/template/pseudodtor2.C
@@ -12819,6 +12884,7 @@ af6766db6bcf0d158ef96c3e85df7e6b  gcc/testsuite/g++.dg/template/ptrmem2.C
 81a6774120ce149534db6fc79b3ba354  gcc/testsuite/g++.dg/template/ptrmem20.C
 d789c4b198aaf983e81643a1d995a8da  gcc/testsuite/g++.dg/template/ptrmem21.C
 1deaba7f1445a234a33b8d445f9ce048  gcc/testsuite/g++.dg/template/ptrmem22.C
+4ef19b43e68f9107adafd0216878f062  gcc/testsuite/g++.dg/template/ptrmem23.C
 171d82f45a76129388539c01e3212ec9  gcc/testsuite/g++.dg/template/ptrmem3.C
 730a9854e0dabd1a65dcfa256defbcf2  gcc/testsuite/g++.dg/template/ptrmem4.C
 c1d71028a4f69f5c3fcfd2fd8a35f919  gcc/testsuite/g++.dg/template/ptrmem5.C
@@ -13071,7 +13137,9 @@ d447ec4608ca63e798d20ef66c21b002  gcc/testsuite/g++.dg/template/typedef35.C
 e59bfbf54a4970ef59795380e9748f1c  gcc/testsuite/g++.dg/template/typedef36.C
 eb3abfc5e71e3a935092fd52c8240bfb  gcc/testsuite/g++.dg/template/typedef37.C
 d24128561e0a5f57f0d65415db34a3ac  gcc/testsuite/g++.dg/template/typedef38.C
+0dd31961ea248b890c9031143f431c46  gcc/testsuite/g++.dg/template/typedef39.C
 2ffbcc1ef99f24c2acacaeb4f1276cb4  gcc/testsuite/g++.dg/template/typedef4.C
+443d701e91eb8625219ca859d1d03f71  gcc/testsuite/g++.dg/template/typedef40.C
 c216b7fcf0f0612e246302001f5b0d6f  gcc/testsuite/g++.dg/template/typedef5.C
 22d0973a2715188331b77478c9e8d13e  gcc/testsuite/g++.dg/template/typedef6.C
 e5348f6294a6577651589b520086d43e  gcc/testsuite/g++.dg/template/typedef7.C
@@ -13088,7 +13156,9 @@ ca4a61ed1c2da506a98ef392ad06676a  gcc/testsuite/g++.dg/template/typename13.C
 72f97d6e8b102635f9bd980db11112f9  gcc/testsuite/g++.dg/template/typename16.C
 81aeb9e1a8d50ce9fb2161d860dc83fa  gcc/testsuite/g++.dg/template/typename17.C
 281d5672faf3e37ce44792d24c1cc723  gcc/testsuite/g++.dg/template/typename18.C
+5817c410b70cf0419a1198d2aaf89a0e  gcc/testsuite/g++.dg/template/typename19.C
 e157ec339365093c9f152c565a72d172  gcc/testsuite/g++.dg/template/typename2.C
+9e947348c80b5b375430f354424dbea6  gcc/testsuite/g++.dg/template/typename20.C
 baaa577db3fc32c6dd18e8cfa76705eb  gcc/testsuite/g++.dg/template/typename3.C
 e539dae13a2fcf8c5c897799294fa8f0  gcc/testsuite/g++.dg/template/typename4.C
 657b2e18e1c5bda47ab17e796163c009  gcc/testsuite/g++.dg/template/typename5.C
@@ -13219,6 +13289,7 @@ cba46ba0e799162dc4863891ff25ded3  gcc/testsuite/g++.dg/torture/20080625-1.C
 683450b729160794735761779ca70f64  gcc/testsuite/g++.dg/torture/20090706-1.C
 0b2b85ac6dafb7049980d831651adb25  gcc/testsuite/g++.dg/torture/20100702-1.C
 525821efab8625fd7aaf799d1e7ba186  gcc/testsuite/g++.dg/torture/20100825.C
+1edf7d273bbdb1fa74b78d6a06d4e4af  gcc/testsuite/g++.dg/torture/20121105-1.C
 12bbc31ebdb5389852fb19dbc0efd9b4  gcc/testsuite/g++.dg/torture/covariant-1.C
 8e9f5b7c091bd1c8d9aad12b2fe2c7e8  gcc/testsuite/g++.dg/torture/darwin-cfstring-3.C
 f87dc3fded17df190ab99cf4e1b64b34  gcc/testsuite/g++.dg/torture/dg-torture.exp
@@ -13396,6 +13467,12 @@ f6aef73358d7ae2e3102160fa47a97c9  gcc/testsuite/g++.dg/torture/pr53364.C
 b8f2cf4dbe33be3bb77d9ebf24ca264e  gcc/testsuite/g++.dg/torture/pr53602.C
 9a98404f2bdaa970f43c1300bb87cc27  gcc/testsuite/g++.dg/torture/pr53693.C
 16bea23af67221b5b9ae63c61dcfbb3a  gcc/testsuite/g++.dg/torture/pr53752.C
+223cbe0817bf9dd882b64bfda782f806  gcc/testsuite/g++.dg/torture/pr54563.C
+bc202d330bb84df550bb0522780984e0  gcc/testsuite/g++.dg/torture/pr54735.C
+408a748c38d402106bb0c603193ee7e6  gcc/testsuite/g++.dg/torture/pr54902.C
+d3a0f6dba851a15d2e1af60c71fda9fc  gcc/testsuite/g++.dg/torture/pr55355.C
+623e4675e1028b5a86de81a84ced39e5  gcc/testsuite/g++.dg/torture/pr56403.C
+f9035d95e3a4d25bf372dccc2aebea06  gcc/testsuite/g++.dg/torture/pr56768.C
 9832be91178ec7c78651fc4d49380a93  gcc/testsuite/g++.dg/torture/predcom-1.C
 d28910105d9c9253d94d70eacd5e19d4  gcc/testsuite/g++.dg/torture/pushpop_macro.C
 a1b47b9c3e69d79d1895ebc4fd11032b  gcc/testsuite/g++.dg/torture/stackalign/check.h
@@ -13696,6 +13773,7 @@ c67eecc224709de2dbabbe0dfa18cef4  gcc/testsuite/g++.dg/warn/Wreturn-type-4.C
 ac4f08dd2a157d7c72adbbb04354e082  gcc/testsuite/g++.dg/warn/Wreturn-type-5.C
 3fe72d5bf9ad4827aa6ca7d33f8ca73d  gcc/testsuite/g++.dg/warn/Wreturn-type-6.C
 7d2696250f449ef817e376057902360c  gcc/testsuite/g++.dg/warn/Wreturn-type-7.C
+9713a161db97783dd3a7190d8de296ec  gcc/testsuite/g++.dg/warn/Wreturn-type-8.C
 78a781a7fee9227b3174b6dee0ac20b3  gcc/testsuite/g++.dg/warn/Wsequence-point-1.C
 35f1dbf8874627716fb0bc52b691c28d  gcc/testsuite/g++.dg/warn/Wsequence-point-2.C
 21e8a0380962b41685ed2da030d6e679  gcc/testsuite/g++.dg/warn/Wsequence-point-3.C
@@ -13786,6 +13864,7 @@ f11e1a6a7c64d32c0698605c42c159c1  gcc/testsuite/g++.dg/warn/Wunused-parm-4.C
 2e3edc42171a0504591e1cb9f346f40d  gcc/testsuite/g++.dg/warn/Wunused-var-14.C
 9dc537daf68b0277551461969cabca13  gcc/testsuite/g++.dg/warn/Wunused-var-15.C
 66a1e17af38ca1ea6cfca09567fa2508  gcc/testsuite/g++.dg/warn/Wunused-var-16.C
+457e420b30b84147da9f1deedcd1c32b  gcc/testsuite/g++.dg/warn/Wunused-var-19.C
 6f250a1bec102f3ef4c4450109985c6c  gcc/testsuite/g++.dg/warn/Wunused-var-2.C
 dd0f2a1889a83658587b5f12c08c0c1c  gcc/testsuite/g++.dg/warn/Wunused-var-3.C
 62e5565091b4ee3f018515196f818bf3  gcc/testsuite/g++.dg/warn/Wunused-var-4.C
@@ -13892,6 +13971,7 @@ e36e0e34c32010c5c54008377dce599e  gcc/testsuite/g++.dg/warn/overflow-warn-6.C
 a17c4c0444990921d3c66161e1a84c51  gcc/testsuite/g++.dg/warn/pedantic1.C
 4c8c625ae79211ff8d60b894c8b21b81  gcc/testsuite/g++.dg/warn/pedantic2.C
 acd9eb52e3298cbde90941f636efb15f  gcc/testsuite/g++.dg/warn/pmf1.C
+4e028953f54cc108bb7498bee7ca2eaf  gcc/testsuite/g++.dg/warn/pmf2.C
 f8f2c98db3d6299492ead2d45e4b5e37  gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C
 adea0a023eba0c3c51b6a4894014d35a  gcc/testsuite/g++.dg/warn/pr11159.C
 f257fca4d00c8c67aa2b9d6e43ee906f  gcc/testsuite/g++.dg/warn/pr11492.C
@@ -14716,7 +14796,7 @@ ccd6d94073b06051f8b3a501c9e981a1  gcc/testsuite/g++.old-deja/g++.jason/enum.C
 837f785c12882efb205074f3bdcb14bc  gcc/testsuite/g++.old-deja/g++.jason/enum3.C
 743310178fbb706facf03822fb40e31e  gcc/testsuite/g++.old-deja/g++.jason/enum4.C
 beb5eb6418228be74e469fbcf0dbb8b4  gcc/testsuite/g++.old-deja/g++.jason/enum5.C
-b17732cb073ab9e4d216d766a87a8c56  gcc/testsuite/g++.old-deja/g++.jason/enum6.C
+838a7dfb4171fb6c98a1b101cf5d2157  gcc/testsuite/g++.old-deja/g++.jason/enum6.C
 81d5f64e78075ecaa09fbb1722bad849  gcc/testsuite/g++.old-deja/g++.jason/enum7.C
 367d613bc250e9dcc871a0dac0cd3de8  gcc/testsuite/g++.old-deja/g++.jason/enum8.C
 48450b1b5f0295f7905a77b1f41b6274  gcc/testsuite/g++.old-deja/g++.jason/explicit.C
@@ -15121,7 +15201,7 @@ c50a0f8a1377cfbb50605dafa54460db  gcc/testsuite/g++.old-deja/g++.law/enum3.C
 e2c91a6a5a94779a1019ea75239364a6  gcc/testsuite/g++.old-deja/g++.law/enum4.C
 2509a6d3dfafb6c8581c6d6baa1a2b55  gcc/testsuite/g++.old-deja/g++.law/enum6.C
 a148f19373f2b475268eafbb0a19cd4c  gcc/testsuite/g++.old-deja/g++.law/enum7.C
-c878805ba7e123995b31bc1513a22c28  gcc/testsuite/g++.old-deja/g++.law/enum9.C
+2817878a64be333ca5515abac7139c1b  gcc/testsuite/g++.old-deja/g++.law/enum9.C
 fa91781a296ec68a2631735b5a3d93e8  gcc/testsuite/g++.old-deja/g++.law/except1.C
 78fafdc2ce65c395103fb31e50e03979  gcc/testsuite/g++.old-deja/g++.law/except2.C
 95575b4fe563c42cff645192dcef1092  gcc/testsuite/g++.old-deja/g++.law/except3.C
@@ -16022,7 +16102,7 @@ e0228ca9cb60d1437fd658fe2d597301  gcc/testsuite/g++.old-deja/g++.other/empty2.C
 5b6d9e3f0f202ed5f985699483d694c3  gcc/testsuite/g++.old-deja/g++.other/enum1.C
 feb92c7dc6c4aa9d4c55f0948efbc038  gcc/testsuite/g++.old-deja/g++.other/enum2.C
 703ef9888858691fda401137ea6e0340  gcc/testsuite/g++.old-deja/g++.other/enum3.C
-00c49643882129da30e7c45c80d0e71e  gcc/testsuite/g++.old-deja/g++.other/enum4.C
+b7d73a2051be084e35bfb2ae080d4ebf  gcc/testsuite/g++.old-deja/g++.other/enum4.C
 989a20c8af821e747e17e6f4d9323de7  gcc/testsuite/g++.old-deja/g++.other/enum5.C
 a062e6feea05b79de6f4a91e26e7acb3  gcc/testsuite/g++.old-deja/g++.other/explicit1.C
 96d5ae4c186cc08bb5276ac33f3f40f3  gcc/testsuite/g++.old-deja/g++.other/expr1.C
@@ -17640,6 +17720,7 @@ e3634bcf25bcef7a90de4306c0e2325f  gcc/testsuite/gcc.c-torture/compile/20110902.c
 6d8d9b8786a768a4f22cf94c38807056  gcc/testsuite/gcc.c-torture/compile/20110906-1.c
 d46e252a8e73f63a50c37a7084eb02a6  gcc/testsuite/gcc.c-torture/compile/20110913-1.c
 baa391a98003dc9d7adfe1203efc6a9c  gcc/testsuite/gcc.c-torture/compile/20111209-1.c
+a4bd0e05ec3dbaa015f8195b871616fa  gcc/testsuite/gcc.c-torture/compile/20121107-1.c
 ab32e65ea5976f9083dc8234dae65343  gcc/testsuite/gcc.c-torture/compile/900116-1.c
 19f66edc69de3cb6b5ca746e4dc7d9b5  gcc/testsuite/gcc.c-torture/compile/900216-1.c
 9c85c5a027876d1435b0499666da5dd8  gcc/testsuite/gcc.c-torture/compile/900313-1.c
@@ -18411,8 +18492,17 @@ b9252f4cafa8a1510d83d7f321bfd5e3  gcc/testsuite/gcc.c-torture/compile/pr53163.c
 c509345d4477e53337ed96cb0eab445d  gcc/testsuite/gcc.c-torture/compile/pr53418-1.c
 4386bbdff41f8c8d4fb66b5655199556  gcc/testsuite/gcc.c-torture/compile/pr53418-2.c
 d229ae3c54e33051bbec22ee82ca3fe6  gcc/testsuite/gcc.c-torture/compile/pr53519.c
+0040e1fc207d701a1cf7ccd8043b5602  gcc/testsuite/gcc.c-torture/compile/pr54103-1.c
+a33e53c07682388bc997be7be125f5e8  gcc/testsuite/gcc.c-torture/compile/pr54103-2.c
+feda9b994070314a189d1c52bc67d249  gcc/testsuite/gcc.c-torture/compile/pr54103-3.c
+5eb74f4d5d0769f54f065edec004dd61  gcc/testsuite/gcc.c-torture/compile/pr54103-4.c
+ac56dedec2b3eaa9d1d0bbfd4515b57c  gcc/testsuite/gcc.c-torture/compile/pr54103-5.c
+4166f07f99cb571daac90213aa6b2000  gcc/testsuite/gcc.c-torture/compile/pr54103-6.c
 da80136ac8032dc9aa8d5c081e13842d  gcc/testsuite/gcc.c-torture/compile/pr54428.c
+96c75d127064a83cf7f888f12edb4247  gcc/testsuite/gcc.c-torture/compile/pr54552-1.c
 9e0fdb44bac477ac2a90b6be1725200d  gcc/testsuite/gcc.c-torture/compile/pr54559.c
+0e3f790781d5171f0f46767b62adf0b1  gcc/testsuite/gcc.c-torture/compile/pr55921.c
+aff7f7ad2ad7fb2c1d7c7583cac7cbd9  gcc/testsuite/gcc.c-torture/compile/pr56539.c
 b9e6ce52b90320c1c3803c25113844c5  gcc/testsuite/gcc.c-torture/compile/pta-1.c
 ed716c1d1727fc2c748162e0cbc4ee47  gcc/testsuite/gcc.c-torture/compile/ptr-conv-1.c
 8d869e3426345f0cf8837c5eaafd43b5  gcc/testsuite/gcc.c-torture/compile/simd-1.c
@@ -19243,7 +19333,7 @@ caa74354806f94b1777d3d438547d909  gcc/testsuite/gcc.c-torture/execute/builtins/a
 d7d9ce89ee3d3fe0e8938f62790f051e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-2.c
 1dda6f7a5d9ce23a5db5f59c430ae29e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3-lib.c
 8784d3bd9b264b3c2abfb7b7ea25ccb6  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c
-1e006e92e0e93b317676d63fb8def703  gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+c1fc810f6860b86cbc1e7946eb973924  gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
 82dc8c0cc07405b06eb5eee9b43cb713  gcc/testsuite/gcc.c-torture/execute/builtins/chk.h
 f36e146a2aececdc84d9199d53a363ec  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1-lib.c
 8b5a662c0134cd00115a5866e1c0b6c9  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1.c
@@ -19816,6 +19906,9 @@ e57c96a97649acfd89d6db05f238433f  gcc/testsuite/gcc.c-torture/execute/pr52979-2.
 e187fe63484a4bc5814c2525adc8371f  gcc/testsuite/gcc.c-torture/execute/pr53084.c
 f3848a97d03b3993078b11f0e6407177  gcc/testsuite/gcc.c-torture/execute/pr53160.c
 eec29fac8b8f9d14f5a55ecd460d705e  gcc/testsuite/gcc.c-torture/execute/pr53465.c
+566f6f02acd4a3583261f3bde23ef262  gcc/testsuite/gcc.c-torture/execute/pr54985.c
+177c8ddae3f333df6d33696392bac93a  gcc/testsuite/gcc.c-torture/execute/pr56051.c
+f593242559ab374bb74820c31c4df339  gcc/testsuite/gcc.c-torture/execute/pr56250.c
 ecfc31f12ce09d6ccbcced04ff04deba  gcc/testsuite/gcc.c-torture/execute/pr7284-1.c
 89f3c7ee990221eeb33cb08a0772e024  gcc/testsuite/gcc.c-torture/execute/pr7284-1.x
 f4610e3bba97324f7005c428fe41e597  gcc/testsuite/gcc.c-torture/execute/printf-1.c
@@ -20315,7 +20408,7 @@ b92bcd5cc5e644e163858c3751c8b202  gcc/testsuite/gcc.dg/20030612-1.c
 86574b801d0682d4d805ed9c945230c4  gcc/testsuite/gcc.dg/20030702-1.c
 5fc6d99324dcfd47c490ca6d16eb7e24  gcc/testsuite/gcc.dg/20030707-1.c
 27ef1cc4029750023fba3b42f83a1423  gcc/testsuite/gcc.dg/20030708-1.c
-1a18dbabafc07229a717aa09b680ac4f  gcc/testsuite/gcc.dg/20030711-1.c
+93849c86e275714d814d100c03072d4c  gcc/testsuite/gcc.dg/20030711-1.c
 ac938414908af64d993e7eb4c23921a8  gcc/testsuite/gcc.dg/20030717-1.c
 4d37c7f496e294a2df11087c63c6b60f  gcc/testsuite/gcc.dg/20030721-1.c
 f081843dc1b013a9073e9f5ccbe9ccd8  gcc/testsuite/gcc.dg/20030804-1.c
@@ -20394,7 +20487,7 @@ fa18390f14716298dbf37d393e23050e  gcc/testsuite/gcc.dg/20050517-1.c
 2ed1ce2798eb27c99e53c945096a6bcb  gcc/testsuite/gcc.dg/20050702-1.c
 6d06eeedf9a3137aef0acb839c4b0c71  gcc/testsuite/gcc.dg/20050811-1.c
 b41f50b806a65fa9b1ea161f7dbf1ec0  gcc/testsuite/gcc.dg/20050811-2.c
-644be992761d4b078bea1e8ee970be40  gcc/testsuite/gcc.dg/20050826-1.c
+0037187d0fb90575d3c3fbef86dde69a  gcc/testsuite/gcc.dg/20050826-1.c
 e1fdeda4a350d6b903a481d48aa14167  gcc/testsuite/gcc.dg/20050922-1.c
 f2e3943d2c5612941b954a35780305be  gcc/testsuite/gcc.dg/20050922-2.c
 c315befd785458b73975a2f1f5ce88cc  gcc/testsuite/gcc.dg/20051201-1.c
@@ -21023,7 +21116,7 @@ b2710b891f3cdc34809e1174bec5b93c  gcc/testsuite/gcc.dg/c90-complit-1.c
 655723681171327065d68ae4ae42d654  gcc/testsuite/gcc.dg/c90-const-expr-5.c
 12ef6e438aebb08579fd8c8979c1ce35  gcc/testsuite/gcc.dg/c90-const-expr-6.c
 c1ce3cb86e4a8f2c5dbf67f3a54b0e4c  gcc/testsuite/gcc.dg/c90-const-expr-7.c
-501b03fd11a67a599847377c3a4582c1  gcc/testsuite/gcc.dg/c90-const-expr-8.c
+f4c36087160dd3e763a5880d1e87f196  gcc/testsuite/gcc.dg/c90-const-expr-8.c
 e644011009938e093ea45d26d3012592  gcc/testsuite/gcc.dg/c90-const-expr-9.c
 a29d9aae5471b142585071ca58081590  gcc/testsuite/gcc.dg/c90-digraph-1.c
 e5276aadb831e54d0b1946f2b38d598d  gcc/testsuite/gcc.dg/c90-dupqual-1.c
@@ -23349,6 +23442,8 @@ dbf41bee85537a317cf69546b2439791  gcc/testsuite/gcc.dg/lto/pr47924_0.c
 626442299a26bfdc323c3151d4aa1295  gcc/testsuite/gcc.dg/lto/pr51572-1_0.c
 a64fcd8b9752e9274bf113e4f8c66522  gcc/testsuite/gcc.dg/lto/pr53214_0.c
 19278428d23642a381a871429328a024  gcc/testsuite/gcc.dg/lto/pr53470_0.c
+47a8065df4bdece34317dab2da3d4076  gcc/testsuite/gcc.dg/lto/pr55660_0.c
+5bd545a061ad0b0b4c239a6958b57509  gcc/testsuite/gcc.dg/lto/pr55660_1.c
 69ff2353992f738ce7ea3cb89e9db1e4  gcc/testsuite/gcc.dg/lto/trans-mem-3_0.c
 bc1b2064fd5bb4de921a2005a03817d7  gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c
 3f4f42d8a6ea686d4fc6a621928696a8  gcc/testsuite/gcc.dg/lto/trans-mem.h
@@ -24204,6 +24299,7 @@ eca3d1dd5335a9db1ea0c2a98084a274  gcc/testsuite/gcc.dg/pr43971.c
 4f8543f88faf00c40c2a3544d483d2c9  gcc/testsuite/gcc.dg/pr44023.c
 5ff248d685714716249d35f36d771541  gcc/testsuite/gcc.dg/pr44024.c
 deb7c49143ede12a1adf05beb298554b  gcc/testsuite/gcc.dg/pr44028.c
+27f690cc17b3e7bc399bda66468428b1  gcc/testsuite/gcc.dg/pr44061.c
 6bacf230d908085ef7d81f5ea944c3dc  gcc/testsuite/gcc.dg/pr44136.c
 866b771d17127fbfa53afe14ecfafbe3  gcc/testsuite/gcc.dg/pr44194-1.c
 13c4f292ca00b300b92a40392d5164fe  gcc/testsuite/gcc.dg/pr44194-2.c
@@ -24230,7 +24326,7 @@ d55900a129d7ce907cdc70b3d8fd18a7  gcc/testsuite/gcc.dg/pr45083.c
 b5b266270adff7da0fc38d87d0dd646b  gcc/testsuite/gcc.dg/pr45101.c
 6bc79832a2fe167e7299237a1c51304e  gcc/testsuite/gcc.dg/pr45105.c
 abca7742fabfd64fef16a64f69b2fe06  gcc/testsuite/gcc.dg/pr45107.c
-669ba89edfc514e2415f26a1fdeb4766  gcc/testsuite/gcc.dg/pr45259.c
+91a0b85f480baaed9dc23da061dfff68  gcc/testsuite/gcc.dg/pr45259.c
 080a3cf4b2bb49ebfed3596488fd76c4  gcc/testsuite/gcc.dg/pr45352-1.c
 730c59582cb6caa931ae63923829c38d  gcc/testsuite/gcc.dg/pr45352-2.c
 f1e324bb8c66abac61fb3ffc201ca245  gcc/testsuite/gcc.dg/pr45352-3.c
@@ -24240,6 +24336,7 @@ cbbf95139f06acb361f7adbc7083cb43  gcc/testsuite/gcc.dg/pr45415.c
 f49236290d6d47cab448d301fa5923d1  gcc/testsuite/gcc.dg/pr45416.c
 640a3be3840cabf158b023f3f41f625e  gcc/testsuite/gcc.dg/pr45449.c
 e468f4fc0eb98d90715e038a9e658234  gcc/testsuite/gcc.dg/pr45461.c
+ccc0404ef49972ecad2d12168b9ec631  gcc/testsuite/gcc.dg/pr45472.c
 1f8018e44b320d2f914cf5d1be8b41e6  gcc/testsuite/gcc.dg/pr45506.c
 08042d04be82eb7742612b5d873877b2  gcc/testsuite/gcc.dg/pr45567.c
 a0ed5109e680d9ee459de2cef72ba4b0  gcc/testsuite/gcc.dg/pr45570.c
@@ -24357,6 +24454,7 @@ edcfee9ce1ef05392e4f14937ca1e469  gcc/testsuite/gcc.dg/pr48826.c
 20dd454b5b110fe20e629d88a6ef7208  gcc/testsuite/gcc.dg/pr48837.c
 b615b21f903900d91ce774ae05959e3c  gcc/testsuite/gcc.dg/pr48975.c
 708f1774ee70fa4022ae2e210d2cb7e7  gcc/testsuite/gcc.dg/pr49000.c
+631f47b441349f7a07a2afee796e905d  gcc/testsuite/gcc.dg/pr49069.c
 fb7ee781bd4ec07177155c0afa87432d  gcc/testsuite/gcc.dg/pr49120.c
 c905d9c542d351b6d1496cc1cea3b771  gcc/testsuite/gcc.dg/pr49235.c
 ad8ac9416e1c08b23fb5fd8ea58c9d68  gcc/testsuite/gcc.dg/pr49243.c
@@ -24445,8 +24543,23 @@ e2ec6d72bdfd63430ec334fa1b08a13a  gcc/testsuite/gcc.dg/pr52862.c
 d26f1ab8cfff735e347c468d126c2d91  gcc/testsuite/gcc.dg/pr53174.c
 57e921520da91cbc0852ac1cd10eb6e8  gcc/testsuite/gcc.dg/pr53358.c
 65b67607a1bdc680a1b4aa5e8c3c4d43  gcc/testsuite/gcc.dg/pr53550.c
+0f0c53ff6171903412f31351c07e2811  gcc/testsuite/gcc.dg/pr53701.c
 e385e1a608e62c3d73f3b29e4912e71b  gcc/testsuite/gcc.dg/pr53942.c
+25191bf4397ba0e56108d1f16d12d75d  gcc/testsuite/gcc.dg/pr54121.c
 8a2ea91a96747976b46923fd8abd89fc  gcc/testsuite/gcc.dg/pr54363.c
+1b832b2a1864aa51790bec9a1af4f1ec  gcc/testsuite/gcc.dg/pr55019.c
+6c924262c40094015d2ffa079cbc8675  gcc/testsuite/gcc.dg/pr55094.c
+c02fa2301e188a2a455f9e563251e0ab  gcc/testsuite/gcc.dg/pr55110.c
+5d1c08c2f5bd243cb45564267ac51377  gcc/testsuite/gcc.dg/pr55236.c
+83ab2ed260272c05adbc2fc0c607a310  gcc/testsuite/gcc.dg/pr55570.c
+738429a449f631e59942d4c4a1ea318f  gcc/testsuite/gcc.dg/pr55838.c
+975fc9540fd8b78f89dd99e0e945d6b0  gcc/testsuite/gcc.dg/pr55940.c
+f589ec281e5626d77b47e0f12bf457c6  gcc/testsuite/gcc.dg/pr56023.c
+dc10733d2c1e49ac20fcb41b135da173  gcc/testsuite/gcc.dg/pr56098-1.c
+06bed06ab5a2d6848af476b5812692d7  gcc/testsuite/gcc.dg/pr56125.c
+d49dc3b48eaa905ccfaa6054fcbc7232  gcc/testsuite/gcc.dg/pr56275.c
+4918ad6d182ccdedb702520d01efe48a  gcc/testsuite/gcc.dg/pr56350.c
+16d26320b62db6026492824dcc7ebae2  gcc/testsuite/gcc.dg/pr56510.c
 8b7d73da2d5d78000716492365a85d5a  gcc/testsuite/gcc.dg/pr8715.c
 3d08410b2dd57259aa63f0e1c64b376e  gcc/testsuite/gcc.dg/pr8788-1.c
 be04382a35ebb1cfae1b2168f1693a94  gcc/testsuite/gcc.dg/pr8835-1.c
@@ -25088,7 +25201,7 @@ d74f6acf0e1f652f5c716c969531d6c9  gcc/testsuite/gcc.dg/torture/pr47743.c
 068c3b0c1e041dff7326ef728033d52a  gcc/testsuite/gcc.dg/torture/pr47744-2.c
 d8f37dc708617f6389ec622f76b6cbcf  gcc/testsuite/gcc.dg/torture/pr47744-3.c
 0dd48878c14fd87645d9271ddfc856a8  gcc/testsuite/gcc.dg/torture/pr47890.c
-3fadf6038d1b581e240117c7cef89216  gcc/testsuite/gcc.dg/torture/pr47917.c
+3b86d9faab9ad4410cd497c6b9581052  gcc/testsuite/gcc.dg/torture/pr47917.c
 1e3482288568c4f0ac3f7d648bb5e835  gcc/testsuite/gcc.dg/torture/pr47958-1.c
 6f4d26d375e37dd68889b6d257b90b9b  gcc/testsuite/gcc.dg/torture/pr47968.c
 287ecf24d5abcb1d62df079ac9c2bee2  gcc/testsuite/gcc.dg/torture/pr47975.c
@@ -25177,10 +25290,27 @@ e1ddc34df232bd3ae360bcbdf85f8fc7  gcc/testsuite/gcc.dg/torture/pr53366-2.c
 0193d88d65a7299323f8fa0ed98be22e  gcc/testsuite/gcc.dg/torture/pr53501.c
 9caf21e6d0c50c14d1ba02d14f3f3822  gcc/testsuite/gcc.dg/torture/pr53516.c
 4ae392aaa40a1074c1783e66e0f2acb7  gcc/testsuite/gcc.dg/torture/pr53589.c
+eb7c28f8fb377dba0060e3879194722d  gcc/testsuite/gcc.dg/torture/pr53663-1.c
+3e2a97d04d8c4e8423946ab3ac335660  gcc/testsuite/gcc.dg/torture/pr53663-2.c
+7aa9adad88eac4e1c358c4c8ffb822bb  gcc/testsuite/gcc.dg/torture/pr53663-3.c
 58809eab4a9186297cc9e6413399f775  gcc/testsuite/gcc.dg/torture/pr53790.c
 d0ffb441d208abf83622aa00e25e03a4  gcc/testsuite/gcc.dg/torture/pr53908.c
-c669d205fec2361a01ff5f6159aa2844  gcc/testsuite/gcc.dg/torture/pr53922.c
+e16d41bbe2226ed42c7bc30cabc1ef28  gcc/testsuite/gcc.dg/torture/pr53922.c
+92bc5e783706a1f7f1c0ea5fd220eee2  gcc/testsuite/gcc.dg/torture/pr54127.c
 d1882ac131c19beaff0b3e524c82794a  gcc/testsuite/gcc.dg/torture/pr54436.c
+38e865bcbf7f2de7dc73936309578b7e  gcc/testsuite/gcc.dg/torture/pr54877.c
+2144beeace4b6df13cf5fa581470993f  gcc/testsuite/gcc.dg/torture/pr54894.c
+a8c79c7197781dd887346a246c4ce956  gcc/testsuite/gcc.dg/torture/pr54920.c
+b7ee0c6b880c25ea67bfe2bd4a2512cf  gcc/testsuite/gcc.dg/torture/pr55107.c
+093d274576b200636d9d9ceeca015266  gcc/testsuite/gcc.dg/torture/pr55481.c
+2c27bac17bb853aa57806e84b5743c62  gcc/testsuite/gcc.dg/torture/pr55755.c
+829d9a126837f0cd514d8b79884a17b4  gcc/testsuite/gcc.dg/torture/pr55882.c
+a85007c686083d3ac035d85e8cf38403  gcc/testsuite/gcc.dg/torture/pr55890-1.c
+2b6d3df4edef0d9ff5856192ca94b6cf  gcc/testsuite/gcc.dg/torture/pr55890-2.c
+85174b50f661b9b6000ca2376d1431d6  gcc/testsuite/gcc.dg/torture/pr55890-3.c
+3a5bd344f4404e8fcf09d3f6d83c65df  gcc/testsuite/gcc.dg/torture/pr56443.c
+f6f4283ed4138dc84981c28ce60dbdf4  gcc/testsuite/gcc.dg/torture/pr56488.c
+ac0ffcc6314c4343db0c42d44dd92b0a  gcc/testsuite/gcc.dg/torture/pr56501.c
 c99c3745eca0ddc81822cc070070a4d3  gcc/testsuite/gcc.dg/torture/pr8081.c
 c0c42b9676c7d073a1a75c33203020b3  gcc/testsuite/gcc.dg/torture/pta-callused-1.c
 163730ae6cbf4741fe6f9cc24a044505  gcc/testsuite/gcc.dg/torture/pta-escape-1.c
@@ -25815,7 +25945,7 @@ ff1eec1a83e39b314f3df7617708c499  gcc/testsuite/gcc.dg/tree-ssa/pr44306.c
 00329c24f9cfd42d92bc9e79660b869a  gcc/testsuite/gcc.dg/tree-ssa/pr44423.c
 bb0b47f2c9661cb2634cf2fd425b6616  gcc/testsuite/gcc.dg/tree-ssa/pr44483.c
 996d2f8f49897938d438d87b012ec59c  gcc/testsuite/gcc.dg/tree-ssa/pr45122.c
-5d9045154b680bfba95e722dfccb2515  gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
+fe3e8e864bf09ba5c68234342f4050f1  gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
 f885fef5538a292eea7a2458ff131967  gcc/testsuite/gcc.dg/tree-ssa/pr45427.c
 d903114b6b4fac472a9af2c9abc3de00  gcc/testsuite/gcc.dg/tree-ssa/pr46076.c
 2588c433f7d2bfb56a998522a8bb63e4  gcc/testsuite/gcc.dg/tree-ssa/pr47286.c
@@ -25888,6 +26018,7 @@ e5e97c0f69ede4ce6eb00e0015bba2e9  gcc/testsuite/gcc.dg/tree-ssa/sra-1.c
 970b188b6d6653df3e27f039556346d8  gcc/testsuite/gcc.dg/tree-ssa/sra-10.c
 5863161081b54d5d81e94482e3bab46f  gcc/testsuite/gcc.dg/tree-ssa/sra-11.c
 47c33eb9862bcce6843528dfb4afe440  gcc/testsuite/gcc.dg/tree-ssa/sra-12.c
+bca2e69a3559947b8adfd720522a5e50  gcc/testsuite/gcc.dg/tree-ssa/sra-13.c
 d232f1a4ebb396979ccca3679253af74  gcc/testsuite/gcc.dg/tree-ssa/sra-2.c
 ddbf8f4bb31301fcdc5ffb09552298ad  gcc/testsuite/gcc.dg/tree-ssa/sra-3.c
 cdb9b4fd689cfe48d2cda05df329e7d6  gcc/testsuite/gcc.dg/tree-ssa/sra-4.c
@@ -26025,7 +26156,7 @@ b0e9e9c4ea845e24e13b47a8a5de0bca  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-25.c
 82aa2b1b0e39b2beb0deef71bbb66bce  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-28.c
 347e61714c1c77694f36c4b4df2f74bf  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-3.c
 c8862cc7a2cd920ec065d87bbb20c38b  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c
-c64d2f1af55d496b1cd815bad4a6a96a  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c
+578ffed0f89bc36add3816f1967e1d8a  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c
 e7506cec7e63ed7b88e688a124a9386c  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c
 95b958a144e82a1515065251715f0382  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-7.c
 700ddc036d3fd8248755d48119bff905  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-8.c
@@ -26408,8 +26539,9 @@ f635ce50d609d3d1fcd360b1e1e697f0  gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86
 df762a68622afeb14f34dcd96b098581  gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c
 87ad347d19dcc27d1f1195694f70207a  gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-1.c
 52ca546fba0ee4d6766739da793ff5cb  gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-2.c
+2eac0ea0cff1e4d49df1d0df9df1585f  gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c
 0b3db748b520f02cf72b983208db6209  gcc/testsuite/gcc.dg/vect/fast-math-ifcvt-1.c
-9d98233acb918a1f99c73965f6bee3e0  gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c
+eb8be81f1fdb0ea07b7af2591d1ad4f7  gcc/testsuite/gcc.dg/vect/fast-math-pr35982.c
 f1ca9fac2ff63eb89bad0c48ab6a1912  gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c
 58b95b87a6abd3cff8659b399aa95cb0  gcc/testsuite/gcc.dg/vect/fast-math-pr44152.c
 7dfbbe8ed66a50c9c6b590392589115b  gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c
@@ -26494,10 +26626,10 @@ a371184299f36b230cb84dfdb73b643f  gcc/testsuite/gcc.dg/vect/no-tree-dom-vect-bug
 604e025ea01ad4593566f7478888bca7  gcc/testsuite/gcc.dg/vect/no-tree-reassoc-bb-slp-12.c
 c739cd73373958a93f5050d578758e35  gcc/testsuite/gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c
 0d5b6b3a6eee3e2796be408ad767cc44  gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c
-ecf73f33066311a75a8285ecc48d291c  gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c
-c893a51f6d44efe639487670a35f1465  gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c
-e35b050d7cd08b4e1d96f53c7a8984e3  gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c
-8aba1f8fbc69a846d9a9a304e9012468  gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c
+4399acff81e394cd654bcf8bf9668cc1  gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c
+9e75279f6fe8373e63aadd6ff2695aa4  gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c
+a83dab740468602e0ced0c910cc2ed65  gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c
+93f8086885a3c988c8277d0ff33228a5  gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c
 da8f9d1352bd594ff95f4c59d816d8f2  gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
 77831a5d6c9a77d22d79dcbbf673628f  gcc/testsuite/gcc.dg/vect/no-vfa-vect-45.c
 3e4dd35557b6466865180ff7a2e9e128  gcc/testsuite/gcc.dg/vect/no-vfa-vect-49.c
@@ -26505,7 +26637,7 @@ da8f9d1352bd594ff95f4c59d816d8f2  gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
 f032d39dfb8b84defd3bfe969ad0bf84  gcc/testsuite/gcc.dg/vect/no-vfa-vect-53.c
 e539da5cf55efba4e29eb3feb6590ebe  gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
 f01fdf4d0edde3a2f180818c91750cb0  gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
-07637d529ea96d0dea9a1bb7b57c6973  gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c
+6e039096b87c453ffa52c4f6b70d1db3  gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c
 fb97cef6eb6c880e384aa1913c2a1fa3  gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
 d74cf2f8d53856d546856dcdd75cc90c  gcc/testsuite/gcc.dg/vect/no-vfa-vect-dv-2.c
 ac90ad8f4383592387ff86cb8dbd78ce  gcc/testsuite/gcc.dg/vect/nodump-pr23073.c
@@ -26614,7 +26746,7 @@ bec4aaa896441853f4e290899822d526  gcc/testsuite/gcc.dg/vect/pr51074.c
 df6ffa399d00953ab55c706bd9bd14cf  gcc/testsuite/gcc.dg/vect/pr51590.c
 6d1a9432c10b26548d10b1e26405623e  gcc/testsuite/gcc.dg/vect/pr51799.c
 4faeaa534080a740ecf2055f91f82fcd  gcc/testsuite/gcc.dg/vect/pr52091.c
-dcdc65ba5af23430f9db829b484931d7  gcc/testsuite/gcc.dg/vect/pr52298.c
+4946ec14e5484e685747485a1acdde7a  gcc/testsuite/gcc.dg/vect/pr52298.c
 f96f88dacdce761d8a6470d4f1d06ba1  gcc/testsuite/gcc.dg/vect/pr52870.c
 0706a6b1e589668022cd055b960dd18d  gcc/testsuite/gcc.dg/vect/section-anchors-pr27770.c
 260e2f31b30dda89387f41e7bfe71e1e  gcc/testsuite/gcc.dg/vect/section-anchors-vect-69.c
@@ -26654,6 +26786,7 @@ f0b93decfbf2ca9160b2a6b0fdd23511  gcc/testsuite/gcc.dg/vect/slp-34.c
 509378e2702076148b9f6df5d245ab89  gcc/testsuite/gcc.dg/vect/slp-35.c
 9d8475538f2aed5d33ba9f40d285db2b  gcc/testsuite/gcc.dg/vect/slp-36.c
 33e455751ec22a0b2a49ea0c314e0712  gcc/testsuite/gcc.dg/vect/slp-37.c
+da82f0bc4a4b4cbe2df21c737bb36c04  gcc/testsuite/gcc.dg/vect/slp-38.c
 318211fdbdc79d21abb27bebeebddcd1  gcc/testsuite/gcc.dg/vect/slp-4-big-array.c
 8544f853ed10907160850817d2a4bdf3  gcc/testsuite/gcc.dg/vect/slp-4.c
 59c6914bc1c3dfd5c312dd74657eb3ed  gcc/testsuite/gcc.dg/vect/slp-5.c
@@ -26707,7 +26840,7 @@ c2b0c8d79cf2703c9b3bc2809a51ee15  gcc/testsuite/gcc.dg/vect/vect-1-big-array.c
 ccfabff16ec199cc406a954b158029a9  gcc/testsuite/gcc.dg/vect/vect-10.c
 ab1691aa2950b5b4da0efe00f7b6e406  gcc/testsuite/gcc.dg/vect/vect-100.c
 c3fcf9a10231d46a4e6112db282966e1  gcc/testsuite/gcc.dg/vect/vect-103.c
-755f1a2a993e43a6a137929ae6155282  gcc/testsuite/gcc.dg/vect/vect-104.c
+718b02aabe2e20b8ce18e48f023908b6  gcc/testsuite/gcc.dg/vect/vect-104.c
 31325183642bc3602fc0ee8fc4c310dd  gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
 98b0324b4598be08b8ca2d2e13bb47ac  gcc/testsuite/gcc.dg/vect/vect-105.c
 7eca3e2ff630baa7067aaa896b5355e6  gcc/testsuite/gcc.dg/vect/vect-106.c
@@ -26914,25 +27047,25 @@ e8b220f0c95daad8dacc3b6d4f889d52  gcc/testsuite/gcc.dg/vect/vect-multitypes-9.c
 9137104c3e2afdc9877325ae31351e87  gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
 faae222e91c0cbb174c18c89ad4ecc01  gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
 95a8cefe6a9c54b6943ff139658ecc2d  gcc/testsuite/gcc.dg/vect/vect-nest-cycle-3.c
-6e394b036f3b2863a058aa31bd3ff944  gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c
-450085120f9e4d759d42138760aa9505  gcc/testsuite/gcc.dg/vect/vect-outer-1.c
-7ee55b70d1e37c45793724a180ac3b80  gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c
-ef4c4446b06ebc879683647168569af7  gcc/testsuite/gcc.dg/vect/vect-outer-1a.c
-b4b34352b2bd8e6da1af831d3e971b32  gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c
-725c24d3405d23851a569cd9c88e8161  gcc/testsuite/gcc.dg/vect/vect-outer-1b.c
+9c098d1269348285335967e3caf79f85  gcc/testsuite/gcc.dg/vect/vect-outer-1-big-array.c
+2017f1ad41516c94ff0dd00bc1dab1ba  gcc/testsuite/gcc.dg/vect/vect-outer-1.c
+da30267c1eacffa92a341250ccec734e  gcc/testsuite/gcc.dg/vect/vect-outer-1a-big-array.c
+81ef9a3662a39ab5edf1f31ff9b74be5  gcc/testsuite/gcc.dg/vect/vect-outer-1a.c
+f5c8ee3081ba5d98f97bbdad8de230d1  gcc/testsuite/gcc.dg/vect/vect-outer-1b-big-array.c
+65cd47b9e6b1b7b38ec6fe3e8d08225d  gcc/testsuite/gcc.dg/vect/vect-outer-1b.c
 3621b8fb5f9d1526308f281586c93c07  gcc/testsuite/gcc.dg/vect/vect-outer-2-big-array.c
 ce305312780efcbe4d46dcade048aba9  gcc/testsuite/gcc.dg/vect/vect-outer-2.c
 6f0cee209095cac0055955ac81926fea  gcc/testsuite/gcc.dg/vect/vect-outer-2a-big-array.c
 2b2289550038e1e9516a72956f1308c0  gcc/testsuite/gcc.dg/vect/vect-outer-2a.c
-3dbc2a6711357cccf632a815b9ca7309  gcc/testsuite/gcc.dg/vect/vect-outer-2b.c
+cfa50b51a295a2d44b4cdba1c64870c9  gcc/testsuite/gcc.dg/vect/vect-outer-2b.c
 4482af9f54847e062424727f7c70c7a0  gcc/testsuite/gcc.dg/vect/vect-outer-2c-big-array.c
 ac6efeb6b676637236e01af1a21eab09  gcc/testsuite/gcc.dg/vect/vect-outer-2c.c
 b52a4652c504d8dc362cb0b679bb6420  gcc/testsuite/gcc.dg/vect/vect-outer-2d.c
 aada790b34a72cc08856db6f96cebd92  gcc/testsuite/gcc.dg/vect/vect-outer-3-big-array.c
 4b82c65890fec9a7d315a475ae884ea8  gcc/testsuite/gcc.dg/vect/vect-outer-3.c
-24a5f73c0d0a65a5dea6bd43341e0536  gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
-88069239a39fae5dafe82e1a8dece1fb  gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
-c1b9e43e7909ae086ea8abd6cac19c31  gcc/testsuite/gcc.dg/vect/vect-outer-3b.c
+5cf1c456f4d9de333ad8439ebed5e52a  gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
+7b8271de20d20dda6df278adf72d95bb  gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
+a421931a03044541412d39c7f72f5595  gcc/testsuite/gcc.dg/vect/vect-outer-3b.c
 7d948e2b23d837e15f04b51ec0f4f497  gcc/testsuite/gcc.dg/vect/vect-outer-3c.c
 5d28b0a722b29bfcc811849fffcaaa94  gcc/testsuite/gcc.dg/vect/vect-outer-4.c
 6ea0d67049e043e36163720dd9491365  gcc/testsuite/gcc.dg/vect/vect-outer-4a-big-array.c
@@ -26989,7 +27122,7 @@ d73fec50ac5698fd913b4a29e14ba4bc  gcc/testsuite/gcc.dg/vect/vect-reduc-7.c
 8c3259f8b17a119523a73af79ed124c7  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c
 31d64bf0d69cf0fdfbc55d18ffefc1cc  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16b.c
 71487d27a59a50198904f7e7c5e6b58d  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c
-7828efb9a204e4e6eb46de6bcf5492fd  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
+e1ed2ec1aa5b24489a94b72731fd21d4  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
 e46d12b75bba38cedf6769a50ddd0131  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8c.c
 6dceb03a84558603e0b152d857f20f4b  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c
 33a5afaa3bb369f4883247e4908a124f  gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c
@@ -27333,7 +27466,7 @@ a11bded9860644075434da1f07b7f1bf  gcc/testsuite/gcc.misc-tests/dhry.c
 44d73a2d21081bbe1b4c64084331ec77  gcc/testsuite/gcc.misc-tests/gcov-10.c
 c400cc0e03e4317110d582fdba04ace0  gcc/testsuite/gcc.misc-tests/gcov-10b.c
 0c8ac613f2d2a35706fd7c8b7b16a1a9  gcc/testsuite/gcc.misc-tests/gcov-11.c
-6fd42501bd82a084e70aa00b805b02bc  gcc/testsuite/gcc.misc-tests/gcov-12.c
+eee8f00567cf54ebbed65a4f71c7d314  gcc/testsuite/gcc.misc-tests/gcov-12.c
 3f2a7536f8ff25d5d670f52c16bc2df9  gcc/testsuite/gcc.misc-tests/gcov-13.c
 241f5855e663c8e0f14cb579dc5ce1e3  gcc/testsuite/gcc.misc-tests/gcov-14.c
 a7fcf55fbb07ad31be551305d543313e  gcc/testsuite/gcc.misc-tests/gcov-15.c
@@ -27420,13 +27553,13 @@ fbe7e041d12882d40c51e851baf44c42  gcc/testsuite/gcc.target/arm/aapcs/vfp6.c
 3f1452d0e88896c4ffd1200411e6c5a6  gcc/testsuite/gcc.target/arm/aapcs/vfp7.c
 ab4e2e477f84bd17d2d56326be2fabd7  gcc/testsuite/gcc.target/arm/aapcs/vfp8.c
 42e8801b673b7ff33799b45a842ca719  gcc/testsuite/gcc.target/arm/aapcs/vfp9.c
-696b806f04ba250a5c2224e1e8c397b1  gcc/testsuite/gcc.target/arm/arm.exp
+ca5df304c12aa89631e3db66ad0e3284  gcc/testsuite/gcc.target/arm/arm.exp
 3c2cfbc0cc70901d1869bf605a1c1bad  gcc/testsuite/gcc.target/arm/asm.c
 78f9bef0e50a143219120e7b5b4af7b9  gcc/testsuite/gcc.target/arm/cmp-1.c
 3657ba6801115cd6d9599800dcd1f039  gcc/testsuite/gcc.target/arm/cmp-2.c
 e7a6ee2ec1c3114026b61611ebe1c9cf  gcc/testsuite/gcc.target/arm/cold-lc.c
 a584e2c054692af37faeadd1f461800b  gcc/testsuite/gcc.target/arm/combine-cmp-shift.c
-3252ae303a56fc43167d96cfba3bd913  gcc/testsuite/gcc.target/arm/combine-movs.c
+a876bac7b60292c02443bb6632af81be  gcc/testsuite/gcc.target/arm/combine-movs.c
 257aa0b2b8891d05f782af1a15b2ed25  gcc/testsuite/gcc.target/arm/cond-asm.c
 04180c39197ac7213180f12bdd3f5a76  gcc/testsuite/gcc.target/arm/ctz.c
 6b0bc0a8db3a0734d170609e2e465859  gcc/testsuite/gcc.target/arm/di-longlong64-sync-withhelpers.c
@@ -27531,7 +27664,7 @@ dd029293aacaccf4dfe39297ab28f7f4  gcc/testsuite/gcc.target/arm/neon-vmov_ns64.c
 3db13d875e9f4f2948362ecc55badc6d  gcc/testsuite/gcc.target/arm/neon-vorru64.c
 3d52ad60d851e0db251638de3d043e75  gcc/testsuite/gcc.target/arm/neon-vrev.c
 81e6e8046389b00a84fee3ce11336a95  gcc/testsuite/gcc.target/arm/neon-vset_lanes64.c
-efc98aa2644c195a9873f978991a838b  gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c
+c78cab17a307f056c24fa21866b603db  gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c
 e708aa681f3e55470ead1e228613a15b  gcc/testsuite/gcc.target/arm/neon-vset_laneu64.c
 1d5bff7b191f95b2691e26461cc28e4a  gcc/testsuite/gcc.target/arm/neon-vshl-imm-1.c
 179e098321b70c5c49ca58809fc8fb9c  gcc/testsuite/gcc.target/arm/neon-vshr-imm-1.c
@@ -29436,7 +29569,7 @@ d96ab3a7541cb1af451c40e46c3fd1c3  gcc/testsuite/gcc.target/arm/pr40956.c
 35f183140587e3f369270104ce84ef7e  gcc/testsuite/gcc.target/arm/pr42574.c
 68cfcb6d377c1af0682abe4d921b3298  gcc/testsuite/gcc.target/arm/pr42575.c
 40f9b398c73a3bac649e8852b015f33d  gcc/testsuite/gcc.target/arm/pr42835.c
-2d7e1b541ca1bfd0750361e032e3ffd3  gcc/testsuite/gcc.target/arm/pr42879.c
+d8b987b87850e95ff360d2e9cb8b68e7  gcc/testsuite/gcc.target/arm/pr42879.c
 8dc5ba1f369b2c8434ddba2b57f99669  gcc/testsuite/gcc.target/arm/pr43137.c
 d10f69541a3f115948e40475b1e9baff  gcc/testsuite/gcc.target/arm/pr43597.c
 5971de33705baad7de129e0147920c3b  gcc/testsuite/gcc.target/arm/pr43698.c
@@ -29459,13 +29592,14 @@ ec5b96b8283a62c791f40ad2c7334d85  gcc/testsuite/gcc.target/arm/pr49641.c
 1b0c11d109e5c1c7dd206ab3c72d6e20  gcc/testsuite/gcc.target/arm/pr50099.c
 09333e2679d051041e8e33c603eb8b26  gcc/testsuite/gcc.target/arm/pr50305.c
 56f6a14f83542b80f99ff0294c46fa66  gcc/testsuite/gcc.target/arm/pr50318-1.c
-f0539a732def6859af7cc0e2116b7217  gcc/testsuite/gcc.target/arm/pr51835.c
-526883065ee3a913b3b279c8c395292a  gcc/testsuite/gcc.target/arm/pr51915.c
+3bae3e1359851216650f4daeb7205d10  gcc/testsuite/gcc.target/arm/pr51835.c
+b52ff3dcde5cc31956f225bb4ebfa80b  gcc/testsuite/gcc.target/arm/pr51915.c
 38cdf222772374637d633af8ae3b67b1  gcc/testsuite/gcc.target/arm/pr51968.c
-d2ee6af6de390e0980ae197e532d7cb6  gcc/testsuite/gcc.target/arm/pr52006.c
+90397c78033829e3e82c1c87a372917b  gcc/testsuite/gcc.target/arm/pr52006.c
 522c729f0ead031dcc62b39370120c18  gcc/testsuite/gcc.target/arm/pr52375.c
 de6431d80bdeb202e278026554164376  gcc/testsuite/gcc.target/arm/pr52633.c
-755195db0388a1218f9e6eab94335c05  gcc/testsuite/gcc.target/arm/pr53187.c
+d8c2b3438057bd37308e16b1228b0738  gcc/testsuite/gcc.target/arm/pr53187.c
+144c19487bb0a02183a211f107af4c26  gcc/testsuite/gcc.target/arm/pr54892.c
 3143560976572191d8bba6ba78a45aa6  gcc/testsuite/gcc.target/arm/register-variables.c
 8ad9146d832ee4875783406d1578ca80  gcc/testsuite/gcc.target/arm/scd42-1.c
 51d048052e528d51adf660bb64ab1012  gcc/testsuite/gcc.target/arm/scd42-2.c
@@ -29485,12 +29619,13 @@ a2a9b9135252a63f30ae15393ececf8f  gcc/testsuite/gcc.target/arm/symbian2.c
 6348d8c419a160922fcdffc252546f1f  gcc/testsuite/gcc.target/arm/symbian4.c
 a7b483d7dfa030106153baa28a7406da  gcc/testsuite/gcc.target/arm/symbian5.c
 44913c21da8c6dac3b61fbfbc5ff338c  gcc/testsuite/gcc.target/arm/sync-1.c
-17c597bce8eec6cce664e8773b4c86b8  gcc/testsuite/gcc.target/arm/synchronize.c
+4c5c3a2d93e7cd5712464268464baa27  gcc/testsuite/gcc.target/arm/synchronize.c
 64204a9e3abf4b73643855cd6cef610b  gcc/testsuite/gcc.target/arm/thumb-andsi.c
 d1191e8eb5b6cfb2cb0a2ab890aa92f4  gcc/testsuite/gcc.target/arm/thumb-bitfld1.c
 1e0fba039881392b8dd2d6ac4b56c1fa  gcc/testsuite/gcc.target/arm/thumb-branch1.c
 fa8824142027cca33b035ec77b447fda  gcc/testsuite/gcc.target/arm/thumb-cbranchqi.c
 2d0bc35ade3e15961ecee08d9919703d  gcc/testsuite/gcc.target/arm/thumb-comparisons.c
+c0d093a1e77e17f4b29f6d2be56fefa7  gcc/testsuite/gcc.target/arm/thumb-find-work-register.c
 903cc66b84907ea3367f74ea1d9d97f9  gcc/testsuite/gcc.target/arm/thumb-ltu.c
 7184e928dc61e9e887edd32b11343712  gcc/testsuite/gcc.target/arm/thumb-stackframe.c
 32f5855db5242a89b54d8bce82ade4ec  gcc/testsuite/gcc.target/arm/thumb1-mul-moves.c
@@ -29513,7 +29648,7 @@ bdd3a0dd9f0c4286036efac7a3dbaeca  gcc/testsuite/gcc.target/arm/unaligned-memcpy-
 792ed1b17debeba6722da1145bb37842  gcc/testsuite/gcc.target/arm/unaligned-memcpy-2.c
 bb227f830a4d69bba2990ac30e902711  gcc/testsuite/gcc.target/arm/unaligned-memcpy-3.c
 c5da864a521ac5289c46d6f95cd09083  gcc/testsuite/gcc.target/arm/unaligned-memcpy-4.c
-f533e064effca217477a0e960bece472  gcc/testsuite/gcc.target/arm/unsigned-extend-1.c
+d51794c8e800a1494a43aad0663fc8ec  gcc/testsuite/gcc.target/arm/unsigned-extend-1.c
 9399bb78f7dba6f2493b20bc4c9051ab  gcc/testsuite/gcc.target/arm/unsigned-extend-2.c
 dd7bfde900d68546e1d3dd468f37370b  gcc/testsuite/gcc.target/arm/va_list.c
 a786c2e8d15493dc29cc5fef6a3206ff  gcc/testsuite/gcc.target/arm/vfp-1.c
@@ -30871,17 +31006,17 @@ f1d81bb2aa29430ffc97c28299b0ff19  gcc/testsuite/gcc.target/i386/avx2-vpunpcklqdq
 9248b5a45ef16a214bee776d65455f9f  gcc/testsuite/gcc.target/i386/avx2-vpxor-1.c
 7f0e9e79d91783e5e1dbe2af3fa7684d  gcc/testsuite/gcc.target/i386/avx2-vpxor-2.c
 bbe8f565a096f607db5869dc65e6878c  gcc/testsuite/gcc.target/i386/avx2-vshift-1.c
-1528ac38838be5fee9f9bd42918dcbca  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
-8727a3ce58b7bb7d08f503d4baa18c0a  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
-a31b77327c0e529fa04bb3b18b1fb759  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
-9c00fe14ed4b9e7014af49d7973a2758  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
+f2e4f19978d49dac487b6d011f0b996f  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
+e7c443df9baeba9ea459076c63292431  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
+50c1948f3215f2a03687663b1521c80a  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
+8c7f02404b83deb8aa7e854e9808e1c2  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
 ac1c6f23df451df8715f98348ab41e7b  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c
 010f15340b233494003927d058cdde0e  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c
 7b8f83fca0df11b1009d237db927554a  gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c
-fa17546a703f054879b26eb59d1571cd  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
-77b44dd72ba12f982cb8f8d3c112bb86  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
-8939db73c32dda63ea5148bf1dc172e0  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
-f3c4b35a06230256672a2addd9ca4961  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
+973c7593732422be823cbf2ee18ea1e5  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
+e75c5751efcea1aeb6cb2a2af8fe6a24  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
+91168687ef73544d3d0a02ad927aac9c  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
+2de17ef5c57d509068940ede9bd678d9  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
 851dac1c7dd73efe6b05026da917342d  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c
 3f5fa6be90bc7c0bb2fc93906c9940b3  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c
 f0c850249eea85c390dbf0ff3c3379db  gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c
@@ -30977,6 +31112,7 @@ a10441579d2b177bca2939688f1d171f  gcc/testsuite/gcc.target/i386/cadd.c
 23b2a9c534988bae4d3d9b6eb90cec09  gcc/testsuite/gcc.target/i386/cleanup-1.c
 4b6997eef25c42383324aa984b9b8791  gcc/testsuite/gcc.target/i386/cleanup-2.c
 e0242c2120b4d7e26149885baf8fd877  gcc/testsuite/gcc.target/i386/clearcap.map
+49b2c5d20796b3d7cb793898b4398535  gcc/testsuite/gcc.target/i386/clearcapv2.map
 d4153e1bcf8bc5c311eaf09c93c16d08  gcc/testsuite/gcc.target/i386/clobbers.c
 538ab6e8a06c514c724312c46aa4c439  gcc/testsuite/gcc.target/i386/cmov1.c
 86cfb515b99e6eea4c48ca1ca4343c48  gcc/testsuite/gcc.target/i386/cmov2.c
@@ -31129,7 +31265,7 @@ f6442d56c0be3801ca2498ff8fc8aaf4  gcc/testsuite/gcc.target/i386/funcspec-2.c
 6f17cbaf57ab6e529e232dfeac552f43  gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-4.c
 583417a67b340c0c811a266dade5f2e2  gcc/testsuite/gcc.target/i386/headmerge-1.c
 3a0b9990af8f8f4258fdf5b9e4694f1e  gcc/testsuite/gcc.target/i386/headmerge-2.c
-dd5d9e78742457aa0bdf6de339b1f924  gcc/testsuite/gcc.target/i386/i386.exp
+4e114817b3aba804e186204a99b1e638  gcc/testsuite/gcc.target/i386/i386.exp
 9297a14fbd7afbb7a54da828065b0a99  gcc/testsuite/gcc.target/i386/ifcvt-onecmpl-abs-1.c
 05bb360a025eed6dd019b28ad5032c23  gcc/testsuite/gcc.target/i386/incoming-1.c
 30c8911db239e062da8363b8dcb7aa44  gcc/testsuite/gcc.target/i386/incoming-10.c
@@ -31246,6 +31382,7 @@ ae6730a7d536bb012c657f60f9beedda  gcc/testsuite/gcc.target/i386/movbe-2.c
 0d20bce1f8d326eae5b8360ae189013a  gcc/testsuite/gcc.target/i386/movdi-rex64.c
 d4c716e20ab6e64d6bb29cc63dd65677  gcc/testsuite/gcc.target/i386/movq-2.c
 d7e128da4dee8caf6cd8d400af12d230  gcc/testsuite/gcc.target/i386/movq.c
+347dca8d249a46ac2f5892d9ffdc0337  gcc/testsuite/gcc.target/i386/movsd.c
 bb0703a0cfe126aeba12e7589d46db56  gcc/testsuite/gcc.target/i386/movsi-sm-1.c
 f3b09be597872ff56a816e7108198cc2  gcc/testsuite/gcc.target/i386/movti.c
 8eb0888c65213c6a136f005c9b089501  gcc/testsuite/gcc.target/i386/ms_hook_prologue.c
@@ -31598,6 +31735,12 @@ f690a14b83beca2838adf0ade3c944fd  gcc/testsuite/gcc.target/i386/pr53366-1.c
 6fd545a2f653fba6935efa7e1eb56ff6  gcc/testsuite/gcc.target/i386/pr53416.c
 2df437fec415935ae646c417072d95ab  gcc/testsuite/gcc.target/i386/pr53759.c
 ea11986dea07c4befaa403beb0b828d8  gcc/testsuite/gcc.target/i386/pr54157.c
+c502c143bfe08e286784446e3a530233  gcc/testsuite/gcc.target/i386/pr54703.c
+da6bcaa8782040e1e3737a1f3fe08fc1  gcc/testsuite/gcc.target/i386/pr55142-1.c
+3c206f6e58b309be96cb7b400c33d968  gcc/testsuite/gcc.target/i386/pr55142-2.c
+f54406bf0f978be7af83e49ae9b7755a  gcc/testsuite/gcc.target/i386/pr55597.c
+9fbcbb7746e6b5b2e4bd43669c5c7b8b  gcc/testsuite/gcc.target/i386/pr56028.c
+3111de20bdd1ba9007fc6ea6331f6b09  gcc/testsuite/gcc.target/i386/pr56560.c
 bbfa334a0bc4402cca428e4d748bf58a  gcc/testsuite/gcc.target/i386/pr9771-1.c
 267203167ae369a7a0f5d3c309117f35  gcc/testsuite/gcc.target/i386/quad-sse.c
 f5672f5c8f5bc6c8c4ec453cac0d4b2e  gcc/testsuite/gcc.target/i386/rdfsbase-1.c
@@ -33041,7 +33184,7 @@ c8452f11fe0ec83344a4b66dd6233899  gcc/testsuite/gcc.target/powerpc/vsx-builtin-5
 81e53b09bdc627407a08d999ca632e3d  gcc/testsuite/gcc.target/powerpc/vsx-builtin-6.c
 1d9ec8a5dc8e8e7e6408117fba81674a  gcc/testsuite/gcc.target/powerpc/vsx-builtin-7.c
 63e8203dc85e49fc45c96ef2004091b1  gcc/testsuite/gcc.target/powerpc/vsx-builtin-8.c
-4b736053189e826bf489721fb77b6d80  gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c
+9c9ae01c437278fca0db913fec71160b  gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c
 615f7fbdd9588002f8ad27098ed40b53  gcc/testsuite/gcc.target/powerpc/vsx-sfminmax.c
 b0c1d7dea1b59b73016c5b62e9c82ff6  gcc/testsuite/gcc.target/powerpc/vsx-vector-1.c
 9247b73d9b0ae4d8fef80eeeaac9daba  gcc/testsuite/gcc.target/powerpc/vsx-vector-2.c
@@ -33059,6 +33202,7 @@ ba99d1fa347eab90fc2786b1342e1621  gcc/testsuite/gcc.target/powerpc/vsx-vectorize
 f15dbc7b32cf8e8a1f10d9bb963795b6  gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
 74493cad6300a9fee5c1697cf78ef2d7  gcc/testsuite/gcc.target/powerpc/warn-1.c
 39a87b801be006af260d1976b5476c11  gcc/testsuite/gcc.target/powerpc/warn-2.c
+15567e4a83e12eadb13af797331618f3  gcc/testsuite/gcc.target/pr55981.c
 6ba0b7e07e16a4031ee2fb35544f6981  gcc/testsuite/gcc.target/rx/builtins.c
 327e909c4263a2282a27e2e41d1835af  gcc/testsuite/gcc.target/rx/i272091.c
 150c9e23ee6b580f3ffde8cd62afd908  gcc/testsuite/gcc.target/rx/interrupts.c
@@ -33101,6 +33245,11 @@ c629dd4f025239ae6c8d4b84024b13aa  gcc/testsuite/gcc.target/sh/20080410-1.c
 5911dbde04a8e87e622e5e8ae38eb14a  gcc/testsuite/gcc.target/sh/pr43417.c
 3ae1d71b1f5acbbbe0db444462477a2d  gcc/testsuite/gcc.target/sh/pr49263.c
 deb671c05c927abf9fdb2c64b464a66a  gcc/testsuite/gcc.target/sh/pr49468-si.c
+c7383d0b72f40b2c665ab57c4487b721  gcc/testsuite/gcc.target/sh/pr49880-1.c
+aac1ff33c4c0d3b0ede4e1eb91b9b453  gcc/testsuite/gcc.target/sh/pr49880-2.c
+3bcc1e34a46dbd55284efe4517337dbb  gcc/testsuite/gcc.target/sh/pr49880-3.c
+68cd3f52bf5a1f75d0979a0f41ca7816  gcc/testsuite/gcc.target/sh/pr49880-4.c
+41d3d8dd5168ca6b65b2ccdda3982a01  gcc/testsuite/gcc.target/sh/pr49880-5.c
 4e2e0d723045d4e05e55616734e675f5  gcc/testsuite/gcc.target/sh/rte-delay-slot.c
 dadf2783f39a6e7573222cafcc2dee03  gcc/testsuite/gcc.target/sh/sh-relax-vxworks.c
 e21f6ad0f71c5acbd58d0b5dc9016512  gcc/testsuite/gcc.target/sh/sh-relax.c
@@ -33766,6 +33915,7 @@ a23833047aaf1e0f01cb61df77184fa9  gcc/testsuite/gfortran.dg/allocate_derived_5.f
 6afacc0454383443e609022b1a7fca39  gcc/testsuite/gfortran.dg/allocate_error_1.f90
 25b2bea765ebf56779e032ecc6218872  gcc/testsuite/gfortran.dg/allocate_error_2.f90
 f82795c799ca353989b767d7ea2af8bf  gcc/testsuite/gfortran.dg/allocate_error_3.f90
+b985d75d4d77d7f24d29efbb0266b7c1  gcc/testsuite/gfortran.dg/allocate_error_4.f90
 fb64bc7d356ec60804fbf43d60862c56  gcc/testsuite/gfortran.dg/allocate_scalar_with_shape.f90
 ffc5999b822756d0d5d7b1d585aaebfb  gcc/testsuite/gfortran.dg/allocate_stat.f90
 253a002731f9a4dd5588b787f6b8b83c  gcc/testsuite/gfortran.dg/allocate_stat_2.f90
@@ -34096,6 +34246,7 @@ ab4a9f5d0daf8ea269db422cfed7f8f1  gcc/testsuite/gfortran.dg/bit_comparison_1.F90
 5b17cb9bc3772630e87b26675951b730  gcc/testsuite/gfortran.dg/bit_comparison_2.F90
 114d383322b8eef014cbde7ca48cce15  gcc/testsuite/gfortran.dg/block_1.f08
 922ce3d61b02084ff2b09d1bc3cf2d0b  gcc/testsuite/gfortran.dg/block_10.f90
+f51770c9e128c7de21f5a23197bdf0c7  gcc/testsuite/gfortran.dg/block_12.f90
 b19bfa84e144a7da87afbb9cdb54d34d  gcc/testsuite/gfortran.dg/block_2.f08
 c20765c7d7a394e2f5b7ef52556e7d8a  gcc/testsuite/gfortran.dg/block_3.f90
 9aedc90117c617edc5005f1325a84322  gcc/testsuite/gfortran.dg/block_4.f08
@@ -34412,6 +34563,8 @@ f48ec514d36af5da4cd7d2ecaf2fecdb  gcc/testsuite/gfortran.dg/class_4a.f03
 1cdeff264ab42a18e9a62a8240bb6081  gcc/testsuite/gfortran.dg/class_4b.f03
 bb65b6122bafd81272971aff29ddfdc1  gcc/testsuite/gfortran.dg/class_4c.f03
 d308d5de93a6d9cb099ca89c5d22101b  gcc/testsuite/gfortran.dg/class_5.f03
+da95c5400735f4c2f4fc34487feb21f8  gcc/testsuite/gfortran.dg/class_55.f90
+4928b64be4071027d99ec9fcbbeb068b  gcc/testsuite/gfortran.dg/class_56.f90
 58bc4a716942caffe0323c7d0b20a63e  gcc/testsuite/gfortran.dg/class_6.f03
 b25bbfd589b9bcb30de5039e747aaf08  gcc/testsuite/gfortran.dg/class_7.f03
 765b5ae237d318aee8909def266c457e  gcc/testsuite/gfortran.dg/class_8.f03
@@ -34420,6 +34573,7 @@ b25bbfd589b9bcb30de5039e747aaf08  gcc/testsuite/gfortran.dg/class_7.f03
 28cbfe9e0a55f954fa501544c5559e37  gcc/testsuite/gfortran.dg/class_allocate_10.f03
 d047c9fbc8b2ec1571d1c349426865d9  gcc/testsuite/gfortran.dg/class_allocate_11.f03
 fb11df8d56b3bf4c38a8184442350483  gcc/testsuite/gfortran.dg/class_allocate_12.f90
+f6c8b5b50b51f2ab2004f4e6a27e0e8a  gcc/testsuite/gfortran.dg/class_allocate_13.f90
 29fb0e972591bb1c0d18986cfd4000c1  gcc/testsuite/gfortran.dg/class_allocate_2.f03
 429d52f4933a6ef04052e7b8faa6314a  gcc/testsuite/gfortran.dg/class_allocate_3.f03
 d40289e198c5b62af940ac46912169f0  gcc/testsuite/gfortran.dg/class_allocate_4.f03
@@ -34849,6 +35003,7 @@ f965eb5cb8724bb9df7d7088a3022215  gcc/testsuite/gfortran.dg/elemental_optional_a
 66a658e23dcfa569f25acae3bcf54e1c  gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
 77d4b0c108c8d3fe682379657498c06c  gcc/testsuite/gfortran.dg/elemental_result_1.f90
 5e9d7b3f9884bed6e2645e411eb5ff36  gcc/testsuite/gfortran.dg/elemental_scalar_args_1.f90
+15b80e2c0594e1d505af383fb303e298  gcc/testsuite/gfortran.dg/elemental_scalar_args_2.f90
 52d4db70ff02a0704f4af297c8185d39  gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90
 7d9e12da4788e4feb39263a8b935416c  gcc/testsuite/gfortran.dg/elemental_subroutine_2.f90
 e95fff032a08a9fc9c4323c663de82f6  gcc/testsuite/gfortran.dg/elemental_subroutine_3.f90
@@ -34898,7 +35053,7 @@ a5bba0e569178351983183c6eb729108  gcc/testsuite/gfortran.dg/entry_array_specs_2.
 c599b1680d2f488fd6ad59c782c4c43a  gcc/testsuite/gfortran.dg/entry_dummy_ref_3.f90
 de78aeeaad1f81a03574b4b2a40ea5bf  gcc/testsuite/gfortran.dg/enum_1.f90
 04cf22d4d30474efdc2a85b44f31083a  gcc/testsuite/gfortran.dg/enum_10.c
-3010f8c55bc18bbf6ca8a1f43526cd1f  gcc/testsuite/gfortran.dg/enum_10.f90
+1b427d75bf734e425670559d9a470174  gcc/testsuite/gfortran.dg/enum_10.f90
 13a8b034c5b9efc7a97ce7e8e16af9cf  gcc/testsuite/gfortran.dg/enum_2.f90
 f0a73decbbd10901e780b5192ebfadb8  gcc/testsuite/gfortran.dg/enum_3.f90
 fde2950a31cbe78fdcfb79f85f2eb622  gcc/testsuite/gfortran.dg/enum_4.f90
@@ -34906,7 +35061,7 @@ fde2950a31cbe78fdcfb79f85f2eb622  gcc/testsuite/gfortran.dg/enum_4.f90
 6a7bc2a04e4974cd132b48419594b5ad  gcc/testsuite/gfortran.dg/enum_6.f90
 bf00af26b66f4e2c81bccc3378de8a64  gcc/testsuite/gfortran.dg/enum_7.f90
 bedbfa7559dcab9252036586887ef053  gcc/testsuite/gfortran.dg/enum_8.f90
-f60966b61a5c53de9ee729eb4e3f389c  gcc/testsuite/gfortran.dg/enum_9.f90
+ac72c007412ce43ae7b773f72f056296  gcc/testsuite/gfortran.dg/enum_9.f90
 7ab702c0c5c00cd9a2eeea0ee8dacf87  gcc/testsuite/gfortran.dg/eof_1.f90
 015463de1e45aea184a6fc4fa3d85c7b  gcc/testsuite/gfortran.dg/eof_2.f90
 13491ddbf6de8262d5d57552a484c85e  gcc/testsuite/gfortran.dg/eof_3.f90
@@ -35016,6 +35171,7 @@ d6f3f64d5a6dc77e985ad2d5e9428cb2  gcc/testsuite/gfortran.dg/fmt_bz_bn.f
 8918e3d6c72d7872297ddd701c6efca7  gcc/testsuite/gfortran.dg/fmt_bz_bn_err.f
 aa6b6379089423be764a395ed380bf21  gcc/testsuite/gfortran.dg/fmt_cache_1.f
 e697f5c1b7f1072ed01fa9440c3ec58f  gcc/testsuite/gfortran.dg/fmt_cache_2.f
+fea289794657d0339a8bdd13d6de1827  gcc/testsuite/gfortran.dg/fmt_cache_3.f90
 d03bfc790f803c45e2d4540b3b702989  gcc/testsuite/gfortran.dg/fmt_colon.f90
 51f4c68b5c689084070ee71c915fb347  gcc/testsuite/gfortran.dg/fmt_error.f90
 b404b82d240cb1d56b3fdbaced6ebf82  gcc/testsuite/gfortran.dg/fmt_error_10.f
@@ -35416,6 +35572,7 @@ e55a83728b52b20bf008159cae59e4b3  gcc/testsuite/gfortran.dg/gomp/pr47331.f90
 89431f6777941a7387427ae306dabd9e  gcc/testsuite/gfortran.dg/gomp/pr48794-2.f90
 f367132a9ea192e66f847909ff9856ed  gcc/testsuite/gfortran.dg/gomp/pr48794.f90
 f34c2982ae3dab5c27b1c82ed291a71e  gcc/testsuite/gfortran.dg/gomp/pr51089.f90
+e321ec3eb6a878488b42bdb5e70a1821  gcc/testsuite/gfortran.dg/gomp/pr56052.f90
 4a9d10a348ccf5012c673f2637785ba6  gcc/testsuite/gfortran.dg/gomp/reduction1.f90
 02484261b0434dbaf2709c34db58cd4d  gcc/testsuite/gfortran.dg/gomp/reduction2.f90
 cf9706c950168b12fedcd8bec1221dd2  gcc/testsuite/gfortran.dg/gomp/reduction3.f90
@@ -35578,13 +35735,15 @@ a802a06b4238933f25378c3a8d3d2424  gcc/testsuite/gfortran.dg/implicit_pure_2.f90
 f9528d7042bf84bf037d6e2b109272ec  gcc/testsuite/gfortran.dg/implied_shape_2.f90
 1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
 2ea387defaf31a491b27cc8d60735b12  gcc/testsuite/gfortran.dg/import.f90
-f19cf8661fdf746576acf2bee60f0684  gcc/testsuite/gfortran.dg/import2.f90
+ea1b1f8cf0ee787e7d0c693d6c3fc9e2  gcc/testsuite/gfortran.dg/import10.f90
+16022a993227b688a8bfceb5feae8495  gcc/testsuite/gfortran.dg/import11.f90
+bcf8c8a84967c35d64f3c0683f8c41c2  gcc/testsuite/gfortran.dg/import2.f90
 7502ee662ca0c26ef7b3a6547c048936  gcc/testsuite/gfortran.dg/import3.f90
 b85a2cb43bb143d492eb23f6201f7e0c  gcc/testsuite/gfortran.dg/import4.f90
 525eb5c58607a83a634eb9badb0668ac  gcc/testsuite/gfortran.dg/import5.f90
 35ae8583a4685aecb735da1053ed668a  gcc/testsuite/gfortran.dg/import6.f90
 93d50dd33337abdf0779786d7259859d  gcc/testsuite/gfortran.dg/import7.f90
-c3c015d4f1abce5172c6abc8d4c26177  gcc/testsuite/gfortran.dg/import8.f90
+44bbb6e6c531f303f4214f698b76c873  gcc/testsuite/gfortran.dg/import8.f90
 60bf4f30dfbc9ad7a45d13031307f4ed  gcc/testsuite/gfortran.dg/import9.f90
 948185d2fadd735821fd53264801145a  gcc/testsuite/gfortran.dg/impure_1.f08
 badd21063ec677f1cfbd682aa2d80231  gcc/testsuite/gfortran.dg/impure_2.f08
@@ -35729,7 +35888,7 @@ bf0981ef0b721ba3783a7e0cc4192756  gcc/testsuite/gfortran.dg/interface_assignment
 8b6cb482ddbbf7ff4bc36b11b4fab576  gcc/testsuite/gfortran.dg/interface_assignment_3.f90
 82ab75dd24ad68ccda82fa0944a3a7e3  gcc/testsuite/gfortran.dg/interface_assignment_4.f90
 c67b7108639508aaed8d0f3c6e077108  gcc/testsuite/gfortran.dg/interface_assignment_5.f90
-06845390e062f46d6319602644586136  gcc/testsuite/gfortran.dg/interface_derived_type_1.f90
+758e8b33bc172c0a800954650e4d17d6  gcc/testsuite/gfortran.dg/interface_derived_type_1.f90
 3d70ade36673ba17b3cd37304f59855a  gcc/testsuite/gfortran.dg/interface_proc_end.f90
 6a001e94aca863d35df3e7b08dd78a0b  gcc/testsuite/gfortran.dg/internal_dummy_1.f90
 3bb29c8312ff892ae70febeaf7640276  gcc/testsuite/gfortran.dg/internal_dummy_2.f08
@@ -35740,6 +35899,8 @@ d35205d170172e3a3f55fd933b318bcc  gcc/testsuite/gfortran.dg/internal_io_unf.f90
 c706de6b3be765b3f4a39f039c5782d5  gcc/testsuite/gfortran.dg/internal_pack_10.f90
 c7e6a30e6c109618b8ab96c3086943a9  gcc/testsuite/gfortran.dg/internal_pack_11.f90
 bd8224796612aad9aab437b0014de9e4  gcc/testsuite/gfortran.dg/internal_pack_12.f90
+68c3478445465050be4a74ca6ec011c6  gcc/testsuite/gfortran.dg/internal_pack_13.f90
+c7682d3c6493ed40168b7c348ab52330  gcc/testsuite/gfortran.dg/internal_pack_14.f90
 71ffca46dbef72f72be192371fcbfcc5  gcc/testsuite/gfortran.dg/internal_pack_2.f90
 bd68d54ca4cd7f67cf7d07a390db2d1f  gcc/testsuite/gfortran.dg/internal_pack_3.f90
 0901bceb1f2818b5c66fd9b79cf65b22  gcc/testsuite/gfortran.dg/internal_pack_4.f90
@@ -35793,6 +35954,8 @@ fb1b76bb32bbc5d29a9bf84a7a47d0cf  gcc/testsuite/gfortran.dg/intrinsic_shadow_2.f
 06b142ff77c28e5ad037aebd3cf8f0ea  gcc/testsuite/gfortran.dg/intrinsic_signal.f90
 ef88aa1dd533ebfe61a7c64077a41a2d  gcc/testsuite/gfortran.dg/intrinsic_size.f90
 88febfaea080d516b63b22735cd9e4cd  gcc/testsuite/gfortran.dg/intrinsic_size_2.f90
+a0245b92f15b27d46c23e3ada65c77d8  gcc/testsuite/gfortran.dg/intrinsic_size_3.f90
+68194e1c6f466545a4a8a5e4585e2131  gcc/testsuite/gfortran.dg/intrinsic_size_4.f90
 db48759b0d572bf666a42ce2084f1138  gcc/testsuite/gfortran.dg/intrinsic_spread_1.f90
 22d694f02c4b4c2b0e990ef755be6293  gcc/testsuite/gfortran.dg/intrinsic_spread_2.f90
 d6250b74092c1688e1104bb85700075c  gcc/testsuite/gfortran.dg/intrinsic_spread_3.f90
@@ -35970,6 +36133,7 @@ cfbd43357d41fab8685ac1c11a54db26  gcc/testsuite/gfortran.dg/matmul_4.f90
 fba22baa22c8890f362f20e036ab9199  gcc/testsuite/gfortran.dg/matmul_6.f90
 f2ea8cac46240547e280d6a47be8828d  gcc/testsuite/gfortran.dg/matmul_7.f90
 3f4b1318366e167a4cb315e528f0c9fb  gcc/testsuite/gfortran.dg/matmul_8.f03
+ca0165af57f9578aa3c132ce92779690  gcc/testsuite/gfortran.dg/matmul_9.f90
 368ecceacb36bc8031de56fda6503830  gcc/testsuite/gfortran.dg/matmul_argument_types.f90
 6ed82ab65a659c5528ba6467505d80bd  gcc/testsuite/gfortran.dg/matmul_bounds_1.f90
 593ee7fab776b72ccabee9746364f3ec  gcc/testsuite/gfortran.dg/matmul_bounds_2.f90
@@ -36044,6 +36208,7 @@ eaf80863f67b1b51de38385a5ecd5787  gcc/testsuite/gfortran.dg/module_equivalence_3
 7d76861dfeca3c792737704a93910127  gcc/testsuite/gfortran.dg/module_equivalence_4.f90
 1112b7915fc4e0cfb3e861829552e5c1  gcc/testsuite/gfortran.dg/module_equivalence_5.f90
 898f06a693672738a070c59bdfa8c6fa  gcc/testsuite/gfortran.dg/module_equivalence_6.f90
+3a45f90e37af2f5d4dbfc11d7938bd81  gcc/testsuite/gfortran.dg/module_error_1.f90
 00d7ec48df62ad7d483fd46b84932696  gcc/testsuite/gfortran.dg/module_function_type_1.f90
 9d99205641014aa98023f86293c95d14  gcc/testsuite/gfortran.dg/module_implicit_conversion.f90
 84f24a009a643dee4fc5a631c3a62ab5  gcc/testsuite/gfortran.dg/module_interface_1.f90
@@ -36159,6 +36324,8 @@ d65b9f8a0b3983b834c3856cc2ed5fa7  gcc/testsuite/gfortran.dg/namelist_71.f90
 7a5fb4d5ecef8d741bfddfe3fecceb5c  gcc/testsuite/gfortran.dg/namelist_72.f
 57c379378f1c1751d823354af2ad3344  gcc/testsuite/gfortran.dg/namelist_73.f90
 0f226e1334636bb1d113dca9fe6b029b  gcc/testsuite/gfortran.dg/namelist_74.f90
+3c3ad3169524c54687ffec5e64ff3af3  gcc/testsuite/gfortran.dg/namelist_76.f90
+95370517d71b6093cd718ee2cd671d97  gcc/testsuite/gfortran.dg/namelist_80.f90
 b8f12d194aa9b2cfb5214297f897456c  gcc/testsuite/gfortran.dg/namelist_assumed_char.f90
 73de646ecd69b0bf965fecc1ccd64052  gcc/testsuite/gfortran.dg/namelist_blockdata.f
 069dbff7c2c727c922c2a492f0feb75e  gcc/testsuite/gfortran.dg/namelist_char_only.f90
@@ -36523,6 +36690,7 @@ cc1f32e49ccc36b48a493abb17c42e3a  gcc/testsuite/gfortran.dg/pr52621.f90
 877bb3da514ce7c575d032c4f5a834b6  gcc/testsuite/gfortran.dg/pr52678.f
 9b6c4fc5f0fd6602f5c340829a594cde  gcc/testsuite/gfortran.dg/pr52701.f90
 f069a2ec4f31efbbec7c154a997518d0  gcc/testsuite/gfortran.dg/pr52835.f90
+d04c732857d272204c2f3b489519a1e2  gcc/testsuite/gfortran.dg/pr56015.f90
 6ff99f4b0021f30bee039a61db7cba9d  gcc/testsuite/gfortran.dg/predcom-1.f
 20a411a7e5a57891297c4c6a96d92009  gcc/testsuite/gfortran.dg/predcom-2.f
 3384614040415f14bd4b9d2e90d3ad66  gcc/testsuite/gfortran.dg/present_1.f90
@@ -36643,6 +36811,7 @@ c9418140e152e2a5df537a8390ee7fbe  gcc/testsuite/gfortran.dg/proc_ptr_comp_20.f90
 b37513bfd2125df19745627a3986c53b  gcc/testsuite/gfortran.dg/proc_ptr_comp_31.f90
 f0b228f1c3e8d445b70b7a24dad0cf21  gcc/testsuite/gfortran.dg/proc_ptr_comp_32.f90
 84f50042f70fd2aee81fec6c155ca426  gcc/testsuite/gfortran.dg/proc_ptr_comp_33.f90
+442e3a279e0b663950c34b90c90e8ae2  gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90
 cd6e1204387fb8d881d9678159c51196  gcc/testsuite/gfortran.dg/proc_ptr_comp_4.f90
 9440b7a38d0f8e2941673b44554c91fe  gcc/testsuite/gfortran.dg/proc_ptr_comp_5.f90
 c756d70ecd537796d1bf9d16c9ef2180  gcc/testsuite/gfortran.dg/proc_ptr_comp_6.f90
@@ -36860,6 +37029,7 @@ a8915b84412b8a80d6a5acd416b43e64  gcc/testsuite/gfortran.dg/select_4.f90
 867cbe22902cd6e7ae0737cc8b433103  gcc/testsuite/gfortran.dg/select_5.f90
 9e82f5f55056c564d24a8093166b6705  gcc/testsuite/gfortran.dg/select_6.f90
 423eb8a7672e7c232252493e95d51cdd  gcc/testsuite/gfortran.dg/select_7.f90
+f9b829c93dd5a44a9568469b7e0deda1  gcc/testsuite/gfortran.dg/select_8.f90
 83f194a83f3a6598a2fc169a4ce6e3ba  gcc/testsuite/gfortran.dg/select_char_1.f90
 49c68ce69c2930b3456daf58ff48d64e  gcc/testsuite/gfortran.dg/select_char_2.f90
 9f98379d27ae7878917fe08a1c19379f  gcc/testsuite/gfortran.dg/select_char_3.f90
@@ -37040,10 +37210,13 @@ fb83ab822c4cefcdb2e963eed9040135  gcc/testsuite/gfortran.dg/transfer_assumed_siz
 0d5a3d18a1eeb0de1ca65d86e1cd68f8  gcc/testsuite/gfortran.dg/transfer_check_1.f90
 9a2953b8d7639d3d68a7693a2cb88846  gcc/testsuite/gfortran.dg/transfer_check_2.f90
 b16324a7bb85ab60eb71418a0761e565  gcc/testsuite/gfortran.dg/transfer_check_3.f90
+76406e3436f42466e7735ed9f5762bd7  gcc/testsuite/gfortran.dg/transfer_class_1.f90
 dc67674921059cc6c14a48ba9f6e8515  gcc/testsuite/gfortran.dg/transfer_hollerith_1.f90
 9ceb6d0cbc45ccee3659aec7e17a8bcd  gcc/testsuite/gfortran.dg/transfer_intrinsic_1.f90
 5f8c3382a00823fe2620469344806fa1  gcc/testsuite/gfortran.dg/transfer_intrinsic_2.f90
 0818fe12ccb412487e694ee7d759586f  gcc/testsuite/gfortran.dg/transfer_intrinsic_3.f90
+ea5b93d114291b99d509c890190b87e6  gcc/testsuite/gfortran.dg/transfer_intrinsic_4.f
+1436414e1567857b5667b2b6403a5f18  gcc/testsuite/gfortran.dg/transfer_intrinsic_5.f90
 d68fb0123f87274c2d884716d42b47b9  gcc/testsuite/gfortran.dg/transfer_null_1.f90
 fb06cac22180b4daf49f140f6a9ad4c3  gcc/testsuite/gfortran.dg/transfer_resolve_1.f90
 099850a87aba56ec7cc45b0bd6ddec3c  gcc/testsuite/gfortran.dg/transfer_simplify_1.f90
@@ -37193,6 +37366,12 @@ e7c49f117bc9525e0af2f657c69f43dc  gcc/testsuite/gfortran.dg/use_15.f90
 9cec81b3eb746de856fbb5731e5448e6  gcc/testsuite/gfortran.dg/use_2.f90
 f3ab17826f5ebc34b4ee277683b07f8f  gcc/testsuite/gfortran.dg/use_20.f90
 f07193a8915407cd04a19c5fef8f41df  gcc/testsuite/gfortran.dg/use_21.f90
+2a29ea21f99a5898a93e9a2afbe93f35  gcc/testsuite/gfortran.dg/use_22.f90
+201e822ce431ac49cc71e68a022a9334  gcc/testsuite/gfortran.dg/use_23.f90
+b7fee6814c91e8eabf3a9b812c60942a  gcc/testsuite/gfortran.dg/use_24.f90
+11a63f89ae04899ae3232a6bcac4bf88  gcc/testsuite/gfortran.dg/use_25.f90
+b901a88b454d7825c0db0571e62c9944  gcc/testsuite/gfortran.dg/use_26.f90
+a1aea473d60b54462b6cf51bf868c93a  gcc/testsuite/gfortran.dg/use_27.f90
 995f7c2f16385889e53cf6c97a7b802e  gcc/testsuite/gfortran.dg/use_3.f90
 140e285848ae4cf4a8a3c02380873568  gcc/testsuite/gfortran.dg/use_4.f90
 81e65eb0e51fa4a41a94a77102d6bf65  gcc/testsuite/gfortran.dg/use_5.f90
@@ -37698,6 +37877,7 @@ aa816d8f5ef5d24a6e170c281a0e6293  gcc/testsuite/gfortran.fortran-torture/execute
 5c446847c788f3f0940dc6877970d396  gcc/testsuite/gfortran.fortran-torture/execute/pr32604.f90
 0277cb8618f5a94496d3d935dccfcba0  gcc/testsuite/gfortran.fortran-torture/execute/pr40021.f
 18d76094e6dbeab187d55c32505d6af4  gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90
+dd40d4b957380ba6ca3ab6addb8a5a14  gcc/testsuite/gfortran.fortran-torture/execute/pr54767.f90
 78df18b9400c1b2f401164418dc104c0  gcc/testsuite/gfortran.fortran-torture/execute/procarg.f90
 54b26651618ba6afa7aae0c3b8994e66  gcc/testsuite/gfortran.fortran-torture/execute/ptr.f90
 eae8dc541702830d5c63bf337333c15b  gcc/testsuite/gfortran.fortran-torture/execute/random_1.f90
@@ -37775,8 +37955,8 @@ c105ee63261c5e43b777ed459bb1d06a  gcc/testsuite/gnat.dg/access_discr.adb
 33a9c53d0a33307332eaf1f77776f729  gcc/testsuite/gnat.dg/access_discr2.adb
 258ed7478d65f418efda71b65d6e05bd  gcc/testsuite/gnat.dg/access_func.adb
 a4719551abe72eaf87b332db70bf83ae  gcc/testsuite/gnat.dg/access_test.adb
-02cde914de72886fe4f811d74239245c  gcc/testsuite/gnat.dg/addr1.adb
-d4ab2afa451fb1e48de6dcf278c60081  gcc/testsuite/gnat.dg/addr1.ads
+f240c4510bf8ab4de76affb73efe2fad  gcc/testsuite/gnat.dg/addr1.adb
+8a43356e8cd8f9ac1110cb8027aa6cdf  gcc/testsuite/gnat.dg/addr1.ads
 f0a1bdb8415a236b8bd801950f678f6e  gcc/testsuite/gnat.dg/addr2.adb
 87b883a0706741ad3f7d6c6221d18b83  gcc/testsuite/gnat.dg/addr2_p.adb
 0193ed7cae4310c99c6658a78453df8d  gcc/testsuite/gnat.dg/addr2_p.ads
@@ -37832,6 +38012,7 @@ e152953638eb43ef2573565e5bff18dc  gcc/testsuite/gnat.dg/aliasing3_pkg.ads
 8c5e265e7615d29095981511231a2691  gcc/testsuite/gnat.dg/align_max.adb
 1eb3cbc728b3b4745a79e57c0a884e48  gcc/testsuite/gnat.dg/aligned_vla.adb
 c937e00c9ea683419dcc198a58233ede  gcc/testsuite/gnat.dg/alignment1.adb
+2f7f0b370ca300192c4d24649a219982  gcc/testsuite/gnat.dg/alignment10.adb
 212d4d6c7f98bb3c9f78d2ef06d0e6ca  gcc/testsuite/gnat.dg/alignment2.adb
 11503f47ea295354ab10fc127a67f7a3  gcc/testsuite/gnat.dg/alignment3.adb
 f2d6c1b47ec321a0b4da82a9ce3a2538  gcc/testsuite/gnat.dg/alignment4.adb
@@ -37859,8 +38040,8 @@ e6da6f873a575042dfab209c84088ecf  gcc/testsuite/gnat.dg/array13.ads
 6bc6ef9c03f4925e308d5216d999c70a  gcc/testsuite/gnat.dg/array14_pkg.ads
 138997d2e0bd0310d37a23f6c57385c6  gcc/testsuite/gnat.dg/array15.adb
 554ea0e0859401b3ee31fb55ccf6244f  gcc/testsuite/gnat.dg/array15.ads
-061cf0efeb1290a1c5d6acad9fab87c0  gcc/testsuite/gnat.dg/array16.adb
-5ab0127c8d8726eb09ce1696886d0636  gcc/testsuite/gnat.dg/array16.ads
+e987aac2e0c8b22aaed929d9095d91c6  gcc/testsuite/gnat.dg/array16.adb
+7186d9859ef06f188e6c66c6df6224af  gcc/testsuite/gnat.dg/array16.ads
 ffc9af985aa922679632b03a91ba2e13  gcc/testsuite/gnat.dg/array16_pkg.ads
 d0de159488e46be31a6389e407687bdd  gcc/testsuite/gnat.dg/array17.adb
 6fcee6cf0cfc2db1664e1f0be3469c6c  gcc/testsuite/gnat.dg/array17_pkg.ads
@@ -37892,8 +38073,8 @@ d3c3ea85a2d542a334f54886bc6d0e68  gcc/testsuite/gnat.dg/array7.ads
 12ea6845a333f3c9ac717bd30d70f3cd  gcc/testsuite/gnat.dg/atomic3.adb
 04dd99d61f059ef5e911398c95772ed4  gcc/testsuite/gnat.dg/atomic4.adb
 b9ccf0ac3e26dbab95f60e1a0d3edb20  gcc/testsuite/gnat.dg/atomic4.ads
-5d125d409f6ddcbaaa4768bb9dbf33e9  gcc/testsuite/gnat.dg/atomic5.adb
-d0a758cdd7c043309ca152bffd5ed330  gcc/testsuite/gnat.dg/atomic5.ads
+959503beb77f8b8473f02010c97fbbf7  gcc/testsuite/gnat.dg/atomic5.adb
+4765d1d8dd966119ef61da3fc79d6848  gcc/testsuite/gnat.dg/atomic5.ads
 b16dd7ed2781e8ce7e7f3e766f278574  gcc/testsuite/gnat.dg/atomic6_1.adb
 08c3a2080ce411d3986d388ba361f6cc  gcc/testsuite/gnat.dg/atomic6_2.adb
 22049a67566d2dd1e20790711494f6be  gcc/testsuite/gnat.dg/atomic6_3.adb
@@ -37951,8 +38132,8 @@ e59d302bdc50de69c699117c5837868a  gcc/testsuite/gnat.dg/case_optimization_pkg2.a
 ac069379af0132c56a9f326aa688d9f0  gcc/testsuite/gnat.dg/concat1.adb
 d0d9950b243700f01e3cfad18d2b6139  gcc/testsuite/gnat.dg/concat1_pkg.adb
 e98528b30f94b17e98951c75ff2f6251  gcc/testsuite/gnat.dg/concat1_pkg.ads
-d22a26f16ae7a118df4b66367c4355e2  gcc/testsuite/gnat.dg/concat2.adb
-73e1c363a5c5523dd935543426596989  gcc/testsuite/gnat.dg/concat2.ads
+9cbc290471e06abc05e336b232bde375  gcc/testsuite/gnat.dg/concat2.adb
+9df4e7b1e0bfcf70197b5eaf8a258a05  gcc/testsuite/gnat.dg/concat2.ads
 3e7f9a04f4a3706e783661ca30556322  gcc/testsuite/gnat.dg/concat_length.adb
 1e8fc5e809cc52079a69599d76a132e4  gcc/testsuite/gnat.dg/cond_expr1.adb
 6bf0919f37bc57eb62cf0adbb6d3aed5  gcc/testsuite/gnat.dg/cond_expr2.adb
@@ -37976,6 +38157,8 @@ a7534e78a04b2d289ebd6f7461842379  gcc/testsuite/gnat.dg/controlled5_pkg.ads
 a74903b20d1e5ae5e1f78ffa1ae48709  gcc/testsuite/gnat.dg/controlled6_pkg-iterators.adb
 1447d42803a206991ab76eb26b642bb9  gcc/testsuite/gnat.dg/controlled6_pkg-iterators.ads
 0a8c37176f9900c2d067736622e77c66  gcc/testsuite/gnat.dg/controlled6_pkg.ads
+50888c7d99e2853decd40633487df615  gcc/testsuite/gnat.dg/controlled7.adb
+9d7358f62eca1d9c1121bd8dd35c321f  gcc/testsuite/gnat.dg/controlled7.ads
 2caa8502521e04928a03cde494abb0d9  gcc/testsuite/gnat.dg/controlled_record.adb
 1cd9edd01689b9de7916433d8b3c9211  gcc/testsuite/gnat.dg/controlled_record.ads
 37378155e6b901ea7e1e6d4b579bdd19  gcc/testsuite/gnat.dg/conv_bug.adb
@@ -38044,7 +38227,7 @@ de1bccdd6943410d06a27758bfb3234f  gcc/testsuite/gnat.dg/discr20.ads
 d89ef366bbc7e522d9ce822b32a00fea  gcc/testsuite/gnat.dg/discr21_pkg.ads
 ffd1a6ec75fd3eb8166677349493f254  gcc/testsuite/gnat.dg/discr22.adb
 1c47e47243ade7d09c176c0e59857a1d  gcc/testsuite/gnat.dg/discr23.adb
-4674316290c9b87403317c73b7402011  gcc/testsuite/gnat.dg/discr23.ads
+8d0846a002673b07dd2169ec2e976406  gcc/testsuite/gnat.dg/discr23.ads
 6d6e1129b2f5960bf00222525e95e305  gcc/testsuite/gnat.dg/discr23_pkg.ads
 73940963de7a2b1a75bb171929a51843  gcc/testsuite/gnat.dg/discr24.adb
 60d6e016146d36fc6144aa8477a2abf7  gcc/testsuite/gnat.dg/discr25.adb
@@ -38058,8 +38241,8 @@ c9203a5516503d5b7d4ff72c3cbc855c  gcc/testsuite/gnat.dg/discr26_pkg.ads
 b8060b0bbd527bf4c2dc8d3c95102df7  gcc/testsuite/gnat.dg/discr28.adb
 9bdf3002c103967e016c612b1124d29e  gcc/testsuite/gnat.dg/discr28.ads
 588819f9cb993db1e50815965a5995d8  gcc/testsuite/gnat.dg/discr28_pkg.ads
-bbc5c20bb4c91974e6f87fc0cfdba83a  gcc/testsuite/gnat.dg/discr29.adb
-7464d74dafaeee649593d0bac2aba582  gcc/testsuite/gnat.dg/discr29.ads
+54a6e71d8408a1507099a668d72c0e9c  gcc/testsuite/gnat.dg/discr29.adb
+daeed689868775eb8609c7ae9cd9aebd  gcc/testsuite/gnat.dg/discr29.ads
 45b6a23c91640aac822658ec7a3d7abe  gcc/testsuite/gnat.dg/discr3.ads
 e1ff3b6f6841a829ee4723d20b4fc8cd  gcc/testsuite/gnat.dg/discr30.adb
 7b80c202d37d27995a57110589022abe  gcc/testsuite/gnat.dg/discr31.adb
@@ -38249,8 +38432,8 @@ b5df289d9d135da4119c3e85014f469d  gcc/testsuite/gnat.dg/lto1.adb
 8f17bf90e91a49aac73cc3aeab0d4cd8  gcc/testsuite/gnat.dg/lto13.adb
 1e903d2bded207c8817d6a42becb7766  gcc/testsuite/gnat.dg/lto13_pkg.adb
 bec70cdfc9b9b8123415decd1ae062a5  gcc/testsuite/gnat.dg/lto13_pkg.ads
-b0c61c5bc3cfc26820f670d5273f7f78  gcc/testsuite/gnat.dg/lto14.adb
-13f92a148318e3d8993c844a93a0f5e8  gcc/testsuite/gnat.dg/lto15.adb
+ab9126b6746a854ccc57c164283dbd40  gcc/testsuite/gnat.dg/lto14.adb
+7b630318c9b3a6c9f60270a1602f25ec  gcc/testsuite/gnat.dg/lto15.adb
 af75df134828ce5dc868a5163a2de52c  gcc/testsuite/gnat.dg/lto15.ads
 9594afe49df5931fa1d4cc1f69d9d1d1  gcc/testsuite/gnat.dg/lto1_pkg.adb
 b58ee9d30ed9df61678b89c82432b601  gcc/testsuite/gnat.dg/lto1_pkg.ads
@@ -38286,6 +38469,8 @@ cde8d4d923aeb0b84195c6a5e1d0fcba  gcc/testsuite/gnat.dg/modular1.adb
 43ac56994fb5b895bb69ac13691c37cc  gcc/testsuite/gnat.dg/modular2.adb
 2113a399de65b3d749f50593e44285b9  gcc/testsuite/gnat.dg/modular3.adb
 4c034c7a89d06b3289856ee47095acf1  gcc/testsuite/gnat.dg/modular3_pkg.ads
+b2c6a8547ac3efa831979b4975ef33b1  gcc/testsuite/gnat.dg/modular4.adb
+ec5174f5eb7e22af9fa23d73ad0075f9  gcc/testsuite/gnat.dg/modular4_pkg.ads
 0319138ba4f12bf9f077c79cd927482b  gcc/testsuite/gnat.dg/mutable1.adb
 8c947c1ef6ea09019579e5b04702d6b1  gcc/testsuite/gnat.dg/my_env_versioned_value_set_g.ads
 9415013a8f3e34d127ab642035fa8305  gcc/testsuite/gnat.dg/named_test.adb
@@ -38294,7 +38479,7 @@ cde8d4d923aeb0b84195c6a5e1d0fcba  gcc/testsuite/gnat.dg/modular1.adb
 95410ad0f25fc1b49e3fb1a52d988e11  gcc/testsuite/gnat.dg/nat1r.adb
 95c4521714767a6480cb36815b699450  gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb
 9c4c48ff55ba4415ea76799d8934a2b4  gcc/testsuite/gnat.dg/nested_controlled_alloc.adb
-d35e2d8d6c604c7ca341d855472bdb20  gcc/testsuite/gnat.dg/nested_float_packed.ads
+4dfa7872cb90aaac86ec8c22516e6d53  gcc/testsuite/gnat.dg/nested_float_packed.ads
 dd6635d3aceca8757f948c8b9351c8f5  gcc/testsuite/gnat.dg/nested_proc1.adb
 8074e27503a21cb834d3974a32b6f1de  gcc/testsuite/gnat.dg/nested_proc2.adb
 576378f0acd1cbcd4a64c2946e061939  gcc/testsuite/gnat.dg/nested_return_test.adb
@@ -38327,7 +38512,6 @@ dc3fcd8303025f22a76f999c81489c5e  gcc/testsuite/gnat.dg/oconst3.adb
 83b4b846482fc181641d38bd7904dab0  gcc/testsuite/gnat.dg/oconst4.ads
 25c78da41d8fbd316e3a1f8e9603539a  gcc/testsuite/gnat.dg/oconst5.adb
 e2f2776f93dfc0c08efd2cba869292d8  gcc/testsuite/gnat.dg/oconst5.ads
-736e6da3ba29f65b23041cc0858f53f6  gcc/testsuite/gnat.dg/oconst6.ads
 c7229b086f1d2705e08614f0cc7c17ee  gcc/testsuite/gnat.dg/old_errors.adb
 be5803453205216364ce8b4a9f0356a8  gcc/testsuite/gnat.dg/old_errors.ads
 02b04a1bcbc91f013644c665394a541a  gcc/testsuite/gnat.dg/opt1.adb
@@ -38354,8 +38538,8 @@ dfac97d9ad64526491f6b4d7d4e2dd7a  gcc/testsuite/gnat.dg/opt17.adb
 8aa492398faafba88ac74e8ed49c3d6c  gcc/testsuite/gnat.dg/opt18_pkg.ads
 7b1ad251e878c60fbeed29347ccd09dc  gcc/testsuite/gnat.dg/opt19.adb
 c0bc0504f729295b20e4394c0bd98a42  gcc/testsuite/gnat.dg/opt2.adb
-700a879880d4f9a3de935ec364f4e1db  gcc/testsuite/gnat.dg/opt20.adb
-bb90a134232f15b47d81765b8f864ba3  gcc/testsuite/gnat.dg/opt20.ads
+254e7eef609dacfc0deb65fd6595c616  gcc/testsuite/gnat.dg/opt20.adb
+756c7f11ca8b3b0617a034f7c8dff71c  gcc/testsuite/gnat.dg/opt20.ads
 5eaf2a8eea7ef349f4d35f0af766f241  gcc/testsuite/gnat.dg/opt20_pkg.ads
 e1f537e7ebdb1b4004eb9173503f8438  gcc/testsuite/gnat.dg/opt21.adb
 348ba515e66d555edde915cdbb5bf982  gcc/testsuite/gnat.dg/opt21_pkg.adb
@@ -38374,6 +38558,7 @@ d4cc17c1ccc05a2d839bebd6ed741f7a  gcc/testsuite/gnat.dg/opt24.adb
 e5b4a3246c128a0f6e5b5b2bee28fec6  gcc/testsuite/gnat.dg/opt25_pkg1.ads
 f5a7a2892a18bb3555cdd8dfcaac8feb  gcc/testsuite/gnat.dg/opt25_pkg2.adb
 44443bdff16278b913a0f3afbc217db6  gcc/testsuite/gnat.dg/opt25_pkg2.ads
+95f3d67f9d9254303835cc8a3088a0bf  gcc/testsuite/gnat.dg/opt26.adb
 98384ef07686507b4ed94c26f6a58813  gcc/testsuite/gnat.dg/opt3.adb
 65e20f998d483941d92a34b07b482d10  gcc/testsuite/gnat.dg/opt3_pkg.ads
 e98c04ac385dbd0581c1f5fa108caf6b  gcc/testsuite/gnat.dg/opt4.adb
@@ -38536,7 +38721,7 @@ b2ddeae29265e9edab0bb4b3992611e6  gcc/testsuite/gnat.dg/source_ref2.adb
 b6962b44f81ad681bf6bfb2bc80e5383  gcc/testsuite/gnat.dg/specs/access3.ads
 c60566bc09d6f157c601d0691f67aa4e  gcc/testsuite/gnat.dg/specs/access_constant.ads
 a3aeba60c0c92acaa70248375acbbdbb  gcc/testsuite/gnat.dg/specs/access_constant_decl.ads
-d3f64fe43540741aa6659c95aeb10167  gcc/testsuite/gnat.dg/specs/addr1.ads
+e07f523545f806d44924218c2d1d3338  gcc/testsuite/gnat.dg/specs/addr1.ads
 60ca8801e0e8eccd8fec16ac238b860c  gcc/testsuite/gnat.dg/specs/aggr1.ads
 fe82e660f7a4e411f57c2b234839d4c8  gcc/testsuite/gnat.dg/specs/aggr2.ads
 5742258b0ea3fc3e05f71406d1b1322b  gcc/testsuite/gnat.dg/specs/aggr3.ads
@@ -38547,7 +38732,7 @@ bc5d484f0195c40f96573375913aad6a  gcc/testsuite/gnat.dg/specs/aggr4.ads
 7d85593bd2feb29192cd8b150c52dde2  gcc/testsuite/gnat.dg/specs/alignment1.ads
 35830295b69e179b24d23126aa1655c1  gcc/testsuite/gnat.dg/specs/alignment2.ads
 18531dc960411dab820aa7279791f03a  gcc/testsuite/gnat.dg/specs/array_no_def_init.ads
-cd9251f3d8aa3fd3d91a7c56150c1977  gcc/testsuite/gnat.dg/specs/atomic1.ads
+2d9efbd53366881b4d205fa4d00c2cc9  gcc/testsuite/gnat.dg/specs/atomic1.ads
 c32b716552779677ae176058dfb0e811  gcc/testsuite/gnat.dg/specs/attribute_parsing.ads
 f816d4862285932d8e7b70c2efc94426  gcc/testsuite/gnat.dg/specs/box1.ads
 de3a8d42e10071e7f2dab8b41ed160f1  gcc/testsuite/gnat.dg/specs/cond_expr1.ads
@@ -38599,6 +38784,7 @@ bac1e8c2c28486c2dacd74f69ad37ca6  gcc/testsuite/gnat.dg/specs/lto3_pkg1.ads
 8a6a0905a2e9d263001e69e19b9657c3  gcc/testsuite/gnat.dg/specs/lto3_pkg2.adb
 1d6fe3d382f738feda5c7c3faea04614  gcc/testsuite/gnat.dg/specs/lto3_pkg2.ads
 27e93d67e8a7948e3bdbf36024d1a535  gcc/testsuite/gnat.dg/specs/null_aggr_bug.ads
+736e6da3ba29f65b23041cc0858f53f6  gcc/testsuite/gnat.dg/specs/oconst6.ads
 a33d565d33da0c1fd4225f3e0005c81e  gcc/testsuite/gnat.dg/specs/oversize.ads
 b6d3470289ff1f9bba31adf32cdc40e8  gcc/testsuite/gnat.dg/specs/pack2.ads
 387f38475eb4b6a5a9545b44704157cb  gcc/testsuite/gnat.dg/specs/pack3.ads
@@ -38663,6 +38849,8 @@ fda542cb8479aae4bcabd1173368fde0  gcc/testsuite/gnat.dg/specs/with_containers.ad
 708fb617cbdb2fe0291332fd791eba86  gcc/testsuite/gnat.dg/sse_nolib.adb
 12815ccc7e18f86def66a34726141be0  gcc/testsuite/gnat.dg/stack_check1.adb
 56a70c1688afe9c1548527bf032883eb  gcc/testsuite/gnat.dg/stack_check2.adb
+69c671d19f8e7a23132fc0c3cec794be  gcc/testsuite/gnat.dg/stack_check3.adb
+9b9f371ac88351d2ce0f7b3bd69193c1  gcc/testsuite/gnat.dg/stack_check3.ads
 1eaaf2506701c7ef67f43802eab8a1e5  gcc/testsuite/gnat.dg/stack_usage1.adb
 eb1afc233879c153d1d38664b2d76289  gcc/testsuite/gnat.dg/stack_usage1_pkg.adb
 98f6c0c89b72a576e2705e0eb1e18079  gcc/testsuite/gnat.dg/stack_usage1_pkg.ads
@@ -38790,8 +38978,8 @@ ece925b63f6cdfec1a7ac8d94451e0d8  gcc/testsuite/gnat.dg/vect5.ads
 465906a8c0865d062012b849da9100af  gcc/testsuite/gnat.dg/vect6.adb
 0c03f3c793b9df575c5e06c9602e6bc0  gcc/testsuite/gnat.dg/vect6.ads
 1b28ce97d55ffbd965e8314b2aa44651  gcc/testsuite/gnat.dg/vect6_pkg.ads
-e120ca235d03637152e448c6dc0836f8  gcc/testsuite/gnat.dg/vect8.adb
-6e499efbd42fe2a5cf45e65d42a1a66e  gcc/testsuite/gnat.dg/vect8.ads
+5950611626cea4b3d61bf0146723cb99  gcc/testsuite/gnat.dg/vect8.adb
+a31a16b3d5f996cac30a59d140695b3c  gcc/testsuite/gnat.dg/vect8.ads
 27212b2cf4183a520c0d426668716a88  gcc/testsuite/gnat.dg/view_conversion1.adb
 6addc15e4d94d09ff0b6db24b79ccb01  gcc/testsuite/gnat.dg/volatile1.ads
 b85379f63b0d7ae27c495c01f1b2bd91  gcc/testsuite/gnat.dg/volatile10.adb
@@ -39625,7 +39813,7 @@ d50a8417f0eb960f0267025eee8905b0  gcc/testsuite/lib/compat.exp
 9451c315bd8dbebe924713e383f96d41  gcc/testsuite/lib/g++-dg.exp
 0bb796536e8f926b347def48f0e6ddcc  gcc/testsuite/lib/g++.exp
 bf89fbd216f6a84ac4211d75f47e6f5c  gcc/testsuite/lib/gcc-defs.exp
-57187fd3c614214b717b50189c9fbc2c  gcc/testsuite/lib/gcc-dg.exp
+eccbff3a6363ccbee6af09d746af6a3a  gcc/testsuite/lib/gcc-dg.exp
 cd3dc13497d130fcda89a994b08511c5  gcc/testsuite/lib/gcc-gdb-test.exp
 3246dffb54e1cd2e8d87fb0bb44babd1  gcc/testsuite/lib/gcc-simulate-thread.exp
 ebfb9584ee5fc0b005df35e8f6ab23d0  gcc/testsuite/lib/gcc.exp
@@ -39656,7 +39844,7 @@ dc8321b5bf61ef8803945135818e627d  gcc/testsuite/lib/prune.exp
 9a908bb507989b82eddfeb9d23c66587  gcc/testsuite/lib/scantree.exp
 9fa64d511799fd371cb69f10cf1ab788  gcc/testsuite/lib/target-libpath.exp
 1cf274cd6cd03bc859ebe6be37bff6ba  gcc/testsuite/lib/target-supports-dg.exp
-9e9fb393a7a4395bef4eba6e742592fd  gcc/testsuite/lib/target-supports.exp
+4adacd982375c0f082d7f05cbb77d676  gcc/testsuite/lib/target-supports.exp
 3247a569c87014396b4682567b02c72f  gcc/testsuite/lib/timeout-dg.exp
 64b80d5cf0f0de3f48afbd8b59f1903a  gcc/testsuite/lib/timeout.exp
 9c8e6bf222182744bb61bd5c07ec5496  gcc/testsuite/lib/torture-options.exp
@@ -40587,7 +40775,7 @@ a57e521085412bbde60e78229ace4fd5  gcc/testsuite/objc/execute/trivial.m
 ddfc8dbc3fdc96b2c360f95a1b568e77  gcc/timevar.def
 43e3799388e60f928fb8d594a79403c4  gcc/timevar.h
 3d85a720e77e6a99ef4ec4865bac6d42  gcc/tlink.c
-aad824958ad37e456b378b4b32d23fd0  gcc/toplev.c
+8110305e47c9e8655e4c794c43c88172  gcc/toplev.c
 de685ac1ee5ba19d587d42762be0222e  gcc/toplev.h
 93364839572b99542c970d32ae4b367e  gcc/tracer.c
 ce887cd88bb7f025410367e7f35048ff  gcc/trans-mem.c
@@ -40601,20 +40789,20 @@ dd88a1b79873f889a6b52130d6d947e4  gcc/tree-browser.def
 449bb29903e4090b8afd0c1528cad449  gcc/tree-cfgcleanup.c
 eff69491b20a4148aa3bb4f4a49addd6  gcc/tree-chrec.c
 8865ee1847d313f9f66ec82e5d26885c  gcc/tree-chrec.h
-60dd390d7412eecef79001d7eb8b6da4  gcc/tree-complex.c
+309f3c1e670cf80396f0198d6e01f402  gcc/tree-complex.c
 b57a9656bbb3a539730a3bdb23d2da22  gcc/tree-data-ref.c
 a7818e5edbc9a20ce211d4dcfc6aec35  gcc/tree-data-ref.h
 4379b6dc2e8a5fa12ae4726ce81cef7c  gcc/tree-dfa.c
 530ba9db13d7710f31417bb9d9eed966  gcc/tree-diagnostic.c
 209d757a5fde51853942746146aa1e59  gcc/tree-diagnostic.h
-0f2dc905176f6ead75f75e14f78184d9  gcc/tree-dump.c
+f44d5bc137dee40e1be2165a48971500  gcc/tree-dump.c
 f9aa72a463237a2774772830862d57ba  gcc/tree-dump.h
 6bdd8c04e22fb278d3fc9f783000f544  gcc/tree-eh.c
 c256cdb277e09c4486bac87f917430f8  gcc/tree-emutls.c
 338093caa7524b3a95db967ce0c3a3e2  gcc/tree-flow-inline.h
 4a97ac04528fdfc26a0da2f763264ce8  gcc/tree-flow.h
 fd9aef6c9b40bd0a991a5f81538def75  gcc/tree-if-conv.c
-480a82bf784e0cb259de4fad48030a4a  gcc/tree-inline.c
+ecb6f79c62c93a7b4c5154e3a3bc4db7  gcc/tree-inline.c
 525f44d4d31a00387ff3a9160149f36a  gcc/tree-inline.h
 c922b5f47cc3e8757ba5c7910adde71d  gcc/tree-into-ssa.c
 9ca2345d3a08972078706547dda94e40  gcc/tree-iterator.c
@@ -40637,11 +40825,11 @@ e21517fa9065ea5a475643d5686256e4  gcc/tree-pretty-print.h
 7a490e5299fb69aeb945f01a5ec848be  gcc/tree-profile.c
 e42292fba02d24841262f3dec86616c5  gcc/tree-scalar-evolution.c
 cf4c9f2327ae5516a097a485e8f66d0d  gcc/tree-scalar-evolution.h
-99cbb7fda8cf31ab48a76219e01605b1  gcc/tree-sra.c
+d21d3d9892fbecd71d7f264150eb81f7  gcc/tree-sra.c
 5820977b5a8b42eca25216387613cfc5  gcc/tree-ssa-address.c
 d05816cfc8f3543715042f255b8a72c6  gcc/tree-ssa-alias.c
 f57dbbcdfccf8c240f2045e780a7cbb1  gcc/tree-ssa-alias.h
-9bf546cff65b57c365aad7650ebe7c85  gcc/tree-ssa-ccp.c
+59e42e7c43ff2112d614eb18f91b673c  gcc/tree-ssa-ccp.c
 4d9670cd5a270175f9b4b61cc38ddfb6  gcc/tree-ssa-coalesce.c
 1c6fe2c360aeae7a5b3c9189214a9cac  gcc/tree-ssa-copy.c
 65bbecea3b3cc596a90031638343973d  gcc/tree-ssa-copyrename.c
@@ -40655,29 +40843,29 @@ a787f013c187a1993f1d7e1bbc394ca4  gcc/tree-ssa-ifcombine.c
 0730aa61d0d417f2f93d755f60cfad9a  gcc/tree-ssa-loop-ch.c
 195a19828a674af087ff597bed00f416  gcc/tree-ssa-loop-im.c
 c65fc9248540a68e77574d5f63377e71  gcc/tree-ssa-loop-ivcanon.c
-63ceaaa4dd2d0c889b117a874e130354  gcc/tree-ssa-loop-ivopts.c
+ad30d49b35d11fa1fccfd7a176bd4520  gcc/tree-ssa-loop-ivopts.c
 098cb37d573831f3e5fe652de79b6ff8  gcc/tree-ssa-loop-manip.c
 812eede7ec42c0f7349663d8db317587  gcc/tree-ssa-loop-niter.c
 cee6673399553a8f7bb66eddc421c015  gcc/tree-ssa-loop-prefetch.c
 825cea012308837b0bd9c4f429f184d7  gcc/tree-ssa-loop-unswitch.c
 676b2787aa7e4b4b27df7cc55205f508  gcc/tree-ssa-loop.c
-4606cf5b252401bbe72e031ccbdf78e5  gcc/tree-ssa-math-opts.c
+627709a02ab081c6c407c6c446be3967  gcc/tree-ssa-math-opts.c
 0550583cced369e70f3305928c8733c2  gcc/tree-ssa-operands.c
 21c01687846aaa8dd9b1e07475b897ac  gcc/tree-ssa-operands.h
-f7b2d44d49defeb53b04c3c0e673f81c  gcc/tree-ssa-phiopt.c
+fac1aeaa045d53c8ca88cf6b95bb13a5  gcc/tree-ssa-phiopt.c
 964efb6961723e7e926483c80929b738  gcc/tree-ssa-phiprop.c
-1def62def78c34812327b52de6985830  gcc/tree-ssa-pre.c
+088ded86d8db257e3677d74a5e428d32  gcc/tree-ssa-pre.c
 9e0e5a7278a4a55bf0727f781c900b17  gcc/tree-ssa-propagate.c
 f5c2824323e0f116bd6b7238024f47ca  gcc/tree-ssa-propagate.h
 741fac8a04ce2a5f250c8c74714d08e9  gcc/tree-ssa-reassoc.c
-791db7a581723f9e8f49937afb7052d1  gcc/tree-ssa-sccvn.c
+030d75e49f6971c48e78731682e433c4  gcc/tree-ssa-sccvn.c
 dd149fc53ce5db82a3497f6854631253  gcc/tree-ssa-sccvn.h
 2122da801e6f3b876aba3f27337eeddd  gcc/tree-ssa-sink.c
-d4814f70564ed856fa7ec8696bb2c9e8  gcc/tree-ssa-strlen.c
-5402f4edc13646cdfa032c8388425bf7  gcc/tree-ssa-structalias.c
-e4f498ff4bc74d18deeaf4f9c30c2da3  gcc/tree-ssa-tail-merge.c
+121245575604d1b10034dc58bab644a0  gcc/tree-ssa-strlen.c
+a5d3d486e04062a97eeaeb5a175f362e  gcc/tree-ssa-structalias.c
+c612fcdd9673d5e8b3adf7b10eaf12fd  gcc/tree-ssa-tail-merge.c
 fc2ef72126e1097cf44db86d2cd031ac  gcc/tree-ssa-ter.c
-7ca5c065f2e7293461ca668e29ad3bf6  gcc/tree-ssa-threadedge.c
+0812d99ad7240a8edd383ee6e9bd81bc  gcc/tree-ssa-threadedge.c
 2caa0dc022a8f995cefaef163bdd5ca4  gcc/tree-ssa-threadupdate.c
 6b29ed6db92ee782efe073d71aea95cd  gcc/tree-ssa-uncprop.c
 eb5905a0b57719892d5db7dc8901251c  gcc/tree-ssa-uninit.c
@@ -40685,31 +40873,31 @@ eb5905a0b57719892d5db7dc8901251c  gcc/tree-ssa-uninit.c
 bc61d12729c9e3537ea2645ebff9ec2e  gcc/tree-ssanames.c
 7544af5ab455970cb44e7a329c188fb1  gcc/tree-stdarg.c
 9dc7ea806141e247f0061ebed82e5f57  gcc/tree-stdarg.h
-1d2607a0755d6f8977c67861f3facad9  gcc/tree-streamer-in.c
-ef67e074dde0e38877439718a387747e  gcc/tree-streamer-out.c
-46a942f8f520370abd08c3e82c43f888  gcc/tree-streamer.c
+892922d00bafd61da0ec10de06712365  gcc/tree-streamer-in.c
+5eb1ba9047c5e89ea0ca515bf722e9ca  gcc/tree-streamer-out.c
+d1ed2ffb36d5e7bdd4c3e4a38455d8ae  gcc/tree-streamer.c
 030a5c395cd6b585dcba689a06956ab5  gcc/tree-streamer.h
-98d91b1d5cee7342fe102bf1ec72b67f  gcc/tree-switch-conversion.c
-5c412fd30dad884fd7c225988773eb4e  gcc/tree-tailcall.c
-abcab70356475026698eb6adf8bbeb99  gcc/tree-vect-data-refs.c
+791af833b1c31b0e210d1e0499c9fa24  gcc/tree-switch-conversion.c
+4023c7969a152f2f55d0efd29bfb91c6  gcc/tree-tailcall.c
+df183fcf3d7c6844ce69a953f18064ce  gcc/tree-vect-data-refs.c
 21a03b8a13b6f6559eaeda85017e94fb  gcc/tree-vect-generic.c
 88af55d8d3b34148be4a2a218f3855a9  gcc/tree-vect-loop-manip.c
-0ad31a6409989262d2853b2ecc919053  gcc/tree-vect-loop.c
+fa48d6ea9efafc1d61e2dde62611d177  gcc/tree-vect-loop.c
 9fa2f300b7bc2a6d05e143621e1908db  gcc/tree-vect-patterns.c
-8ee4c8da4a0f7bc1b7fa1ff33b2bc7b3  gcc/tree-vect-slp.c
-e1d71775a7f15ac6a3ee603f768f213a  gcc/tree-vect-stmts.c
+5dd86143dd7ec2ffa0e87692a7f0c451  gcc/tree-vect-slp.c
+ce3d8d70c1440f8baa41e0200e091fe0  gcc/tree-vect-stmts.c
 4e670111b4f13ced146ced58d1f40774  gcc/tree-vectorizer.c
-d227bd4fa7cce23f0f144ee4ae94d169  gcc/tree-vectorizer.h
-b5d74204c659cb0406f1b681f6a9b42a  gcc/tree-vrp.c
-37703d44a12a19fe798472f20c71e535  gcc/tree.c
+3977507e7158cf669883f0d974191f91  gcc/tree-vectorizer.h
+bbc3096293cceb7719558648aed7c551  gcc/tree-vrp.c
+94521f650ef1437fbdca2d1f9a095f6a  gcc/tree.c
 b616e359e9def01f3b38ca8d30f44415  gcc/tree.def
-67352de645d75be022c8fe87ca56efb3  gcc/tree.h
+81cd421b07f33360f5b190b0fb7b526c  gcc/tree.h
 ac0f62f60ded8a91501013d436231b27  gcc/treestruct.def
 ef05f5a14163c1dd353de87d184aca31  gcc/tsystem.h
 71bd7cde414bb497a8b7e409f09e4c32  gcc/typeclass.h
 bffe471982a141b88f59c77e59af43ee  gcc/value-prof.c
 739f48f295bc019eac30fbd82a5174f2  gcc/value-prof.h
-e6e8da52624f6eb5db5a958ed64edce5  gcc/var-tracking.c
+7f89cb8b5056c943f2855cff1732e840  gcc/var-tracking.c
 f68ff493bac9fea24f2d66c01da5c88c  gcc/varasm.c
 b47a6359b1d38c59ff53d7a47fedc3c9  gcc/varpool.c
 815b87ea059ecd1325e1959fc13396f7  gcc/vec.c
@@ -40724,13 +40912,13 @@ c2de1cb759fa38dc50a8b54f23127437  gcc/web.c
 e33f5fe4050a311c959ce9084a50c1fb  gcc/xcoff.h
 c449f72b18bdb57edb68404ed0041e0f  gcc/xcoffout.c
 7cf371c2c977863af4254f2cfa6b86b3  gcc/xcoffout.h
-6b60adc014c1ade48ce9c674c190a140  gnattools/ChangeLog
+ceb42cd374e004e9bbab7f2a371ad12d  gnattools/ChangeLog
 cee94c5f34069420d5b60536299278c5  gnattools/Makefile.in
 f883de34e13e5e07cd6f10b30a4f2e20  gnattools/configure
 b0d11555a361e877b3bc5b7e5de95cb6  gnattools/configure.ac
 59530bdf33659b29e73d4adb9f9f6552  include/COPYING
 d32239bcb673463ab874e80d47fae504  include/COPYING3
-30e95686e2845fcd0105af55a2afaec3  include/ChangeLog
+7a2377568d495cec5c046130fbe96e9e  include/ChangeLog
 4263432a72ff47ed8bf420208ee7eea5  include/ChangeLog-9103
 c40ba6a2a63d615e632bdba97866cea5  include/ansidecl.h
 5b2df72b3c122934ec1dce7f8ef4cf82  include/demangle.h
@@ -40744,13 +40932,13 @@ bf41284ba32805344a0d778b39b0220c  include/filenames.h
 b14b5907a8d21fe886487feead7161c8  include/hashtab.h
 99ba7247f98c6b02e3033110b29150f3  include/libiberty.h
 741cac90249849bb61230ecd5fb777de  include/lto-symtab.h
-e994d64a5f8fff3c81791b6d8a1d09b7  include/md5.h
+79beaade3e54542e29cedc36ae825128  include/md5.h
 44b3dbe9efa457af0cf4f032193dd1f5  include/objalloc.h
 44c7ff060ba30ebe0900b63c327d30b1  include/obstack.h
 b212dcdaf1121bd8a14b03ebb2ce5ce1  include/partition.h
 f09eca32351413c6ede8d270c2944078  include/plugin-api.h
 f407187879a6cc40877c4b38ee717349  include/safe-ctype.h
-34b05c11cce7bd2bcc461549eb34bd09  include/sha1.h
+6cad3a66ba69951b53905a78dddad633  include/sha1.h
 c2d8ea6a0bcacf3a3d5128a916291424  include/simple-object.h
 ffc879400e93c3be7e8727262ff65700  include/sort.h
 a137d3d4edba8fab397dddb9f3d5ccdb  include/splay-tree.h
@@ -40760,7 +40948,7 @@ e34d525d7faceda0dd5cb3eae49c1548  include/timeval-utils.h
 0294cecbb1f66d640ccba3a5d862d05b  include/xregex2.h
 f648a66ed08e079e26a24c4346a3ba03  include/xtensa-config.h
 0afce91a3daa1fdc32ee36370c1129dd  install-sh
-7440411a3c3aaea09e6edb920aabfb02  intl/ChangeLog
+7c61af928ce7ec172ce24903e6e2d31c  intl/ChangeLog
 cad1d6fab2274517783de7433c0faa74  intl/Makefile.in
 6ec998bb4716c744bf8185e607f69301  intl/README
 76ca170a525d5b84d90f0478fe788931  intl/VERSION
@@ -40802,17 +40990,17 @@ d50a8c6c5b41089930accbdce767d3c0  intl/plural.y
 b4758a0194e3e41362b939911472ce62  intl/relocatable.c
 bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
 43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
-00989d2198bc3e403842fba11ca33be8  libada/ChangeLog
-411764071f555438cb954ca49672ae45  libada/Makefile.in
+dcf3ac29a82895724ea3a15f1e677fc1  libada/ChangeLog
+444552e7722a9779a6ac485069fe0e8b  libada/Makefile.in
 1d3025570b3a47e06a8c08a1af035817  libada/configure
 594a1a47f663192e6321a041c54ab2f5  libada/configure.ac
-a4e3b9646401f8ddc87453972eb51170  libcpp/ChangeLog
+207c33f04a19e1d3cb591cde4ecf297b  libcpp/ChangeLog
 ffa50c1da5557fb9e0cab171444651e2  libcpp/Makefile.in
 7307c791a8de641ef6dada9a179ece57  libcpp/aclocal.m4
 8c19150215f02148e487faba96509b8c  libcpp/charset.c
 30acfe11501e4f7f6f5425585b82a97d  libcpp/config.in
-112716f181b8b3066513f9291f1f9fb5  libcpp/configure
-775e1f3255f0043908833f56fa7c84d1  libcpp/configure.ac
+14b5ad5b4234464068772d92e7351f3c  libcpp/configure
+17fae7dce57388e018946f0c0857129f  libcpp/configure.ac
 835a97c78467add7bda4edad4a491828  libcpp/directives-only.c
 55ab7332de72256491d52d45f7cb6f21  libcpp/directives.c
 a74acc8218eda9b5a8f321103ae75929  libcpp/errors.c
@@ -40832,7 +41020,7 @@ d6b8f5e182d98da8b3e32ad7ee539419  libcpp/line-map.c
 2d45a726957f93e9ec053b644480b2e9  libcpp/makeucnid.c
 8747a8bb83e52a8b835e1a790b998edd  libcpp/mkdeps.c
 9ef515de44e00a35322d5f59d2a3e476  libcpp/pch.c
-a6719a30a06519aef822084fb87c953a  libcpp/po/ChangeLog
+4edd63cd1b7cfb83310f37cea62bee09  libcpp/po/ChangeLog
 af193dce92dd8c5af8fe72bdd6893476  libcpp/po/be.gmo
 2c1793b3ff997ca241caedcdc510c4fb  libcpp/po/be.po
 b58b7cc9e6dff1406a6fb47abb08f015  libcpp/po/ca.gmo
@@ -40844,6 +41032,8 @@ a292a9e0b7cf8a08757f99d95efb820b  libcpp/po/da.po
 a4ce4b6eebe1d43a1c4c59254c070711  libcpp/po/de.po
 e2c4b84d9538a7bd63c29defe8a7f44e  libcpp/po/el.gmo
 d71191786c1219dc068b34ab16bb651f  libcpp/po/el.po
+c0e8e8ebe18a181ee8883d3c6926dc04  libcpp/po/eo.gmo
+1bf518ab0dba449c14fca67823bfe3c3  libcpp/po/eo.po
 8f726e683baa1be6b69fa854f4d33474  libcpp/po/es.gmo
 d49102a174c8f7adfa7c05207b6f61fb  libcpp/po/es.po
 1b5f28306a8a750c9753b2439274e495  libcpp/po/fi.gmo
@@ -40860,14 +41050,14 @@ b38826ff81263e1fde9ff2af82eb1a6a  libcpp/po/ru.gmo
 4d21e764fa3f865ec70ee5672d945368  libcpp/po/ru.po
 91bb4657733d3a6c89c7a8f441945554  libcpp/po/sr.gmo
 fed1269f1e73bfd8995575757ceec07f  libcpp/po/sr.po
-e838e9f0818825a142b944be58b2127a  libcpp/po/sv.gmo
-266e544495aaecbf46434798dedd5f3d  libcpp/po/sv.po
+d8f34562029daf9bd6e5e2c195c773c8  libcpp/po/sv.gmo
+69fd3f973e71133d02e8fea89e28229b  libcpp/po/sv.po
 d1fd23abec5158b4ada144f0a4c2f64a  libcpp/po/tr.gmo
 8cf6d58d09115ffc8f41be45d0be3ccd  libcpp/po/tr.po
 ff86a298d0d13adc3acc702439519ffa  libcpp/po/uk.gmo
 ad0ff7016f04cec6509dc531c625aba8  libcpp/po/uk.po
-add3cd3a24b20386ed427f57067c6f99  libcpp/po/vi.gmo
-a4b3d7c63faad61f2af2d6337340015a  libcpp/po/vi.po
+c7f81da96fc228bc075450db4c01e219  libcpp/po/vi.gmo
+cb46310e5087bb725cb1851087d89173  libcpp/po/vi.po
 9a99f3e0531d602728907d9ae6b2ce7d  libcpp/po/zh_CN.gmo
 43e3e7ea9f0b82b3256c7d077c932996  libcpp/po/zh_CN.po
 59a9ac384dec65a327b8f47a4c6519d3  libcpp/po/zh_TW.gmo
@@ -40878,7 +41068,7 @@ bce3234f2e7e15f369e9e9f7f6ce8632  libcpp/traditional.c
 11f204ddd01b33474c3de82de9192de4  libcpp/ucnid.h
 524392c32703f6022427bf6bbdb833c8  libcpp/ucnid.tab
 a6c2b3de06c7424706b16f4c206396a1  libdecnumber/.gitignore
-884e745da450362bf26c03bbc0e1e253  libdecnumber/ChangeLog
+b6ac1f19c08a283324a9b0350da957a7  libdecnumber/ChangeLog
 86d8785bbc0f5bb23cfce8de566a3d5b  libdecnumber/Makefile.in
 2746a1155d319a2cda823ee5b58921ce  libdecnumber/aclocal.m4
 a0ecbc50fa8e505f88a951c3c294ecbc  libdecnumber/bid/bid-dpd.h
@@ -40940,29 +41130,29 @@ a97c47969dfc92a7666dfe3c2e1e1448  libdecnumber/dpd/decimal32Symbols.h
 74286c0df48b52d759e158d0137e326a  libdecnumber/dpd/decimal64.c
 7da680355032df2d570337d88c0694ad  libdecnumber/dpd/decimal64.h
 0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
-09c428784d857b5515dd56c065d0a102  libffi/ChangeLog
+c48eba91aac681796b997df8d043d011  libffi/ChangeLog
 fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
 d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
 085f9917800070e791f49bf4733e23fa  libffi/LICENSE
 4f47efb5d6a475131df4e3df57c715e1  libffi/Makefile.am
-da1dade271f05cd95231bc7e04bf4923  libffi/Makefile.in
+e9ae247055ab857f6bec1c53688ab576  libffi/Makefile.in
 70b0e28375048dc9da99e9b55eb1792b  libffi/README
 0ec3418e6c2e6b89c24cffd4322b6368  libffi/acinclude.m4
 88ffbb0407c59fa497eddc19338f0182  libffi/aclocal.m4
 d9a93ae9ded81fc62a526d4da1003921  libffi/configure
-7554442875b10230d238f5593c04aeeb  libffi/configure.ac
+62db55b9b79c8295fdebd3545bbb00f0  libffi/configure.ac
 bec544523f8f7f3d5136f67598cf609a  libffi/configure.host
 ee3e522d649fa16f486e218fe09873c9  libffi/doc/libffi.texi
 7123a892595757886f0ee120347f9565  libffi/doc/stamp-vti
 7123a892595757886f0ee120347f9565  libffi/doc/version.texi
 09cb163bea2a2d55ef316ded94421a9f  libffi/fficonfig.h.in
 f165b6fb33a20fdd5f1eeffbafa83d78  libffi/include/Makefile.am
-58a2599b8a0840c5cd7187c67cbe5d28  libffi/include/Makefile.in
+75a2b01e4ab002212377ac629218be5c  libffi/include/Makefile.in
 8f169b0076767a97ed9df81aebcb057d  libffi/include/ffi.h.in
 6ac39dc1d5ec4b22e08fbdc45913f9e1  libffi/include/ffi_common.h
 fea69bf0c254aa8f860a0b0ed487546d  libffi/libtool-version
 c391cfc49d2e85ab3b248011c21038cd  libffi/man/Makefile.am
-08172e2e675328d6833fc6fc3c10e278  libffi/man/Makefile.in
+7a528fbd7e9316517a3c3c23499dc56a  libffi/man/Makefile.in
 0bf19cd396787816bfd443fe9f6b0097  libffi/man/ffi.3
 dd7b61f56e75a1d052dd10dc02ac4940  libffi/man/ffi_call.3
 ba320392aee6dfa2e896e6deb7205815  libffi/man/ffi_prep_cif.3
@@ -41044,7 +41234,7 @@ ac3a9a04135ada40ad3083503af485e3  libffi/src/x86/freebsd.S
 f8570e3f12f1eef57ed2bb940d829a22  libffi/src/x86/win64.S
 1ded054093de910d9786c62bc4fe8cc6  libffi/stamp-h.in
 04e06926cecf1198af45894dc46ffd39  libffi/testsuite/Makefile.am
-09c87d076cd15810fbfa5d93f5bd5113  libffi/testsuite/Makefile.in
+4111dc6e7da88894d1e2e286c92cd239  libffi/testsuite/Makefile.in
 dce80ba7e038ca18591aabc6d3d2582c  libffi/testsuite/config/default.exp
 1d1d2e21a0c36c10b3cf472496566ff3  libffi/testsuite/lib/libffi.exp
 68b837f4196cfa6be7480142a5e5eacc  libffi/testsuite/libffi.call/call.exp
@@ -41183,14 +41373,14 @@ d47c79b281339983862a8e52d8c73f0f  libffi/testsuite/libffi.special/ffitestcxx.h
 291be426192f460f6a07dfe1c96ab094  libffi/testsuite/libffi.special/special.exp
 93fc3ea311b79f64004992807ce75d1e  libffi/testsuite/libffi.special/unwindtest.cc
 185d0795017fbbe253a13db8e34085f9  libffi/testsuite/libffi.special/unwindtest_ffi_call.cc
-069e7947018a94170fb643a6c9390bef  libgcc/ChangeLog
-1e5b5ff708fbb550c02f88cf9f7cd276  libgcc/Makefile.in
-e56e233cb486b658858aa753e41a98eb  libgcc/config.host
+512edb1fc1eac04b1abf82f13ffd34dd  libgcc/ChangeLog
+8e9c5a42e0bd5bff4d54418e625741e1  libgcc/Makefile.in
+2e1eb9de9db1d6c99302dd8a5a9c201c  libgcc/config.host
 eaa470c97bd55676e6d80966007ba41e  libgcc/config/alpha/crtfastmath.c
 83c8da4c810799b854395aafde8e7c39  libgcc/config/alpha/gthr-posix.c
 07faecc563137b07c7644a16356eeff5  libgcc/config/alpha/libgcc-alpha-ldbl.ver
 6873857f7f3900d4887548200b2f2606  libgcc/config/alpha/libgcc-osf5.ver
-4ad510ade4fb09297fbf3e1bc1a97f93  libgcc/config/alpha/linux-unwind.h
+97e5eb20b14ab06c71660e122f7468b2  libgcc/config/alpha/linux-unwind.h
 86735898e5978e97e8a23ca9d047550e  libgcc/config/alpha/osf5-unwind.h
 5de7d7174728bd4d358467378e2866d8  libgcc/config/alpha/qrnnd.S
 c45798ce39178e619ff48bf689b549be  libgcc/config/alpha/t-alpha
@@ -41233,7 +41423,7 @@ ee34be4b228da2376b9ebc9be680a561  libgcc/config/arm/t-vxworks
 ef8398c8949bdbe3500918176237ba16  libgcc/config/arm/t-wince-pe
 332508926dbef51495f6e98126b23c91  libgcc/config/arm/unaligned-funcs.c
 26525f64336b69858e274e8259c2c660  libgcc/config/arm/unwind-arm.c
-f1cb4753f6cbb863c7375f30c5a96dd9  libgcc/config/arm/unwind-arm.h
+b0ea0edb6a817e68e043376a2404b624  libgcc/config/arm/unwind-arm.h
 ba3ed158fb2144c4fd88b0ed1169e333  libgcc/config/avr/avr-lib.h
 40c53b592a5838127fbda47b27e1ca09  libgcc/config/avr/lib1funcs.S
 25aab38c62b7c9289cc763fa447ffbfd  libgcc/config/avr/t-avr
@@ -41351,7 +41541,7 @@ b98f087b8ddb8d01ebd3f380960dc7d8  libgcc/config/gthr-lynx.h
 03f0dcb01aca6d2bb9490f628bb344ed  libgcc/config/h8300/parityhi2.c
 c8a75852104a830a2aecd65d2de102fb  libgcc/config/h8300/popcounthi2.c
 e002eff640bc32723d0216927bc99406  libgcc/config/h8300/t-h8300
-810dfd3d92df6bfbff635b331e47c1ed  libgcc/config/i386/32/sfp-machine.h
+5e9541f994e7b2279295996ed235fb84  libgcc/config/i386/32/sfp-machine.h
 8271562f1de2b3fa5b976454b83bfdc0  libgcc/config/i386/32/t-softfp
 7d3267782d5f3311644fd10bddb44d11  libgcc/config/i386/32/tf-signs.c
 c823b0cff478388588a9aabedaa93068  libgcc/config/i386/64/_divtc3.c
@@ -41360,7 +41550,7 @@ c823b0cff478388588a9aabedaa93068  libgcc/config/i386/64/_divtc3.c
 7d5aec02242115dca9fe0000c4ca32f0  libgcc/config/i386/64/eqtf2.c
 b2bcf8b944f937cb4f3799c02670dcee  libgcc/config/i386/64/getf2.c
 a92aa384cf96b81c0dbb642826200dd7  libgcc/config/i386/64/letf2.c
-1a91cd9ca2ca07f89c8d2c31c73e9b52  libgcc/config/i386/64/sfp-machine.h
+7a52fe481e618077a5ef20252db54b78  libgcc/config/i386/64/sfp-machine.h
 498bbaf506a5bbdaa793f66399ece491  libgcc/config/i386/64/t-softfp-compat
 8a6ca8b862aa68b4e5a896c455fc641f  libgcc/config/i386/crtfastmath.c
 b2db80d7c4d333e6762d2981733e2de6  libgcc/config/i386/crti.S
@@ -41440,7 +41630,7 @@ bbd02bc575b39b813abb3651cde980d7  libgcc/config/ia64/t-slibgcc-hpux
 c5e966b27bfd296348375c119392b335  libgcc/config/ia64/vms-unwind.h
 d6833587bfeac39280bb51402b3c8642  libgcc/config/iq2000/lib2funcs.c
 102f7dad8ad6b54434a1b8313d1e42c4  libgcc/config/iq2000/t-iq2000
-c8815ee720d7fb7534fb0fa907ac6c48  libgcc/config/libbid/ChangeLog
+bfa03c8d1352e9fcf3611dacce186ab8  libgcc/config/libbid/ChangeLog
 86e150f40ebcb97e568366a5cb38cbbe  libgcc/config/libbid/_addsub_dd.c
 ded9495633ce7c1e30d900eae5f9a599  libgcc/config/libbid/_addsub_sd.c
 d26f72ff45dfd7210a6a33a599274515  libgcc/config/libbid/_addsub_td.c
@@ -41815,7 +42005,7 @@ b1dabc4f112758bb1b92e929e30a56b9  libgcc/config/sh/crti.S
 708736e34f2874791a1860e603f64601  libgcc/config/sh/crtn.S
 efc79e5fb4acfac2e1e58188a231560e  libgcc/config/sh/lib1funcs-4-300.S
 7b9d38647de36ee49387b0d839f576fc  libgcc/config/sh/lib1funcs-Os-4-200.S
-bd0bdeb94e74618ef37f91c3bafe7818  libgcc/config/sh/lib1funcs.S
+1b93a9fb488be1f6e57630775d3fe41e  libgcc/config/sh/lib1funcs.S
 1a9a92027ab7abb11de3fb26a5c7bb0b  libgcc/config/sh/lib1funcs.h
 68ddef94ef228a2e500c6f84ca5c5f73  libgcc/config/sh/libgcc-excl.ver
 d5ae1d856c107179aed74cce160e1ca1  libgcc/config/sh/libgcc-glibc.ver
@@ -41891,7 +42081,7 @@ c3ae69ba94b9d63cc583a9b653fd137b  libgcc/config/t-slibgcc
 57f27c60e5d8c572d2645821ec5935e0  libgcc/config/t-slibgcc-elf-ver
 57e4154cb283fd7d9f323f5d85d534d9  libgcc/config/t-slibgcc-gld
 226b6f10bc32786901a79b070ed13468  libgcc/config/t-slibgcc-gld-nover
-f55648adf2774be65472df81aa1c12d6  libgcc/config/t-slibgcc-hpux
+429659ae1ff2531e3ba2fd0c676a320d  libgcc/config/t-slibgcc-hpux
 2e0c1b4520e50522199d0015340ee978  libgcc/config/t-slibgcc-libgcc
 b5d3fe85dff400a82befa6b901b438ec  libgcc/config/t-slibgcc-nolc-override
 b4b1762560ba46b1cd7103e34cc74f62  libgcc/config/t-slibgcc-sld
@@ -41947,7 +42137,7 @@ d0e333ff49902b3b125a8e7c2a9aa1c7  libgcc/config/xtensa/t-xtensa
 3cc3e6ae8639340802bd0e5113d92fc1  libgcc/dfp-bit.h
 5ce4937e34bf813bfeb92fe55e42a4d7  libgcc/divmod.c
 b9a5bcda72f7b8809010f38227353353  libgcc/empty.mk
-036e4e501dcb90b60c8ad7b94df319ee  libgcc/emutls.c
+90a57f3b8d96a9ecd7d8f9cb08d2f002  libgcc/emutls.c
 aa52a8f7cb881c00c125ed5fd04ed4df  libgcc/enable-execute-stack-empty.c
 2984502da3d1d79f1b40809112db7d85  libgcc/enable-execute-stack-mprotect.c
 3668a74a11aed994e4b7af1b68ff8db3  libgcc/fixed-bit.c
@@ -42073,7 +42263,7 @@ d842fa32bc2990f1ab854006f7e7b7cb  libgcc/udivmod.c
 a027631be1ede235ab57ef8b284544ec  libgcc/unwind-compat.c
 59ebb6b97f0c55dc588d4444ab7689e8  libgcc/unwind-compat.h
 c02caa41af076f93a297e0c237bbd271  libgcc/unwind-dw2-fde-compat.c
-486c269c74193266a9572bb685efbda7  libgcc/unwind-dw2-fde-dip.c
+f480b301f31996707b7fe143db4f953d  libgcc/unwind-dw2-fde-dip.c
 20225630fe7cafcde5c74c2ad1b0707c  libgcc/unwind-dw2-fde.c
 81ae22035fc16ea0e482548e56f0cd46  libgcc/unwind-dw2-fde.h
 864491e7bfbbd7dc38bca1c3c486ef95  libgcc/unwind-dw2.c
@@ -42082,7 +42272,7 @@ c02caa41af076f93a297e0c237bbd271  libgcc/unwind-dw2-fde-compat.c
 5c71e5bf75b8bda4c16eb0331bd2f82a  libgcc/unwind-pe.h
 c73968ef1affd164f40382a75fe6b2ec  libgcc/unwind-sjlj.c
 e7e914187b304d3f16ea2f05db0f3524  libgcc/unwind.inc
-5af4aa99a2364cf5e43f1f618e713f92  libgfortran/ChangeLog
+936877839b0ac2db942e27b4e4eebb62  libgfortran/ChangeLog
 9aca36338382e5b4b730e7779170b24d  libgfortran/ChangeLog-2002
 80d3edc880c2da0b7a2beec2e2c4f774  libgfortran/ChangeLog-2003
 9f0239429993a5e64ed793eb6c55a5c1  libgfortran/ChangeLog-2004
@@ -42697,20 +42887,20 @@ b20f3ffe7796ac59ad43c3ef6434a298  libgfortran/intrinsics/transpose_generic.c
 a30a03479bc8673c442a4d944b4829e7  libgfortran/io/fbuf.c
 4ca380c9ca2fc0ce4ed5dd6ff905cc28  libgfortran/io/fbuf.h
 c9a9291eba5f9d78a684ca0ae9d456f0  libgfortran/io/file_pos.c
-287be26dc1b5e0a8f5d3c8ff97ae7018  libgfortran/io/format.c
+a4b0e528876296d9944ab31621ef2408  libgfortran/io/format.c
 7901f29df0b1e3e017fe8ddf93152f19  libgfortran/io/format.h
 ac491bfcbb6d9e4bc85c743b0f5c2604  libgfortran/io/inquire.c
 9ec39ff186f5c060594433ea19196097  libgfortran/io/intrinsics.c
 1076173fd5b57e7b077c2a04bfa68c52  libgfortran/io/io.h
-a5764ee6400ca380685c3d42c3019ffc  libgfortran/io/list_read.c
+d5c0a2282a39f18d265432a52b2478f4  libgfortran/io/list_read.c
 8909e5a207dc229ca1fc1bbba3ae1551  libgfortran/io/lock.c
-2fec02258ed1b3a0ec2ac66ae05e47d2  libgfortran/io/open.c
+adcb167bb4ee2647761f8498ae7e8901  libgfortran/io/open.c
 d22754390da496602359d7472e6dda27  libgfortran/io/read.c
 040e81da2aa94c975d261ab697d7f2d1  libgfortran/io/size_from_kind.c
 90a916893291ccff3753fc8c2f7e75ab  libgfortran/io/transfer.c
 ecde535f1d7587ac6e0b49eeff85574d  libgfortran/io/transfer128.c
 3c03c3fcaa4cea6a1123e3b4367bb3bd  libgfortran/io/unit.c
-54677d8d695df7bf0daa4f8f227bb647  libgfortran/io/unix.c
+f63c12acac2dfa84ed0453f35ed2b589  libgfortran/io/unix.c
 2496d333f6ba3d7a8c1e2b3ebab3716f  libgfortran/io/unix.h
 0ae21d0cde93e1cfad75bd3d65b59240  libgfortran/io/write.c
 f5071b93f1a4bd679533e697fee1e9ca  libgfortran/io/write_float.def
@@ -42773,7 +42963,7 @@ f81db480cbfdc2b1d2291623c6cadb5f  libgfortran/mk-srk-inc.sh
 a5772c0df020283368be7102550aa5e5  libgfortran/runtime/bounds.c
 84c940fae6cdf522b963e2490127d7bb  libgfortran/runtime/compile_options.c
 9d2dda911fd8aec94ca05cf48a8eaee2  libgfortran/runtime/convert_char.c
-54747849e9b09a4cb4ea1a6b90ef39ca  libgfortran/runtime/environ.c
+c32f0934e99d3cb52389fd05f1dd7df6  libgfortran/runtime/environ.c
 f3a4430b7bd53aedae5e5c035df35f83  libgfortran/runtime/error.c
 a4e5e9594a7f2a087390a0807afdffaf  libgfortran/runtime/fpu.c
 fbe7951b81d5a1708b771614ae412b45  libgfortran/runtime/in_pack_generic.c
@@ -42786,9 +42976,9 @@ cd299ad16b859923dcc010f015fad1d1  libgfortran/runtime/main.c
 4112ad892767d5d770956194d9ee3b9e  libgfortran/runtime/stop.c
 aa907d76d333520b51bacc051ae662c0  libgfortran/runtime/string.c
 5d4950ecb7b26d2c5e4e7b4e0dd74707  libgo/LICENSE
-c384e2411fa5d2b90f2385cd7ebf4b9e  libgo/MERGE
-5a4c0fb66f2e1262e885f3bd2835c5bd  libgo/Makefile.am
-2f259b9f431621728b333312f43d328a  libgo/Makefile.in
+e2daab5125d9418a709b7fefe940a45b  libgo/MERGE
+87a9fce64f8097b3c03c0e3ea262e50d  libgo/Makefile.am
+8babbd11b3570668d6d3a313503f9974  libgo/Makefile.in
 3a55d95595a6f9e37dee53826b4daff2  libgo/PATENTS
 0e3a2fb357762bdec163fe51ccb1e951  libgo/README
 d46376034c1fd6df47c8ba2cd5de9d0a  libgo/README.gcc
@@ -42803,7 +42993,7 @@ bc2f6032c98896249eadb56177c7d357  libgo/config/ltsugar.m4
 c30cd33c496505f13d9fbdb6970c7c33  libgo/config/ltversion.m4
 293853a13b7e218e3a4342cf85fbbf25  libgo/config/lt~obsolete.m4
 844975f235e8af3116ec6ac0b69a5812  libgo/configure
-0482b5eddb28f30224be3080cfac2cff  libgo/configure.ac
+3056acd0e0cf16ae203604f9a0ebeffc  libgo/configure.ac
 9ed1ef6421e0666d17ddbc3df0fea0ce  libgo/go/archive/tar/common.go
 2fb5dfca45c878e89547e86628030f0c  libgo/go/archive/tar/reader.go
 c7b194e5175373edb2c048f55a966df9  libgo/go/archive/tar/reader_test.go
@@ -42833,12 +43023,12 @@ f1dcd13397f7e578380b3fa564156b46  libgo/go/archive/zip/testdata/unix.zip
 b2cd93e3f5547b83bd3b91f9b0c466b1  libgo/go/archive/zip/writer.go
 88925052041cbb7eca93f05ecc232bdd  libgo/go/archive/zip/writer_test.go
 46eee39926e1f23b430a98290d7b03db  libgo/go/archive/zip/zip_test.go
-4571f679347448f6407af124df635cf6  libgo/go/bufio/bufio.go
+c635cbba8625aa6ba150309be2ed3f97  libgo/go/bufio/bufio.go
 34ee8ee3464e09b070e53a58759fec50  libgo/go/bufio/bufio_test.go
-eb197d9fefcec89c746edaae0f486648  libgo/go/builtin/builtin.go
+0a3b3dc87d4e29c6c594641e2342555b  libgo/go/builtin/builtin.go
 433b7dcb8ec1294361baa433c9bce467  libgo/go/bytes/buffer.go
 3329e6914389f8f78f65cde60594cb88  libgo/go/bytes/buffer_test.go
-d6460ac70165ff02b75defd99880e05c  libgo/go/bytes/bytes.go
+ca4ddeecd92aee28fa249aae23b2d709  libgo/go/bytes/bytes.go
 496261feab7f2a385b20d3be6fccc5c0  libgo/go/bytes/bytes_decl.go
 5c047e756d7774b432fed7df75ff0c6b  libgo/go/bytes/bytes_test.go
 0539e9ef0d5ad825031fc00c3bbb08c0  libgo/go/bytes/example_test.go
@@ -42856,7 +43046,8 @@ c35b0e88f36b5078609d5dabcbd65f6c  libgo/go/compress/flate/deflate_test.go
 2199a936fd2ca3c64cfab274af6e7f50  libgo/go/compress/flate/flate_test.go
 726a7ece97856afb66dc171a4b6fef32  libgo/go/compress/flate/huffman_bit_writer.go
 8ff1b5b10134c8fefad9121939b2c23b  libgo/go/compress/flate/huffman_code.go
-c3df2ab2a8ea125a1b1f3ca3b86a9924  libgo/go/compress/flate/inflate.go
+b4b3fbe95b6dfd0a3b6192ae91f73c8e  libgo/go/compress/flate/inflate.go
+4b9d925d7c0cd7e4c41f3aa59941118b  libgo/go/compress/flate/reader_test.go
 d39f14ab060c114d2723e2ddb7ed73a2  libgo/go/compress/flate/reverse_bits.go
 ed76ef7a0a4ab40751ef344ae4958203  libgo/go/compress/flate/token.go
 6cefc2c5e6b754afedafc0aecce89b63  libgo/go/compress/gzip/gunzip.go
@@ -42905,7 +43096,7 @@ f966ec99efeb681d8c48dca754bfa833  libgo/go/crypto/des/des_test.go
 ffeccc09da06d78737c559dd71cd8367  libgo/go/crypto/dsa/dsa_test.go
 b017bcce9d1dd80f996978320dde0410  libgo/go/crypto/ecdsa/ecdsa.go
 4692b1b1fe9e7dccee9344793ea93718  libgo/go/crypto/ecdsa/ecdsa_test.go
-9fe52b2610a31a0919e824331b2f3f61  libgo/go/crypto/elliptic/elliptic.go
+ae450d4edef83b45c83544c8daf38361  libgo/go/crypto/elliptic/elliptic.go
 ea802bf73409aa0ad07966632e02a534  libgo/go/crypto/elliptic/elliptic_test.go
 b073f9af8aa4ac913879b73cefab538a  libgo/go/crypto/elliptic/p224.go
 6cd56b4bae7d15ebf6b1432983818b08  libgo/go/crypto/elliptic/p224_test.go
@@ -42915,13 +43106,13 @@ b9d6269cbae49c627f7dedf11323189a  libgo/go/crypto/hmac/hmac_test.go
 97f4e78037a628b201a1c03c9d9042f3  libgo/go/crypto/md5/md5_test.go
 bf0c3fd859614c8a5a12dbba5f421b44  libgo/go/crypto/md5/md5block.go
 1fe49cba29b18fb4add38ebd37e0d58a  libgo/go/crypto/rand/rand.go
-2f72cc1314172db9bcda51add9bfb2d9  libgo/go/crypto/rand/rand_test.go
+27122dad4c482d98577a690f144f5138  libgo/go/crypto/rand/rand_test.go
 f851dc4136258b6a14e07a499eb259ed  libgo/go/crypto/rand/rand_unix.go
-d0121b84ce91c0d442e08fa3fee9a8da  libgo/go/crypto/rand/rand_windows.go
+44251439cd63fdaa9005e8670c7d3fd1  libgo/go/crypto/rand/rand_windows.go
 a758d37a7049d08e34245119a3c54645  libgo/go/crypto/rand/util.go
 7ebf4d13b32be6d8b4bf51972ce8a01a  libgo/go/crypto/rc4/rc4.go
 15ce38569d44dafd3afa0572d11c629e  libgo/go/crypto/rc4/rc4_test.go
-2581b7a55d2f92c6d5bd0e99d120c382  libgo/go/crypto/rsa/pkcs1v15.go
+d265ea362484451753612740d7feb72b  libgo/go/crypto/rsa/pkcs1v15.go
 3da008513764ec9e83819d7c82d33ae5  libgo/go/crypto/rsa/pkcs1v15_test.go
 d4d2234f210de91f0c7e56f22e834580  libgo/go/crypto/rsa/rsa.go
 ca4916d465c7cbd1bfd2b0771c79db14  libgo/go/crypto/rsa/rsa_test.go
@@ -42939,7 +43130,7 @@ b575635ed5f595a65b4b8301fc33a36e  libgo/go/crypto/sha512/sha512block.go
 7afe7dd08272e10245d65cf6662d2669  libgo/go/crypto/tls/alert.go
 639e9bc110025b2a3dba10d3b4e268dd  libgo/go/crypto/tls/cipher_suites.go
 200dfd620a28f120440b51ad8f430952  libgo/go/crypto/tls/common.go
-f96cc150c6c12e6d9e35a84a6cdf584a  libgo/go/crypto/tls/conn.go
+5d2544808ef1790aba43f4c0b51de855  libgo/go/crypto/tls/conn.go
 eac0b0c03aadac53ec75d685be117e99  libgo/go/crypto/tls/conn_test.go
 6a82e8a7fedf7996e8ce4240e9973804  libgo/go/crypto/tls/generate_cert.go
 f94c00e8a929125c98bfe0756e79f714  libgo/go/crypto/tls/handshake_client.go
@@ -42963,17 +43154,17 @@ e62e93c0e1b83cd45b5518bcf24e00ab  libgo/go/crypto/x509/root.go
 5cb203d86ed518bf2739f551bd32a858  libgo/go/crypto/x509/root_stub.go
 7d0048c67fa7f52f2c959a14170da43d  libgo/go/crypto/x509/root_unix.go
 60dea3c23d204a9c6b9d74dd41f0ce9b  libgo/go/crypto/x509/root_windows.go
-46e3223f12fa32e9ae266c0742de48ef  libgo/go/crypto/x509/verify.go
+4cf72dd2583914906dc932a1d7906e08  libgo/go/crypto/x509/verify.go
 5d05da39d5fcc893e859f446be6c8783  libgo/go/crypto/x509/verify_test.go
-70c723ff406d271556f98ca9d7b5c2cf  libgo/go/crypto/x509/x509.go
+0e691c5a056c25baad3dcb3654d986c0  libgo/go/crypto/x509/x509.go
 b19bf7e332f911b25cec7c939cfc492a  libgo/go/crypto/x509/x509_test.go
 f29abca49c2fed42a786c32f9cd0b7fa  libgo/go/database/sql/convert.go
 98bda4a511de09e7ef809ea5174b7eb0  libgo/go/database/sql/convert_test.go
 a22f47e35c12b47880641dd8e335311b  libgo/go/database/sql/driver/driver.go
 262788b1495dc9451ebbacea15200da5  libgo/go/database/sql/driver/types.go
 7cf2017c63b7da8c06b022399b791b28  libgo/go/database/sql/driver/types_test.go
-0537984f2dd5eb953f09fa99ab2a5d4b  libgo/go/database/sql/fakedb_test.go
-aeb6f798887307e10f819ac0e176d95f  libgo/go/database/sql/sql.go
+b8a0dcc0a381444ff6513c36b8030f35  libgo/go/database/sql/fakedb_test.go
+efe1969d31ccfd518d48928dabf1a809  libgo/go/database/sql/sql.go
 1ddb4099f2905f45755023a614e096b8  libgo/go/database/sql/sql_test.go
 39eb99c880544bc9c823bbb72204c34a  libgo/go/debug/dwarf/buf.go
 ac414fe376fda5cad9f02ecbe0673423  libgo/go/debug/dwarf/const.go
@@ -43029,7 +43220,7 @@ be44960e69900d8d115fc12ec4565747  libgo/go/encoding/base64/base64_test.go
 8acf09a41e94a8875b2a1add49ead514  libgo/go/encoding/binary/binary.go
 cc4d10fa745780f1091497ace7034dc8  libgo/go/encoding/binary/binary_test.go
 0539cadcffab4f6a2200a21184b2181e  libgo/go/encoding/binary/export_test.go
-c3592c01635ae422d628cb2a77f6ad3a  libgo/go/encoding/binary/varint.go
+8d2ae592cab3a8c8a81e80e28e1b9911  libgo/go/encoding/binary/varint.go
 ec98bf41bf7507ff6a25346cfde89bd6  libgo/go/encoding/binary/varint_test.go
 b7683df6b42a58a83195ec03cdf28ac3  libgo/go/encoding/csv/reader.go
 7efcea3dcc04052f919fecb64ab30167  libgo/go/encoding/csv/reader_test.go
@@ -43037,24 +43228,24 @@ b7683df6b42a58a83195ec03cdf28ac3  libgo/go/encoding/csv/reader.go
 abe049cca9f5a98655ec1b625f398b34  libgo/go/encoding/csv/writer_test.go
 7c397890f073f5f1d3446a0e7c375d94  libgo/go/encoding/gob/codec_test.go
 11b5516ce187140dee82b6739d376625  libgo/go/encoding/gob/debug.go
-b88d22ca67457ba22081194cb10b9629  libgo/go/encoding/gob/decode.go
+9a92682c39c6a05e2b33fa0d57abb02c  libgo/go/encoding/gob/decode.go
 4f35a2fd64053fa7ebe2de7de6f08533  libgo/go/encoding/gob/decoder.go
-09c47575c48a596212edc79d527361df  libgo/go/encoding/gob/doc.go
+14aeb3fb47dd912212a54a6763dd5d72  libgo/go/encoding/gob/doc.go
 5a6d15243feedb1eca701318de31977a  libgo/go/encoding/gob/dump.go
 d0031fe67860c08b8df2b794c1b2f348  libgo/go/encoding/gob/encode.go
 76388c13527a295c01f7e681124d7706  libgo/go/encoding/gob/encoder.go
-0de72955f5ebfa80026c1176c0348e22  libgo/go/encoding/gob/encoder_test.go
+8641f10a829b28ce56356ff8ca31e7b4  libgo/go/encoding/gob/encoder_test.go
 e67f01368492baca84a65bb2984a3e1f  libgo/go/encoding/gob/error.go
 21f81b00e1157a497bcdbd3af462906a  libgo/go/encoding/gob/gobencdec_test.go
 1a31923dc96b630ee5da7582fad1c925  libgo/go/encoding/gob/timing_test.go
-ef0115597974a9371af02890d0bbc383  libgo/go/encoding/gob/type.go
+e0adf748f2ab42ba50e97bf36311bf07  libgo/go/encoding/gob/type.go
 c1f894cc3f0b9f20a2656c29855ac218  libgo/go/encoding/gob/type_test.go
 0d92ed3b59bf7155c953c1040ce01f55  libgo/go/encoding/hex/hex.go
 15ac0e716b50130a673b08d5fcbdac29  libgo/go/encoding/hex/hex_test.go
 659de9915c706152e35c8df88566555a  libgo/go/encoding/json/bench_test.go
 ad62da6e273113fdf1d61f9a916ab888  libgo/go/encoding/json/decode.go
 5d3421a76e8f374e055eae4cd6c5f067  libgo/go/encoding/json/decode_test.go
-9fabaebe86281ec2ab606bbe853c99b3  libgo/go/encoding/json/encode.go
+2a3ebb29eff59cc1eabec2e18c1f4033  libgo/go/encoding/json/encode.go
 252878e87ea0356a7999d137011571ee  libgo/go/encoding/json/encode_test.go
 29a8b438eceff124e33cc7aad04e7dca  libgo/go/encoding/json/indent.go
 c259de9ed68ee160e5ec270a17d97f01  libgo/go/encoding/json/scanner.go
@@ -43196,13 +43387,13 @@ d32a01da9f07c34901a037b5c0453001  libgo/go/exp/winfsnotify/winfsnotify_test.go
 76c8bed7c99317de517fe1f69d60d742  libgo/go/expvar/expvar_test.go
 97c2f30cebb7bb49677b5c6216b7e495  libgo/go/flag/example_test.go
 96a00d236dc8445959bead977fbfd1f6  libgo/go/flag/export_test.go
-a155a640a230c8a59ecfc118d25a0079  libgo/go/flag/flag.go
+72300a42a22e2c0c186dffa5bc601c03  libgo/go/flag/flag.go
 96712457903a9eeae5b42ce32dc4a8cb  libgo/go/flag/flag_test.go
 4cc961e000783dc5dd8dee15a221bbbd  libgo/go/fmt/doc.go
 b11aa946c688e343c2c41f727f3c56b2  libgo/go/fmt/export_test.go
-fe0793463f91fbfbf3e656bf19544ac3  libgo/go/fmt/fmt_test.go
+0f98e9d9316f15300572461d8e6a9a33  libgo/go/fmt/fmt_test.go
 5cd12763e4e20c8d494f8d7cd872a32a  libgo/go/fmt/format.go
-0ac6a828665b7862b71d125562a5b2e0  libgo/go/fmt/print.go
+2c36f38c9ab1e2aaa8876a5b20306071  libgo/go/fmt/print.go
 1429785db274cfa545b0d78f9ac0fd1e  libgo/go/fmt/scan.go
 b3c4a91090461a98a9d747359fb97281  libgo/go/fmt/scan_test.go
 2369824f08c60e32daa40b736d182964  libgo/go/fmt/stringer_test.go
@@ -43210,15 +43401,15 @@ f603cb603d2034e2869545d1620840e8  libgo/go/go/ast/ast.go
 f8d3946f87220cd03b7c011174b0fd23  libgo/go/go/ast/ast_test.go
 9b442d30f516fb08d12b97dcd2f693e0  libgo/go/go/ast/filter.go
 b22868c25e381d1e046c54e22b6933b3  libgo/go/go/ast/import.go
-467e75d46328db039472f4ea264b1721  libgo/go/go/ast/print.go
-c2402a316f04abeb0d4b3c0b1e4a8697  libgo/go/go/ast/print_test.go
-4e9980e52894c4e3c8d83bae6840e01a  libgo/go/go/ast/resolve.go
+f90f30debd35fea09f6f2e2acfda22b7  libgo/go/go/ast/print.go
+37f0da8f9994ef23553dd3327895afa7  libgo/go/go/ast/print_test.go
+c2194528b2ffcb810179511500bfe12c  libgo/go/go/ast/resolve.go
 e17bc2b23e90898f765a3e3b8595b75a  libgo/go/go/ast/scope.go
-d364aa1b7086d050a90486fb093880d8  libgo/go/go/ast/walk.go
-81fafb4cafe9479ba89192225ea066c3  libgo/go/go/build/build.go
-1b998a76aaa0f2f67a1c37a6d457b816  libgo/go/go/build/build_test.go
+48f0f676904e8f3a100222be03d9e7ff  libgo/go/go/ast/walk.go
+0e49e7401604ad929f6ac9af2c5c65f6  libgo/go/go/build/build.go
+5222dd3fc77751b073f51c557c628a10  libgo/go/go/build/build_test.go
 3daaa08e8055281a9841543a9cbff0ba  libgo/go/go/build/deps_test.go
-c9565cbda83d03168977ed59155caa5c  libgo/go/go/build/doc.go
+348fcd53375395b04b05bad9adaf51b4  libgo/go/go/build/doc.go
 39f113d9eb3addc6b532513c9828a075  libgo/go/go/build/syslist_test.go
 de6991b3771170d6d3ce31fe2c89b5f1  libgo/go/go/build/testdata/other/file/file.go
 0f6926e3a63df39bdeb382e093950776  libgo/go/go/build/testdata/other/main.go
@@ -43230,7 +43421,7 @@ cd974264063d90c33b12268470075004  libgo/go/go/doc/doc_test.go
 388e052d0cacefb9313de3c52deef885  libgo/go/go/doc/exports.go
 d3e52eb848d1ea5cc479cf3ed007a83d  libgo/go/go/doc/filter.go
 869a816db378209d1a9bdc7bafbdfd57  libgo/go/go/doc/headscan.go
-f90f669904daa62e902fc8efa8bf10fd  libgo/go/go/doc/reader.go
+1e49eb3d7114795ae7c8cc82948e3cc4  libgo/go/go/doc/reader.go
 423c0ced4dee219c4d97653e4c583dd2  libgo/go/go/doc/synopsis.go
 0c3ac8f85b941ea382b69d5d13b34ddd  libgo/go/go/doc/synopsis_test.go
 20698036889b7b79349fc2d70bb9d110  libgo/go/go/doc/testdata/a.0.golden
@@ -43261,9 +43452,9 @@ d2fdacef5ba301e266bf748c9fa405e2  libgo/go/go/doc/testdata/error1.0.golden
 d2fdacef5ba301e266bf748c9fa405e2  libgo/go/go/doc/testdata/error1.2.golden
 60915c038ba37c33fc3807c2234ab778  libgo/go/go/doc/testdata/error1.go
 8ca38a427dfbf465e49891b73945fa0a  libgo/go/go/doc/testdata/error2.0.golden
-785c956e4978a0716c0d3a6ae47efac1  libgo/go/go/doc/testdata/error2.1.golden
+a485ccb6a5f4b4b61fa9cfcc83bf806f  libgo/go/go/doc/testdata/error2.1.golden
 8ca38a427dfbf465e49891b73945fa0a  libgo/go/go/doc/testdata/error2.2.golden
-db585cef657bb8d6be8d54f5eb433f7b  libgo/go/go/doc/testdata/error2.go
+07ad64809136467709f972d184de84ae  libgo/go/go/doc/testdata/error2.go
 59d9e886ca8611e5634a0f6a42b7ab4f  libgo/go/go/doc/testdata/example.go
 40794af971bc3b3ecbb38e9331833f54  libgo/go/go/doc/testdata/f.0.golden
 bca48e5274500c7c89d16122908ac9a8  libgo/go/go/doc/testdata/f.1.golden
@@ -43281,10 +43472,10 @@ fc67fbcb7198dc068142296187ff7209  libgo/go/go/parser/parser_test.go
 2c94112a8a9a1049bf199bd870f0a6ba  libgo/go/go/parser/short_test.go
 b72b1f0432aed37d275e66b0169f39fb  libgo/go/go/parser/testdata/commas.src
 c70ad2a62c388725a380285de2dc2586  libgo/go/go/parser/testdata/issue3106.src
-6d53f2f4c48091eb138d23afff63f2e2  libgo/go/go/printer/nodes.go
+feecd3f7d4e32337ca6b3129946123c1  libgo/go/go/printer/nodes.go
 3a857559462c3ec141020b7822cf2bf5  libgo/go/go/printer/performance_test.go
 79ada89cf46bf784bf5e8eaeec4a47b4  libgo/go/go/printer/printer.go
-36c508c689e718633113a31d4095e35e  libgo/go/go/printer/printer_test.go
+cbe09d5bd87d1405d553e67ebd888184  libgo/go/go/printer/printer_test.go
 da1ce7f7c3175a903231646f4ef9c8f7  libgo/go/go/printer/testdata/comments.golden
 85cc3cd88b22a1d6ba382d1e1d5de72d  libgo/go/go/printer/testdata/comments.input
 e6e08677739f80de2dfe4d48b9d3bb45  libgo/go/go/printer/testdata/comments.x
@@ -43302,8 +43493,8 @@ a7bb8d47908112f568e617904eeb185a  libgo/go/go/printer/testdata/parser.go
 9c50bb59eb5a355a27762a6c8a0b754d  libgo/go/go/printer/testdata/slow.input
 819f1af82c56d3bd6aa2a19589691d67  libgo/go/go/printer/testdata/statements.golden
 d321c1c6f8b1396b0f1dce8e4459b9ab  libgo/go/go/printer/testdata/statements.input
-9064dc29d4c13a0776a9549b776f2789  libgo/go/go/scanner/errors.go
-4638fac9332b742dd5975df858fc10d8  libgo/go/go/scanner/scanner.go
+ed6d8f81a626e68919c6ca821880624e  libgo/go/go/scanner/errors.go
+917ff1db18c35f6f1fe704a7fdf90d26  libgo/go/go/scanner/scanner.go
 7e566ee4a209706ea58969c6d9831bf9  libgo/go/go/scanner/scanner_test.go
 6bf0b0de04d0f402fb4eaab32bb6fe04  libgo/go/go/token/position.go
 d8fe39ab09ae91d9f2034ca3ace9502e  libgo/go/go/token/position_test.go
@@ -43326,7 +43517,7 @@ fd83fc5e6ebe37789caa36f2df4b24f7  libgo/go/hash/fnv/fnv.go
 a8c854d518793877ce2002a8f1da1a6e  libgo/go/html/escape.go
 1a44a8d4ccfc0c81cdd8566ada51be67  libgo/go/html/template/attr.go
 2b1ac8b342127620458a49fe2ca878da  libgo/go/html/template/clone_test.go
-8bf0e6ac5f9d27a2a9bb57aa8df67132  libgo/go/html/template/content.go
+44b1e60df70e961f942310d2fb526c8f  libgo/go/html/template/content.go
 0f4c8bb9d13ad8a867ce68496bdfb640  libgo/go/html/template/content_test.go
 302b2b14f96a6f7b5022d35deb5b6bde  libgo/go/html/template/context.go
 506e3b530bdd40373071c9e859b1912e  libgo/go/html/template/css.go
@@ -43341,7 +43532,7 @@ a8c854d518793877ce2002a8f1da1a6e  libgo/go/html/escape.go
 4e672f8f9eedec591899270ea1a1fae2  libgo/go/html/template/js_test.go
 c0daf65d2f874b4b5eb529a4e4d4e04b  libgo/go/html/template/template.go
 662c46887ffebd6da072fc63eae58946  libgo/go/html/template/transition.go
-6a08dec6071cdc9e5b7748bcafd40eb6  libgo/go/html/template/url.go
+bef0cd35c00098f75880ead9e458f22d  libgo/go/html/template/url.go
 acc5e4eff8396c29ef5a0b00631ccc85  libgo/go/html/template/url_test.go
 b8e3e850bc2ef573b9c8357230fd22a8  libgo/go/image/color/color.go
 46a07804fd1fea46f17105eaaeb35d8a  libgo/go/image/color/ycbcr.go
@@ -43360,10 +43551,10 @@ acc606e8da825cf4e34fb6e92f683436  libgo/go/image/gif/reader.go
 ba14c236db1bc45cc63d90ddf161877e  libgo/go/image/jpeg/fdct.go
 d62438330a022e79d95a7191b5f41087  libgo/go/image/jpeg/huffman.go
 fac3b7447f614ed6d58f15a298eeea5f  libgo/go/image/jpeg/idct.go
-8dd837d660349c0d87dc421bc4013600  libgo/go/image/jpeg/reader.go
-29f41e992a503233290b1f4202ee1d51  libgo/go/image/jpeg/writer.go
-b3fa91d60cf0a1ea7187b408756ef25f  libgo/go/image/jpeg/writer_test.go
-ca10eabf82b9931f4025b241bf4c6a3c  libgo/go/image/names.go
+43911b5b212a7ec0144202490da53d8f  libgo/go/image/jpeg/reader.go
+7ac61ba44fae58dbb52d582eac65e9db  libgo/go/image/jpeg/writer.go
+ff0300cec2712ea21fadd069af31987a  libgo/go/image/jpeg/writer_test.go
+1813b521ce4d162c7510499308c51b86  libgo/go/image/names.go
 4228e146f514285b56ab1e74bf0dd4cf  libgo/go/image/png/reader.go
 144c9fb46a53011a6e4ac9c46bd58ab6  libgo/go/image/png/reader_test.go
 a17c493ff9606bdfb9f8ed3e71aa7043  libgo/go/image/png/testdata/invalid-crc32.png
@@ -43424,7 +43615,7 @@ d39280477f727e14a1a295b5beb970c8  libgo/go/image/ycbcr_test.go
 466c92d784f128354149655cd726bb4d  libgo/go/index/suffixarray/qsufsort.go
 c18aefee1b7e8ebf602a98c849c4845b  libgo/go/index/suffixarray/suffixarray.go
 7d0ba82fe0d46991d857dffb8403c6f6  libgo/go/index/suffixarray/suffixarray_test.go
-e8cf38cdba0f9abc55cb1196ddaec18f  libgo/go/io/io.go
+377d5bc6572648ca03be04d79526646d  libgo/go/io/io.go
 f2bdebb51c627daf72a45565a7eafb18  libgo/go/io/io_test.go
 b13c728e3fd3cc4e3c44938f34d368f0  libgo/go/io/ioutil/ioutil.go
 ad740eb6026fe4d185470c2f0059a51f  libgo/go/io/ioutil/ioutil_test.go
@@ -43436,15 +43627,15 @@ fb7dce31ce7b4f8173df507ca663a91f  libgo/go/io/pipe.go
 b75b7e96196456b7d80c7ea307d19ee1  libgo/go/io/pipe_test.go
 3ce5c0b9e4f6c7d14276a4dfb202206e  libgo/go/log/log.go
 32a5f59cb1aa5fe7ea8a60016571564f  libgo/go/log/log_test.go
-46347873ed8a0559b1112ba8824fd306  libgo/go/log/syslog/syslog.go
+435ece2689e62b4bc45ed70b3ae06e07  libgo/go/log/syslog/syslog.go
 31064bfd2972f3d33043bce94a32c3b9  libgo/go/log/syslog/syslog_c.c
 1f7604234fa9386088af4ccc5e017307  libgo/go/log/syslog/syslog_libc.go
-8a9c36dd758168127af96a2fad887039  libgo/go/log/syslog/syslog_test.go
+8c03157f59036cd15200722a5d682883  libgo/go/log/syslog/syslog_test.go
 a372cbdde7f0c56febf963a2eabc9b08  libgo/go/log/syslog/syslog_unix.go
 c2d1b18fade6d1d57fb11dd2ca8ad37f  libgo/go/log/syslog/syslog_windows.go
 70df85639bee856fbbeeea8cce5cd98c  libgo/go/math/abs.go
 f4db27d3692787484aebb2ad432599df  libgo/go/math/acosh.go
-24b8adee05f73c7263694cd63fa3b102  libgo/go/math/all_test.go
+efb37d2159583ab11bda77c13033537c  libgo/go/math/all_test.go
 ff03cdcdbdec8039d2affeacc59bc831  libgo/go/math/asin.go
 0d0861d8524112298f0ffab89505601e  libgo/go/math/asinh.go
 3646027c74db673849e0b49762b43b50  libgo/go/math/atan.go
@@ -43457,11 +43648,11 @@ a38c5d81ae7b5fa0749743a1f6d19480  libgo/go/math/atan2.go
 fb40193bf8426b322ecf298d83723925  libgo/go/math/big/hilbert_test.go
 4a523fc8e4d2770268550ad07f59c539  libgo/go/math/big/int.go
 065780e0bf01e347541f3de200d29f3c  libgo/go/math/big/int_test.go
-5a81fdd2a1280381748105cb529055e7  libgo/go/math/big/nat.go
+bd54b95db88be7d612970d977f1f52ed  libgo/go/math/big/nat.go
 65fda3ef22f4aae11752f59218d26285  libgo/go/math/big/nat_test.go
 e733a012c94aef6a83aa2d1b718a9915  libgo/go/math/big/rat.go
 482652e043d92de3e0fb80528f2aa739  libgo/go/math/big/rat_test.go
-851ff1a35e85f47dac4654b4f78f4732  libgo/go/math/bits.go
+b8f8d551d454105eccf779d82f4d7021  libgo/go/math/bits.go
 7cc064682cc01c6006e9b1d51ac96f70  libgo/go/math/cbrt.go
 400bac022849ee5bc5e3e03de5e2d076  libgo/go/math/cmplx/abs.go
 89f3b0ac4237b532fb7189c6593f91e3  libgo/go/math/cmplx/asin.go
@@ -43509,7 +43700,7 @@ d70271f80ee53872eab2d1cb3fccd16d  libgo/go/math/rand/exp.go
 228e4c8c0a0c691150528a75fcdac1fb  libgo/go/math/rand/rand_test.go
 b4f4533d25b4cd45e295b792a74b6cfd  libgo/go/math/rand/rng.go
 1fb7d541ce47fef81f679febdb8eae97  libgo/go/math/rand/zipf.go
-1200ccc8e5c79f3a2060bd8d349eaad9  libgo/go/math/remainder.go
+3cea1b096bfc0ae8e50c71e452de8781  libgo/go/math/remainder.go
 be95fcee6784fe2c493051d6ca0c6dab  libgo/go/math/signbit.go
 22e5f10716c58937384715d063c84876  libgo/go/math/sin.go
 4323a823e57cc26dbec9a6d01f1046ec  libgo/go/math/sincos.go
@@ -43518,12 +43709,12 @@ e16db6155203df6ead837102952aa750  libgo/go/math/sqrt.go
 f105380c8b2240aa9e113eee1d360ac2  libgo/go/math/tan.go
 463a8cba52c67536af5ea8bd3e18aa53  libgo/go/math/tanh.go
 4103ff95b1987b7619ca55fad881ed7f  libgo/go/math/unsafe.go
-315b74c2a903649e2365e7e91fb1f297  libgo/go/mime/grammar.go
+c0dba3f73fc42783c1ebeceb96d7f7d3  libgo/go/mime/grammar.go
 7ed03e1f91d8a0846f74902002cef0ac  libgo/go/mime/mediatype.go
 3401cf15d704a1d71138552bdc88e284  libgo/go/mime/mediatype_test.go
 853bb2a637cc10fcf9f220516279a63b  libgo/go/mime/multipart/formdata.go
 517c3e018d5a285925a0b5a0dd58db0c  libgo/go/mime/multipart/formdata_test.go
-3d6df6068c1818662e4fd47e5d82c6c4  libgo/go/mime/multipart/multipart.go
+4fa97d98f08440fb5639a5c39b54ce01  libgo/go/mime/multipart/multipart.go
 96eed79425f1f0540364996a15183dce  libgo/go/mime/multipart/multipart_test.go
 ea13f3c87e9a921a7368f85cd6ae67d3  libgo/go/mime/multipart/testdata/nested-mime
 254747e056deed5de41256741b4473de  libgo/go/mime/multipart/writer.go
@@ -43537,7 +43728,7 @@ b0bd400d8444f0b4b45a76477976025c  libgo/go/net/cgo_bsd.go
 24ebe3b3ed227cb635c27cd3c1513832  libgo/go/net/cgo_linux.go
 b2eecf9f58beeebac876f9f7cf9e736f  libgo/go/net/cgo_stub.go
 eb50d814845e2ea5b8928667eb767b79  libgo/go/net/cgo_unix.go
-a5fe0e6f001eef4fd150c1d06a4bd147  libgo/go/net/dial.go
+d256d42a3ad5a074f70d42f2116963ee  libgo/go/net/dial.go
 826e90e719253d0fd5dc998198dfb8ce  libgo/go/net/dial_test.go
 7075fbd9a945d0bb1085262181a2fbcf  libgo/go/net/dialgoogle_test.go
 f8a3cd1988311e964ed63339dc3bca4b  libgo/go/net/dnsclient.go
@@ -43547,13 +43738,13 @@ f8a3cd1988311e964ed63339dc3bca4b  libgo/go/net/dnsclient.go
 978c04416e1c16d816259d7e1f4990d5  libgo/go/net/dnsmsg_test.go
 149a1c254b62a74ae730ffb20a2cf763  libgo/go/net/dnsname_test.go
 1f8ab71dee1b4375b2ec739eac571768  libgo/go/net/doc.go
-8b42c6423f1aaaffd9b7a0117ca52256  libgo/go/net/fd.go
+40f993e843f74f2b6c39a4764ba03e89  libgo/go/net/fd.go
 ee93223482eeb15ce97d819fa033a7d1  libgo/go/net/fd_linux.go
 e86511d7b451cd6799b05dc24d2ddc39  libgo/go/net/fd_netbsd.go
 e86511d7b451cd6799b05dc24d2ddc39  libgo/go/net/fd_openbsd.go
 197335c885ed6335b73c7fab0b06b61a  libgo/go/net/fd_select.go
 0053703e29cb6e7ff770a608d3fba20d  libgo/go/net/fd_windows.go
-3ec79dae6339a705e002e4062992b16d  libgo/go/net/file.go
+22f16e12885c357b52e7cb8ad6a335f3  libgo/go/net/file.go
 b59498a70ee13006bb5bb848e53ad5d5  libgo/go/net/file_plan9.go
 9d0b33b7ffb67733011cab41af3cdb01  libgo/go/net/file_test.go
 11543a50d361433a59490967733e1525  libgo/go/net/file_windows.go
@@ -43568,28 +43759,28 @@ b29019bb8ac585422325eb11fcb16b27  libgo/go/net/http/cgi/host.go
 3cdaeae776696e7c657f6321b3e101ad  libgo/go/net/http/cgi/testdata/test.cgi
 2f62500a995ab8b136305b2e24ac65f3  libgo/go/net/http/chunked.go
 0a6ca0f4b6aa8d1afb26ffd3fbc23e5c  libgo/go/net/http/chunked_test.go
-095673079919a33ab402ec1fea0475cb  libgo/go/net/http/client.go
-9e55acb13c08ef68ddb11805e7f252ed  libgo/go/net/http/client_test.go
+87764e4c4eeb055f908b7ec90d35a1cd  libgo/go/net/http/client.go
+b41a1cc9e97f6a982917670c62a0283f  libgo/go/net/http/client_test.go
 1d87dd79d666aa395389a54834754fc7  libgo/go/net/http/cookie.go
 442bf6e40a91b0d805fdb886a88c0917  libgo/go/net/http/cookie_test.go
 406e6a0ccd19be89e69d3291b6f96a75  libgo/go/net/http/doc.go
-b062cece71c2d8aa776e2d1d56c9189b  libgo/go/net/http/example_test.go
-6b668fe913e34bc68e83fa6afa224ea9  libgo/go/net/http/export_test.go
+778d41cd8dca3f3df405132185e07480  libgo/go/net/http/example_test.go
+04cbefa83a59eab1d9a2d5cfdcf3f3d3  libgo/go/net/http/export_test.go
 09c23dda363bea5710dba899797d2500  libgo/go/net/http/fcgi/child.go
 d2dd73ca9dff93f07ddcf480c17d4608  libgo/go/net/http/fcgi/fcgi.go
 cfdf9f6b03cfb8bc5067889e8328c84a  libgo/go/net/http/fcgi/fcgi_test.go
 c8f8c881b2b45eb49806f8d2598ab02c  libgo/go/net/http/filetransport.go
 c977abea8a6b03d9f790d2f3b90b744f  libgo/go/net/http/filetransport_test.go
-2dee7664a668d908c2250e303979ba66  libgo/go/net/http/fs.go
-18db12e8adbd16620b53d68b158a6f86  libgo/go/net/http/fs_test.go
-59a07c4ee8910c8babae9de66cf15725  libgo/go/net/http/header.go
+a49fa1571fe51868408fafa1e4dbccfb  libgo/go/net/http/fs.go
+8f563e8a2c2595d161f1fa5dbd8e215e  libgo/go/net/http/fs_test.go
+284d505ed3865e037aeca55f7f29c31c  libgo/go/net/http/header.go
 64bc31cfa0119ebdfe7fe489b10cd01e  libgo/go/net/http/header_test.go
 af3c07a5fd70aeb3c03c5e61e7331698  libgo/go/net/http/httptest/recorder.go
-e07b3dade73fbf66648cd60631a75ecc  libgo/go/net/http/httptest/server.go
+e8ab957aa175fd757f0b0643faf6caef  libgo/go/net/http/httptest/server.go
 5ad12e068971bc75db8d4ba7db389296  libgo/go/net/http/httptest/server_test.go
 f21a8e9d477a0f4621155e710b3fc3f0  libgo/go/net/http/httputil/chunked.go
 9f935db010156aa41eb203123d664198  libgo/go/net/http/httputil/chunked_test.go
-77e8088e4c519737df5bca1f184a0873  libgo/go/net/http/httputil/dump.go
+fdbe25b80cdaebfa48c8fb1714d93ab3  libgo/go/net/http/httputil/dump.go
 0683536b4ea0dfeff31744617ea0af04  libgo/go/net/http/httputil/dump_test.go
 ae7a48bacf762048c72a70d62cf25805  libgo/go/net/http/httputil/persist.go
 88c09d29c38d90cbbb3a49f1524bf5c1  libgo/go/net/http/httputil/reverseproxy.go
@@ -43597,9 +43788,9 @@ c4dceef83e6d42a071b77655e5313950  libgo/go/net/http/httputil/reverseproxy_test.g
 3235cd7f3b30934ae372c0a910b7e65c  libgo/go/net/http/jar.go
 c0dbc5c7fd42360d63e6b4aea69f023a  libgo/go/net/http/lex.go
 27ae8e79dd6ad5658048bcc1b5c9b3c3  libgo/go/net/http/lex_test.go
-65788fd40e9e6cde0b3d497e47744d73  libgo/go/net/http/pprof/pprof.go
+573769c4201c52d071444747793d6f74  libgo/go/net/http/pprof/pprof.go
 ceb4500701650390fb1d5045dadfe4a5  libgo/go/net/http/proxy_test.go
-7392d6363b19cb821be2a15706d8bacf  libgo/go/net/http/range_test.go
+e79bfc5725423d1946ef557edc738faa  libgo/go/net/http/range_test.go
 d58e8a5cae37b26e6f239d81534cbd2b  libgo/go/net/http/readrequest_test.go
 4594b2c7a30986f6ebd78de4b29e4bec  libgo/go/net/http/request.go
 587599da31d6d8e4b5bbacfe515b2f65  libgo/go/net/http/request_test.go
@@ -43607,8 +43798,8 @@ d58e8a5cae37b26e6f239d81534cbd2b  libgo/go/net/http/readrequest_test.go
 c16a329295c2fad0814f4857dd6e9c47  libgo/go/net/http/response.go
 9825db786d37243c5445046eaf81f62c  libgo/go/net/http/response_test.go
 bcd9556f44913e9c78b54bd6f375eda3  libgo/go/net/http/responsewrite_test.go
-75498a2a008fbebfcdd3cddea16387dd  libgo/go/net/http/serve_test.go
-58ac69cbe721d2b19097a95a7d390583  libgo/go/net/http/server.go
+450bf7be3e8ced821713b9bdf9c036b7  libgo/go/net/http/serve_test.go
+721d8f9263be79d9189950af966d206c  libgo/go/net/http/server.go
 305fbe2c3e9d6bd7cd71b0de1f482fe0  libgo/go/net/http/sniff.go
 bde83bcd44e8d81f429a06d91f1b9f29  libgo/go/net/http/sniff_test.go
 db3e9a59c89e51fb018c8cac6787d939  libgo/go/net/http/status.go
@@ -43616,8 +43807,8 @@ db3e9a59c89e51fb018c8cac6787d939  libgo/go/net/http/status.go
 39bf3a5cbcd978e0d9a9bab0f27787b4  libgo/go/net/http/testdata/index.html
 746f7bd76da133c7035108d0053a7e79  libgo/go/net/http/testdata/style.css
 d25424e1f3fed8cbb7146a284e492247  libgo/go/net/http/transfer.go
-87b40b6016bb669335518ce83428036f  libgo/go/net/http/transport.go
-43ae852c18c0d80181ba8e3a057c7c66  libgo/go/net/http/transport_test.go
+4d4e7ba4037f131fc7d6035bf8b8fc13  libgo/go/net/http/transport.go
+3993c81940f921914791c86fd4cb99da  libgo/go/net/http/transport_test.go
 3e2d83926f658967180e34ebd76e9de5  libgo/go/net/http/triv.go
 a2209175cb7b0d91717df706b1efdb7b  libgo/go/net/interface.go
 2426cfdbf6697e71ae485f485304fe52  libgo/go/net/interface_bsd.go
@@ -43632,9 +43823,9 @@ bf1a753a1d0ab10a5d25628019181d62  libgo/go/net/interface_windows.go
 5391a68e2f8b4b39110c3662f5136fba  libgo/go/net/ip.go
 907cba4d2fd9a09733c025aee3993a3b  libgo/go/net/ip_test.go
 a42ce7073b85b986e12be6c0157d34ef  libgo/go/net/ipraw_test.go
-0e3fd6b8ea0acacce13cc8e934b879d9  libgo/go/net/iprawsock.go
-18df1c9f7a030068f65eb383a7e6f7f6  libgo/go/net/iprawsock_plan9.go
-153638a7f9df9c9e1b7321946b17597e  libgo/go/net/iprawsock_posix.go
+a45b5e36c630660b058e274586987297  libgo/go/net/iprawsock.go
+a58122226465c9f3b896f8f95d59733c  libgo/go/net/iprawsock_plan9.go
+f4976b0c91f123bd8c967a11d3d77959  libgo/go/net/iprawsock_posix.go
 18e5d8b7b2004a70a4b88892fc22e9ff  libgo/go/net/ipsock.go
 03b814e469bc26442a196e249bc573c3  libgo/go/net/ipsock_plan9.go
 e43df91e8942c0d8a2e2fba6a861d127  libgo/go/net/ipsock_posix.go
@@ -43644,10 +43835,11 @@ e43df91e8942c0d8a2e2fba6a861d127  libgo/go/net/ipsock_posix.go
 4196f5cb3cff5ca9654ffdf6934752cc  libgo/go/net/lookup_windows.go
 a6e3a6266c3dfdb3d9df1babe1dd921e  libgo/go/net/mac.go
 59f014c6c4c19e49807c77369c842fd5  libgo/go/net/mac_test.go
-bc623402b9f60396cb924565558e1e3d  libgo/go/net/mail/message.go
+31d26110723a0209036aa979a8d2b4a4  libgo/go/net/mail/message.go
 f8d75a02d3e645120535e255a87633e4  libgo/go/net/mail/message_test.go
 20ee9cec794ed03776367febf4107b92  libgo/go/net/multicast_test.go
 97741d61ac81c49e7ba78d4adb7f98c1  libgo/go/net/net.go
+b936f6ca81918d2c4a693a384811e35e  libgo/go/net/net_posix.go
 ff83256e5c872a79ab46541b05ac89c1  libgo/go/net/net_test.go
 0363be8e217833024ed46cf16ff295ca  libgo/go/net/newpollserver.go
 e0d88f0e247dd2e2f739414f8c061e7a  libgo/go/net/newpollserver_rtems.go
@@ -43659,10 +43851,10 @@ bd551efce9ea7bb3c69f43483201285f  libgo/go/net/pipe_test.go
 8f501eabcc3f3f7615cd7a37bf22c01b  libgo/go/net/port_test.go
 e6b9a9d32f737b4d9829f791c1ab7613  libgo/go/net/rpc/client.go
 e9a72102a30228998957257c4b098ce3  libgo/go/net/rpc/debug.go
-492b65b65cdbfdf111605500ca76b4e8  libgo/go/net/rpc/jsonrpc/all_test.go
+ae2d54a748e9aaf9a1fb5d7a8094d414  libgo/go/net/rpc/jsonrpc/all_test.go
 de453f7f22d1dc711db99323e40b93a6  libgo/go/net/rpc/jsonrpc/client.go
 fdd2795a518a453b4881ca8fc559e65f  libgo/go/net/rpc/jsonrpc/server.go
-0f7cfc121d3d6a0d6736ce954989fe26  libgo/go/net/rpc/server.go
+6d4c81984dec98f85a42ba6ca1aad391  libgo/go/net/rpc/server.go
 d2d4fdfd5ac2f5cdb04f6e7dff6fa7ce  libgo/go/net/rpc/server_test.go
 6eed129eb0c7824e5d6e4614fe776c6a  libgo/go/net/sendfile_linux.go
 fa7019d8e9936b175a393454970fe061  libgo/go/net/sendfile_stub.go
@@ -43676,7 +43868,7 @@ bc52daca52c0dc9976faca9a7cae1583  libgo/go/net/sock.go
 7b66581bf39c642d3abee4ba2223501b  libgo/go/net/sock_linux.go
 561b4fdfc56ecfb4f7314eb308d777e7  libgo/go/net/sock_solaris.go
 e8a5f901617e64495de31f0962a6992f  libgo/go/net/sock_windows.go
-10e6e990432efe4cfd30ac03a8417e48  libgo/go/net/sockopt.go
+d7781900e1e009b1fea9c564c4966158  libgo/go/net/sockopt.go
 4fc7c4a3bc67a6b33218911c3572f137  libgo/go/net/sockopt_bsd.go
 74d0ff74997ec52005cff1428069c956  libgo/go/net/sockopt_linux.go
 9c4186293ed1a28e06b0677598e4eee4  libgo/go/net/sockopt_windows.go
@@ -43734,28 +43926,28 @@ f644e9a2f24a23d8098a013a24397640  libgo/go/os/doc.go
 635fab5790d45e1e8d36e2d54366546d  libgo/go/os/env.go
 c7045ec245a7cd258a7fe3bee3463898  libgo/go/os/env_test.go
 4f2f0c29d5e99350e43efec862ca40ec  libgo/go/os/error.go
-1e7e71e7f239859d655db882743d08a0  libgo/go/os/error_plan9.go
-a431e576727837213a03fcf34acb2d0e  libgo/go/os/error_posix.go
-2b0ac5531639be5dd6f1d8d167afa508  libgo/go/os/error_test.go
-ee2b667b12510f5631f1af54351a94f7  libgo/go/os/error_windows.go
-0ecb7f5e8f0bf55ae780f8b1a3e47ee8  libgo/go/os/exec.go
-c42258b51527f5fe793e1da550082748  libgo/go/os/exec/exec.go
-77fa14f4cc5e4de681b0697a815a5e9a  libgo/go/os/exec/exec_test.go
+35726928fd2fe3a155ce6f500441c301  libgo/go/os/error_plan9.go
+a73e30615101d187e6e9422fff8885ff  libgo/go/os/error_posix.go
+0bdcee8e7994f0f177bd44ad5d948892  libgo/go/os/error_test.go
+55169cfdfd3549152c02af2a128ee7d8  libgo/go/os/error_windows.go
+fd9d51f098a4b6bc53ddbdd07921a0dd  libgo/go/os/exec.go
+b9339a6b1b2a240916461dc302973368  libgo/go/os/exec/exec.go
+cc404e75da24b043143024c8d45246c9  libgo/go/os/exec/exec_test.go
 931716bd9105ad8d0c166d61b4eed28e  libgo/go/os/exec/lp_plan9.go
 41619b7d87d5ecc522bc2eafadf2f303  libgo/go/os/exec/lp_test.go
 43a2264f4f38ee9a91b2b0fbdff917e7  libgo/go/os/exec/lp_unix.go
 5b068237af521405f44c3293db8368f5  libgo/go/os/exec/lp_windows.go
-8479e97fae70c07d6b0d98e87e518163  libgo/go/os/exec_plan9.go
-7501049acac86419592b59fe4aed3cf4  libgo/go/os/exec_posix.go
-4e10c7896020bd8ce6dd4c20747fa241  libgo/go/os/exec_unix.go
-96ab6a0093cb514c3d0bd86051e6f99b  libgo/go/os/exec_windows.go
+99b6dbc354a30ca1f964dc3540fc3f97  libgo/go/os/exec_plan9.go
+c39c0ff9f07296b6c3e057493063de3b  libgo/go/os/exec_posix.go
+dcdfa389da32f8c701e7d6e62666aca3  libgo/go/os/exec_unix.go
+02ff68c1af8f3975143e5aff7aad834d  libgo/go/os/exec_windows.go
 8ecdb9cc8d9e1eab60d58b404a56b8af  libgo/go/os/export_test.go
 2d2ea9dbc68ad456323f3ddf35048606  libgo/go/os/file.go
 1ec5c4d2407560d44b120666b586db63  libgo/go/os/file_plan9.go
-c70b19ad64670ff3d487146664b6aedb  libgo/go/os/file_posix.go
-c3356019fb503bf6f44ef5bd3d7eb05b  libgo/go/os/file_unix.go
+314674ba10f5f2e0e8350618964b0ac7  libgo/go/os/file_posix.go
+476ba8bb01c50d36d1b19e1040f59aee  libgo/go/os/file_unix.go
 da0d2d254396b18e806b5b975b03dca9  libgo/go/os/getwd.go
-201fb8394fdde31e08f3fcf911c3ccde  libgo/go/os/os_test.go
+9447e2dfdf41612254a47e602963028b  libgo/go/os/os_test.go
 5d5a079650c8eba17c214d242b513f43  libgo/go/os/os_unix_test.go
 34b27033c046dfe443248a5909079e8c  libgo/go/os/path.go
 da34ceca978d28b681f740d357c247a5  libgo/go/os/path_plan9.go
@@ -43776,7 +43968,7 @@ c4f9d4533ade955f43aff1a1984bc7a3  libgo/go/os/sys_bsd.go
 ce9d201edac3356b112501276aa1c207  libgo/go/os/sys_linux.go
 48f91a4fd8049ea550cd900cf26f7ac7  libgo/go/os/sys_plan9.go
 5194f71f4857c5fa33c16697535e5a8b  libgo/go/os/sys_uname.go
-ac314363401c1a33a40b089dc995fef7  libgo/go/os/types.go
+309e3f57d536910d9ef5a8374d9ea9f7  libgo/go/os/types.go
 227b6e981382ae232ca7d4c2743f1d06  libgo/go/os/user/lookup_stubs.go
 a09b8a1b6e48edbd295fa1a4a00f33ba  libgo/go/os/user/lookup_unix.go
 0cb9acc22b5b0e7dcdb051a93ddf3725  libgo/go/os/user/lookup_windows.go
@@ -43794,20 +43986,20 @@ ca197b7907e5ce9820272cb74f16d429  libgo/go/path/filepath/match.go
 065c628cae8f4ea5ee70fb8c6f3e00a4  libgo/go/path/filepath/symlink_windows.go
 76f93ef3da69ffde8dbf661475937b69  libgo/go/path/match.go
 2df00fe0b0ce14eeec25c553bc575dd1  libgo/go/path/match_test.go
-be28002de2713852360e5f381e4e1bb4  libgo/go/path/path.go
-49419dd7f7412f77b93ad5554545c630  libgo/go/path/path_test.go
-274a76de363a01a81a798145c04000d2  libgo/go/reflect/all_test.go
+ebb5b0325fe0df7d22bba122d8023b7c  libgo/go/path/path.go
+22298dce34b458f10e4f00af677a6005  libgo/go/path/path_test.go
+fff4b7542bb08fb2c5ee9af78dbbbb3f  libgo/go/reflect/all_test.go
 8504576dbc68c71c97423cb6bb0a6ea0  libgo/go/reflect/deepequal.go
 0b671545a14751946a99bc54a483d424  libgo/go/reflect/set_test.go
 de660137001e38eb0a5ee8a1ead4b25d  libgo/go/reflect/tostring_test.go
-0e9357560540c68803d9fb68868bd61c  libgo/go/reflect/type.go
-8e702ae072c7cd09cea03a9d6851d41c  libgo/go/reflect/value.go
+9701c5fbe626c321b490e0a2bf1e2901  libgo/go/reflect/type.go
+a155ec1e94fc10107421cfe7618ffda3  libgo/go/reflect/value.go
 d88c8eb274a601d8daaa7cb761825e48  libgo/go/regexp/all_test.go
 7d33bb173a6f906a2d9c6c5346b23683  libgo/go/regexp/exec.go
 181ecd9495d46efbc5dfd727da9518e9  libgo/go/regexp/exec_test.go
 ff7104166dec6cbd020d922824fd040d  libgo/go/regexp/export_test.go
 92b5bd0f1f52e08ac93cc072d4175675  libgo/go/regexp/find_test.go
-7440043bb67567121aaae614bdada9b1  libgo/go/regexp/regexp.go
+1ae100b0c5dd3852b6206e6cd1d579f0  libgo/go/regexp/regexp.go
 b66ca2df5a957b8755d10bf5bbbe3ea7  libgo/go/regexp/syntax/compile.go
 e35708cad9e2dfbd2c62b612754e59ff  libgo/go/regexp/syntax/parse.go
 542e1b0ea8fb4d6155424d033d34f3ee  libgo/go/regexp/syntax/parse_test.go
@@ -43841,8 +44033,8 @@ d10a10010799db5050c0d1af606f5378  libgo/go/runtime/error.go
 bf6caec4295795252227975839c4f90e  libgo/go/runtime/mallocrep1.go
 b41425d2be4b683a19e68771f3b0307a  libgo/go/runtime/mem.go
 46598e7be74751741e95b59244e86b31  libgo/go/runtime/mfinal_test.go
-f60354023da4c27bb20830c7c4294d67  libgo/go/runtime/pprof/pprof.go
-17e88f9bb169dc08931e9961a71a5b55  libgo/go/runtime/pprof/pprof_test.go
+7f8927ff54a091615d94c4afa52ebcc9  libgo/go/runtime/pprof/pprof.go
+7c1b27e99d26f2c995a3d478dc3401d5  libgo/go/runtime/pprof/pprof_test.go
 cfd5cd2c539c3ab8518c0abe664f7b50  libgo/go/runtime/proc_test.go
 2473ba12c886938fdd405da06d21963f  libgo/go/runtime/runtime_test.go
 a386a3ce47acd70d63ec21b4810ec675  libgo/go/runtime/softfloat64.go
@@ -43861,7 +44053,7 @@ a72e52cff37c206b8e4010bb3b621cde  libgo/go/sort/sort_test.go
 8dc26af38a1817db03375830b042803d  libgo/go/strconv/atob_test.go
 cdae1c70e669749c57e14d9f25d3edb1  libgo/go/strconv/atof.go
 faa640e1ed9815b7051af9e2f5d86636  libgo/go/strconv/atof_test.go
-e407d0b016843eb21f283b430185f7bd  libgo/go/strconv/atoi.go
+97531b9adc90b17c8f2e4497913c3722  libgo/go/strconv/atoi.go
 cfd427658b3cac23e28759dcfaada942  libgo/go/strconv/atoi_test.go
 66a78db32b8f7e66dcedb25700b4b0b1  libgo/go/strconv/decimal.go
 c8fbcf5ed89480898c8ad5a5f7e91a2f  libgo/go/strconv/decimal_test.go
@@ -43901,12 +44093,12 @@ e333752ca39cb80b6a2ba3477620fe1d  libgo/go/sync/once_test.go
 679687f0398a357c14fcb34400142d90  libgo/go/sync/runtime_sema_test.go
 ec6ec0f85a993a0c3892e9cd84e5eeec  libgo/go/sync/rwmutex.go
 ee2dd034170d9454905559770571bfd7  libgo/go/sync/rwmutex_test.go
-3aff4f2b354cc5d03be15178d65ac8bb  libgo/go/sync/waitgroup.go
-3704acc1a27e692440a12ce8d14df037  libgo/go/sync/waitgroup_test.go
+93419739a12f930d41e86bbc4feefb93  libgo/go/sync/waitgroup.go
+8eeb4a8ec99b5ff6e419aa822b8ca17d  libgo/go/sync/waitgroup_test.go
 39bff060d57eb54a33c551a4ebaf81f6  libgo/go/syscall/bpf_bsd.go
 3fcc9a497a42ba07e312f61dadcd375c  libgo/go/syscall/env_plan9.go
 24e833b0064aa277aca854f3ed4c5ab3  libgo/go/syscall/env_unix.go
-ce961320e6caa45ba654933d5973038b  libgo/go/syscall/env_windows.go
+cfa55e219027a97bbce61c14472305e4  libgo/go/syscall/env_windows.go
 bd4ca4130a1baf0e7406be6f37e196fa  libgo/go/syscall/errno.c
 73394f8e0bd1fea9887ec3ee2e19217a  libgo/go/syscall/errstr.go
 ae51acdad418ab9e290616c3e2da197f  libgo/go/syscall/errstr_linux.go
@@ -43914,10 +44106,10 @@ c4fe93b934b7a9fb25212176062d53b1  libgo/go/syscall/errstr_nor.go
 d6605ba3a44a9bf20464f8cef12037b1  libgo/go/syscall/exec_bsd.go
 196053df91bd42dfe081d774c1371d56  libgo/go/syscall/exec_linux.go
 e22586efc37ba708def40a04ba637604  libgo/go/syscall/exec_stubs.go
-a8cd2ba6e53bd2e38780802be422a316  libgo/go/syscall/exec_unix.go
-b4e106aea2e0b18542bbeb5ec12a20b2  libgo/go/syscall/exec_windows.go
+173f0174318b3f550b36ef380edf8a6f  libgo/go/syscall/exec_unix.go
+5854ea6f31834f744bac39696a68e3dd  libgo/go/syscall/exec_windows.go
 d7ea9446a0f7afcb0d184b2699248e35  libgo/go/syscall/libcall_irix.go
-18a07a898938890b69df99ac929fa886  libgo/go/syscall/libcall_linux.go
+843651dd4be5e2ab49d6aeb01134fb35  libgo/go/syscall/libcall_linux.go
 ebde9b5b1acce5674c520a43bde70d18  libgo/go/syscall/libcall_linux_386.go
 4c62977eae12dfdcdaad18d0b8bf60cd  libgo/go/syscall/libcall_linux_alpha.go
 c5f2bf462fcfceddca200837616ba715  libgo/go/syscall/libcall_linux_amd64.go
@@ -43940,21 +44132,21 @@ df37c942560e145e089c86665d737cc6  libgo/go/syscall/route_bsd.go
 653e3817658d7bba4fed3cb1689f0db9  libgo/go/syscall/route_freebsd.go
 52dddbc1bb030423655f597258b9da23  libgo/go/syscall/route_netbsd.go
 1aa652aca7220e1b6c3ba261440c31b0  libgo/go/syscall/route_openbsd.go
-ac716c031c9cf8f808711520ebf728b1  libgo/go/syscall/security_windows.go
+e83346d5fa316c16761c2f2d2d73cc9c  libgo/go/syscall/security_windows.go
 415bb4b565e2b5f8ffcd26fa70e35ede  libgo/go/syscall/signame.c
 01b7cc2dd39fe7a210ec6159c07f5528  libgo/go/syscall/sleep_rtems.go
 331d0bf0f22836e09d209810027bd981  libgo/go/syscall/sleep_select.go
 7a2aea6dabf93292c7d534ada45e8133  libgo/go/syscall/sockcmsg_linux.go
 43c5f3fa4dd6ca37595e86a05800ad63  libgo/go/syscall/sockcmsg_unix.go
-0da4c625c5d530a684c62aae56824d71  libgo/go/syscall/socket.go
+6508a1da7ec12c7fcf25644ab5c2e9dd  libgo/go/syscall/socket.go
 a29bbd049844248dd2c925d4f1862a9a  libgo/go/syscall/socket_bsd.go
 1aa8697081ad1e12125b7495c5e49188  libgo/go/syscall/socket_irix.go
-d5efd830ab9f6ef686cc0876590fe2a7  libgo/go/syscall/socket_linux.go
+0a91057408d5014ccccf984bace51720  libgo/go/syscall/socket_linux.go
 53678cced01f1bfef17a0d71847310e5  libgo/go/syscall/socket_solaris.go
 6d600e77d7a955ca5bfb733925e3b90e  libgo/go/syscall/str.go
-672e7bbab6489b7599b56c0924ba8008  libgo/go/syscall/syscall.go
+462a02d76cd1f522a1bcf4c81ad089b5  libgo/go/syscall/syscall.go
 0bd8244879fc967baad61ff1265ac449  libgo/go/syscall/syscall_errno.go
-a612d5fd40b95ec3f347ff461c5ee52e  libgo/go/syscall/syscall_linux_386.go
+d482603cb69e8cf915d7e424d5639437  libgo/go/syscall/syscall_linux_386.go
 7c5e270210553412c724bf6ab06e1854  libgo/go/syscall/syscall_linux_alpha.go
 6369db28775124d9386571ec81d3df7d  libgo/go/syscall/syscall_linux_amd64.go
 aa19419240f5a247f0338eb695ceac57  libgo/go/syscall/syscall_stubs.go
@@ -43967,20 +44159,20 @@ ca873e1f5daaf988912426a4cc1ffc5b  libgo/go/testing/benchmark.go
 9217f1912a8069ffc6136a02aeeb2f4b  libgo/go/testing/iotest/writer.go
 0f590d23d6983fd13ad722675a2ed84e  libgo/go/testing/quick/quick.go
 1e4fddd94e11f26f62f52117f97c605f  libgo/go/testing/quick/quick_test.go
-fa1c61e868d5c64b6aea444c45fbf702  libgo/go/testing/testing.go
+9e8bb4a8680209684ad482f17f21f112  libgo/go/testing/testing.go
 509b7640b3c9f06b9fa0455aeff53314  libgo/go/text/scanner/scanner.go
 e5ec58cbf3180f7d17b452071cf9538f  libgo/go/text/scanner/scanner_test.go
 188eb974f5da9662ce110c0bc2411100  libgo/go/text/tabwriter/example_test.go
-7c5ed843dc97db266a5e9a2c373a4572  libgo/go/text/tabwriter/tabwriter.go
+0dd8bfcbfd0a46b93e876fa89f0b6df2  libgo/go/text/tabwriter/tabwriter.go
 afc792a236e76fe33245191523f77760  libgo/go/text/tabwriter/tabwriter_test.go
-28a0875612df224d63904a5e9fa1a7f8  libgo/go/text/template/doc.go
+d71a5b72e5e9a97f420f7e8184a6a48b  libgo/go/text/template/doc.go
 706623abf547bd03ab6707718bb70daf  libgo/go/text/template/exec.go
-be31287c75744afb63bbfadd61f9e22a  libgo/go/text/template/exec_test.go
-228b2be79e1f41f9b087ff0dbf6d97c5  libgo/go/text/template/funcs.go
+f70c79973ef64131c7afc7afd4be46e7  libgo/go/text/template/exec_test.go
+a99bf11fa536964e33bdb519666fa95c  libgo/go/text/template/funcs.go
 13e16d5aee6bcb3d63c300b5cbce6777  libgo/go/text/template/helper.go
 32062cf31bd07475dd2a1762f8bb85ae  libgo/go/text/template/multi_test.go
-0ab8909d23a7eb5b3aa91b54a00084eb  libgo/go/text/template/parse/lex.go
-0c33d54a8fde7f7433ff9e4fd6f1955e  libgo/go/text/template/parse/lex_test.go
+bdd59fbb1adf7fdf1f5d48abfd241476  libgo/go/text/template/parse/lex.go
+919966dbfe213acd94fcdfcc9dba5e91  libgo/go/text/template/parse/lex_test.go
 3e565b1d6eb8837849815218420e0c3e  libgo/go/text/template/parse/node.go
 e9134272b28807d03a531ba5d641fc0e  libgo/go/text/template/parse/parse.go
 437d403877118502c9f04774ad543007  libgo/go/text/template/parse/parse_test.go
@@ -43999,7 +44191,7 @@ a42fcd0a904b2aa1f3a4f1f732c9b80c  libgo/go/time/sys_plan9.go
 9ab47f84ec5443abd2d26eb0aaf0988b  libgo/go/time/sys_windows.go
 be22275641d85d39a6ec6f36f030a0aa  libgo/go/time/tick.go
 1732e1ffaef3c1df384d55b614ef532d  libgo/go/time/tick_test.go
-8c2575333ec2a33e36d4497e89b0c204  libgo/go/time/time.go
+d7a1d175e84da757b91931833192b25e  libgo/go/time/time.go
 071b46f4d71a74fe1b66f38607cefe28  libgo/go/time/time_test.go
 1a3b02a92513da9a5f1b6245f9f230d6  libgo/go/time/zoneinfo.go
 b95eef5d4afde3e9f478859c59a50995  libgo/go/time/zoneinfo_plan9.go
@@ -44022,14 +44214,14 @@ bd8fc56eab9b633e58128083caf5df5f  libgo/go/unicode/utf16/utf16_test.go
 183556570919c9ce84fc08645ddb7807  libgo/go/unicode/utf8/utf8_test.go
 8e700e99e52bad7f8289006b7bd149d4  libgo/godeps.sh
 48fcf4345fe772d556ea18a6fac1535d  libgo/merge.sh
-4664ef407c2d158723292697f0041d3d  libgo/mksysinfo.sh
+25dbc6cd1cf19b8c1318867f1cf80fa3  libgo/mksysinfo.sh
 06b0ddfbd036dbdfdf8c4c7efb8b746f  libgo/runtime/arch.h
 a704e3744e891a9a14916114c7550e88  libgo/runtime/array.h
-a0cf280989ab093dbccf4eb21b3eb5fc  libgo/runtime/chan.c
-f216c4041b80db3d2bc7babe4b10e8a5  libgo/runtime/cpuprof.c
+756dedab51a8695a2f213ae3c50937b9  libgo/runtime/chan.c
+503d30b8c9f244d4c4c28177209971f7  libgo/runtime/cpuprof.c
 8fc341c18fc3cdc557312f0483aceb2b  libgo/runtime/defs.h
 7f7d156860cf43a15110636eb461e8a0  libgo/runtime/go-alloc.h
-ac1c89c56b88ffceab6322ef5aec29b1  libgo/runtime/go-append.c
+64fa85928d1d05b2a84e6de0733804ac  libgo/runtime/go-append.c
 e09c915d852cc8ea224ed2eb36c49b55  libgo/runtime/go-assert-interface.c
 6fb6a5d0012113bed4ea45325d64a0ae  libgo/runtime/go-assert.c
 15f566278d64ff0b58823d3875194e29  libgo/runtime/go-assert.h
@@ -44050,12 +44242,12 @@ f6c1aee78d18be635982d5a888839202  libgo/runtime/go-deferred-recover.c
 ccc6e7f09c25c253eb27cc4e8729bc93  libgo/runtime/go-eface-val-compare.c
 0f231c5d3b3707988c08cfa88614b280  libgo/runtime/go-getgoroot.c
 dfcb5f190cecbdbe12a21c2ba7d2a283  libgo/runtime/go-int-array-to-string.c
-80865b94d047dba739b25ac901fb088c  libgo/runtime/go-int-to-string.c
+11aad4dd6ef2a6906ac011b4a45086d4  libgo/runtime/go-int-to-string.c
 da2810a45aa84222481afbd9229f1f1e  libgo/runtime/go-interface-compare.c
 09f837af1e21923e264d494ec97d486e  libgo/runtime/go-interface-eface-compare.c
 64e2f542fa1b98440d66ea846bf45e49  libgo/runtime/go-interface-val-compare.c
 711197b62d18b137bd09ea4fde27ba8f  libgo/runtime/go-main.c
-9731361310ec60aeea9a522fef07950a  libgo/runtime/go-make-slice.c
+e978392553b95c7b39e798fd956561c3  libgo/runtime/go-make-slice.c
 285bdb59078d87bb3d48195366acd487  libgo/runtime/go-map-delete.c
 ed08c58e876940dde5f75b27ff078d08  libgo/runtime/go-map-index.c
 1dfa51c7c7011176a924ab80734ea94a  libgo/runtime/go-map-len.c
@@ -44072,7 +44264,7 @@ aa2bb836db1ec270ce2abf0aa687f33e  libgo/runtime/go-nosys.c
 813d13218c6940b1935cfb8ffbc1d135  libgo/runtime/go-recover.c
 3715014f9a4b53349c4832a89a766401  libgo/runtime/go-reflect-call.c
 7228807519a8efcad6677d16c49cdaef  libgo/runtime/go-reflect-map.c
-c50f48cf53f8dfe8122f818ac8230ea8  libgo/runtime/go-rune.c
+52270f8d5a58d3b1d56c4f133f46a2b0  libgo/runtime/go-rune.c
 b141706dadb7470eff3bfb9a9700e353  libgo/runtime/go-runtime-error.c
 abdf3d600798c8a49c426a826cac4123  libgo/runtime/go-setenv.c
 3f8892072be211fd1ced2d8260378194  libgo/runtime/go-signal.c
@@ -44084,10 +44276,10 @@ ae5694d416fd1a8f980b19c45bf10172  libgo/runtime/go-string.h
 3fd08dc58f072cfc433621cf0c45482f  libgo/runtime/go-strslice.c
 866939817de110cc3f9f1ad6cb6d621a  libgo/runtime/go-traceback.c
 c8ba6305014de3c564b9de7fbc9537b3  libgo/runtime/go-trampoline.c
-af21148afe5eb00c2a1b08b41df1d135  libgo/runtime/go-type-complex.c
+faea66059a436a17e72c4e684e4fd5be  libgo/runtime/go-type-complex.c
 9f3be34506d2fd099b7da38e9c01f1f8  libgo/runtime/go-type-eface.c
 80fd1ad5e6757edda967276c93652b31  libgo/runtime/go-type-error.c
-20256ef4c7a3228f89298832b843f792  libgo/runtime/go-type-float.c
+de89a833861379b48a10fce5da348680  libgo/runtime/go-type-float.c
 9488640f4f32f768501827cf4e36a2ed  libgo/runtime/go-type-identity.c
 08af495314d402f56c18377d04a9b15a  libgo/runtime/go-type-interface.c
 846936da60fac030761d11d563c6c142  libgo/runtime/go-type-string.c
@@ -44104,7 +44296,7 @@ cfb4c10b6a7f81424b67903dc5333ccc  libgo/runtime/go-unsafe-newarray.c
 70fd8eb92df40ac2bfbb84cfaa8ee3fa  libgo/runtime/lock_futex.c
 7c0102e80704663803b6d6c5677caaa4  libgo/runtime/lock_sema.c
 1247f714945b9e6263b8f2fb7a083e3a  libgo/runtime/malloc.goc
-34028498e4327829853ef46cd121bf85  libgo/runtime/malloc.h
+0009d8092619a0b1604be1baad823a50  libgo/runtime/malloc.h
 653771fbf9991e866465454a04fe9fc5  libgo/runtime/map.goc
 c968f0acf76d47dafa1eb98e90f01d11  libgo/runtime/map.h
 f5678be6e3a474330c4ac94dba666562  libgo/runtime/mcache.c
@@ -44117,11 +44309,11 @@ f14179f58ce1f7af2d2a4210b2004298  libgo/runtime/mfinal.c
 28f4951518272164db9395f9790bc35b  libgo/runtime/mheap.c
 ada6bb088068e66dc1695d5ef40a9563  libgo/runtime/mprof.goc
 5c4ff8bc9d08419f41ef4178f1419e93  libgo/runtime/msize.c
-1590cd8d8001780e62d5a954b5bd7494  libgo/runtime/print.c
+04399fcf0721711283cd6f05eeabf390  libgo/runtime/print.c
 ccacb8ef233d451000e60be3c12443fe  libgo/runtime/proc.c
 274faf97f9b12bd8912da385ae3b833b  libgo/runtime/reflect.goc
 88236bd9baaae0e22c2fe3c097d9cfbf  libgo/runtime/rtems-task-variable-add.c
-fa251c056f4481652eeeb9f1f73fe36c  libgo/runtime/runtime.c
+e9258579d7d53d7c3fae186daf3b45de  libgo/runtime/runtime.c
 4164cee0485b46d8fb57ccf964a42c98  libgo/runtime/runtime.h
 e5c92ff091192e12e886f108ce7e7066  libgo/runtime/runtime1.goc
 d1fd43be9791a269a4f20312255d1310  libgo/runtime/sema.goc
@@ -44134,12 +44326,12 @@ f7c3e69df5c809343815e9887a2ae94c  libgo/runtime/thread-sema.c
 697d3462192f183a632bb2dcbaedbe96  libgo/runtime/time.goc
 5eba9c31299a555c2228fac2b113f713  libgo/runtime/yield.c
 3a8ddeaf36a9f143f9124fe1aada456a  libgo/testsuite/Makefile.am
-cb7f433fcc4ada4887849960c9ad8869  libgo/testsuite/Makefile.in
+01dc1efbc453fecfc38de615ebefd156  libgo/testsuite/Makefile.in
 180c96a619276205ec9fc8e8217b67bd  libgo/testsuite/config/default.exp
 9330ee82302ed75dde8bc20ba6a4db12  libgo/testsuite/gotest
 597b3ae1c086f6679d4cee693979bf65  libgo/testsuite/lib/libgo.exp
 6df485581d2f02246f41b5ca46f5bb5d  libgo/testsuite/libgo.testmain/testmain.exp
-a1296650475967eb1cf3e8a13d4c1ddb  libgomp/ChangeLog
+9adfbb6ff36e6c84fe2167e94872ece9  libgomp/ChangeLog
 0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
 79e407d8620e08863da6142c9eed25be  libgomp/Makefile.am
 e6e03766255f9acec1eaca053c845d7a  libgomp/Makefile.in
@@ -44198,7 +44390,7 @@ edfcc0697ce21d05156951ac3fec5c65  libgomp/configure.tgt
 536091dd87cba3644f21452bee43c7ad  libgomp/iter.c
 e4dc494ba582816684ad36830ac867ec  libgomp/iter_ull.c
 64d317c3727571a294145df35e5b5b18  libgomp/libgomp.h
-0d3bec0a0f62ed3938b0a07941c562eb  libgomp/libgomp.info
+6dd3ec40c0c12dd5ec504ba1409ccf96  libgomp/libgomp.info
 fde0d3b4fa91f0570fbc897a8cf8341d  libgomp/libgomp.map
 591ff20dfd2b81e3c919249b5db8a967  libgomp/libgomp.spec.in
 5d5601d450a0f0df0eafea237d0b0aec  libgomp/libgomp.texi
@@ -44213,8 +44405,8 @@ f6cb4c2ed70425a5aa7820baac3718b1  libgomp/omp_lib.h.in
 11129a020da1d8a6f15523d5c946e74c  libgomp/parallel.c
 73a6029980d537dcb50ad182e7eeabac  libgomp/sections.c
 e66356d101428eac8f5e285c7ff4f3c7  libgomp/single.c
-2c7c6d7767b8efaf670d2bddd8f65e98  libgomp/task.c
-e3fee78bf1ce74b0f0285f97287aa039  libgomp/team.c
+953867015922a6dcfc68ac10fbf4487c  libgomp/task.c
+99632505d6b2b765cc30e5d07a11d807  libgomp/team.c
 7bd10c68f4acfc2f5062ce2cb81abe9c  libgomp/testsuite/Makefile.am
 68af31e7bf39bd0ac41348ba3e83431e  libgomp/testsuite/Makefile.in
 7d7635a5891d642784321521610340c8  libgomp/testsuite/config/default.exp
@@ -44282,6 +44474,7 @@ d65773670d221b74aa6b327a1de57dff  libgomp/testsuite/libgomp.c++/pr38650.C
 467dc8995782492f741eb1d9548a272b  libgomp/testsuite/libgomp.c++/pr43893.C
 6bc7a2a67f411f00aa39c8b72e8a287d  libgomp/testsuite/libgomp.c++/pr48869.C
 d566c37edb50b4aac9c2b4fa4d381670  libgomp/testsuite/libgomp.c++/pr49043.C
+d2e531409ec3708a503019e5aec4cfd8  libgomp/testsuite/libgomp.c++/pr56217.C
 a594cebdf052900dd0c8792068e14d85  libgomp/testsuite/libgomp.c++/reduction-1.C
 6a724210e4cb30df7ade4ef7ee0aa83e  libgomp/testsuite/libgomp.c++/reduction-2.C
 e6be7ac480ea1328785bc17e9c2ecc9a  libgomp/testsuite/libgomp.c++/reduction-3.C
@@ -44597,7 +44790,7 @@ e1362c83d5ba73eb8768fbabff951667  libgomp/testsuite/libgomp.graphite/force-paral
 66ffa69cccfc856bc101f397c0632b69  libgomp/work.c
 99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
 a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
-75db938b5834b88b8b15ac5017766ccd  libiberty/ChangeLog
+830d423459f1101f63b4d5aed9359af2  libiberty/ChangeLog
 361480b2ed2814aa843f0b743d09fa0d  libiberty/Makefile.in
 c68dbf7834af4281ebd84caa3fd54680  libiberty/README
 8797cb1a6faa84f3c7fe3d12164a4b13  libiberty/_doprnt.c
@@ -44662,7 +44855,7 @@ fe4e25fb7df7cacdc921eaf39ce595af  libiberty/maint-tool
 e7487c25e2021939bf5af58e8cd70a3f  libiberty/make-relative-prefix.c
 0172f6488e44155e35d94e3f2c5c3c5c  libiberty/make-temp-file.c
 379561229f99437be05ede87fbcf8533  libiberty/makefile.vms
-7005e9cc6647b299a791a6af3904e49b  libiberty/md5.c
+42d0a0ea70e0c85cf11b7475aaab0674  libiberty/md5.c
 de9bd20436bf2cb64d8c374c110ce315  libiberty/memchr.c
 33320d312ab390ca0eb5c43c9e349d57  libiberty/memcmp.c
 c90c2f09bdcbd65b4732a4be25a56d12  libiberty/memcpy.c
@@ -44688,13 +44881,13 @@ a6b1581efa83a4072727b38d6fef4230  libiberty/pexecute.txh
 af9bee5d1912e623defe1a7ee0ebc296  libiberty/physmem.c
 f7e45d3f23f83574372065030595efa7  libiberty/putenv.c
 94f22680349b4ae73ad658495d2eb542  libiberty/random.c
-cb83524b0a7871563f11d52efec54a62  libiberty/regex.c
+b821048b750c7d693cd3d2a8bed04753  libiberty/regex.c
 24eab3d83825c3be13549dc62b6d63d6  libiberty/rename.c
 74850488731148a9c9f410042144f37d  libiberty/rindex.c
 b91dd39a7b9d4c9d03edc8a6cdf81978  libiberty/safe-ctype.c
 67aa86d16c993dddfdf9c2d91b910578  libiberty/setenv.c
 fe0196b26274b9b5983d48fd510318a4  libiberty/setproctitle.c
-7e177a54e64c2b7cead1b03ef3354e91  libiberty/sha1.c
+8fd5519e94ca719c14d0a1fba7d754ee  libiberty/sha1.c
 cafcb336a6d21898592c5cdaa7c5a3a7  libiberty/sigsetmask.c
 98b261f5b750c15964376543f20ce838  libiberty/simple-object-coff.c
 46cc2dd9ee3647f96b12b4147a56ea3d  libiberty/simple-object-common.h
@@ -44745,9 +44938,9 @@ cdc140ce93944c5bb2ac62cd3dfd86d6  libiberty/xmalloc.c
 4746095b1b67693ab6e78ed72ead1235  libiberty/xstrdup.c
 6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
 c6e7ef53b4ff115a136d917511222656  libiberty/xstrndup.c
-c0964849838266694b08bc9c4decf694  libitm/ChangeLog
+222a59719f70d7a46b913f16f180e8df  libitm/ChangeLog
 babf0aa268f489737739f16533cc22de  libitm/Makefile.am
-44ff8780ced2045094d3b0ab4da36f9f  libitm/Makefile.in
+86266ae1bc0838d04162c98147dac3e0  libitm/Makefile.in
 251e31c25ac44517c92bbeff54433435  libitm/aatree.cc
 ed59942a22ad360410bbf7ab6200dd64  libitm/aatree.h
 fe9c1adbb8df5dfb37b3992bc52e023d  libitm/acinclude.m4
@@ -44798,14 +44991,14 @@ d5f853edd542b117932cc71d5bac9e7e  libitm/config/x86/sjlj.S
 d18b3d069c4cc8368c5f6c696db9d1ff  libitm/config/x86/target.h
 aa4b09800a108834b5a6ca946c8eb85c  libitm/config/x86/x86_avx.cc
 d5294cbf3f5cbf7f567fa1e9046ef819  libitm/config/x86/x86_sse.cc
-025820f926646750ea72766b0b96c7b0  libitm/configure
-4136dbde85309eb8a88b92568543be09  libitm/configure.ac
+1257855e1c693e16fecf737f9223e608  libitm/configure
+f81da4e3630dd5cd3e07899a51d94601  libitm/configure.ac
 4f331db98e5d8cbb27d9097b48941c50  libitm/configure.tgt
 bd9d58dae02cf5244dcf6322fe5f2bf1  libitm/containers.h
 0655c790a8e129492774d99d07486d18  libitm/dispatch.h
 60ba1319c362973f2635e0d4a3a614f6  libitm/eh_cpp.cc
 d7e6d99c5170735d2f2c170a8c420b21  libitm/libitm.h
-31bdc3f08b944cbe6ffe2fc05ac10197  libitm/libitm.info
+4b6b0b634d7249359fc8fbaf829a6ed9  libitm/libitm.info
 8d44f8cc119e5c7cbc20c558b551475b  libitm/libitm.map
 ea467d7117853d139bb288ab75261139  libitm/libitm.spec.in
 a7bdd4faba671d8611ade76351553bb6  libitm/libitm.texi
@@ -44820,7 +45013,7 @@ dff7505aff4b602d68398bf559dbb1cf  libitm/libitm_i.h
 c050918a88e039063f909ae3f690205a  libitm/retry.cc
 c5beb4d17efb887046897436b91e48f9  libitm/stmlock.h
 7bd10c68f4acfc2f5062ce2cb81abe9c  libitm/testsuite/Makefile.am
-659dbe1445c98518ad3d94bbc7a22529  libitm/testsuite/Makefile.in
+ad21ab688a8718c047b8d7442947cbb2  libitm/testsuite/Makefile.in
 369c460813ebd9d14f41bb8d72d6522f  libitm/testsuite/config/default.exp
 9ab92f2310c96121666b692e1660d24f  libitm/testsuite/lib/libitm-dg.exp
 9a97ee842079daf7a1f949d5398ca84b  libitm/testsuite/lib/libitm.exp
@@ -44845,7 +45038,7 @@ ef24198422c19f99b0c41be6a16f7081  libitm/testsuite/libitm.c/txrelease.c
 e953cb3ae3df3aab188ddd291b93a0fd  libitm/useraction.cc
 eb10feee6d07db55d0e12bec2726ab4a  libitm/util.cc
 94d55d512a9ba36caa9b7df079bae19f  libjava/COPYING
-b36e4b0337b1fd09d9af0e6cad35daa9  libjava/ChangeLog
+2c74867a43486aa2e167487ad950a53d  libjava/ChangeLog
 03e1f38b916604fdf1470238201325f3  libjava/ChangeLog-1998
 691acb61fbd6a2235826ff55db5578be  libjava/ChangeLog-1999
 b58c6701706771a02bf00a77666941ef  libjava/ChangeLog-2000
@@ -44884,14 +45077,14 @@ de54f80484e640306e109e785e4611c8  libjava/classpath/.settings/org.eclipse.jdt.co
 880a25226e4e4e4c241663041d24f8dd  libjava/classpath/AUTHORS
 efd97e0bb913655e0c8b16fa78bdded4  libjava/classpath/BUGS
 af0004801732bc4b20d90f351cf80510  libjava/classpath/COPYING
-6449ee6369775887df0f8f973e8c49f9  libjava/classpath/ChangeLog
+997d3cf6515e6a9e4a1b23599eef1c70  libjava/classpath/ChangeLog
 3418fae58de967afe26d915a4b18d82c  libjava/classpath/ChangeLog-2003
 a5b72adb94a3c362738b0f52e57a82af  libjava/classpath/ChangeLog-2004
 61159c6e0802d0d2a92b3051003db5c5  libjava/classpath/ChangeLog-2005
 0dba21f6ba7fe678d161f970a31cd505  libjava/classpath/ChangeLog-2006
 50f13c3f8b33d5343320e6831fdd27df  libjava/classpath/ChangeLog-2007
 258dbd419342131b894f799a8090f76f  libjava/classpath/ChangeLog-2008
-5d46bddd99d3964ac132b2ec54f9e7c8  libjava/classpath/ChangeLog.gcj
+750388b245aad9a0cb97e0e5a9394b71  libjava/classpath/ChangeLog.gcj
 a09dff495a9043fcf7b463f0b5c4fdd6  libjava/classpath/ChangeLog.gnujaxp.1
 3353fabfae7cca9e6c4f821919e4275c  libjava/classpath/ChangeLog.gnujaxp.2
 b35964059a02f01f39b05a95b401f586  libjava/classpath/ChangeLog.libxmlj
@@ -44900,7 +45093,7 @@ b35964059a02f01f39b05a95b401f586  libjava/classpath/ChangeLog.libxmlj
 974f8ebfb787af664ca683a3cb6b71b5  libjava/classpath/INSTALL
 92acc79f1f429143f4624d07b253702a  libjava/classpath/LICENSE
 ffe581cf85bb751dc999fa9b1d565bcf  libjava/classpath/Makefile.am
-68813084d3a56986462b0712c92fe6c6  libjava/classpath/Makefile.in
+7f1824acad731fef4b41c18f8e4040d1  libjava/classpath/Makefile.in
 8a7787fea7c6f23dd8caa4d5878f6530  libjava/classpath/NEWS
 ae621062c33128309ab96315647a1ee2  libjava/classpath/README
 80ca2ee11f57237001b9704f871ea5a0  libjava/classpath/THANKYOU
@@ -44912,36 +45105,36 @@ b2a35e98453194ca837c363ee9c0d379  libjava/classpath/compile
 6ba186363745a3fe81716c8c67bd370c  libjava/classpath/config.rpath
 21e1bf1c3580193cf0906851326a0d64  libjava/classpath/config.sub
 ad86ba98da9184d8c8f1605bf7bb8a4f  libjava/classpath/configure
-d6761caa111fa592528c7b161ed399f4  libjava/classpath/configure.ac
+3a2cf0e7fefbd019498cb88dc4bb1bf3  libjava/classpath/configure.ac
 21504de31981a67b5b93b265029d1865  libjava/classpath/depcomp
 a6cedb4991503f803e9f0870daf59c13  libjava/classpath/doc/.cvsignore
 c96dc391b383b06d2e140c032166a413  libjava/classpath/doc/Makefile.am
-2670a5de830ba2aae4dd4a3a13503eb9  libjava/classpath/doc/Makefile.in
+e85d96083a13e7a8130e6857c531aaab  libjava/classpath/doc/Makefile.in
 2464dba05859a2aa667ccfe9cac8747f  libjava/classpath/doc/README.jaxp
 26f08908d0224edf3c0936d2d9ff132c  libjava/classpath/doc/api/.cvsignore
 b343eec566430e85d1f95c21438aa4ee  libjava/classpath/doc/api/Makefile.am
-500fc49e371dadb9296f03789274e83f  libjava/classpath/doc/api/Makefile.in
+19edb5827739594e059bb413b4dac3d5  libjava/classpath/doc/api/Makefile.in
 5ddd829b35fc94b0cdb119084089edb8  libjava/classpath/doc/cp-hacking.texinfo
-15a471fd937aa4791bde3ef336abcff7  libjava/classpath/doc/cp-tools.info
-2f9243a9d8681fb57cfc14ea3839b38e  libjava/classpath/doc/cp-tools.texinfo
+3508934c2253cc61619e6adf664a474c  libjava/classpath/doc/cp-tools.info
+bd0b452c48b32bc2b9e3023da6898eae  libjava/classpath/doc/cp-tools.texinfo
 3155d9bd9a7bf4aff2ff0dfe4a2cb878  libjava/classpath/doc/cp-vmintegration.texinfo
-d5260add76c72eed099f8ef6476d69f0  libjava/classpath/doc/gappletviewer.1
-7cd1cd5001bf6b9451cddb7377e4fd10  libjava/classpath/doc/gjar.1
-bb11be851a8abc78fd90add465ea94c2  libjava/classpath/doc/gjarsigner.1
-7e6acfb1495e8a6230d9c31e51a3f09d  libjava/classpath/doc/gjavah.1
-484a0d2184a944d98cd81d20d9ed156f  libjava/classpath/doc/gjdoc.1
-f3d30f8c8b20e591f30c40aab8a1c4ed  libjava/classpath/doc/gkeytool.1
-410749c23078e030ac40eed28963f4a6  libjava/classpath/doc/gnative2ascii.1
-03ccc0cbdcfed975de74cb021454f811  libjava/classpath/doc/gorbd.1
-efbb747c323da3d2950dc8d098ae8379  libjava/classpath/doc/grmid.1
-ee20320b39d4f2ed4f5b501528cd019b  libjava/classpath/doc/grmiregistry.1
-8b9e0e1ddbbe43b61230dbbe2d7b2f6b  libjava/classpath/doc/gserialver.1
-36b0e89b01d0cd3b582ae76bf7dc2653  libjava/classpath/doc/gtnameserv.1
+e3ba4ee742635754144e29369677ed7f  libjava/classpath/doc/gappletviewer.1
+e576074b7c84913bd7f4f413e83c841d  libjava/classpath/doc/gjar.1
+dfcbd73d17a03c1efaa7afe7e01c87cf  libjava/classpath/doc/gjarsigner.1
+5c6028093dd05988ef807c11ca977df3  libjava/classpath/doc/gjavah.1
+3047efdafce47cb7ca8817b1b69ac4f0  libjava/classpath/doc/gjdoc.1
+79901c8b506d4414b75db6b2b14c0978  libjava/classpath/doc/gkeytool.1
+c9e0a97077911206f53f9f8fc89f3492  libjava/classpath/doc/gnative2ascii.1
+d80129e7b5ccc0b9612552a4fe8e8892  libjava/classpath/doc/gorbd.1
+80295fd0afec0429af19265f24856ce8  libjava/classpath/doc/grmid.1
+ca4df6a9ae3321bd84d027a06c9c85f1  libjava/classpath/doc/grmiregistry.1
+d922e78f1301eae18a63535430e23241  libjava/classpath/doc/gserialver.1
+8f48eac0a8595b0d35d0c204f5bb4865  libjava/classpath/doc/gtnameserv.1
 7e4e31659df1c7e815f9151958dceef2  libjava/classpath/doc/texi2pod.pl
 01b23c87dcf82048a5958c8224653305  libjava/classpath/doc/texinfo.tex
 b1e0c0c30547d57d7a09b04d47c70b06  libjava/classpath/examples/.cvsignore
 f0408ed8438dbd2d02ef4761d027f48f  libjava/classpath/examples/Makefile.am
-cc46a13f3cd278434d0ff30a5702f704  libjava/classpath/examples/Makefile.in
+b024e735dc37f57e3aef358d611785a8  libjava/classpath/examples/Makefile.in
 3f15171227786dbf6be10e2044f70637  libjava/classpath/examples/Makefile.java2d.in
 8649fa7ef09149674ee2ba32d9b0a617  libjava/classpath/examples/Makefile.jawt.in
 0df7a6063c396e3b362ae0bf72bd0aad  libjava/classpath/examples/README
@@ -45063,12 +45256,12 @@ f08449b27f99259e7c7eec27364c4d65  libjava/classpath/examples/gnu/classpath/examp
 2f2cd75a56bf04cab72eb9e34664fc61  libjava/classpath/examples/gnu/classpath/examples/swing/welcome.html
 26f08908d0224edf3c0936d2d9ff132c  libjava/classpath/external/.cvsignore
 c4c3650dfdd2093321f6105a15ed1693  libjava/classpath/external/Makefile.am
-e119fc2847d5b20fa1b97a8132f2091a  libjava/classpath/external/Makefile.in
+85b5ca78b53e5a764a47f9354d747419  libjava/classpath/external/Makefile.in
 19926238491666aca594b13f6b691863  libjava/classpath/external/README
 ca3bc8192f1be4c1d912b39828cdfd82  libjava/classpath/external/jsr166/.cvsignore
 e99e0da2c0b8a68ba10e472a679ed926  libjava/classpath/external/jsr166/IMPORTING
 afe0fde62c1b323e3d613c234977076a  libjava/classpath/external/jsr166/Makefile.am
-70f040186ced0d600fc9e0d4a1bde6c9  libjava/classpath/external/jsr166/Makefile.in
+5b0e8e5a45787cc2db97d062b238a239  libjava/classpath/external/jsr166/Makefile.in
 3b563fd75c0db0c296295cd5e7005f2a  libjava/classpath/external/jsr166/java/util/AbstractQueue.java
 f98df0b3b0896cfc065ca7d147d9766e  libjava/classpath/external/jsr166/java/util/ArrayDeque.java
 a5b3bf8c18282b1e9946ca8233253272  libjava/classpath/external/jsr166/java/util/Deque.java
@@ -45142,7 +45335,7 @@ e0ecaeeafcc2ebf7040d1e6213f70a4b  libjava/classpath/external/jsr166/java/util/co
 bddbb222e71984105b2626a332dcfe28  libjava/classpath/external/jsr166/readme
 26f08908d0224edf3c0936d2d9ff132c  libjava/classpath/external/relaxngDatatype/.cvsignore
 674b52b14c8bd6cdd5166d2d25dbbf6a  libjava/classpath/external/relaxngDatatype/Makefile.am
-2ab5b3e897dae9529a5c8d2921297eff  libjava/classpath/external/relaxngDatatype/Makefile.in
+658be1d036c39ace8bcfcccc330d3e25  libjava/classpath/external/relaxngDatatype/Makefile.in
 8e25a601c7c2c41f890b6704a588aac0  libjava/classpath/external/relaxngDatatype/README.txt
 f14c6644916e03c7a89e8cd295c7225b  libjava/classpath/external/relaxngDatatype/copying.txt
 11c16d603b66372eb817803c2a6eefa4  libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/Datatype.java
@@ -45157,7 +45350,7 @@ e547f571810f929d0af83480fb587313  libjava/classpath/external/relaxngDatatype/org
 be1e5403df03cd0f918ba538564d7582  libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java
 26f08908d0224edf3c0936d2d9ff132c  libjava/classpath/external/sax/.cvsignore
 b142390a2b618614a35f966d4791b53a  libjava/classpath/external/sax/Makefile.am
-fea91c9556849e5042674a9c48ff14cf  libjava/classpath/external/sax/Makefile.in
+66b52a5f09ea627b8ee0c9ef864dfc9f  libjava/classpath/external/sax/Makefile.in
 de1ad3c4705dc5ed78e6752d127ca258  libjava/classpath/external/sax/README
 5671609ceec856086bb0dceaae0e60e8  libjava/classpath/external/sax/org/xml/sax/AttributeList.java
 081f65aa50fa2b14f0fdfde97840257c  libjava/classpath/external/sax/org/xml/sax/Attributes.java
@@ -45200,7 +45393,7 @@ ce0b8c1d4d19e8815219e5dfa029ef50  libjava/classpath/external/sax/org/xml/sax/hel
 5f5708616a540aa06ab3fa31f8cc46e5  libjava/classpath/external/sax/org/xml/sax/package.html
 26f08908d0224edf3c0936d2d9ff132c  libjava/classpath/external/w3c_dom/.cvsignore
 e1b1294fade207453ae3ca9c6de24f31  libjava/classpath/external/w3c_dom/Makefile.am
-d7ecdb38e4b334c7ded3418848b69479  libjava/classpath/external/w3c_dom/Makefile.in
+154bb9256a7a93612c9fda5fca9f30d6  libjava/classpath/external/w3c_dom/Makefile.in
 6e52fb724e7d281f80276187f3c9e286  libjava/classpath/external/w3c_dom/README
 d59277196ecc156109f8f0f68cbf30de  libjava/classpath/external/w3c_dom/org/w3c/dom/Attr.java
 190df397547a2769e4729c5f4f585b6a  libjava/classpath/external/w3c_dom/org/w3c/dom/CDATASection.java
@@ -47529,7 +47722,7 @@ d91e86f52d2332af8e946048755512eb  libjava/classpath/gnu/xml/xpath/UnionExpr.java
 43d051b547f1be45af675603ff68c032  libjava/classpath/gnu/xml/xpath/XPathTokenizer.java
 b69f3b6c8668fdf543fe8f7ff65fbdd8  libjava/classpath/include/.cvsignore
 6b7b1595a378851bc59ffc95eaa6553c  libjava/classpath/include/Makefile.am
-5307ee5b95bbe2977fd68b3ca01502fa  libjava/classpath/include/Makefile.in
+867a70ca906b8c69440279df15707060  libjava/classpath/include/Makefile.in
 4cd932efb362709c9190b0357c61f59c  libjava/classpath/include/config.h.in
 5c7becd4ed6de2afda73a9e04309ae86  libjava/classpath/include/gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer.h
 efd02b9f42f9669c1e34fce8f91d9f77  libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
@@ -50272,7 +50465,7 @@ d6283ab58750562474b0ae0cb4a961c2  libjava/classpath/javax/xml/xpath/XPathFunctio
 9a70bc2120221d526c219d37593599de  libjava/classpath/lib/.cvsignore
 d367bb3700b319a485daa07c2463d08f  libjava/classpath/lib/Makefile.am
 551d6d16edaef3855f87cece3aeab640  libjava/classpath/lib/Makefile.gcj
-4517bfc738c91ec089722f6fbca6fd84  libjava/classpath/lib/Makefile.in
+fadb2ef0dfc9f5b839ab50441d8620ba  libjava/classpath/lib/Makefile.in
 d5deab73184f27df4d7019927cea2b3c  libjava/classpath/lib/copy-vmresources.sh.in
 ea4230a8b07b5871d01bdb18223f689d  libjava/classpath/lib/gen-classlist.sh.in
 d819b2327bc1ac48c542ef903814134d  libjava/classpath/lib/gnu/CORBA/Asynchron.class
@@ -50654,7 +50847,7 @@ af47d4d5d85685c82e545dfaf0e323cb  libjava/classpath/lib/gnu/gcj/RawDataManaged.c
 9fbfb7100cbc41cce5240e1ddd6f9630  libjava/classpath/lib/gnu/gcj/convert/BytesToCharsetAdaptor.class
 b9ecae57cf513f1846e332b6c41b9355  libjava/classpath/lib/gnu/gcj/convert/BytesToUnicode.class
 6a43fb30e64eaaca048e58cdd5ddfb36  libjava/classpath/lib/gnu/gcj/convert/CharsetToBytesAdaptor.class
-2283dee93a997b870ce87b2df94cff17  libjava/classpath/lib/gnu/gcj/convert/Convert.class
+ba488e76cc2641ad57c02968158dc253  libjava/classpath/lib/gnu/gcj/convert/Convert.class
 a9c7da858cbfaa9162b4b724f17cdc84  libjava/classpath/lib/gnu/gcj/convert/IOConverter.class
 5cfff490165cc11ce86e23c47925c135  libjava/classpath/lib/gnu/gcj/convert/Input_8859_1.class
 90b6fbb7d341d8a19e3800f3c04d986b  libjava/classpath/lib/gnu/gcj/convert/Input_ASCII.class
@@ -50697,7 +50890,7 @@ cc2028340830c1a92f7a8fc6c2b2a7c4  libjava/classpath/lib/gnu/gcj/runtime/SharedLi
 d14390155af90356eab7e7d20adc7f72  libjava/classpath/lib/gnu/gcj/runtime/StringBuffer.class
 6b6c5f6b682a1c449032521c7660562a  libjava/classpath/lib/gnu/gcj/runtime/SystemClassLoader.class
 b3df2870e47bcb8818bce00655b3d6d6  libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Fileset.class
-da213c334bd942de066fd87f4db15764  libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class
+af2928f5faa8009a5ef2060cd1caf08c  libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class
 aef32ba9ee95445e4d50a544f6c54311  libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Tokenizer.class
 e48c2569712e4862a90fe6a9f2920b57  libjava/classpath/lib/gnu/gcj/util/Debug.class
 2186748295875dfc9c5f8985ae38b509  libjava/classpath/lib/gnu/gcj/util/GCInfo.class
@@ -51131,7 +51324,7 @@ f9625fb5d7830a0d779e89a78dc243c5  libjava/classpath/lib/gnu/java/lang/reflect/Me
 c2111d41157a272337e1f9d6ec838190  libjava/classpath/lib/gnu/java/lang/reflect/TypeVariableImpl.class
 036bc4dc8048d54de85295ecf7f46093  libjava/classpath/lib/gnu/java/lang/reflect/UnresolvedTypeVariable.class
 a0a4a3492a3773499ad66c75924e3cc7  libjava/classpath/lib/gnu/java/lang/reflect/WildcardTypeImpl.class
-76cef58cad1a3556e75ccbb5f48a9515  libjava/classpath/lib/gnu/java/locale/LocaleData.class
+32e2f62dcfad366349b4ce7862c73c48  libjava/classpath/lib/gnu/java/locale/LocaleData.class
 f6ffe052056f1952feb49c94f2570f28  libjava/classpath/lib/gnu/java/locale/LocaleHelper.class
 929b4aa77ace85141dc1c30847186e7a  libjava/classpath/lib/gnu/java/math/Fixed.class
 a2a8a40a5443332b4f0eeb2ec0266d31  libjava/classpath/lib/gnu/java/math/GMP.class
@@ -51338,7 +51531,7 @@ ab3a5d6585c3d0cff07ee0e5e64483ce  libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl
 808f806e10f971a5616b2fabc18e2f5f  libjava/classpath/lib/gnu/java/rmi/dgc/DGCImpl_Stub.class
 c746d98a854ee8e9807f760ef5623aab  libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask$LeaseTimerTask.class
 fdec72cb789255f4996668861120995e  libjava/classpath/lib/gnu/java/rmi/dgc/LeaseRenewingTask.class
-ea399897976612494ca0aad0d3e5f843  libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
+40aa0a6fe8563e9531a007bacc5e4406  libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class
 f72d6d0de7c544f970ab0c33e9b0e027  libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Skel.class
 682bd6038a52dbbd299e1049f5da73b8  libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl_Stub.class
 088910184c842e2e06cdcecf28af3fff  libjava/classpath/lib/gnu/java/rmi/server/ActivatableRef.class
@@ -57620,10 +57813,10 @@ b2e1169c44e6959b0a89c191eed11d93  libjava/classpath/m4/gcc_attribute.m4
 ce1fb6b579015b49d94f3b093f4cb332  libjava/classpath/mkinstalldirs
 be936be6d1859ab86569552198800d70  libjava/classpath/native/.cvsignore
 40f221d2c7142e463f707764f72337c5  libjava/classpath/native/Makefile.am
-95e800d830b431d27f18b40951fea0cb  libjava/classpath/native/Makefile.in
+d530b1d511d8964cf757794c814ecf8a  libjava/classpath/native/Makefile.in
 be936be6d1859ab86569552198800d70  libjava/classpath/native/fdlibm/.cvsignore
 ff63fa213cea3dc63a0ecf6b822ca546  libjava/classpath/native/fdlibm/Makefile.am
-700460e0045ae3cad4a16f221fffe4c8  libjava/classpath/native/fdlibm/Makefile.in
+71264bf8ff2d2517e85b54f477d3e96b  libjava/classpath/native/fdlibm/Makefile.in
 96abc24d7822ef0926f081f771f79f5f  libjava/classpath/native/fdlibm/dtoa.c
 ade48f8324f07366426607de1f757e72  libjava/classpath/native/fdlibm/e_acos.c
 53882c68ea8e5951faeb0468f5b27265  libjava/classpath/native/fdlibm/e_asin.c
@@ -57682,14 +57875,14 @@ fa8fc898ffc97e49d0992c4ce130356a  libjava/classpath/native/fdlibm/w_pow.c
 d9a47cbdb6a0ad5bef32d5cf92d33a09  libjava/classpath/native/fdlibm/w_sqrt.c
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jawt/.cvsignore
 bbad9a02e5daa511f34d8394933c29d0  libjava/classpath/native/jawt/Makefile.am
-532945ba6b1236cee01544ce804cdb92  libjava/classpath/native/jawt/Makefile.in
+53986468f93136a9d9de88651ec9023a  libjava/classpath/native/jawt/Makefile.in
 d1e58c598592047c39ee3834ec3bd9ac  libjava/classpath/native/jawt/jawt.c
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/.cvsignore
 7896db510f65a967cbfa4de3161210fd  libjava/classpath/native/jni/Makefile.am
-c16073cca0eb6dbe7549f18355ca9e4f  libjava/classpath/native/jni/Makefile.in
+f4eb98e60358664c068a619c0ac47c4e  libjava/classpath/native/jni/Makefile.in
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/classpath/.cvsignore
 3c73c3ca09f8d94f6fa96cdea964c0f0  libjava/classpath/native/jni/classpath/Makefile.am
-fe7b650ff8fcfc12a49c75212f799a47  libjava/classpath/native/jni/classpath/Makefile.in
+85535267da3b38f4c07b3ee2fa5036b7  libjava/classpath/native/jni/classpath/Makefile.in
 d151b013c7a26d7f23d375acc44f6c48  libjava/classpath/native/jni/classpath/classpath_jawt.h
 435abb6ca29bfb956120934fa87f91f9  libjava/classpath/native/jni/classpath/jcl.c
 27dcff80cfa7f940701dc9c9e29fc813  libjava/classpath/native/jni/classpath/jcl.h
@@ -57698,9 +57891,9 @@ d151b013c7a26d7f23d375acc44f6c48  libjava/classpath/native/jni/classpath/classpa
 7a1e37364835c9505552590fd3da1bad  libjava/classpath/native/jni/gconf-peer/.cvsignore
 b16c6d44292f903f3a761007975097ea  libjava/classpath/native/jni/gconf-peer/GConfNativePeer.c
 e87bb0a42e6e39dca66f907de5f63d97  libjava/classpath/native/jni/gconf-peer/Makefile.am
-b16bd128b5c16ba76adb0097561d426e  libjava/classpath/native/jni/gconf-peer/Makefile.in
+3d15e56d82092d9429e59757e9551edb  libjava/classpath/native/jni/gconf-peer/Makefile.in
 db73aad6ef5f39437d7e2e94025cc35f  libjava/classpath/native/jni/gstreamer-peer/Makefile.am
-6d29d2dd781fc83481a3f77f757e516e  libjava/classpath/native/jni/gstreamer-peer/Makefile.in
+d060e061474e6259e5315f56dbacead3  libjava/classpath/native/jni/gstreamer-peer/Makefile.in
 6319808ead0ec134c7fd60824f9c9460  libjava/classpath/native/jni/gstreamer-peer/gst_classpath_src.c
 852bf84c9e9afc47984d530d6a9cba84  libjava/classpath/native/jni/gstreamer-peer/gst_classpath_src.h
 98119de4180b7fede7153000c32aff12  libjava/classpath/native/jni/gstreamer-peer/gst_input_stream.c
@@ -57714,7 +57907,7 @@ e56788f2d06600b1b22d8e182d5a74f1  libjava/classpath/native/jni/gstreamer-peer/gs
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/gtk-peer/.cvsignore
 aaa23d885da10e24f0dff29c5206fb98  libjava/classpath/native/jni/gtk-peer/GtkDragSourceContextPeer.c
 9913d150d403c46c1e6e0cfba86496c6  libjava/classpath/native/jni/gtk-peer/Makefile.am
-42a72b8212b864fbd8e2ffa36342b884  libjava/classpath/native/jni/gtk-peer/Makefile.in
+fadaa524d5c06790e0c0a08a115c45ec  libjava/classpath/native/jni/gtk-peer/Makefile.in
 d01f0d20ca6a86164ae8a13735d32898  libjava/classpath/native/jni/gtk-peer/cairographics2d.h
 91c9d993d07ee0078ed135f9a6f26d7f  libjava/classpath/native/jni/gtk-peer/gdkdisplay.h
 1c29ba5aae81654205ddaac5df2d048a  libjava/classpath/native/jni/gtk-peer/gdkfont.h
@@ -57761,13 +57954,13 @@ cf001ec39c47d66b7333892c16b605b5  libjava/classpath/native/jni/gtk-peer/gtkpeer.
 c98c6ccf543a8c0c03b052517098f041  libjava/classpath/native/jni/gtk-peer/gtkpeer.h
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/java-io/.cvsignore
 67c8c75e57a854f977958d96322e8c62  libjava/classpath/native/jni/java-io/Makefile.am
-d2b1066cd904dadb250333b2db6446e4  libjava/classpath/native/jni/java-io/Makefile.in
+b9c5216b7f30ca0ac455e7cada4a3c59  libjava/classpath/native/jni/java-io/Makefile.in
 519818c6fcf969ab7848d756117afdc8  libjava/classpath/native/jni/java-io/java_io_VMFile.c
 4e26fb1d76a5caf835b783e70e791feb  libjava/classpath/native/jni/java-io/java_io_VMObjectInputStream.c
 2538896ccd96d3235b03d7ea3f903a5d  libjava/classpath/native/jni/java-io/java_io_VMObjectStreamClass.c
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/java-lang/.cvsignore
 a4f6722dee1cd8bf2d7cd50aca345532  libjava/classpath/native/jni/java-lang/Makefile.am
-6db45dc622fd53725553669531cf4b44  libjava/classpath/native/jni/java-lang/Makefile.in
+5dd69811a7f6ad0d0ade6b749aaf965f  libjava/classpath/native/jni/java-lang/Makefile.in
 7887105b9cffc504c17fa2ff861bb5e0  libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c
 26c5d4b81a70045cfbc235552406df47  libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
 29282ac53c1ab08682ff05e86b931d88  libjava/classpath/native/jni/java-lang/java_lang_VMFloat.c
@@ -57776,11 +57969,11 @@ a4f6722dee1cd8bf2d7cd50aca345532  libjava/classpath/native/jni/java-lang/Makefil
 7b65adc7987a41dbabc573a16b08174c  libjava/classpath/native/jni/java-lang/java_lang_VMSystem.c
 1b266231636c496d36c240e644d1ce65  libjava/classpath/native/jni/java-lang/java_lang_reflect_VMArray.c
 fcd7e369b7d85ffb8cd9ee58b2d7d39b  libjava/classpath/native/jni/java-math/Makefile.am
-886be82d27ddca03cbaa939040c3e581  libjava/classpath/native/jni/java-math/Makefile.in
+96a11821ce265159ce666e303c0584d8  libjava/classpath/native/jni/java-math/Makefile.in
 46ef936d03e4e98d56be98f1a9d9afd5  libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/java-net/.cvsignore
 9006eec2f88571361aec8dc187c2d75d  libjava/classpath/native/jni/java-net/Makefile.am
-09e40b29677432c2713a96378eafa497  libjava/classpath/native/jni/java-net/Makefile.in
+1234e48a45e4ebc0dc3c0b4f22c38767  libjava/classpath/native/jni/java-net/Makefile.in
 ded30f907402ec0cdfbcd0e7493b4976  libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c
 9b20026d306f9003e48240f22caf5aad  libjava/classpath/native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c
 8de4eaa86c8eda93bb608a793c2177be  libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c
@@ -57792,7 +57985,7 @@ fe9787f24c9953ab42549eb2e343798b  libjava/classpath/native/jni/java-net/javanet.
 bb5e27118b9ac1526cda4f072199a2a0  libjava/classpath/native/jni/java-net/local.h
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/java-nio/.cvsignore
 a99227132927bf3e5c46cc8bea8362f9  libjava/classpath/native/jni/java-nio/Makefile.am
-349e1f32eb9de35753c5985a6b050cee  libjava/classpath/native/jni/java-nio/Makefile.in
+cbbd22d163482dbf68c0d0840dd987d5  libjava/classpath/native/jni/java-nio/Makefile.in
 c2a4f1241e105466eb86486aa3ab6bdd  libjava/classpath/native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c
 746568f60f066a8ae2aa6f176fe6cd6f  libjava/classpath/native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c
 4882da9135370e01dd459b0183b5a078  libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c
@@ -57806,24 +57999,24 @@ e885113aa6523fe7ce96644284ba10d2  libjava/classpath/native/jni/java-nio/gnu_java
 4ec2672b3fdf2a98e2c3a31c6185353a  libjava/classpath/native/jni/java-nio/javanio.h
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/java-util/.cvsignore
 eb55c8939bf70ac72db64001972816f0  libjava/classpath/native/jni/java-util/Makefile.am
-d91ee5a5cca2f89cd6abf5aa5fa1118b  libjava/classpath/native/jni/java-util/Makefile.in
+1917d2ece698877d0156cd3b1e26cc34  libjava/classpath/native/jni/java-util/Makefile.in
 7c34b052e91b5e1eeedf130e37741a44  libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c
 e9f463ed5edfcbe71d36f0061191e645  libjava/classpath/native/jni/midi-alsa/.cvsignore
 de2ebfffdbcb56969b00df4500bd1acd  libjava/classpath/native/jni/midi-alsa/Makefile.am
-03ded3690b9d37db0a78e0173035f092  libjava/classpath/native/jni/midi-alsa/Makefile.in
+1232ce9f51c3808a3fbf84410f043531  libjava/classpath/native/jni/midi-alsa/Makefile.in
 4ed24cbfb9bc9dde556f1cd69cfa36ab  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c
 8af238a9fe366d5abc4101a156b65f53  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.c
 e3e42c988b2ca235d97ec761f5a4b75c  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
 88d9378475f928bbc49c73e0034a9f23  libjava/classpath/native/jni/midi-dssi/.cvsignore
 8864e193e58043ca7f4f37a812eb3c61  libjava/classpath/native/jni/midi-dssi/Makefile.am
-2805bd6109c9258cccadc52c7d95c76c  libjava/classpath/native/jni/midi-dssi/Makefile.in
+94d99cd6cdc7706c3408f60c91e4bfb9  libjava/classpath/native/jni/midi-dssi/Makefile.in
 55872a059efad33ca45d659329d305df  libjava/classpath/native/jni/midi-dssi/README
 d81bbf01e8d08955877410dab9e54512  libjava/classpath/native/jni/midi-dssi/dssi_data.h
 a327f8aeaed292079be8a7fcdfc7c271  libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c
 eb0b6628f176aab4fafbc3ade2acec00  libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/native-lib/.cvsignore
 f10ac36b82731712f767fee7b733af91  libjava/classpath/native/jni/native-lib/Makefile.am
-af4a9742266fcfa30011e775fc5dfa28  libjava/classpath/native/jni/native-lib/Makefile.in
+ff49db00d7cfa5eba59a600ccee6596a  libjava/classpath/native/jni/native-lib/Makefile.in
 205943cb92ecbf9e2d88c4d77d4ec66a  libjava/classpath/native/jni/native-lib/cpio.c
 2cc69406bcfdf3382c75b31a05ad02e3  libjava/classpath/native/jni/native-lib/cpio.h
 6cc725c088054441dc9518c80cff5186  libjava/classpath/native/jni/native-lib/cpnative.h
@@ -57833,7 +58026,7 @@ f57b791e4137b6fdd252350a61600bbf  libjava/classpath/native/jni/native-lib/cpproc
 c4f145c0db080f380f4c241d315be571  libjava/classpath/native/jni/native-lib/cpproc.h
 55f20aeb112e5f8675f3030002261e22  libjava/classpath/native/jni/qt-peer/.cvsignore
 beae3d0690cbf603f387acbc167dd1a1  libjava/classpath/native/jni/qt-peer/Makefile.am
-d575f0b50e6fe92d5dff6635c882bd1b  libjava/classpath/native/jni/qt-peer/Makefile.in
+9b94a7f7ef4158213e848b4a657e1fd5  libjava/classpath/native/jni/qt-peer/Makefile.in
 6bbc1719e04678326aa50de1179bf872  libjava/classpath/native/jni/qt-peer/buttonevent.h
 c26e5598cceac1bc7119ae22d548ca69  libjava/classpath/native/jni/qt-peer/componentevent.cpp
 044c9fb01081e4c7ee34200f903c12fb  libjava/classpath/native/jni/qt-peer/componentevent.h
@@ -57891,7 +58084,7 @@ dfc91d9106be2aa6799accb5fd905c84  libjava/classpath/native/jni/qt-peer/slotcallb
 be936be6d1859ab86569552198800d70  libjava/classpath/native/jni/xmlj/.cvsignore
 5ac3ab93c09d6b37eed61960db93eb4e  libjava/classpath/native/jni/xmlj/BUGS
 ee676d186928a9c4e7965b65f3858ca6  libjava/classpath/native/jni/xmlj/Makefile.am
-02a7367c50b6af34826b4720ba52ed56  libjava/classpath/native/jni/xmlj/Makefile.in
+8380132d17bb2272c94385967f22cb62  libjava/classpath/native/jni/xmlj/Makefile.in
 a2c641147a0afe153ff0e0aed7475aee  libjava/classpath/native/jni/xmlj/xmlj_dom.c
 f596295ba3e499ce77130f3598958826  libjava/classpath/native/jni/xmlj/xmlj_dom.h
 64c062c6f10400810955e708adc7d662  libjava/classpath/native/jni/xmlj/xmlj_error.c
@@ -57908,7 +58101,7 @@ db216a2dad515d24aa32e4c2e219b5dd  libjava/classpath/native/jni/xmlj/xmlj_util.h
 6fa5491c8a38a4dbb89404d98e40fbce  libjava/classpath/native/jni/xmlj/xmlj_xpath.c
 7a79282eb26a9cb5edda5e7c789c8ee7  libjava/classpath/native/plugin/.cvsignore
 a0343a16d6179e00f77868a1f2314a0a  libjava/classpath/native/plugin/Makefile.am
-87c87599d9802ddf444af0ce4b81839d  libjava/classpath/native/plugin/Makefile.in
+1ce4562c2af7d623954d68ccd75f2067  libjava/classpath/native/plugin/Makefile.in
 83c996602e6b0aed20658dd9168e0e55  libjava/classpath/native/plugin/gcjwebplugin.cc
 9f51ca6d32a6cf01000b2308701b5c63  libjava/classpath/org/ietf/jgss/ChannelBinding.java
 d782649ded5486bc5fafa4cf19fa0eb5  libjava/classpath/org/ietf/jgss/GSSContext.java
@@ -58486,7 +58679,7 @@ b30c7c44e4dbedfb9e0a354ad0e69750  libjava/classpath/resource/META-INF/services/j
 fbfa08e782ad2917eee91a3d6f19fe25  libjava/classpath/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in
 973058e3efbefbcd936050029f2a7d90  libjava/classpath/resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList
 dd93056d54ba9ed0b943bb78856796d8  libjava/classpath/resource/Makefile.am
-0535ccc3678cbf24b321efea1c3dcbea  libjava/classpath/resource/Makefile.in
+f6b760ae6545a85eeca25fc1be57b4bd  libjava/classpath/resource/Makefile.in
 b1dbe81dc7db0aaabeb175f958c3bb71  libjava/classpath/resource/gnu/java/awt/font/fonts.properties
 b1b378b5efd37121fb14c0299ca29e01  libjava/classpath/resource/gnu/java/awt/peer/gtk/font.properties
 dd86b4f7884d4970653d33f18c9f070c  libjava/classpath/resource/gnu/java/awt/peer/x/fonts.properties
@@ -58832,7 +59025,7 @@ d0d0a0e923a2a840a5a12e3605efb8bf  libjava/classpath/resource/java/util/logging/l
 ddc4fbdb92341fefa981794f8ac4d011  libjava/classpath/resource/org/ietf/jgss/MessagesBundle.properties
 a9c684cc6f0041cdbdc181faa43e0a74  libjava/classpath/scripts/.cvsignore
 b6ca3ec1dce161be118a36827b445743  libjava/classpath/scripts/Makefile.am
-6fc246d6b3897316686b8c0463b80054  libjava/classpath/scripts/Makefile.in
+ca573779ced024320021b7c5f1e6d5fc  libjava/classpath/scripts/Makefile.in
 10ad456bc61347e187329c23940d68b0  libjava/classpath/scripts/check_jni_methods.sh.in
 2bebc71ab67b74f7e8afe0c4ef5e3e33  libjava/classpath/scripts/classpath.spec.in
 1ae0b90a8193f65e5fa94a8563b5374a  libjava/classpath/scripts/generate-locale-list.sh
@@ -58847,7 +59040,7 @@ ea8957e97d249fceca7616d396e0cdf0  libjava/classpath/sun/reflect/annotation/Annot
 ec5ddfd672fb97cfd0a1d7035dfc2ffe  libjava/classpath/sun/reflect/annotation/ExceptionProxy.java
 aeaf6d218b77faba0f1cbff86204beff  libjava/classpath/tools/.cvsignore
 3b21c9ed731ef63072b3ca8946bc92e4  libjava/classpath/tools/Makefile.am
-2a5daeadc4bd0bf35f565def2040ce6b  libjava/classpath/tools/Makefile.in
+364278c66b63a37dc1fd7ce746d975ee  libjava/classpath/tools/Makefile.in
 03025a704e81cde9a3a54eede984c97c  libjava/classpath/tools/README
 e5d5f3a5429f17358e074bb584e8d0bc  libjava/classpath/tools/appletviewer.in
 823f9a2a72ec8efb7e42692c6a3d9fb3  libjava/classpath/tools/asm/org/objectweb/asm/AnnotationVisitor.class
@@ -59161,23 +59354,23 @@ abbd136d6cddaea043c0856d2afeecb2  libjava/classpath/tools/classes/gnu/classpath/
 103f8c43ac22e0f3764374037a42255e  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class
 d39f9e834609349e7d5dc31f3ed656da  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class
 0b702b57e2f22fcaf570f797ee2ed7c7  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class
-00a8f18e11e5291978a3f6677e57fead  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
-cf6f87200edaf9f515da29c9a10a666c  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
-f8ecf053fa7d1c6206e981f0a76929cd  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
-04247eccf561dd02e82f8cca040b47ce  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
-d84b53957351c3018283c48dbda016c1  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
-266ff593c23c97a4f657df595ecc1046  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
-5435d8458202b975182edada13dbc452  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
-52d50332307aa13c053c912fe1849ddb  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
-f24675d27cdca42ebab902cbe5b543dd  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
-0cb7c60a67b491b4a1028f27ea5bd6d5  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
+04456afd1612aff1cc9744e63936f4cf  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class
+661eb3631237f46885153abdc8cc83b5  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class
+9753aa4c62a44512652ba12835cee1e2  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class
+3359ba91adea53fd9495aa360135f883  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class
+42d14ac6c731c2ec4d4c5b114fb52444  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class
+93beb09ecf4ebb87d48bcc9776002abc  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class
+f9467b7f8e79e5cdf8f65a0677c10e48  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class
+ed2378e643c2909b321d55941bf72e57  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class
+8182977446b450aee6cf8674a8fd60d7  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class
+55ff4433b2f76e01911dbaeac4ce9e39  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class
 e642b39bf37fe9930744473f44ea9a56  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class
-4dec88fa64f0d94d1451ace6d89b5b23  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
-10c666d4444e5da1413eb24b4c9273fc  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
-ca8b02deea12abbf6c60ca3aeb6bd2c0  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
-26140ce1af6c28479f0aba98359c7633  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
-c9e93db14f2dd2291be11f19c301a1fc  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
-c0bb3cd1e18dd99bfa361e9954250b63  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
+d5e05b3df3e9b9314acb73cfcfa0709f  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class
+af90f5253b05f8d6b5a49df9d806b144  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class
+0202ab4fb4c04e4f2932d54f542a00ef  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class
+6e436be0a5f4306a49c13bc347e9fac6  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class
+39abff7dd2579645dc12cb15896e5387  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class
+a6f3b9992ec6f11d379376b33c4dad11  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class
 295a1bfc18088cf0026fe862a05958d5  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class
 5b51327fa2e195957f54ca4c62ee7e9e  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class
 b66eedbc55ea56d670a01a397859cee9  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class
@@ -59186,7 +59379,7 @@ c634d2cd5c628bf54e8e8890897b9444  libjava/classpath/tools/classes/gnu/classpath/
 f4a88eb2af3943e68cc2395d7c4c7fe5  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class
 d8f4773046fc82383a1f7dccdbd8b480  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class
 1093b05386beacc7c51f200a43b645f0  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class
-8e936e873a5dceb8d94d75d48192a882  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
+04ced32166addebae3e81175a0f4393f  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class
 5eaf0030d21d50a5aaa284d598b8eb56  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class
 786c92afab8746b5727848b779fa5bbb  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class
 2abbcfad9629850afb9e8fa3d681ad80  libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class
@@ -59489,12 +59682,12 @@ dbc666b4f6886283314232d20ae2433c  libjava/classpath/tools/classes/gnu/classpath/
 086b7d552cc8de94d8b9c1b00ee0cbc0  libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$3.class
 2ffd1f2374a7787838f5146da37800f5  libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII$HandleFile.class
 97bd07d2c3c2e7e2390bba618e6b05f1  libjava/classpath/tools/classes/gnu/classpath/tools/native2ascii/Native2ASCII.class
-70b368157b01ab5f5d6bc68df9785f43  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
-399d712807e269769bab99ca2bb77c86  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
-6b34461c5d2406f4974f8036d6c32b81  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
-aab7bdd342257d7a819bf98c5b3a1530  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
-d9e855929128a85255ded428ed2927a3  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
-abe858025b30b2ed6c171bd03059688f  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class
+e45f212861371d9cc86c40ab09f1a540  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class
+1bc00f5e5ee042a9c6cf1147e8d76a68  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class
+38aa774bae9c1f20643c6593c5e6b008  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class
+bfec391820bc2fc20a64c9de644e2f58  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class
+e8867417cd66fcf96dd7d49cacf5baf2  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class
+a2c2b62ff9648be8d01fae99915ce7b3  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class
 a6411a773eedb34fd8960481d107f261  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Messages.class
 128ffbfde1dfac0b4864585db51c8406  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContext.class
 9aecde5aee5c51ffcd2a0bc0aacf7262  libjava/classpath/tools/classes/gnu/classpath/tools/orbd/PersistentContextMap.class
@@ -59833,7 +60026,7 @@ cc94a9c9adcded4844f55adb607f81e1  libjava/classpath/tools/gnu/classpath/tools/gj
 d85b66c4081bcc70d6a03fd0eeee4c7b  libjava/classpath/tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java
 ffed3fa472aaca8a5625f9e005f40ffe  libjava/classpath/tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java
 bde5928b601b4ce4057ab29f9d3b72de  libjava/classpath/tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java
-a1719d3f210e09f765a1f3af24073dfa  libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
+75dfb34174008aafb84360cc1f5ca2e9  libjava/classpath/tools/gnu/classpath/tools/gjdoc/Main.java
 730db3b9dce81b0f92ca66702a86e286  libjava/classpath/tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java
 71558ccd41af421b8c17d67df2056fed  libjava/classpath/tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java
 6d75f8923309a71bdd0a7c6498566dd8  libjava/classpath/tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java
@@ -60167,8 +60360,8 @@ d4672ce1ac1a559365cbf2e3b4dfabc9  libjava/classpath/vm/reference/java/util/VMTim
 f5c9e0011a145a2d325095aaa65dfd74  libjava/classpath/vm/reference/sun/misc/Unsafe.java
 51797ad56585c18d465096c545896968  libjava/classpath/vm/reference/sun/reflect/Reflection.java
 ee8b97b4210bc58ca056b570a7b0a1a2  libjava/classpath/vm/reference/sun/reflect/misc/ReflectUtil.java
-4c04aa5e55aafcfac10293621df1585a  libjava/configure
-969c075389cb6014f20c92a1f2f16a04  libjava/configure.ac
+1992116602bc147a19104e25b6c22ede  libjava/configure
+7197b84ce9e9bd3095f45fe144114451  libjava/configure.ac
 0a4bca332a3c3a66ffedbdd899951f3b  libjava/configure.host
 c87469b826abd90aa96813dbb712963b  libjava/contrib/aot-compile-rpm.in
 cdad876336179e403671e1b7e3a6c600  libjava/contrib/aot-compile.in
@@ -67127,7 +67320,7 @@ a40a8f1527e2703fe2f08bf7276d8591  libjava/libgcj.spec.in
 190bcad211f05f3f0cb0fe5db299d94e  libjava/libgcj.ver
 184718636f014ef2ca46d62ba8d6c3bf  libjava/libgcj_bc.c
 e3eda01d9815f8d24aae2dbd89b68b06  libjava/libltdl/COPYING.LIB
-3984a6aac58aadb6e0805cae3151de5d  libjava/libltdl/ChangeLog
+307e57dc6482af590ec8e8fb6d7dbfa5  libjava/libltdl/ChangeLog
 349267319e3d55dcf180a20f85394144  libjava/libltdl/Makefile.am
 930c6383a37e6cc8e0625c9a281eda95  libjava/libltdl/Makefile.in
 36da24f9facf00b349ea10dba3789d92  libjava/libltdl/README
@@ -68820,7 +69013,7 @@ d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.special/pr21115.out
 434ac04eb066f5075299583492846410  libjava/verify.cc
 355440a0c2fb5e16259d7ae381b37ed5  libjava/win32-threads.cc
 434d5e5e91727dec004f0d1d1fab47ec  libjava/win32.cc
-c100a4e174dad551f9d6f54e5c3138e0  libmudflap/ChangeLog
+a150965395e59a2006347fd46e500dc4  libmudflap/ChangeLog
 662781c9b6e72ed44b0aedce9d9524e0  libmudflap/Makefile.am
 799a9b84a86476bbeff50297b7468483  libmudflap/Makefile.in
 9883ed42b491d8aea83fdde90561cf2a  libmudflap/acinclude.m4
@@ -68964,7 +69157,7 @@ a09323dfe6f2226c01aacc062220eaa1  libmudflap/testsuite/libmudflap.cth/cthfrags.e
 86b705472b17ac803b1be2e9048982f1  libmudflap/testsuite/libmudflap.cth/pass40-frag.c
 725a94441658e42a6adf2add0a0a419d  libmudflap/testsuite/libmudflap.cth/pass59-frag.c
 60168171460c9277504005955b1ea1b8  libmudflap/testsuite/mfconfig.exp.in
-750ac86c968eac3e4e509c65590fdbdb  libobjc/ChangeLog
+af34e8bcdd3b90396b13b790ac537460  libobjc/ChangeLog
 fce677f8c057e6fa2b5209250af9738d  libobjc/Makefile.in
 e22f5980169af2600bcbde10f7f55855  libobjc/NXConstStr.m
 ebd4f0c403f8b4b1892a5aa3e7391192  libobjc/Object.m
@@ -69022,7 +69215,7 @@ c89810c6ea3a03993cc1c5f22da1182b  libobjc/objects.c
 a81541e21652dbe712dc20c1ea737928  libobjc/sendmsg.c
 0fe569ddc17d3743795232a33a84f4df  libobjc/thr.c
 a916467b91076e631dd8edb7424769c7  libquadmath/COPYING.LIB
-888e87c9e616025627270f668b0bd72c  libquadmath/ChangeLog
+205d8dfc8be4da144c8fdb8fb230cb6c  libquadmath/ChangeLog
 d7dbe0de939649d3db57b5ce9603d98a  libquadmath/Makefile.am
 fe797182ebe0e18ac3aa279d6429e5c4  libquadmath/Makefile.in
 9883ed42b491d8aea83fdde90561cf2a  libquadmath/acinclude.m4
@@ -69030,8 +69223,8 @@ aece970dd74d47d051257c4d4d1e91fa  libquadmath/aclocal.m4
 74797a8a506b3e058beadc0eda9d122e  libquadmath/config.h.in
 1426f2b0802668139faa8c6d5a27287d  libquadmath/configure
 a5f70e5a95e698cc9d0b1c8f1f16d8c5  libquadmath/configure.ac
-cf6f5e5a2b9e975cb911c7609be57513  libquadmath/libquadmath.info
-64581f778af26271c0f869ad2ddef808  libquadmath/libquadmath.texi
+1b47cdd1ea0aa57962a177a6c6a11c8b  libquadmath/libquadmath.info
+ba3964c3553e5c57d4c9b5e03e931d47  libquadmath/libquadmath.texi
 77280bb7ee423875e03d9c0d34527df6  libquadmath/libtool-version
 8fcd0b1a8d6cee68dfc568a178af45fe  libquadmath/math/acoshq.c
 e12767e250657db5eb6113838763d7b1  libquadmath/math/acosq.c
@@ -69141,7 +69334,7 @@ e766022f8615b72cbc38335d262e9d3d  libquadmath/strtod/grouping.h
 5172fac7061ec0ef8069183497c424c6  libquadmath/strtod/strtod_l.c
 da808e110fc09ebd41ebd405790a70df  libquadmath/strtod/strtoflt128.c
 d15a18f7c46ba2add6148edc5b7563c0  libquadmath/strtod/tens_in_limb.c
-df923cfceb5faa3c079e8428d2e1a107  libssp/ChangeLog
+1c5814e59c3238d10433ab489ee70ccb  libssp/ChangeLog
 01d9954c400db04da1b8705029e6d9d9  libssp/Makefile.am
 6f9651cc4e77f9e7629b0142b05a90e0  libssp/Makefile.in
 8b0dd0c2a8b446bf5577a8562ad19885  libssp/aclocal.m4
@@ -69170,7 +69363,7 @@ aeb2f84c5e8ba3215469d507bd2efe57  libssp/ssp/string.h
 e9ab923d2562bf5f5be6883dfb9f0184  libssp/strncpy-chk.c
 5e0d8b8a766c31b12354baec1b7a159c  libssp/vsnprintf-chk.c
 f56ab1f8922a16f7e9e4f5270ae1e34e  libssp/vsprintf-chk.c
-ded983075d9b4bc3c2a080c85938326f  libstdc++-v3/ChangeLog
+f231e29775091df208a333e9767a13d1  libstdc++-v3/ChangeLog
 0cda0576312959181333fb6113d11fca  libstdc++-v3/ChangeLog-1998
 7ff71dd25a4fdbb908c1bfffea126a10  libstdc++-v3/ChangeLog-1999
 3c2968659337a7726b4d66af48d049b6  libstdc++-v3/ChangeLog-2000
@@ -69185,8 +69378,8 @@ ecff5773edf3673f17fbf3a3c23c9c3b  libstdc++-v3/ChangeLog-2008
 331370d7b1196615683d7dced9aff3ab  libstdc++-v3/ChangeLog-2009
 53687741bb9ea8c264e09a362529431d  libstdc++-v3/ChangeLog-2010
 32b01643f0d659c3710fa259657fadfc  libstdc++-v3/ChangeLog-2011
-eea319e0ff03c44abc61ad17cc01eb40  libstdc++-v3/Makefile.am
-5624e1b071a517da863601e00569777b  libstdc++-v3/Makefile.in
+83dc613ee68ef0f16c1a11a3aaef0647  libstdc++-v3/Makefile.am
+07e12dbc40e441f236779c1ca7cc2fd3  libstdc++-v3/Makefile.in
 f372af73db4ac0ad88e43199e1f29e08  libstdc++-v3/README
 6eb84856d34812f47147976f9ce13f59  libstdc++-v3/acinclude.m4
 8740082679d696cb8e212b6106b77cff  libstdc++-v3/aclocal.m4
@@ -69214,7 +69407,7 @@ cc65678819ec7ff06eaeed8b1a5455eb  libstdc++-v3/config/abi/post/sparc-linux-gnu/b
 066250539bd906c49d38e8046494a961  libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
 3bcd656a5bcd6e33b1a321f74cb0ba84  libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
 46f1f52521e0883553a3ae00ed8e5f78  libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt
-2a750398db93c0ebb62968473ef5a9dc  libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
+de4a4bcf5d46a0de77891d9df94feffb  libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
 2f70c602834f70b8cb35f23cc54304e1  libstdc++-v3/config/abi/pre/gnu.ver
 6f099054f1d75e3e178e42c4d8e4c6e1  libstdc++-v3/config/abi/pre/none.ver
 4b64b3a3a99b011410bfd3d83691b4ce  libstdc++-v3/config/allocator/bitmap_allocator_base.h
@@ -69363,12 +69556,12 @@ bcbef1e9e8190ced70ffbe64d3cdb8d3  libstdc++-v3/config/os/tpf/os_defines.h
 28106db7e420daf1742a7d0364a8f5b3  libstdc++-v3/config/os/vxworks/ctype_configure_char.cc
 09cdd6037b944e56156fc8fa46db68f7  libstdc++-v3/config/os/vxworks/ctype_inline.h
 d5d508b070210ba9dc09da135368c015  libstdc++-v3/config/os/vxworks/os_defines.h
-f4ef16343b01b0df8e04cce1604ef089  libstdc++-v3/configure
-c3a3c4c1ef08d1a8c260820d6a62e3cb  libstdc++-v3/configure.ac
-25d7a97c18eab373c6367593ab1d9c30  libstdc++-v3/configure.host
+b1bb22b6eedcf156d8c53b406aa3fe6b  libstdc++-v3/configure
+c8e91e9919f47664461e048f4ccb2335  libstdc++-v3/configure.ac
+03097fe882cac522cd9426f6d1f0b0d7  libstdc++-v3/configure.host
 5dc5f82f2d8512f03b38fcac3339df7f  libstdc++-v3/crossconfig.m4
-63bacbf11aea7ba54d3a4602efa99dbf  libstdc++-v3/doc/Makefile.am
-739b31d8bd51e6959144964c947ecd99  libstdc++-v3/doc/Makefile.in
+5d7e416dba39cecf34b35f935d9c9305  libstdc++-v3/doc/Makefile.am
+aa6d26165c387eb170c6c7881ab70d59  libstdc++-v3/doc/Makefile.in
 3f7ff07f68cc7610addc1921bc125548  libstdc++-v3/doc/doxygen/Intro.3
 9176df83bcbc86a34dee19d4716f0ac7  libstdc++-v3/doc/doxygen/doxygroups.cc
 6b4dbb148dedb8af46a53ccf42399cae  libstdc++-v3/doc/doxygen/mainpage.html
@@ -69376,13 +69569,13 @@ c3a3c4c1ef08d1a8c260820d6a62e3cb  libstdc++-v3/configure.ac
 1273764cd133c402d2d3f22cf2913af5  libstdc++-v3/doc/doxygen/tables.html
 d61c9f4bb9d4359cfcd916d10e7773d6  libstdc++-v3/doc/doxygen/user.cfg.in
 66e139590a163a3e9d632f33fbe1d1b3  libstdc++-v3/doc/html/README
-5160d9ed1f68da470946c64ec1afde59  libstdc++-v3/doc/html/api.html
-2629efd19b68d4e18f2c181351813e11  libstdc++-v3/doc/html/bk02.html
-31721bc71d1bc84fb065d4b2c2dab960  libstdc++-v3/doc/html/bk03.html
+2666ea13e7c42cc5b2bae5958b9bcfa3  libstdc++-v3/doc/html/api.html
+1e17f94129ad16c6b316d73a456a8bca  libstdc++-v3/doc/html/bk02.html
+5722196f451e0f067266fb7d2b6d1a8e  libstdc++-v3/doc/html/bk03.html
 1d3eb837e8c17cf0d0ad6d151e8d1777  libstdc++-v3/doc/html/ext/lwg-active.html
 68372fa89a0decb4aa5f941df5484129  libstdc++-v3/doc/html/ext/lwg-closed.html
 2defa75c6dc8ce9a6f6b775439df3b7c  libstdc++-v3/doc/html/ext/lwg-defects.html
-7674ca90a492b1e4ff2e41b761babf99  libstdc++-v3/doc/html/faq.html
+8324d6539caf31eda0145527ee2d3447  libstdc++-v3/doc/html/faq.html
 1ae70f0bf94464b036515d333fff8ab2  libstdc++-v3/doc/html/images/confdeps.png
 d7f63b43e9f4c39cf71de7585de522ee  libstdc++-v3/doc/html/images/pbds_balls_and_bins.png
 22eedc841676a98f8ae8b95131ac4d7e  libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png
@@ -69462,108 +69655,108 @@ d7249eb4d31bd107d0b09ea3c80cb723  libstdc++-v3/doc/html/images/pbds_tree_text_in
 1d86b338a316806c80b250eb132ac6dd  libstdc++-v3/doc/html/images/pbds_tree_text_lor_find.png
 33bc39e8f2d47f3d490d7ca7d4832b43  libstdc++-v3/doc/html/images/pbds_trie_node_updator_policy_cd.png
 df705f3839120dcb896e9839cf3404d0  libstdc++-v3/doc/html/images/pbds_update_seq_diagram.png
-67eec34d9a633cedf92a6fdd805affb0  libstdc++-v3/doc/html/index.html
-75af2cd1fcfc5f2d190ad856c8a20e6f  libstdc++-v3/doc/html/manual/abi.html
-d718ffd68c2119d2b38a83bcff08b599  libstdc++-v3/doc/html/manual/algorithms.html
-4781cd282afc782d83b124a8b4539800  libstdc++-v3/doc/html/manual/api.html
-8ab2c93fe5eff819dd831a615c060cb2  libstdc++-v3/doc/html/manual/appendix_contributing.html
-7b6d4394f01845a18e076cc24a251fcc  libstdc++-v3/doc/html/manual/appendix_free.html
-7fc1be087ef83ce7001fb174371b1b09  libstdc++-v3/doc/html/manual/appendix_gfdl.html
-779199dcda9bcfa2bee6bdf50753231a  libstdc++-v3/doc/html/manual/appendix_gpl.html
-14309adc473c464a3dcbeff6b8e2684b  libstdc++-v3/doc/html/manual/appendix_porting.html
-55b0983193b08f7bd38c0044faa378b0  libstdc++-v3/doc/html/manual/associative.html
-0343dff46236d46bac7fd2607732f399  libstdc++-v3/doc/html/manual/atomics.html
-34e67fd9922d639d10c1014e12f45ca0  libstdc++-v3/doc/html/manual/backwards.html
-92aacb9f78c9faa5890185bdde1a37cc  libstdc++-v3/doc/html/manual/bitmap_allocator.html
-8fb7cdfe561d4e774d6f87586fdcc7a9  libstdc++-v3/doc/html/manual/bk01pt02.html
-1910b956124e58a469cbf3cc361bfdb9  libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
-965f2e402b0d315c93c0d1c5443f8df4  libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
-d943dfb4408a96d04150ed8cce1fbc05  libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
-5fb46f15fa114c69438e85c605362f9b  libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
-914ab7857f8dd4e9bfe56e9563e7146e  libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
-a05fe921f750a1b9dce5d8ab334ae4b8  libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
-ba1b8c6aecd31544e04c66fd3ad8efc5  libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
-97822bd5cf73fdf26a21ea4dd4ffd5bf  libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
-1679b0becac2c648354f804c29e164dc  libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
-77475039ba95a2333fe607c42a1f8bc7  libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
-815de98f175843889fa0c1a707fd750e  libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
-ddbc048c43aa3f739cba4c7ed2e99e71  libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
-6965da6d07898ab16f4ed9bfd1fbef91  libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
-396bb3bb7b609c98bcd610f2002426fd  libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
-8e9947bb3441da8f01626aacb1dcb12f  libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html
-71c2e24acd13ea6628ab017f730525f2  libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html
-05125b737c21256ab3956a9904d8abfd  libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html
-dc1668ca34d7d41c61f770a8b860b2fb  libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html
-20e051d6c158c62dfcf30e5cf615b463  libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
-0f8dcd76fb4ae27b065150cafbf89104  libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html
-5f3da7b947d097336a65cbb091a9e225  libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html
-7ced63922e40702dd5ce677af86ff973  libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html
-bf23f3e0f3d8a8a8170ec8910b376250  libstdc++-v3/doc/html/manual/bk01pt03pr01.html
-70a145446544ea93666ed8c101a0b21a  libstdc++-v3/doc/html/manual/bk01pt04.html
-b01836c3929adb0d62bc7af3e72f5aab  libstdc++-v3/doc/html/manual/bugs.html
-f5e9177ec3723c63adfd6b2b8dc55f45  libstdc++-v3/doc/html/manual/concurrency.html
-6d3919f73343db7e761f3b445919df27  libstdc++-v3/doc/html/manual/configure.html
-abda2a83ea2382be8ebfa968b45d8d16  libstdc++-v3/doc/html/manual/containers.html
-7080ffc0eaec3be212c533f5ad0ab193  libstdc++-v3/doc/html/manual/containers_and_c.html
-237168863e0d758386eda276edf0a099  libstdc++-v3/doc/html/manual/debug.html
-36e0fb0a003e21f6a10f068e4e7025f5  libstdc++-v3/doc/html/manual/debug_mode.html
-0d24c1aa00002e47257d56757ee9d0de  libstdc++-v3/doc/html/manual/diagnostics.html
-ce2f9d03a9f65479a05e8f6f83734c14  libstdc++-v3/doc/html/manual/documentation_hacking.html
-c2d427c2c981e9a523e1e61c9896f777  libstdc++-v3/doc/html/manual/dynamic_memory.html
-b24fe19776f98ae123a4baeee535ee5e  libstdc++-v3/doc/html/manual/ext_algorithms.html
-945a48f9c5223b951f07e51257a99edc  libstdc++-v3/doc/html/manual/ext_compile_checks.html
-e6e5fa962ee51a04268333e2354ff5b2  libstdc++-v3/doc/html/manual/ext_concurrency.html
-3f8206e4ce854c07131653cf60e72e42  libstdc++-v3/doc/html/manual/ext_containers.html
-40d523a27cb3f2957d52e32c2cc39bf0  libstdc++-v3/doc/html/manual/ext_demangling.html
-c57fefc0df1ed2923cf7b2d50b9ea72a  libstdc++-v3/doc/html/manual/ext_io.html
-77ba089a0c9c7bd069a7fa834842c986  libstdc++-v3/doc/html/manual/ext_iterators.html
-3c03592803ced3da76c73252d65d3cc1  libstdc++-v3/doc/html/manual/ext_numerics.html
-17587978c66b6f4ecd89ceb0de92d801  libstdc++-v3/doc/html/manual/ext_utilities.html
-8f9d8ea41715f24703ca1db86698ceaa  libstdc++-v3/doc/html/manual/extensions.html
-f205390f3310131e83c9a56cc5954cbd  libstdc++-v3/doc/html/manual/facets.html
-9229a88dd3845dba3025fb0ce8713ed2  libstdc++-v3/doc/html/manual/fstreams.html
-18e88c02288f7bb53a0dae1c1e927249  libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
-d03b62eab707e64ae57c1ac011870124  libstdc++-v3/doc/html/manual/index.html
-816321c89b18f32814b7fdb1b8393273  libstdc++-v3/doc/html/manual/internals.html
-3c0fabbe4318a6ed33198968fec34fad  libstdc++-v3/doc/html/manual/intro.html
-7f9051e248af10df91fc56df475d18ac  libstdc++-v3/doc/html/manual/io.html
-84c7ec8a8ab2944966425c7a476d3a2b  libstdc++-v3/doc/html/manual/io_and_c.html
-331055c08a6a73c2dda2eaf88d8699e7  libstdc++-v3/doc/html/manual/iterators.html
-9f793a51c37f963c5b44a5f7aba804f2  libstdc++-v3/doc/html/manual/license.html
-407bb3faf87b8f6ce39e61c5f4e2bc2a  libstdc++-v3/doc/html/manual/localization.html
-7890c5a524afff94e48cd9c7ba333e51  libstdc++-v3/doc/html/manual/make.html
-c1d597fcd26ae071291ce3a9dd0b383a  libstdc++-v3/doc/html/manual/memory.html
-6f572bbb7902b16d328a1ca8c57c72fc  libstdc++-v3/doc/html/manual/mt_allocator.html
-997a63df9e52b4806f24ea26fe30f1fb  libstdc++-v3/doc/html/manual/numerics.html
-615dc092956651c2ff3e517e95fd9c34  libstdc++-v3/doc/html/manual/numerics_and_c.html
-e62dba5980c31090f22b838959e64c40  libstdc++-v3/doc/html/manual/pairs.html
-f2caa8472c5688d5c7853b6a565bd396  libstdc++-v3/doc/html/manual/parallel_mode.html
-cbe53a36454b4ab9a08bdbcbc337ebee  libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
-9107507ecf1859c8ec67df4428083a39  libstdc++-v3/doc/html/manual/policy_data_structures.html
-42469c39c568213698eaf1fb5a6eed2d  libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html
-8495864cbaee71c08f7fa5129e26043a  libstdc++-v3/doc/html/manual/policy_data_structures_design.html
-f96b942178757be43b7e8f0a8a04a616  libstdc++-v3/doc/html/manual/policy_data_structures_using.html
-3066859dbfb129cd510c5b76aae08c90  libstdc++-v3/doc/html/manual/profile_mode.html
-cf70a319562449837d353fdafdf4668e  libstdc++-v3/doc/html/manual/setup.html
-f14fd8fa3aa2da3ff989f77ccb2ec5f0  libstdc++-v3/doc/html/manual/source_code_style.html
-64d715103cd8e4031654bc154a6ca7a2  libstdc++-v3/doc/html/manual/source_design_notes.html
-87e2407d24878fd29b6fd046e2e7dc2b  libstdc++-v3/doc/html/manual/source_organization.html
-7d2263fce7adab62a2944489e9022487  libstdc++-v3/doc/html/manual/status.html
-7232ec0fc33232a6a32b7b620594b747  libstdc++-v3/doc/html/manual/streambufs.html
-ed242768ba8a3b10be74179d6dd247c2  libstdc++-v3/doc/html/manual/strings.html
-f91dbf4cc48f98d8aa5cf06df1649000  libstdc++-v3/doc/html/manual/stringstreams.html
-bc1dc064c363d88478b97aeb785debd5  libstdc++-v3/doc/html/manual/support.html
-c3612f164ad7501e0ba35616a622bfd7  libstdc++-v3/doc/html/manual/termination.html
-4749e1058b19637582b668185ae29145  libstdc++-v3/doc/html/manual/test.html
-522b1f371c08a14fc96eb8b37091d9c6  libstdc++-v3/doc/html/manual/traits.html
-74563ef37c87dfdad1b1874a0028a121  libstdc++-v3/doc/html/manual/using.html
-b802afc0f59bf6af9a8717651232be2e  libstdc++-v3/doc/html/manual/using_concurrency.html
-1db2caa475ad56fe87b6344e8795f594  libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
-6b6358fe878845a49daf9a7ae56c4824  libstdc++-v3/doc/html/manual/using_exceptions.html
-8dbfc91cfc87504a3e6772f685af07ac  libstdc++-v3/doc/html/manual/using_headers.html
-b1533c4bf8d683c31975b22e0a5a18fc  libstdc++-v3/doc/html/manual/using_macros.html
-0a768516cdecc61941a2f20b7bd47f71  libstdc++-v3/doc/html/manual/using_namespaces.html
-07d3ee64f58a790c34956ca09c3e7c56  libstdc++-v3/doc/html/manual/utilities.html
+514b3dec1112aa1b64a6c3e0dc2f4802  libstdc++-v3/doc/html/index.html
+72d070eb896b1731bd1a082d83191bcc  libstdc++-v3/doc/html/manual/abi.html
+5a205870e52a176aa89c80358375ac54  libstdc++-v3/doc/html/manual/algorithms.html
+280276a2b4d7b4d7366b3ba6fe061693  libstdc++-v3/doc/html/manual/api.html
+404c6c310d29b64d609ca938dbbe1ad2  libstdc++-v3/doc/html/manual/appendix_contributing.html
+ed64e710e452f4296809d9574997c32a  libstdc++-v3/doc/html/manual/appendix_free.html
+d0641b18cd46a0ae060a8ca6d8894bff  libstdc++-v3/doc/html/manual/appendix_gfdl.html
+9c660db967b841c866ce46b154ee4430  libstdc++-v3/doc/html/manual/appendix_gpl.html
+a33478ebe06775e51228d7ed4a3d5d89  libstdc++-v3/doc/html/manual/appendix_porting.html
+9def29ae314c0729165a917bfb4c173f  libstdc++-v3/doc/html/manual/associative.html
+ed4df33f2a69ec4b08131c9bd2a12cc1  libstdc++-v3/doc/html/manual/atomics.html
+b562b2e8d071113a890dbc3133e7a719  libstdc++-v3/doc/html/manual/backwards.html
+aab2b31e46e0f2d338c1a1b4c668a2d5  libstdc++-v3/doc/html/manual/bitmap_allocator.html
+84abd43150d829a5fa5302d7c55811ed  libstdc++-v3/doc/html/manual/bk01pt02.html
+0b66f49e7ada57df494277457abbe497  libstdc++-v3/doc/html/manual/bk01pt02ch05s02.html
+a1cb050ebbd7b5702dc96dc6a6353b50  libstdc++-v3/doc/html/manual/bk01pt03ch17s02.html
+0e8d5e00698fc2abd95898f812f5a1c7  libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
+d81231be7e6fa051fe8722fcdb7425a7  libstdc++-v3/doc/html/manual/bk01pt03ch17s04.html
+ad3cb40b14bda4b60bf4889cae625c15  libstdc++-v3/doc/html/manual/bk01pt03ch18s02.html
+f25673cf981edf41f75601b2c6bac28a  libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
+60066d240c7b65b92413c6f387bde71b  libstdc++-v3/doc/html/manual/bk01pt03ch18s04.html
+f7abb10f93e1d0aeec0131efcf13f430  libstdc++-v3/doc/html/manual/bk01pt03ch18s05.html
+a57cee8da525b4e174b980844e0161fd  libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
+2f17b9cefe60ebd35ddc742b803d1849  libstdc++-v3/doc/html/manual/bk01pt03ch19s03.html
+755230b464bcfeb2c2969867c60d31e3  libstdc++-v3/doc/html/manual/bk01pt03ch19s04.html
+20445c42c3d1f1a8b3a3c59429985142  libstdc++-v3/doc/html/manual/bk01pt03ch19s05.html
+3633afad5ab7efa0f755b11c9338664f  libstdc++-v3/doc/html/manual/bk01pt03ch19s06.html
+1654b0ca6e7abc62d4c8a4d3c04d560f  libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
+2c3f525f9e4de3c45d2b065f51442611  libstdc++-v3/doc/html/manual/bk01pt03ch20s02.html
+125499a1e81fb033d115ee2689cd4dcf  libstdc++-v3/doc/html/manual/bk01pt03ch20s03.html
+85c1546bd7b7ab8d2f1de3e38246c45e  libstdc++-v3/doc/html/manual/bk01pt03ch20s04.html
+3fe40638b93998e5f6c1340fe548a4a3  libstdc++-v3/doc/html/manual/bk01pt03ch20s05.html
+278d6c98562e0f51de4187f63a709883  libstdc++-v3/doc/html/manual/bk01pt03ch21s02.html
+702bd998425934d7f051c6b5e9dceceb  libstdc++-v3/doc/html/manual/bk01pt03ch23s02.html
+34719f397d0dcc9a59c3373426101de0  libstdc++-v3/doc/html/manual/bk01pt03ch30s02.html
+3f516efa31a7df6f44fc7bc80b9b62ea  libstdc++-v3/doc/html/manual/bk01pt03ch30s03.html
+7e8fd1ac6df4ff5638313d21f2512116  libstdc++-v3/doc/html/manual/bk01pt03pr01.html
+50ddefdc255380b3397de0e81192d0cd  libstdc++-v3/doc/html/manual/bk01pt04.html
+c9c6f40973b949ab9507cf2ea63a1ced  libstdc++-v3/doc/html/manual/bugs.html
+b7e2bac18868d9b440768779659edb6c  libstdc++-v3/doc/html/manual/concurrency.html
+cc655b789ef84c7d89da9198d864fa8c  libstdc++-v3/doc/html/manual/configure.html
+920aa19e887ca78b6924787b873cf42b  libstdc++-v3/doc/html/manual/containers.html
+c2098a6ed23c8c5b0ee4744eaa97a139  libstdc++-v3/doc/html/manual/containers_and_c.html
+8b1fbb27589d3da49c850a85e00b15e5  libstdc++-v3/doc/html/manual/debug.html
+1ba4f8d73e070e364c937d5d03d27523  libstdc++-v3/doc/html/manual/debug_mode.html
+e148d0b4998d74c9921d5ac246ea4a2d  libstdc++-v3/doc/html/manual/diagnostics.html
+3385938f90f16b0904e0cdc627bc164b  libstdc++-v3/doc/html/manual/documentation_hacking.html
+8b7fecd8d64c2145135709bb96fc6b15  libstdc++-v3/doc/html/manual/dynamic_memory.html
+b0539b2b1bd8e7cfc3f92b64bd7c5c5f  libstdc++-v3/doc/html/manual/ext_algorithms.html
+22b331c15626c932347c1f08649941ed  libstdc++-v3/doc/html/manual/ext_compile_checks.html
+5d001b71d5be31423b306dff51582acd  libstdc++-v3/doc/html/manual/ext_concurrency.html
+3bd3e4f65676e39438ddbe4e6ffd49dc  libstdc++-v3/doc/html/manual/ext_containers.html
+4bc548a7c25b329c8b606e476a5a1a98  libstdc++-v3/doc/html/manual/ext_demangling.html
+c992125be3a2aab19a02a31064090c98  libstdc++-v3/doc/html/manual/ext_io.html
+80874962efc850887230b10f442b8737  libstdc++-v3/doc/html/manual/ext_iterators.html
+24bf2391952579070f5766b9d11957ff  libstdc++-v3/doc/html/manual/ext_numerics.html
+2319ed236d3cbfc57cb9ea9fcef9e322  libstdc++-v3/doc/html/manual/ext_utilities.html
+e542e8087275c05f5edec64c1d32cf1b  libstdc++-v3/doc/html/manual/extensions.html
+81e7788aaa01cb1064e3acbb053fd1a6  libstdc++-v3/doc/html/manual/facets.html
+55c7486b897ffba6533665746dd25ccb  libstdc++-v3/doc/html/manual/fstreams.html
+0e2470926ae25bad3b5ed8f2103340bc  libstdc++-v3/doc/html/manual/generalized_numeric_operations.html
+c78ae74963d92787ab89f8a9648ca5e4  libstdc++-v3/doc/html/manual/index.html
+2062f6c4fa594ee137304901a1aa157a  libstdc++-v3/doc/html/manual/internals.html
+43712c08dd6e6bd45b3606bf2cf85a99  libstdc++-v3/doc/html/manual/intro.html
+5699d3b81f34c003e351fcdce0a0e08f  libstdc++-v3/doc/html/manual/io.html
+a5ff37d7f46f2c9092c171039352fd22  libstdc++-v3/doc/html/manual/io_and_c.html
+a04649ce57a82be2b7869e59b9a9b1d7  libstdc++-v3/doc/html/manual/iterators.html
+358d1566d6c95505129f0f6bd08f9012  libstdc++-v3/doc/html/manual/license.html
+e4d179a9720ec683a29613fb8aa3ef12  libstdc++-v3/doc/html/manual/localization.html
+607aa00d629810bdb0009196cf669667  libstdc++-v3/doc/html/manual/make.html
+bb5858a54a8c66c5d5a1fffb4c8a2457  libstdc++-v3/doc/html/manual/memory.html
+ffb07800391e4bbaa1bc8b77f9472d02  libstdc++-v3/doc/html/manual/mt_allocator.html
+ccd860d355053b0fdde0c893eeb71e27  libstdc++-v3/doc/html/manual/numerics.html
+188b1506b35539cbc893063889b651f2  libstdc++-v3/doc/html/manual/numerics_and_c.html
+bbc3043a301723bd6f0f38dcea50849a  libstdc++-v3/doc/html/manual/pairs.html
+9facd2124427771505969bb632da3e75  libstdc++-v3/doc/html/manual/parallel_mode.html
+19476f7ce3d8cb8000b087dc784edcc1  libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html
+94ab038dd418770b1b24d3aba612255d  libstdc++-v3/doc/html/manual/policy_data_structures.html
+02164b95fe4c70754e46381f56839e2a  libstdc++-v3/doc/html/manual/policy_data_structures_ack.html
+84935dfb343e3b7fff3246194a438991  libstdc++-v3/doc/html/manual/policy_data_structures_design.html
+6f3d90e35a1d5026771705e5c18db4fc  libstdc++-v3/doc/html/manual/policy_data_structures_using.html
+b2d2dc9475f50d8cfa2ecf3dfa30a7eb  libstdc++-v3/doc/html/manual/profile_mode.html
+a1c3d46bf5a8af6a484e74539326b1ce  libstdc++-v3/doc/html/manual/setup.html
+a64c9d887190beb1ee7e8a0badce0a2e  libstdc++-v3/doc/html/manual/source_code_style.html
+a9ce1ee05a70c5030405ba132a934672  libstdc++-v3/doc/html/manual/source_design_notes.html
+90090dd3f13d987c4fc90238660d3ce2  libstdc++-v3/doc/html/manual/source_organization.html
+ea2f9d8b62e3f1fa4c2e6fb818948141  libstdc++-v3/doc/html/manual/status.html
+6503a69c17254788ed9b3ff0b2ec74c3  libstdc++-v3/doc/html/manual/streambufs.html
+cf63991998c16966e4dde4f210079e3d  libstdc++-v3/doc/html/manual/strings.html
+3a843791eabc3995cc77d4ef18c74872  libstdc++-v3/doc/html/manual/stringstreams.html
+0129ccd395dff57bef04fad61160d95d  libstdc++-v3/doc/html/manual/support.html
+3fdcfedf504872b64bc11513d3f61f1a  libstdc++-v3/doc/html/manual/termination.html
+cca4c5cb1001cb2b5cedd04cc4919fae  libstdc++-v3/doc/html/manual/test.html
+3d3a2e658a275fab4db9172c56d0f902  libstdc++-v3/doc/html/manual/traits.html
+1a34d1564ed6296d620d22164c2e2322  libstdc++-v3/doc/html/manual/using.html
+80baf1201f81b9615a3e009b446fe9ab  libstdc++-v3/doc/html/manual/using_concurrency.html
+5b291e31eb1b7dd5d397245499f81ffd  libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html
+51c0ccf2ee0fcc71c6da5ca65d955eb8  libstdc++-v3/doc/html/manual/using_exceptions.html
+13427caf6be86be7640f4356024cdf8a  libstdc++-v3/doc/html/manual/using_headers.html
+3b04c2ea51ceebded068363fd097628b  libstdc++-v3/doc/html/manual/using_macros.html
+c2dfd68d388e3bfac3db5cf4bee29e02  libstdc++-v3/doc/html/manual/using_namespaces.html
+be65809fed7b0c6b6ba7002529a026a0  libstdc++-v3/doc/html/manual/utilities.html
 02efc67c40519a69579fd7146ff1bbd2  libstdc++-v3/doc/xml/api.xml
 0b177c199fb448ad3630d15bdc3cbb19  libstdc++-v3/doc/xml/authors.xml
 f5a41d4f7585b850b3182fc5f4888f93  libstdc++-v3/doc/xml/book.txml
@@ -69749,27 +69942,27 @@ cc132f90a00a3ca05f64b578f9e332aa  libstdc++-v3/doc/xml/images/pbds_tree_text_lor
 f63bfdc03ba2b82c74864f02206d7c52  libstdc++-v3/doc/xml/images/pbds_tree_text_lor_find.svg
 33bc39e8f2d47f3d490d7ca7d4832b43  libstdc++-v3/doc/xml/images/pbds_trie_node_updator_policy_cd.png
 df705f3839120dcb896e9839cf3404d0  libstdc++-v3/doc/xml/images/pbds_update_seq_diagram.png
-1c55821a00800350d39c5e306e3e0ee5  libstdc++-v3/doc/xml/manual/abi.xml
+e160e6941b8e89ad6e9a57daa9067a36  libstdc++-v3/doc/xml/manual/abi.xml
 b9f4c4e7af544adf0c56f85fa52324ea  libstdc++-v3/doc/xml/manual/algorithms.xml
-7fca2a58822b0d1aef5f1ed256258ef1  libstdc++-v3/doc/xml/manual/allocator.xml
-860690cc3ba46c6495c6cf04699df212  libstdc++-v3/doc/xml/manual/appendix_contributing.xml
+f8fb948a915c06581619e0d7185ed0d1  libstdc++-v3/doc/xml/manual/allocator.xml
+b0888fd1071db606e32788e9b0bc49fc  libstdc++-v3/doc/xml/manual/appendix_contributing.xml
 0c36ddd7d87272a56200c67ef13ac1c2  libstdc++-v3/doc/xml/manual/appendix_free.xml
 6d37fad08cbf7599b4622cada62b44a1  libstdc++-v3/doc/xml/manual/appendix_porting.xml
 d376c4a1a12b57cb3f154c3b213e80da  libstdc++-v3/doc/xml/manual/atomics.xml
 af8fbf40dff879bd2c05992c9117bb5b  libstdc++-v3/doc/xml/manual/auto_ptr.xml
 4daf3ccf42716d813d9153480e4641dc  libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
 f970088c0e54ee85a1cf0f2b3678bff5  libstdc++-v3/doc/xml/manual/bitmap_allocator.xml
-5095c06c6a60192d99d1cddc1921387e  libstdc++-v3/doc/xml/manual/build_hacking.xml
+645290eebb3eb4088f3d4d33d8ae43d1  libstdc++-v3/doc/xml/manual/build_hacking.xml
 a8091910c8e09b83b6942106907a9dac  libstdc++-v3/doc/xml/manual/codecvt.xml
 571419ddb9a9e50feace1ebc04051af5  libstdc++-v3/doc/xml/manual/concurrency.xml
 01c607952592ca4994ab99535a8339d8  libstdc++-v3/doc/xml/manual/concurrency_extensions.xml
 50d2deccb2a9192b5778731e6b3ebc5c  libstdc++-v3/doc/xml/manual/configure.xml
 9267a1e5bab3d6becf11108d05c4b7b5  libstdc++-v3/doc/xml/manual/containers.xml
 a67adcec0529681df6d6d61629dbb674  libstdc++-v3/doc/xml/manual/ctype.xml
-6e6e2f7d828ac2f8870d302623611405  libstdc++-v3/doc/xml/manual/debug.xml
-afdc405cc649682c295d9e583de82389  libstdc++-v3/doc/xml/manual/debug_mode.xml
+d938d00b37d2b5f222cc02e911da4879  libstdc++-v3/doc/xml/manual/debug.xml
+3722c8b85098e83fee516c133174a227  libstdc++-v3/doc/xml/manual/debug_mode.xml
 70b7f0b0838dd4d45e5aa75f73f52231  libstdc++-v3/doc/xml/manual/diagnostics.xml
-b17a52a07ce5133aa9d65828d6c0a008  libstdc++-v3/doc/xml/manual/documentation_hacking.xml
+29bc186952eee5fb2726d5690b5caf45  libstdc++-v3/doc/xml/manual/documentation_hacking.xml
 1aa40533f8fe27208611bd996683d9b4  libstdc++-v3/doc/xml/manual/evolution.xml
 41c3a20dd4aa7d52fdf1c9b92a06d7eb  libstdc++-v3/doc/xml/manual/extensions.xml
 15bad8bb3dac1aa6902fca907ee6c163  libstdc++-v3/doc/xml/manual/internals.xml
@@ -69778,30 +69971,32 @@ bfb9e5b622f7d0967baa8db0f9de9073  libstdc++-v3/doc/xml/manual/io.xml
 9fb0405a99deff992cdf228b2ede70f3  libstdc++-v3/doc/xml/manual/iterators.xml
 1274f61a4ec2d4871c6a825c98210b09  libstdc++-v3/doc/xml/manual/locale.xml
 c73b3116a4d73d59e848a0297877ec14  libstdc++-v3/doc/xml/manual/localization.xml
-77989722be72e15d3260920615da9d9a  libstdc++-v3/doc/xml/manual/messages.xml
+a25074e4521e60933d8d4b663abecbe5  libstdc++-v3/doc/xml/manual/messages.xml
 be2794eff58ee2ee6939f841e69e517f  libstdc++-v3/doc/xml/manual/mt_allocator.xml
 8c081ad68eb4ff931576af1c1369c71c  libstdc++-v3/doc/xml/manual/numerics.xml
 bd32b2fc549085a6bc4e46ccb0192832  libstdc++-v3/doc/xml/manual/parallel_mode.xml
-4b3df57180ec7916e1d8406f0501d0db  libstdc++-v3/doc/xml/manual/policy_data_structures.xml
+91f2022b046bd5c0ebce514e9acf80af  libstdc++-v3/doc/xml/manual/policy_data_structures.xml
+cd9d0070a54f5180beb42829c255932e  libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml
 f7bc7412650057dc85ae144078a7c41f  libstdc++-v3/doc/xml/manual/prerequisites.xml
-aa9c17a7eadbb42811537b9c2c8767d5  libstdc++-v3/doc/xml/manual/profile_mode.xml
-246c92122525d47769922b93e8f6c2f4  libstdc++-v3/doc/xml/manual/shared_ptr.xml
-6b4b2b1fd189e623b986cc9139bd4bfc  libstdc++-v3/doc/xml/manual/spine.xml
+ec0a2ab14fcb8bd2d18604964a56f3c7  libstdc++-v3/doc/xml/manual/profile_mode.xml
+0013818156240fa2893715d92a32e393  libstdc++-v3/doc/xml/manual/shared_ptr.xml
+42ce826f2f549873e77bb96753951c68  libstdc++-v3/doc/xml/manual/spine.xml
 17eb20faf63562b3e616d64670e8fc4c  libstdc++-v3/doc/xml/manual/status_cxx1998.xml
-99f76399f27cd166d44ebbe281a3d0fd  libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+d9e739f4b7f1819d3cd19f723c8c51d0  libstdc++-v3/doc/xml/manual/status_cxx2011.xml
 3fae559d77037a93c34321e7d673ce5e  libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
 f55f4fbd212290011476e99087e1dc63  libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
 125dc7b3d683e974096ab374ce6c6121  libstdc++-v3/doc/xml/manual/strings.xml
 3c47444e81465a5e82c56b70a90d8633  libstdc++-v3/doc/xml/manual/support.xml
 c8e5c391f794fb27298b22fde403132a  libstdc++-v3/doc/xml/manual/test.xml
-03c8e19905d64bd475828a79666690b6  libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
+116a76d7bc2ce704f1980b594e8810e4  libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
 925a6d5307026dac14c0fe1dcb3b6cd2  libstdc++-v3/doc/xml/manual/using.xml
 5e4f09cb8692240ecd01e9025cc369f1  libstdc++-v3/doc/xml/manual/using_exceptions.xml
 2747c284c41cab7b34dc6faceb4aab21  libstdc++-v3/doc/xml/manual/utilities.xml
 375bbc2fb451412b9ff1d8f5c5cf8e9c  libstdc++-v3/doc/xml/spine.xml
+bd966b4a0df6f2a84f9770525581d45c  libstdc++-v3/doc/xsl/customization.xsl.in
 8c78eb0d0d12d9c33a4e12aa21afd936  libstdc++-v3/fragment.am
 7ac6150c70649c33fada68a9af0a9d59  libstdc++-v3/include/Makefile.am
-17eff0bb824d9035890ec502875b976d  libstdc++-v3/include/Makefile.in
+eca6d8a7eca15644fa2a900a6f51b594  libstdc++-v3/include/Makefile.in
 021492a2bf2992cbb5da50350ce996b6  libstdc++-v3/include/backward/auto_ptr.h
 d5cd313c30cff5bc783bb44c3acb21ce  libstdc++-v3/include/backward/backward_warning.h
 39c43d66b4e53b340b16bd56272e0f66  libstdc++-v3/include/backward/binders.h
@@ -69811,9 +70006,9 @@ b16b680d77efaf03285048699d4b1c3f  libstdc++-v3/include/backward/hash_map
 0c15db4a6a8627883e58575d4128ba0f  libstdc++-v3/include/backward/hashtable.h
 77f685ccd143e766f6a322fa855fec22  libstdc++-v3/include/backward/strstream
 11e7cd064ee1fcece52c002bec0fa8b2  libstdc++-v3/include/bits/algorithmfwd.h
-29a112e4398b8c30f7b6c91f7938dd7e  libstdc++-v3/include/bits/alloc_traits.h
+4391e10ac8b393b36b542e8519f4c85e  libstdc++-v3/include/bits/alloc_traits.h
 fd8b01aadff20bd962ac0e0a21b95d1d  libstdc++-v3/include/bits/allocator.h
-35edda46dbf517a9fadeda99f82e6026  libstdc++-v3/include/bits/atomic_base.h
+71ebe5bf53a0b0905f7efebb6f4d8fd7  libstdc++-v3/include/bits/atomic_base.h
 c9fe5874dd99704a1dbcde62297b4e0f  libstdc++-v3/include/bits/basic_ios.h
 5e008e8f2d0566075283ca632208f73a  libstdc++-v3/include/bits/basic_ios.tcc
 049697492776b27f4eabf9b6b5deb7c8  libstdc++-v3/include/bits/basic_string.h
@@ -69833,8 +70028,8 @@ a6a3993c164e95f320fb278c1ef862d7  libstdc++-v3/include/bits/functexcept.h
 4ae375722f55d732dc704c1f0ae73281  libstdc++-v3/include/bits/functional_hash.h
 603e73bfd52f7aac0492d6910baf91c2  libstdc++-v3/include/bits/gslice.h
 a151d4a7c64c0a31a99bcc9706860206  libstdc++-v3/include/bits/gslice_array.h
-e4a84b40199c7e84056fdd5263310856  libstdc++-v3/include/bits/hashtable.h
-0452910f61b2367a440d6f3ac297c428  libstdc++-v3/include/bits/hashtable_policy.h
+329e6a5fe54780cadcea6d8d0180519e  libstdc++-v3/include/bits/hashtable.h
+9a4e1e738c883fa0d8e11bb621c83467  libstdc++-v3/include/bits/hashtable_policy.h
 8537f41009ffaa36efb8c966bca3e94a  libstdc++-v3/include/bits/indirect_array.h
 27b6fa08fd1792c63e5dbb5691b52e2f  libstdc++-v3/include/bits/ios_base.h
 3267ac23b2e0f8f729dfefea81c55065  libstdc++-v3/include/bits/istream.tcc
@@ -69852,8 +70047,8 @@ d9b0da2ac50e6699e8d189c446fc22d3  libstdc++-v3/include/bits/ostream.tcc
 ac01b6ef7c65327582c3c8c887b5c9a8  libstdc++-v3/include/bits/ostream_insert.h
 bd4a0b2844e7a4586138ce759b31b253  libstdc++-v3/include/bits/postypes.h
 d13ee767acbb56fefd07f6f593a83959  libstdc++-v3/include/bits/ptr_traits.h
-058248d6f32698cc28c74a19783d07a7  libstdc++-v3/include/bits/random.h
-8cd45e0f0fc83fe8b11bd579462dc965  libstdc++-v3/include/bits/random.tcc
+5e71448ee646d39ae960ea737fc4ebb4  libstdc++-v3/include/bits/random.h
+a8b23cbc8281adfc2df49d9307fd79bd  libstdc++-v3/include/bits/random.tcc
 739cef4aeeed63eab9a6fc0342b36e15  libstdc++-v3/include/bits/range_access.h
 5b95d85ab17380fa80ea37dcbfa6245e  libstdc++-v3/include/bits/regex.h
 b08d5b03566d19157124f07ef929f5e7  libstdc++-v3/include/bits/regex_compiler.h
@@ -69865,7 +70060,7 @@ f75d490066af5b513515e4cc3a1c9e09  libstdc++-v3/include/bits/regex_error.h
 b739cf6b8d1bf119a12ac7504f87549e  libstdc++-v3/include/bits/regex_nfa.h
 054cf2ec930ffcaf51e826035a261e9c  libstdc++-v3/include/bits/regex_nfa.tcc
 44506af06785c4063182cfe57def4c06  libstdc++-v3/include/bits/shared_ptr.h
-c7b54045152c2794c4b2fb742c9799d3  libstdc++-v3/include/bits/shared_ptr_base.h
+6278369384ffd7f490c0e3846469c4ee  libstdc++-v3/include/bits/shared_ptr_base.h
 95dbe784e3cbdc49561afaba871841b5  libstdc++-v3/include/bits/slice_array.h
 7c915d03311882c4d1cc470e180dd109  libstdc++-v3/include/bits/sstream.tcc
 4647e3652a92b093dfc2851f1e036c2d  libstdc++-v3/include/bits/stl_algo.h
@@ -69898,14 +70093,14 @@ e22a221d2e422d71b9e5f6244ac89e5e  libstdc++-v3/include/bits/stream_iterator.h
 ab84af946c04627bd3c34e1df63597ca  libstdc++-v3/include/bits/streambuf_iterator.h
 b49702cef437505516344d133dccb99d  libstdc++-v3/include/bits/stringfwd.h
 c4e7bfa29d89029c6b822b25d1e20984  libstdc++-v3/include/bits/unique_ptr.h
-8c5f0edae005404533b41b974f472144  libstdc++-v3/include/bits/unordered_map.h
-c452fc0b8e59cd74bd16e73e34f45f1b  libstdc++-v3/include/bits/unordered_set.h
+14d5c6c8a7419f74b5e3022ea900b6ad  libstdc++-v3/include/bits/unordered_map.h
+bdd5f16ba11049b70b6d74dc447bf759  libstdc++-v3/include/bits/unordered_set.h
 e5e660585539d780426de5821120e074  libstdc++-v3/include/bits/uses_allocator.h
 5234a655760315e438175ff0ef5d06b0  libstdc++-v3/include/bits/valarray_after.h
 257fc383dce31ece761ccb8b93d8ef97  libstdc++-v3/include/bits/valarray_array.h
 4d211fa385c050d5e4c9cc09550d7d4d  libstdc++-v3/include/bits/valarray_array.tcc
 a10a45d49650ea95fbe52ba439c7a567  libstdc++-v3/include/bits/valarray_before.h
-1d412664596b58a7c2aa0508659e04a6  libstdc++-v3/include/bits/vector.tcc
+60a94312c1667ac4bfcc7e8c0a952dc4  libstdc++-v3/include/bits/vector.tcc
 b872e988f3cda988f047b4bb632f8126  libstdc++-v3/include/c/cassert
 598ca39b53d6bfc38be7390842a399f4  libstdc++-v3/include/c/cctype
 a3bac16f2a32e9eaeb6b0ed427b2ca4e  libstdc++-v3/include/c/cerrno
@@ -70016,13 +70211,13 @@ caa8d860da7dee284bea83a14fef4360  libstdc++-v3/include/debug/safe_unordered_cont
 2714ade2b80004f280a517ba2846df58  libstdc++-v3/include/debug/set
 214eb5bfe07b0aa5dd1d79a458d1a23a  libstdc++-v3/include/debug/set.h
 474d7a7c8ab9f69d6b1d1d4c1127579a  libstdc++-v3/include/debug/string
-e906d52c7e1ff3be27e8370167facb60  libstdc++-v3/include/debug/unordered_map
-b51397a89cdfebbbc4779b642a2a7d1f  libstdc++-v3/include/debug/unordered_set
+2dfa5d5704987b2c67724b0469db78d1  libstdc++-v3/include/debug/unordered_map
+16e73197d9113a13730ac0d07554c2de  libstdc++-v3/include/debug/unordered_set
 e1eb3889863c0c21a3efc9063a5f20ba  libstdc++-v3/include/debug/vector
 a9e43be1d6ab5dfbef9edb9c31c82f06  libstdc++-v3/include/decimal/decimal
 d6567ba1c744c1b6ea2dbfc80e74adc4  libstdc++-v3/include/decimal/decimal.h
 dc80b262a7e20b26d53ca1bb4c30c104  libstdc++-v3/include/ext/algorithm
-deab6099581b1172ea47ff5250c01521  libstdc++-v3/include/ext/alloc_traits.h
+9afd5da680d949386c208a99c3e7c313  libstdc++-v3/include/ext/alloc_traits.h
 7ec5ce8bf11b6c63c9041e840ec92aee  libstdc++-v3/include/ext/array_allocator.h
 d4dd88ba35de90f76d1681f924468691  libstdc++-v3/include/ext/atomicity.h
 3d3226773a3c44f2f5134100f72e9ac4  libstdc++-v3/include/ext/bitmap_allocator.h
@@ -70286,7 +70481,7 @@ ce48a75a7368d2444f26b65565326216  libstdc++-v3/include/ext/pb_ds/tag_and_trait.h
 cfacbcab260abf32ccc4c0333c92649b  libstdc++-v3/include/ext/pb_ds/tree_policy.hpp
 ae06c09137e547a71cdf23243275f953  libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
 b22928a2e4d3d28a4f3c9941cf86e742  libstdc++-v3/include/ext/pod_char_traits.h
-874f201aee7e5d07dedf1d70682d15a4  libstdc++-v3/include/ext/pointer.h
+0bc6625bef63ec3c14d860f45f49d04d  libstdc++-v3/include/ext/pointer.h
 adf5e96e7df00eb92e70cc34874935cc  libstdc++-v3/include/ext/pool_allocator.h
 22d35867d2102556880f9d78ab366205  libstdc++-v3/include/ext/rb_tree
 b0d88ae52342fc16cad180d07ab364f2  libstdc++-v3/include/ext/rc_string_base.h
@@ -70296,7 +70491,7 @@ b0d88ae52342fc16cad180d07ab364f2  libstdc++-v3/include/ext/rc_string_base.h
 36d8b2b973060eae98201741000a0410  libstdc++-v3/include/ext/sso_string_base.h
 b775b692dcdfe9439c3d9fd7abdc6a87  libstdc++-v3/include/ext/stdio_filebuf.h
 52ca139d88d2f6916dd2145794cb1070  libstdc++-v3/include/ext/stdio_sync_filebuf.h
-ddeac4c29ae59ce3ca8941421a5f40e8  libstdc++-v3/include/ext/string_conversions.h
+e941cd9101ddca3f1424b79752bf873c  libstdc++-v3/include/ext/string_conversions.h
 fbdd02d8d490c241a45a2d3c921911d7  libstdc++-v3/include/ext/throw_allocator.h
 72d39627ac9da41e3ec900d8529453fc  libstdc++-v3/include/ext/type_traits.h
 4fb0d1c3ba8fa01d73aa5ad0ffbf8f7d  libstdc++-v3/include/ext/typelist.h
@@ -70367,7 +70562,7 @@ e35fb7d14bca0697f6387313c6cf527e  libstdc++-v3/include/profile/impl/profiler_sta
 5480bb8d7cf49553a069d6a9a96c272d  libstdc++-v3/include/profile/impl/profiler_trace.h
 88de3833e3be1ee2bcc4487d94617dbd  libstdc++-v3/include/profile/impl/profiler_vector_size.h
 e10a7bd7dc721e5f7dff507df53d79d6  libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
-400918f1b296c53cfed1298377aae6c0  libstdc++-v3/include/profile/iterator_tracker.h
+075fb8e4f469d41341a5616394b0da3f  libstdc++-v3/include/profile/iterator_tracker.h
 e3f937c5e94f21a36573799cfe3d650b  libstdc++-v3/include/profile/list
 343d5377d7ff480e3d219736d3b4ec58  libstdc++-v3/include/profile/map
 ea788d92e96afcb912f5c2845b388943  libstdc++-v3/include/profile/map.h
@@ -70380,16 +70575,16 @@ d325674514b29e17561ffce2f55ca1b5  libstdc++-v3/include/profile/unordered_set
 9edaef1ef02e23e27fc0c7014f076805  libstdc++-v3/include/profile/vector
 3707285b48c6b76592f2cfb998f4775c  libstdc++-v3/include/std/algorithm
 68a21a4947356dc88abf4593ece050b5  libstdc++-v3/include/std/array
-71c1cfdd57dc9854543ab9594d019a2a  libstdc++-v3/include/std/atomic
+595056902b6d7eed20813ed50aec7fdf  libstdc++-v3/include/std/atomic
 8c18bd8758bd49d66446ce25ad25e0ca  libstdc++-v3/include/std/bitset
 6110a2d77cbdc4515dd5a4f1b10749cf  libstdc++-v3/include/std/chrono
-a160487154baacbd7ef7a967f3618570  libstdc++-v3/include/std/complex
-0abeb35fabfa849219b71ca175fa3ee4  libstdc++-v3/include/std/condition_variable
+bac4c1127009ef7eb900dd4ee62a6831  libstdc++-v3/include/std/complex
+b2f9a163d0b481979e83601f4d70a944  libstdc++-v3/include/std/condition_variable
 6ffd822856ffff77325f19c4190e3005  libstdc++-v3/include/std/deque
 3f4b18d6b6d42f21b3f6cec3b6f150a9  libstdc++-v3/include/std/forward_list
 6f2bce4415726eb7ee67460235a5df91  libstdc++-v3/include/std/fstream
-c062786a69e10115fb9373c44d9434c4  libstdc++-v3/include/std/functional
-fc94fbe920380b6107d71f2d6733b536  libstdc++-v3/include/std/future
+75aa281453607e150334621a4fa219a6  libstdc++-v3/include/std/functional
+faa0357865cdf1ca690a38571a7f2ffb  libstdc++-v3/include/std/future
 6b087103132607660ab346c68e6b762c  libstdc++-v3/include/std/iomanip
 ba9833370cfabc24e791d9c0a26df206  libstdc++-v3/include/std/ios
 af315f2804a2999ea627e95f4c3def3e  libstdc++-v3/include/std/iosfwd
@@ -70401,7 +70596,7 @@ daa29a8d308ea21ac092c2daae912625  libstdc++-v3/include/std/limits
 21e48d878d97087bb4354956df6bd3a2  libstdc++-v3/include/std/locale
 8c7be6daaa9193f974f8776ed695af98  libstdc++-v3/include/std/map
 01038b2f7141abeb8b2f774d287deb63  libstdc++-v3/include/std/memory
-1649a1c88e9f37fde3265a6e499125a5  libstdc++-v3/include/std/mutex
+529c7e936f060037af240285345ae1af  libstdc++-v3/include/std/mutex
 19f98c21aeec694dea0f2391d0449331  libstdc++-v3/include/std/numeric
 ecd0ec4dfe23f843e65cae663878a4e0  libstdc++-v3/include/std/ostream
 a66cc87558cc9fa9d363cae41ea20dff  libstdc++-v3/include/std/queue
@@ -70413,15 +70608,15 @@ a66cc87558cc9fa9d363cae41ea20dff  libstdc++-v3/include/std/queue
 15c5122ab63fae05be530ccaa9d89f04  libstdc++-v3/include/std/sstream
 8b0cf8d087f9086fd64eb7a0f91f699d  libstdc++-v3/include/std/stack
 682d4320d54138727532c7180706bc13  libstdc++-v3/include/std/stdexcept
-92ca95d1b049d76ded46f32df788400f  libstdc++-v3/include/std/streambuf
+0bbfd60acaf7c442f35d4d3c9dd37d3e  libstdc++-v3/include/std/streambuf
 5d7e290a7a5574352e101e94a8400f4a  libstdc++-v3/include/std/string
 8ab393bde893218cc5308c344d20a07b  libstdc++-v3/include/std/system_error
 54609028e90c6c1d7f9a0711991dcb89  libstdc++-v3/include/std/thread
 a18b533b40f4d7586416229809bf49db  libstdc++-v3/include/std/tuple
 f448d0539b349643d2af1f256b79c772  libstdc++-v3/include/std/type_traits
 eaab0e47bf67cdb939118e9dd1fb1b41  libstdc++-v3/include/std/typeindex
-f87a2bcd89855f436034ce087078b445  libstdc++-v3/include/std/unordered_map
-c5102ad45fb08d6fe0cc131f3d621e58  libstdc++-v3/include/std/unordered_set
+d321351b3fcb83092a2c416929155b71  libstdc++-v3/include/std/unordered_map
+d9e5559dcd2b7267a49ba1f7f3c3ab4a  libstdc++-v3/include/std/unordered_set
 8a4e4b4946b525965e0c817691de5668  libstdc++-v3/include/std/utility
 59e366aebfd95776323856c27bf6596b  libstdc++-v3/include/std/valarray
 635ee549b9cae0fce837134bc5b9e023  libstdc++-v3/include/std/vector
@@ -70451,7 +70646,7 @@ c625f1280de5eb1cfc5a9e3d2b09404e  libstdc++-v3/include/tr1/cwctype
 1e94eb2c9f53abd8dfbc5e2857d7f0a9  libstdc++-v3/include/tr1/exp_integral.tcc
 f2a4f2bc5bd04b689777ed3c5b36a8ec  libstdc++-v3/include/tr1/fenv.h
 66729c4a81a0432d75bb293644881b92  libstdc++-v3/include/tr1/float.h
-1713f7024beb854d8922458b2986be45  libstdc++-v3/include/tr1/functional
+2ea6eb83220a5b80fc0b834a9c2ff1bc  libstdc++-v3/include/tr1/functional
 587fa48bc09a23f55d5d2cf626af448a  libstdc++-v3/include/tr1/functional_hash.h
 43c6fc245ee5483d1ceaa6d08652c0a9  libstdc++-v3/include/tr1/gamma.tcc
 4723741dbb56c9b72f4172f3cbca828b  libstdc++-v3/include/tr1/hashtable.h
@@ -70492,8 +70687,8 @@ f16bd90cdcae87258d27f03928ca0057  libstdc++-v3/include/tr1/wchar.h
 3eb0a29850d720da87da7388e709384b  libstdc++-v3/include/tr2/dynamic_bitset
 67b1edebc6c0c271b15b5f78990ca4b0  libstdc++-v3/include/tr2/ratio
 82579e6ecb1d39e6b3707490b551814a  libstdc++-v3/include/tr2/type_traits
-e23d01db238efabe4960bdd12073a18d  libstdc++-v3/libsupc++/Makefile.am
-3449347ef09ed8dd1e33d329ab5e3cab  libstdc++-v3/libsupc++/Makefile.in
+189403d299125e85c277b1b99c6acb99  libstdc++-v3/libsupc++/Makefile.am
+591b77645920b6e1da76bb79bd789dd6  libstdc++-v3/libsupc++/Makefile.in
 5d5b9d3246b029a017b7371bcf65547f  libstdc++-v3/libsupc++/array_type_info.cc
 b833fbf43743ce697c3e926556933eb7  libstdc++-v3/libsupc++/atexit_arm.cc
 f75fdf5e67cd69e531c5e12fea99d429  libstdc++-v3/libsupc++/atomic_lockfree_defines.h
@@ -70526,14 +70721,14 @@ c04ec59865dc7c550bb575559f7d1522  libstdc++-v3/libsupc++/eh_unex_handler.cc
 4393503e83c176605d8e544c60cdce21  libstdc++-v3/libsupc++/enum_type_info.cc
 bc327025768b832f27125f655067745a  libstdc++-v3/libsupc++/exception
 770525492aa74be0ebd8212e1080fd16  libstdc++-v3/libsupc++/exception_defines.h
-248c4feb332aa8eb99b031511b3a3ab1  libstdc++-v3/libsupc++/exception_ptr.h
+4415eb439fe12a98494d7e3e10527312  libstdc++-v3/libsupc++/exception_ptr.h
 a09d9bb968c69b880a4b2dac1f8217be  libstdc++-v3/libsupc++/function_type_info.cc
 d54a0a9033aa7147f414a9a1726f0e8b  libstdc++-v3/libsupc++/fundamental_type_info.cc
 36b3e823456d41e5c96ed5a089a70a22  libstdc++-v3/libsupc++/guard.cc
 3049a88186fdd3d11587359f0f0f6c55  libstdc++-v3/libsupc++/guard_error.cc
 32a17c904d6cbe0ec29146efb9868e05  libstdc++-v3/libsupc++/hash_bytes.cc
 afdf14fbce6bc371ebe4fbcab11ea12c  libstdc++-v3/libsupc++/hash_bytes.h
-6855eba43493f7314c1b703dd9bded70  libstdc++-v3/libsupc++/initializer_list
+fa560ce16cf0528677a344864240cf43  libstdc++-v3/libsupc++/initializer_list
 e18601d22f5e316b7e6a028a88340672  libstdc++-v3/libsupc++/nested_exception.cc
 4e540018676bbc9fe06660224932a585  libstdc++-v3/libsupc++/nested_exception.h
 37e1f70ac8a82f5c53a0372d349b1943  libstdc++-v3/libsupc++/new
@@ -70557,14 +70752,14 @@ bf0dbdf8c6fc751ad1059b2abceb369d  libstdc++-v3/libsupc++/vec.cc
 4fbd4c2e122bcd2ad82c0aeea22dbc3f  libstdc++-v3/libsupc++/vterminate.cc
 1b4022873d16629d1d8c3c6851a77cf3  libstdc++-v3/linkage.m4
 5738cc79c1e2cc68c3e1342f02b138a8  libstdc++-v3/po/Makefile.am
-1d006ff18e3cb9df1afbb4cf6c8998b1  libstdc++-v3/po/Makefile.in
+0e6aee1a943ab68aa1c8017439e9889f  libstdc++-v3/po/Makefile.in
 b6d48d886970c1d8658d10bbd45c7b3c  libstdc++-v3/po/POTFILES.in
 a3a922f9c16410e9a1f3efffbb707017  libstdc++-v3/po/de.po
 5fb51673038baf4f5e72275460d22e3f  libstdc++-v3/po/fr.po
 11079eef5dba307de8012bb549b39ebd  libstdc++-v3/po/libstdc++.pot
 73e58d317bc74d52964a74d24726fd8f  libstdc++-v3/po/string_literals.cc
 3dcbe1c140ba40389c4fada690ca3df3  libstdc++-v3/python/Makefile.am
-ca06299b4840a3f9b6e10b8a7e9d4bcc  libstdc++-v3/python/Makefile.in
+fdf20f3d8d8476a327ecc116a7c8b22e  libstdc++-v3/python/Makefile.in
 2668f329ad7c4ae633ddfce61b74a1a4  libstdc++-v3/python/hook.in
 68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/__init__.py
 68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/python/libstdcxx/v6/__init__.py
@@ -70581,14 +70776,14 @@ f1a84a17158780aaa37927191db4463a  libstdc++-v3/scripts/gen_includers2.pl
 80b6ff44b325c6b6d113435d8eea4b76  libstdc++-v3/scripts/make_graph.py
 bdea8a7c5ad9ea8d58e66b8a1da63be1  libstdc++-v3/scripts/run_doxygen
 df97516e6ab2a726dafb05ae23802e8b  libstdc++-v3/scripts/testsuite_flags.in
-c24a6099966cd66d258ea61f1b4e011d  libstdc++-v3/src/Makefile.am
-4455a3c11806f09108f127b0a9e67345  libstdc++-v3/src/Makefile.in
-0667a7c0c67c69926c23fff507cd15c7  libstdc++-v3/src/c++11/Makefile.am
-d8a43646617977bec42aff23bbdd6183  libstdc++-v3/src/c++11/Makefile.in
+d90c623ee309966aafb6ba46363bb3eb  libstdc++-v3/src/Makefile.am
+dff2bf9ab3655fe8fe8b562b8d9c29ae  libstdc++-v3/src/Makefile.in
+12430624e63324c247da80f169c17d7c  libstdc++-v3/src/c++11/Makefile.am
+d60f73afd3a176983e953c8b29397ded  libstdc++-v3/src/c++11/Makefile.in
 b0f80403269a4fca169b7ef63f1a4c5f  libstdc++-v3/src/c++11/chrono.cc
-99bee6bbb7d264e73f0163d2da788833  libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
-b199412dd39e8e4ca8113bd3c9cdf57d  libstdc++-v3/src/c++11/compatibility-c++0x.cc
-29a6e5265711f8cb2ac82d8cf9f519a3  libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
+e0d8c9347a2b01d4fa4c618ff48675a5  libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
+da96295b8844adcece61f9fb77bbe6bb  libstdc++-v3/src/c++11/compatibility-c++0x.cc
+2ae1a4e1b668b6835193ec42809b6725  libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
 03ca14f0b9d826e822c21e45acc4b8f7  libstdc++-v3/src/c++11/condition_variable.cc
 3571391614c8ccf7b1e1b1a3ee918cc1  libstdc++-v3/src/c++11/debug.cc
 b3e4ebf9312bea8bee73fc6acfbb7d3e  libstdc++-v3/src/c++11/fstream-inst.cc
@@ -70600,25 +70795,25 @@ e5b7c55142f1dc987d21fbf47f1656a8  libstdc++-v3/src/c++11/hashtable_c++0x.cc
 e02be5189c064f0a6e1003060b51dcf5  libstdc++-v3/src/c++11/limits.cc
 79015e954e5be53a5af80f53bdbee7e9  libstdc++-v3/src/c++11/mutex.cc
 8f5cf4b99c935d534cb304d2da509957  libstdc++-v3/src/c++11/placeholders.cc
-f41829cc5b520e910ad11021a8ea4f0d  libstdc++-v3/src/c++11/regex.cc
+00ab7cff333812cf8ff3b1d3a8119817  libstdc++-v3/src/c++11/regex.cc
 3b5a1a877147e92da00cd70229b98e68  libstdc++-v3/src/c++11/shared_ptr.cc
 1b5251e814f66c0758532ec16b497155  libstdc++-v3/src/c++11/string-inst.cc
 195cb0d032c8feddab73071c6166cd60  libstdc++-v3/src/c++11/system_error.cc
-16ddce8d41aef9979b825d4ef672b66b  libstdc++-v3/src/c++11/thread.cc
+8dd966b250857c8e95b8755aa9cc87ce  libstdc++-v3/src/c++11/thread.cc
 6b0b176d13540f2f18399478fdfcb765  libstdc++-v3/src/c++11/wstring-inst.cc
-c5a33cf26b074de2e3849b81a40095c9  libstdc++-v3/src/c++98/Makefile.am
-fcef30f65c7e8967ccf58eac8f14d1ae  libstdc++-v3/src/c++98/Makefile.in
+e4ddb42ef9c2750001c4026eab6deefd  libstdc++-v3/src/c++98/Makefile.am
+95e3fb71b6b923e92b7dda36b6111ff0  libstdc++-v3/src/c++98/Makefile.in
 cfec013952119c3cf721ec34e3a6916b  libstdc++-v3/src/c++98/allocator-inst.cc
 57c791fc04e5bd6cb5a396b8fe037a90  libstdc++-v3/src/c++98/bitmap_allocator.cc
 5a5f79fd72c5cd907409171943326342  libstdc++-v3/src/c++98/codecvt.cc
 a4bd7b00e80635fe11a3b8a1e49dd7fb  libstdc++-v3/src/c++98/compatibility-debug_list-2.cc
 0503b451a2987ceddb82256149c90449  libstdc++-v3/src/c++98/compatibility-debug_list.cc
 478dbf5b1695df49073a997d2614c78f  libstdc++-v3/src/c++98/compatibility-ldbl.cc
-ee5b657fa41cd56a0e8fabe7d2c1d579  libstdc++-v3/src/c++98/compatibility-list-2.cc
+14ee318ad3619f6fe88940a6dc719916  libstdc++-v3/src/c++98/compatibility-list-2.cc
 a1cb351b8383dea1f8d0a1a9cd839e55  libstdc++-v3/src/c++98/compatibility-list.cc
 31bc97a862f3d384347b064666c2da52  libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc
 c524e1e43d7d0da22b2602818a2d0277  libstdc++-v3/src/c++98/compatibility-parallel_list.cc
-b90748de06a341a2a9b9b04b929f2ac8  libstdc++-v3/src/c++98/compatibility.cc
+be228087f0d7fe1f98d1bf5430ae856c  libstdc++-v3/src/c++98/compatibility.cc
 e208aab4903bf2c63a46d7dd22ead423  libstdc++-v3/src/c++98/complex_io.cc
 4ae5527f88b579e7b020367122de623e  libstdc++-v3/src/c++98/concept-inst.cc
 d224bc4c7a9ea6e1ba05194855300f54  libstdc++-v3/src/c++98/ctype.cc
@@ -70675,6 +70870,7 @@ f21cc34b64de691fee3593e50d8bd696  libstdc++-v3/testsuite/17_intro/headers/c++200
 5e3da0e2d40dd33f44bf1d2fe47fefe4  libstdc++-v3/testsuite/17_intro/headers/c++200x/operator_names.cc
 5ba8c8f7debdb62a63224a9ca506a11d  libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc
 b8ce7255064ae58fb4425cc3c9125910  libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc
+a40dd70688bc4a74185564848720d4a3  libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
 fed409559e4fce1ac33168c2a738dd6b  libstdc++-v3/testsuite/17_intro/using_namespace_std.cc
 047d8946da32bc366b0be51405d7c063  libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc
 b9691f1658129be188fdd05578fcaaae  libstdc++-v3/testsuite/18_support/50594.cc
@@ -70726,7 +70922,7 @@ a11125daba0e4359fa75ea734813b19a  libstdc++-v3/testsuite/18_support/headers/ctim
 519cc41396d1dd48760ae29027bb4698  libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc
 8f70d915281f9fb9da7b35be94ab897a  libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc
 66fcb0a36dd9ef6c7ff87a03e47dea47  libstdc++-v3/testsuite/18_support/initializer_list/constexpr.cc
-ec042b4bbb7c74e6f99192ca4daff4bc  libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
+fc605b9659192777fa52a9df67ecb310  libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
 b0ee06e47cd7deb4ad403335dce680e0  libstdc++-v3/testsuite/18_support/initializer_list/requirements/constexpr_functions.cc
 cc7b84bec463e1ebaf34a40241a4e19a  libstdc++-v3/testsuite/18_support/initializer_list/requirements/explicit_instantiation.cc
 408204ea11a79e24b63ad482f420eb90  libstdc++-v3/testsuite/18_support/initializer_list/requirements/typedefs.cc
@@ -70856,7 +71052,7 @@ d925a315548d37e1a56bc1aabbec72f7  libstdc++-v3/testsuite/20_util/bind/nested.cc
 def67411f10e289dadb9b8fe3af10c15  libstdc++-v3/testsuite/20_util/bind/placeholders.cc
 858876d83573f976f377f9292ef801da  libstdc++-v3/testsuite/20_util/bind/ref.cc
 65741144c059def72db61505762ae3b7  libstdc++-v3/testsuite/20_util/bind/ref2.cc
-5242a1c9a5c09808736eea54f6755e59  libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+8fe71a3b093ad23ba56d42e3d0f33d6d  libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
 5677dd153ef494c1d02f3d51844cbeb5  libstdc++-v3/testsuite/20_util/bind/socket.cc
 cf2a53e2ca339e8610deebc08bd545d5  libstdc++-v3/testsuite/20_util/common_type/requirements/explicit_instantiation.cc
 20028934672fd8557bfb94dbff7c42e7  libstdc++-v3/testsuite/20_util/common_type/requirements/typedefs-1.cc
@@ -70916,6 +71112,8 @@ b95c7732d14ec7e1a36325667cdb250b  libstdc++-v3/testsuite/20_util/function/8.cc
 b9f2809a945f350bb9aca9111c8e71f7  libstdc++-v3/testsuite/20_util/function/assign/move.cc
 aa90592efb6a6031515d91f6cc96d2ed  libstdc++-v3/testsuite/20_util/function/assign/move_target.cc
 deada9269d89bbb22211072129c502b1  libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
+2fad4ca4fd0a43a627bde240ead8f83a  libstdc++-v3/testsuite/20_util/function/cons/55320.cc
+c21f95c879b0b533a98c3af2b5b287e1  libstdc++-v3/testsuite/20_util/function/cons/addressof.cc
 0c7da1a7302faf9f85eabeaa40dfb216  libstdc++-v3/testsuite/20_util/function/cons/move.cc
 7ff1fafbe731a829b8178ff4026b4a6a  libstdc++-v3/testsuite/20_util/function/cons/move_target.cc
 21c5de1df63a377f059bc744ce643ca7  libstdc++-v3/testsuite/20_util/function/invoke/move_only.cc
@@ -70925,6 +71123,7 @@ cf096787885c17ea2603a54556a1a37c  libstdc++-v3/testsuite/20_util/function/null_p
 6e8a5a1ef022ec8d5635326f839cddcd  libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
 bb03ffcfab15b29c7c04a60b9d95e1e1  libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
 196be16f41241ad84f7aeacc561be28d  libstdc++-v3/testsuite/20_util/function_objects/dr660.cc
+db7b3f7642b2766f37a018a1e31bbc14  libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc
 481d61bf3c6998939554e07cfe099555  libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
 4659da15a0bad4c2cc12f457757c21d4  libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
 a79014f567d4f952cd19e154495c5b75  libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
@@ -71070,11 +71269,11 @@ bf8a8e99401781cf93f9d8190582b323  libstdc++-v3/testsuite/20_util/is_unsigned/req
 2366616b54a9a8d397d58b144e65fa7f  libstdc++-v3/testsuite/20_util/is_unsigned/value.cc
 0892f5b01880d51746545eeebdecfee2  libstdc++-v3/testsuite/20_util/make_signed/requirements/explicit_instantiation.cc
 ee4a6fd256b30e9ce557765f47e444aa  libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-1.cc
-934701cfc81679b61eca612115c882aa  libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
+3935ff51faefe8c308c5814726985aac  libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
 38db6b941f8330b88519b04b96077890  libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
 e6f0a098aa4a310d766386a38b1cf0e1  libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc
 a9e46c05b41371de2bc24f91892827bf  libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc
-1fd7ed9459e4b874423b37109b2f4d32  libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
+99a13d20beadf0ad6b2f0ec0597b4e99  libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
 15c90b5555eaaa13ccc34d0fc1c51a9e  libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
 85960a2b24c432fc5173dedc70d3046c  libstdc++-v3/testsuite/20_util/move/1.cc
 f39c06ebbfd8b73a2db975b5ce99b667  libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc
@@ -71154,6 +71353,7 @@ b70aaff9406ac68644f86a5cee4db9e2  libstdc++-v3/testsuite/20_util/shared_ptr/assi
 c5a0af766fa68e76a11e88d5d91303b7  libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
 4864f49bbe2ebfb6bdd5e9e2ba562f29  libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc
 92cf3d0a8e7a81cc809b44b74aa05a42  libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
+76b9fe2d7e343f46b1921358878c0f1d  libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc
 5af51e0020eb3dc31e330dce74eef730  libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
 002915b525026d923174f7e5d4720413  libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
 f3a95068d2a4a8d159657e533e458183  libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc_min.cc
@@ -71201,8 +71401,8 @@ d803040e150f7e30842d4732ac220b5a  libstdc++-v3/testsuite/20_util/shared_ptr/obse
 ad2e5ad2adbaf8145281aae0d16b6f21  libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
 8bcabf4f893065bf759ada93db336db0  libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
 0f760464e473c4cef639b368748b1246  libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
-a6f8af36a43ba7d1f20731bb66acee85  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
-ed47c49796f81ea64a38742fa4ae3737  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
+0a6841fa98ce5f4c83cc981ce52677f1  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
+2cdd2af231ffef6b3f323bccde3b3445  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
 95faf2081cae2eb32134127955ff508f  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc
 cf4be2162fc817913d70679d09d306af  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_fill_n/16505.cc
 5bd20c60888afa31458087a830131cca  libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
@@ -71322,11 +71522,11 @@ f9f6292247881b25e260e80a1b2a73ed  libstdc++-v3/testsuite/21_strings/basic_string
 a32ab68ef5feb2df44c87827d05b6530  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
 af12a35dd4b80bff2b106291f0ccd6fd  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
 ce2d6db6d7115c5942c4c9e9266ae330  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
-d4018c8e03593a7889525d37d9875d3a  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
+3588e22f2cc12ec4524cf5d1ec7c1b52  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
 9ad8f5706bc0513f2d7ff9dc75be1297  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
 aa67db459dabc158f3e6535aafbe2b0b  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
 df9ffa77bb79cbfb783dbe24afbbe015  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
-0af5d77ccd6668ad8ee9551122b17934  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
+ac380c86b365b359a43b310b9b1d4cf1  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
 84d61bd8f338e9d1ae9632b7a253946a  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
 956806a95203a072b405f88774d7c790  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
 ea3c59a2c150c30dd67d4824f27e31f8  libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
@@ -71434,8 +71634,8 @@ c1e330d058efbb7f38a4860fc471380a  libstdc++-v3/testsuite/21_strings/basic_string
 83dfb06583fb110a059a4cace843e7d3  libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc
 cd7831fe129bc91018c109e68c15ff00  libstdc++-v3/testsuite/21_strings/basic_string/pthread18185.cc
 d372db32e40a35d9e642a220daef6b3b  libstdc++-v3/testsuite/21_strings/basic_string/pthread4.cc
-7d231d2360f05f47a5c304d09acb6006  libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
-37793fd08c21f9b9b3b4aed855f1a717  libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
+4edb7e6e24d3cfb29329248062e707a0  libstdc++-v3/testsuite/21_strings/basic_string/range_access/char/1.cc
+8641ae0548399130f04ac58ff795ddf9  libstdc++-v3/testsuite/21_strings/basic_string/range_access/wchar_t/1.cc
 7d086bfc146b689816b177b027587800  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
 fffc89be64bd14de9ee61a3d7fe95f48  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
 8edba6a0d0d43b5919326cd8e79ae58c  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
@@ -72076,14 +72276,14 @@ d91b1a9dcd405617ec73b7cb1664d46c  libstdc++-v3/testsuite/23_containers/array/com
 55656e76fc5d812278952aa38ae1d670  libstdc++-v3/testsuite/23_containers/array/comparison_operators/not_equal.cc
 4ca1149cc4375b26f3914afcb418dc13  libstdc++-v3/testsuite/23_containers/array/cons/aggregate_initialization.cc
 845a9450c64ecb530258d1b0b2a02afd  libstdc++-v3/testsuite/23_containers/array/element_access/54388.cc
-d11fecb4d8248d4a85d49c392a85f862  libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
+38f414cc80a80bbbb09e25b65b1b7c23  libstdc++-v3/testsuite/23_containers/array/element_access/at_neg.cc
 fb1226b42a6adda96173e9945a200d80  libstdc++-v3/testsuite/23_containers/array/element_access/at_out_of_range.cc
 48699685c226e570eec2f3534b81e294  libstdc++-v3/testsuite/23_containers/array/element_access/back.cc
 f24e1ac6a75f3a218b4aaa3048123052  libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_element_access.cc
 774f487e42125c31b997a04c30205bea  libstdc++-v3/testsuite/23_containers/array/element_access/data.cc
 622e792fce3d1936205fad67a01192d1  libstdc++-v3/testsuite/23_containers/array/element_access/front.cc
 2ec44c0861b1473170c8fb4b95c44587  libstdc++-v3/testsuite/23_containers/array/iterators/end_is_one_past.cc
-6f4eec76f26861e20e0c679ba97bc647  libstdc++-v3/testsuite/23_containers/array/range_access.cc
+9fb4ddcc43e48a65b031b22357787bf0  libstdc++-v3/testsuite/23_containers/array/range_access.cc
 93007608396f07dafcac0edb64fe5782  libstdc++-v3/testsuite/23_containers/array/requirements/citerators.cc
 fb6688c3582b7bf84d3f38cbbed76a13  libstdc++-v3/testsuite/23_containers/array/requirements/contiguous.cc
 c61203d3cd74bd4fdbec69046b2b9354  libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/1.cc
@@ -72132,11 +72332,11 @@ bab0460b20bd731723e257e8e803088d  libstdc++-v3/testsuite/23_containers/bitset/to
 9ebdb6bb8c52a35d7a73d9f8be10dd0d  libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
 561d6d1f0360dc9cad2ce9456dfb3e97  libstdc++-v3/testsuite/23_containers/deque/14340.cc
 983ab1bdc38cf8a5e5511e7e0364e863  libstdc++-v3/testsuite/23_containers/deque/18604.cc
-239d50617894f7b89293532817dfd83f  libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
-8f468cc72ead3ee47491d562511b4365  libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
+fb5cb049d2d57162f71a7c170af9bb7a  libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
+bcd0e4d1d4c4ce8d2716494cf376637c  libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
 1f7afe38270a4ded126c1b077512d958  libstdc++-v3/testsuite/23_containers/deque/capacity/moveable.cc
 06bda9ed5f38d2c8a156cdf3489d3be0  libstdc++-v3/testsuite/23_containers/deque/capacity/resize_size.cc
-8275c0a675220ffed91ec4c79616841a  libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
+78c59637e429cf4f7206137876207929  libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
 6557661b1cf1a38c364989ca363082ae  libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
 fee7b3e61ba1d249577190ac323531d8  libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
 b186df899f784c2d23d4385a1ff0f45e  libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
@@ -72177,7 +72377,7 @@ b2ff397fbf6c2612ac47cfeb7178943d  libstdc++-v3/testsuite/23_containers/deque/mod
 e2c6136e114932ce58913b80c6726eb4  libstdc++-v3/testsuite/23_containers/deque/modifiers/swap/3.cc
 d3513928d1743fe69044299f52a38e46  libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
 6b062e24890c3df93a7bf7bda6781f93  libstdc++-v3/testsuite/23_containers/deque/operators/2.cc
-212bea53b9702d1fb3b773b6bfd4e208  libstdc++-v3/testsuite/23_containers/deque/range_access.cc
+67cb5f32c9e7c21d18d8f15136760bd1  libstdc++-v3/testsuite/23_containers/deque/range_access.cc
 d9129a0b33c85048e4391616e46067e9  libstdc++-v3/testsuite/23_containers/deque/requirements/citerators.cc
 9ad841b44cabd3514bca52988bd3ce7d  libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
 a1c44669e0006d6e4ced11b81843a9a2  libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor.cc
@@ -72195,56 +72395,56 @@ dae2c59b8e7a7e04015249fe38865604  libstdc++-v3/testsuite/23_containers/deque/req
 52f8347a5230c651210aa790c180f737  libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc
 6fcb92d6d1c4df2567047e0d02e69d72  libstdc++-v3/testsuite/23_containers/deque/requirements/typedefs.cc
 1322f4052acdb266761cff1116416977  libstdc++-v3/testsuite/23_containers/deque/types/1.cc
-f28b67fac49571f6c29664b6a7c33633  libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
+0c1b69ba6613fe22dcc44479af3ee6e1  libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
 d547b7303e50132383ea78f8404e2bc3  libstdc++-v3/testsuite/23_containers/forward_list/capacity/resize_size.cc
 8915c5677590f1ba3493f7d75e71bfb8  libstdc++-v3/testsuite/23_containers/forward_list/comparable.cc
-b3e2cbb71c2c85b2b5f1791d4e4c66b3  libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
-ddf1b65aa3bf00f7ec6e151f9bc69087  libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
-259488eb6eec8a2535e6efc85eb30f4b  libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
-4239ae967e72186899bf745afbc67fea  libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
-482cf7c9f3956b02edfd7d93fb7d78c8  libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
-c687a6463bc150740dbf2c5dfd13e8eb  libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
-e1fa82cbc03b2c995d2aae058e4beb91  libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
-684229d95281f4b9fa6b36da15b1d714  libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
-b9771039ca872d985b933d9169bd84c5  libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
+6150454bb771f96fb913f979764c64c6  libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
+1bdc24257efaf1ae687ae46585d5fd7f  libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
+aeee7616990b40bdd43a7591a79c26fc  libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
+375edd65b5c8bfca4a9a66c7ed34407d  libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
+01344decec8537fbc5e2072f278aea25  libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
+ba8d74b20c0cba6289a40f495e42f234  libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
+b2537f5d57b86e139ea94db1d3fa90a0  libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
+9155a082dd4997acf16cf85a22a5fcef  libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
+cb3b90b7c8f706b76857ff9ff8502bb4  libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
 14617f4d936b9296cdd4178a3ba60b59  libstdc++-v3/testsuite/23_containers/forward_list/cons/cons_size.cc
 3784608326cbeb10be5908b63f4b42ff  libstdc++-v3/testsuite/23_containers/forward_list/cons/moveable.cc
 89d50c8e22a7dbe45ed2cc7ab70bf4f0  libstdc++-v3/testsuite/23_containers/forward_list/cons/noexcept_move_construct.cc
-dd5b5e825757cac1a0c1560ca41749af  libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
-373d6f0a00ff056d0c4875a25622c7a6  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
-352d9313b97c8d0f402df53451e09b53  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
-85e02039ee9f05039dbbc0ddaa9f1e81  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
-e5c0275891fc06dbe1304fcc53238e4d  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
-2f47a4b8dd909205ffb1e0fb7f1fca2c  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
-7e0972d613cf1f8c5ead88f26eba733b  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
-a1aad021e1da218bf8f2ed20daa5d2ee  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
-a8f9699f24c617d3c150c6b328111c53  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
-b4baad70c947b5c988fe0b4e0fbfa88d  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
-7c733d68d4d572a0331dbb0de8569db9  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
-6ea706a32ba23162438dae595f913311  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
-91561f18533113a41f01b490bf58accd  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
-3dd039e556637a4a3e768b730fb95667  libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
-9515cb5e2fad9ed1ab6b27a4ea02b313  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
-6a7b1783c5b4edfd3b14a96cab738ede  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
-acb0dbba74f12a80e0b1cf6b202a7873  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
-6499ef2eee54e6cc988fa6a1e0d1f90c  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
-933b1d33bb2a17161c95d55a8e5201a2  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
-64ea154e6bc77ee4f1f5fd89d534f459  libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
-8b34282293a7a0b3e59fbb7c1fbbba4b  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
-4975a72a16d53b54708800bc495b288b  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
-34f21e281c5dcf8d4a8af57bd5f6dc4c  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
-b268edea7d8e7810e4d69cbc91da92d1  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
-b80b06306cc92a0075d6326d220fc2b8  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
-d8b36e0188b9f9b964f24364b9d141c1  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
-fbc571702d59ce9358a1bbb0bfe71862  libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
-5ba5139895c8a4dbcfb5ac7a10e05c46  libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
-22e1f7bc2662a7f8b285d2740835976e  libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
-a8f0e20b322827a2d48089cbc879ed28  libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
-2afe6f9244698d535891c5032b73e6ad  libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
-c6de917e2c4091a6d6070a6cd795f682  libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
-b6c5b009dfc20aff657d08a01c0fc77d  libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
+31a9ec546c2eef487b814b8f6199849b  libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
+f4e8de176f514f84505bc682420f2663  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
+a6390783da209a7b0d9579f8fd1f3a30  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
+d749ccff1241edbadd46f9b537cb1ff3  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
+dd0c315df06e19e6e77d2e3c52ce92ec  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
+561d9939760246b0a436890da55b13d1  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
+2fb1161a9bc89222bbf0443d48d7ba29  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
+bbe1c772403125031d69ebae05ac4c1d  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
+4754149fe6d85c45b8b851360f83e139  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
+2456e608e1f353452e9816e198d61032  libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
+9cf32314bfeef14cad4990554723b0f2  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
+a3e304335bf1d0f92bb47280de89438c  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
+0abc8989794755e5d1593f17208908b6  libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
+ac239d4b9abe722d8b6719fb68e1eabd  libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
+d3a6d08b770eb96367ed037bb7ac5a09  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after.cc
+5547ab4b7bef236f29d63e74375b8d42  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
+dc77d765a42cbd0ee53d4806601f8d4a  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
+3679a7aab5a622ad69168c4955a0b2fa  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
+043f1acd8dccad7078fa41db3171380f  libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
+8819bc6c9004410480d754a48f13b1f9  libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
+647d457888212a10ac7461daae69fca0  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
+7170ac840444f66a2c4742da87adb88c  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
+c703f57a0234f1017766dd31d2c8c741  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
+b6935d76f3ea3aa3f1ed98759ca14afc  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
+ea87f248616828e681d4e62fd43cf27f  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
+1e677457e2e189085bd2740105b678df  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
+1229731715c77e047130851414f25cb4  libstdc++-v3/testsuite/23_containers/forward_list/operations/1.cc
+56a803330b99090c2c4f4eea00c60d30  libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
+7413a19467a46fbf3094cb935e19329b  libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
+6171fd4560642122bc195664df5d2281  libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
+824cf45c863db42b6c9a89fe4afb0231  libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
+d1415f320219bc38830c5ecbd543aa38  libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
+3fe7703fcea64c1e45bb754ae7804b8e  libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
 206b47fee57ccecc302d9a852bfdd852  libstdc++-v3/testsuite/23_containers/forward_list/operations/remove_freed.cc
-74e3e958910566317d7c9dcf4451666f  libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
+231b6f94ada545259fbb81c17b44a625  libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
 37bd9f7030d54ba2d1cfb4ad7cdb394e  libstdc++-v3/testsuite/23_containers/forward_list/requirements/citerators.cc
 f3c1ab63ad078ccecdb17041ba121943  libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
 c3ed87b87e0367912f6960a4b42f8d5c  libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor.cc
@@ -72276,9 +72476,9 @@ dc544d649158d27d68303db196f006c7  libstdc++-v3/testsuite/23_containers/headers/t
 68d3e07ffe1096c329d92d75b97ec88f  libstdc++-v3/testsuite/23_containers/list/14340.cc
 90969fe6f60e7fbf0a0eef16b8f37573  libstdc++-v3/testsuite/23_containers/list/18604.cc
 28f9145352313aebb303e3a11dbc46e2  libstdc++-v3/testsuite/23_containers/list/23781_neg.cc
-fd7dae54c9d79f516d6f4ddfef714c73  libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
-f0998126e85a3b7302601ef437935585  libstdc++-v3/testsuite/23_containers/list/capacity/1.h
-fb40f488bdd70bc61c3968af9ebb46d5  libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
+aa076db815ee1759360493f957d6346e  libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
+bae7569aecaf9da869da37e01ec83aef  libstdc++-v3/testsuite/23_containers/list/capacity/1.h
+9ae314e4f7cf6868ee5f7fdf672db5cb  libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
 c0da912556d2f40ae1f0eec5c9c2f044  libstdc++-v3/testsuite/23_containers/list/capacity/resize_size.cc
 4273d8e2d428c60a9652ad5486b2c158  libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
 47d4b77650ff94493956f06481ffe0fa  libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.h
@@ -72324,39 +72524,39 @@ c65c39856178d85b50b7ce7e6917f3fa  libstdc++-v3/testsuite/23_containers/list/debu
 5fad24ec13fa08c97f2c201366a1ae6d  libstdc++-v3/testsuite/23_containers/list/debug/invalidation/4.cc
 eafa6f1cde69aa1267064725e73735e7  libstdc++-v3/testsuite/23_containers/list/init-list.cc
 eb979aa9f271602f8f01dd0161d7a640  libstdc++-v3/testsuite/23_containers/list/init-list.h
-db591b0d38def9e18209e8ca97701d30  libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
-61a10a9014151f973e3e105790c852af  libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
-380328994a468b8a1374d1b33b5d8744  libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
-0beb07f4f033b376fc3a36ed9629f7df  libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
-b34dc55a19b2e9767d4bdfe12a894fad  libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
-47b4e18fe2233a7bf1d2de1bae18a519  libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
-490550e5d00f785f6dd5db5a825d1c08  libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
+53af9cf32448ca07653964007a3aa9fa  libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
+804dc17462a7ab514b275b3d2ebfce2f  libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
+e140a054cb40e78da259529e2ea0c7a7  libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
+d2e6452883557892c958bf37d0901052  libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
+483371c46adb45defe64851a44227a73  libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
+db8a42468323402a158669e76a9aba25  libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
+e33f7c1e10400b49d4bc6e6cebb2d2bb  libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
 4fc26c049661cdd68ddb4f404c4660be  libstdc++-v3/testsuite/23_containers/list/modifiers/emplace/52799.cc
-21db5b4d87a1f5c77361dad7eaa8065b  libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
-3de9e96d3c490d9831514f1e02a8b33b  libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
+e987ab1bcfee441d97529f1492e138e0  libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
+09bf84707335fd348de9b9841e43e389  libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
 7b9333d8b24edfe1f70b52df7c3d364f  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.cc
 3cdcc65699480d2405780e2bb87dbe12  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/1.h
 0a79d2c7a1ed87fa5fce71730595d109  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.cc
 7679b1796ae39838c52a6c6a94effce3  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/2.h
 01fc051510f1107f2a56c6ee582a3ffe  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.cc
 5ed24721650b8887e8711ed5f93c5e8f  libstdc++-v3/testsuite/23_containers/list/modifiers/swap/3.h
-65e73af3fc0cb6f9baab4c99fd1b4771  libstdc++-v3/testsuite/23_containers/list/operations/1.cc
-e47b7c2c2aa08d0114c5dbdf341edf41  libstdc++-v3/testsuite/23_containers/list/operations/1.h
-d153e29e474320587273af37b51ac921  libstdc++-v3/testsuite/23_containers/list/operations/2.cc
-f4969c053d84051b0e6ae3b46c5e7f72  libstdc++-v3/testsuite/23_containers/list/operations/2.h
-b3c01602f784493ebbc88785800debf7  libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
-c9c79c0b4743ff4bd43173bcc0f799c4  libstdc++-v3/testsuite/23_containers/list/operations/3.cc
-0ee0435b4e435635d40159c3fcb9fd36  libstdc++-v3/testsuite/23_containers/list/operations/3.h
+5eee7364e150fef1691f93359ef1ccbe  libstdc++-v3/testsuite/23_containers/list/operations/1.cc
+e4567aea2c9b53f34b36affc0889b9ac  libstdc++-v3/testsuite/23_containers/list/operations/1.h
+dc3124d25286a40c721948e306742dab  libstdc++-v3/testsuite/23_containers/list/operations/2.cc
+2d0d1cc1b1ec9a073097e0d5260a18a9  libstdc++-v3/testsuite/23_containers/list/operations/2.h
+ba401e891ccbdef5cc5b5da65a69af21  libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
+69c2b2e4ed6962085760d608c13fecf1  libstdc++-v3/testsuite/23_containers/list/operations/3.cc
+6f348c43c6d4f8354d8f2da321ee8461  libstdc++-v3/testsuite/23_containers/list/operations/3.h
 14973c1f0ef42025c6e90dfc589be75c  libstdc++-v3/testsuite/23_containers/list/operations/35969.cc
-34eccc96fe09bfadb591500758d7e07a  libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
-94d8144425b7c27daad32dd02c829211  libstdc++-v3/testsuite/23_containers/list/operations/4.cc
-2be7c879935a9a2117f8df94f3f10326  libstdc++-v3/testsuite/23_containers/list/operations/4.h
-492da233ea64bb0c06b18b3d01e49e21  libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
-62d2a55576141269cdbaa0347c7ce4bd  libstdc++-v3/testsuite/23_containers/list/operations/5.cc
-b75b14c7596700c73963c35372ed032e  libstdc++-v3/testsuite/23_containers/list/operations/5.h
+aa27b43d388732e4355a7ee46bd979f9  libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
+4092e162adca778218f8414c4b1a2b8d  libstdc++-v3/testsuite/23_containers/list/operations/4.cc
+a866860cd30f756952d6e9f5015e97c2  libstdc++-v3/testsuite/23_containers/list/operations/4.h
+c63e035d0048b2323c300a9825f64fd9  libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
+ad738ea659c018a9314d38555d61d541  libstdc++-v3/testsuite/23_containers/list/operations/5.cc
+68b9ee674bac30e332e8beabd9e2149b  libstdc++-v3/testsuite/23_containers/list/operations/5.h
 2fa6c24afe6ca259aff931f6d93dd301  libstdc++-v3/testsuite/23_containers/list/pthread1.cc
 aa630cf764bc4941890677fe61b2099b  libstdc++-v3/testsuite/23_containers/list/pthread5.cc
-c1db62488842db6eadf290a30b1582e0  libstdc++-v3/testsuite/23_containers/list/range_access.cc
+f784a19c8590129796ea39053e015d78  libstdc++-v3/testsuite/23_containers/list/range_access.cc
 a5b7ea1ee52f71d498ee1ba90d01aa85  libstdc++-v3/testsuite/23_containers/list/requirements/citerators.cc
 b18f2ea4b1b439dbce5ccdfbc1b07fe9  libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
 647705b3e585a91b65403e2965441cc0  libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor.cc
@@ -72378,7 +72578,7 @@ d044e49e38ce0fdecb4f29a2f002b26b  libstdc++-v3/testsuite/23_containers/list/requ
 a4a5b5f47142ff9070060b3280faf63c  libstdc++-v3/testsuite/23_containers/map/14340.cc
 a9ebe0f226ab2c771ec2ec927a54d956  libstdc++-v3/testsuite/23_containers/map/18604.cc
 7b589269df1e9228c2e1d16578507de1  libstdc++-v3/testsuite/23_containers/map/23781_neg.cc
-80b32aea284c4072b39a5bd02e9e1ce1  libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
+2200bf140664885901e21a856a0523e2  libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
 609662fc40581c878722bbb0ad1da58f  libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc
 e1a03a8dabb4cef8b66d8c433f65334b  libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc
 6cd49b81e327d66a8954e4de345fb20b  libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
@@ -72414,7 +72614,7 @@ ba0a9e2b64966e30cac3090656c1cb67  libstdc++-v3/testsuite/23_containers/map/opera
 f447adf533f3aec7a2fa307675ae2f30  libstdc++-v3/testsuite/23_containers/map/operators/1.cc
 754b48690f9cfa8285b53b8221b3a910  libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
 6887fe95f5c463758afaa57dcbf9c85d  libstdc++-v3/testsuite/23_containers/map/pthread6.cc
-0aa4e58d7ece8ee50bedab61602f7f05  libstdc++-v3/testsuite/23_containers/map/range_access.cc
+abc897163708ea532d9545d01cd594d1  libstdc++-v3/testsuite/23_containers/map/range_access.cc
 ae22e23e79d0f94d2fe7911b52c1cb75  libstdc++-v3/testsuite/23_containers/map/requirements/citerators.cc
 398fec01d32a97757d882b30dbce16c1  libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc
 fd2542ea52aa85ed184a218b1ace59ad  libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc
@@ -72430,7 +72630,7 @@ ea6f80a6afd7d232f6f95d914c101c46  libstdc++-v3/testsuite/23_containers/map/requi
 98f9b60db5a0852f9134c295a09f7d79  libstdc++-v3/testsuite/23_containers/map/requirements/typedefs.cc
 447e2e24870f119972e05c4b21ef9465  libstdc++-v3/testsuite/23_containers/multimap/14340.cc
 6eac41c07db7d7db66cf027b1804499a  libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc
-0081fcfac2acd537b009fc5620556bb6  libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
+804eeb5f50a86f4df306caeef6363b9f  libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
 daa8f6fce2ba9eb2d1ee492c564b0219  libstdc++-v3/testsuite/23_containers/multimap/cons/moveable.cc
 76d32b31ecf124a86f8570f7f1e13bc3  libstdc++-v3/testsuite/23_containers/multimap/cons/noexcept_move_construct.cc
 8f9f59258b076f0c129653c765ffe9ee  libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
@@ -72457,7 +72657,7 @@ ba7ac2c55aa1ac84e57491bba311158d  libstdc++-v3/testsuite/23_containers/multimap/
 f9fa13cda3576f102b10b31e2fd21c34  libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/3.cc
 e62205fcb11cdf06be4f227faffb501b  libstdc++-v3/testsuite/23_containers/multimap/operations/1.cc
 b7c820f879c8eaf3c0583341bedc52d3  libstdc++-v3/testsuite/23_containers/multimap/operations/count.cc
-6109780dcc3c2bbc4502b9efd2217a9c  libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
+b63fc9c8a4b0fc4c5a8035c1e010b7bd  libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
 4375f46ca5ad207e3a62c024fd91e872  libstdc++-v3/testsuite/23_containers/multimap/requirements/citerators.cc
 80bd06c0b3f696f28768b93a92100b98  libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc
 a3fba770f54a6ba4c24f54310a75ac96  libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc
@@ -72473,7 +72673,7 @@ da827c9b0828967915b6655e53bc0091  libstdc++-v3/testsuite/23_containers/multimap/
 ce818825409ae684bbdf2c7f7b1363f7  libstdc++-v3/testsuite/23_containers/multimap/requirements/typedefs.cc
 4681fd9c9e31a18636e44326393bb94a  libstdc++-v3/testsuite/23_containers/multiset/14340.cc
 e930bb2059a6a4c063e0635a65695fb0  libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc
-c92a6104c2acb489615db89267adb6b5  libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
+bc4721f0a9642735595873cfda06b986  libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
 3997bd211b0223e53e38178c2c935039  libstdc++-v3/testsuite/23_containers/multiset/cons/moveable.cc
 fd0c07b33c6b99bd313ff58bb483ea7f  libstdc++-v3/testsuite/23_containers/multiset/cons/noexcept_move_construct.cc
 c9acb24311c49768b5651e6b7557daf9  libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
@@ -72499,7 +72699,7 @@ e7028262e5adeabc635c5542a27e71db  libstdc++-v3/testsuite/23_containers/multiset/
 9391020b06a47ea0cadf47a57daa398b  libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap/3.cc
 11106b1a59c3872b0fb78136157c3fe0  libstdc++-v3/testsuite/23_containers/multiset/operations/1.cc
 3d6de69adbb1bef8d9bf8f7faa5cde90  libstdc++-v3/testsuite/23_containers/multiset/operations/count.cc
-55251da689220ce4f05ca64621b164e5  libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
+b3be16e5a43401ed72ee391fc08cb3e6  libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
 7574d0aa8b42fcdc0cd52dfe789e7a21  libstdc++-v3/testsuite/23_containers/multiset/requirements/citerators.cc
 52923efae82ece5d4c9bb0d065ad1a30  libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc
 9ec5e00f730483e41209356822a23294  libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc
@@ -72526,7 +72726,7 @@ e7e124c3fe3889a528d8a72628452d50  libstdc++-v3/testsuite/23_containers/queue/req
 6edacc3b38b56194238fd7ed18e96c0f  libstdc++-v3/testsuite/23_containers/set/14340.cc
 48f45e8fcc1ab4d1fb9b1b822568946b  libstdc++-v3/testsuite/23_containers/set/18604.cc
 5075435c3418355652acba277c593146  libstdc++-v3/testsuite/23_containers/set/23781_neg.cc
-ff1c9365d3e9997ac633ba826b37488f  libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
+0ebed722e91cb7e37989c47dff76bc46  libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
 50b4404e9181a71385260676e673c425  libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
 54f24b28413213f3e2bed6da2af694a5  libstdc++-v3/testsuite/23_containers/set/cons/moveable.cc
 eb4b32369d9d5bcbbb333eb6af6a4006  libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc
@@ -72554,7 +72754,7 @@ f02ed62d3a64263422a4071e8b934e24  libstdc++-v3/testsuite/23_containers/set/modif
 ff2c675e8c7490437bbe62c74e7c60e2  libstdc++-v3/testsuite/23_containers/set/operations/1.cc
 07cbf0e3d374afc21b66ddc590e66ff2  libstdc++-v3/testsuite/23_containers/set/operations/count.cc
 6cf0c5150befdaca193e360c9373f9bc  libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
-d1298da4c25968f76852c807ae00a837  libstdc++-v3/testsuite/23_containers/set/range_access.cc
+c753a6cbd888a965d65c127e55073691  libstdc++-v3/testsuite/23_containers/set/range_access.cc
 79104a4eb1682320b627da0327939175  libstdc++-v3/testsuite/23_containers/set/requirements/citerators.cc
 d6dea784c77c76d666bbbde3a8279ebe  libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc
 488457edeb945e2bd72f2395998680b4  libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc
@@ -72572,6 +72772,7 @@ c6f33493a7f05be2778da6b90e172ecc  libstdc++-v3/testsuite/23_containers/set/requi
 427c8b9ae05ac10b502dffec526afc35  libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc
 a7ce0b0e32ae7f57d5b1a8b1b721b3d5  libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1_c++0x.cc
 252f23c82e35d8ec7184560268453167  libstdc++-v3/testsuite/23_containers/stack/requirements/typedefs.cc
+45ad75f0c87e1ff78e671c639c77a963  libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc
 dc0f02769e7656e91a7dc1914e90487e  libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc
 ee9a29b840d4d099aa94376e89a75b84  libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
 dcedb7c8821077ae5c6bd7cf52b09452  libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
@@ -72590,7 +72791,7 @@ ec595093dd59c6ee951bfeb69e636a57  libstdc++-v3/testsuite/23_containers/unordered
 6fa26622fc9d597cb9744d6a09c4f88c  libstdc++-v3/testsuite/23_containers/unordered_map/erase/1.cc
 8d0888f7ce12f9a5624a564773eae94a  libstdc++-v3/testsuite/23_containers/unordered_map/erase/24061-map.cc
 3ed75df1c479e595c1c6a1befcbc6cfe  libstdc++-v3/testsuite/23_containers/unordered_map/erase/51142.cc
-37143df7015008b36279e5e9c5ab1409  libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
+27a977eaf5c529f13b7408fbe993808a  libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
 20e2916a1dccbb2a42869869f924e8df  libstdc++-v3/testsuite/23_containers/unordered_map/hash_policy/dr1189.cc
 e45091c1084b5e607633e86a0396fdde  libstdc++-v3/testsuite/23_containers/unordered_map/init-list.cc
 76d861255075f791d64d90801c7ddb81  libstdc++-v3/testsuite/23_containers/unordered_map/insert/24061-map.cc
@@ -72602,14 +72803,15 @@ e6e5020f364b3f4dd072f672781d37a3  libstdc++-v3/testsuite/23_containers/unordered
 b51cbe4e8f553775a99f7d8dc02555f0  libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc
 1871aa47d061b029d94b6e7162bb8134  libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc
 9bfca4d94b94c1301ec31cbf4545dddb  libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
-a306fb291fea2f1562c981fb06fac7b2  libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
+923d6644abb91169468a4ef288236f44  libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc
 39b2099568d90e93fc7074a81f3f580e  libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc
 9867fe2aad3dcf206e5b29c6d4267a21  libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc
 45f46b4cea5268d1bf8f903d79e3c350  libstdc++-v3/testsuite/23_containers/unordered_map/profile/hash_map.cc
 15756c7435c82bac767368f9d08c2abb  libstdc++-v3/testsuite/23_containers/unordered_map/profile/unordered.cc
-82087d3f00c2d4983bdb99868a25c8ee  libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
-6dcde66444fc4195c5a07c17017f0e41  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
-c4537f5ea03451b8856361b5e0595ae2  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
+554fcc64aaefed736ce328cdf1897de3  libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
+8c7dfa9fd6aca385e1ffb09c3b8fed87  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/52942.cc
+ce938ba2246b3740b6eb4920d8b9e5d8  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53067.cc
+9d49eca278ecf0944e2f636113cace56  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc
 136c3707946cd33f8b558bcbfe9df5ee  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/citerators.cc
 3a873723cbae79808fcb9a42b946fa9f  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/cliterators.cc
 d7835847432faa20647ad4de8ed0371a  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
@@ -72623,6 +72825,7 @@ a7fab9b9f388fe3374cbca7bd913ea46  libstdc++-v3/testsuite/23_containers/unordered
 3bd685c0c04dc6aedf75c5bf9d21548c  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/4.cc
 e4b5ffbebf18c38dfc8bdb5bd8656495  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
 02a65e2dc5e5dfab08cf763ceadb78ac  libstdc++-v3/testsuite/23_containers/unordered_map/requirements/typedefs.cc
+e8d3a04b514aea2937c3562ca2b66729  libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc
 e1a1d28696e444ec4f19fe303b5f6b8f  libstdc++-v3/testsuite/23_containers/unordered_multimap/cons/moveable.cc
 38af52bd56fb3e42a8c478dbfbc7c699  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
 106d58013d4ab99ad9b9dea6a5f7dce6  libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
@@ -72642,24 +72845,26 @@ fa964f60642b3577acbcb5dc6a3a2a2c  libstdc++-v3/testsuite/23_containers/unordered
 a164daf29dc3f50495fd4e3adfb609c1  libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/24061-multimap.cc
 b9147f7157142ae17b23e446cadebc1a  libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51142.cc
 3a458ecefdf291b754c74ce6daeb2bc5  libstdc++-v3/testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc
-efd86b383f936f2452c77de750aa4279  libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
+9c8c7efa085268452fa2e7ab2e981e50  libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
 06447a10e732b5b7819f3cc932659645  libstdc++-v3/testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc
 05fbbe0c43225592689ba0b3f1e0122d  libstdc++-v3/testsuite/23_containers/unordered_multimap/init-list.cc
 2f13484376f58e7bb45c734778e058a4  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/24061-multimap.cc
 6a011d6c35965d2e4eb328a7848d15af  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/51866.cc
 7115438040255e6df97b27769e5958bc  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/52476.cc
 b66d673a030d5e6b2b83e1f157ced020  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc
+e158b94959aef192725d78698a1cc2fc  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc
 77779277c21f4bcf67fdaae2cf884ffd  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc
 9660a964c6b570a2def1101293394e8b  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc
 9a78aa9f1cb2ee50eeb02454731de38b  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc
 06b72fe51d64016b1fb8f364bb0d3b59  libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc
 c2d4fe70020195874dfc5b997b045f74  libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/emplace.cc
 e0d2a72bdfcee10599ec228d33325b38  libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc
-0ff199649c26f45f94708d520a662683  libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
+ea4f085cc16299c4f4794356650bf5a8  libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc
 4dde63179d50b4120bebeb44b38a6481  libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc
 d8f47558ac924a3aaa7e03b4e1ac2ad2  libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc
 78a075e655dc8ac9dc28ac766fedf325  libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/2.cc
-c13353c833342ceb6ef0b685776a49d6  libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
+5c56c969853669e82995244dbd3d89e9  libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
+2b25768bb0eb64a474f9b69c9b20c469  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc
 4bcb4ddffe61dd3c06a5966f7e84f5e8  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/citerators.cc
 d88082a4da84f50a2def4ab799bbc59f  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/cliterators.cc
 a668415e9a3561dedff06ed6c2502618  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/debug.cc
@@ -72672,6 +72877,7 @@ ce14384c1e28273c7df116a0adf071d3  libstdc++-v3/testsuite/23_containers/unordered
 c1517c219378382870e280247ad46361  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/4.cc
 52918a9ea0ede7364a764dd4e1eb25f2  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
 04cd3ae49b878318da043e3f59c007fd  libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/typedefs.cc
+1585ecbd7967b9f6068c57176f478033  libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc
 4fb052dd1e81511228e81a9269d29984  libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/copy.cc
 b907f9a5c74706ca35f047fbc93b19dd  libstdc++-v3/testsuite/23_containers/unordered_multiset/cons/moveable.cc
 270b6b49b37a7937eea3391dc3405abb  libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
@@ -72691,7 +72897,7 @@ ce3045ff9aa081bfe361c5fdfa1a1a12  libstdc++-v3/testsuite/23_containers/unordered
 f4cb99092d6f04e1e32017ce78eccf9a  libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/2.cc
 d6bcde8cd025bae14b369a1255d9687b  libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
 7633375b797018aa8b190d760b70989d  libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/51142.cc
-4df24a2df6728035db6ff7501aecc3ef  libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
+c49508e2c058515a01d3a068f94cc9a4  libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
 6c7c74077e9dfc2fdabbe1f7deb254d8  libstdc++-v3/testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc
 62754a25d98c55318e5ec2623a223ceb  libstdc++-v3/testsuite/23_containers/unordered_multiset/init-list.cc
 fbc37be3e520a2f9efdc9d644c102dfd  libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/24061-multiset.cc
@@ -72704,10 +72910,10 @@ e38aebebd6fd334727ece76546b23304  libstdc++-v3/testsuite/23_containers/unordered
 3ccc498389bf5fee42d71b31e2278b66  libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
 97b815c03c72cae81ea9e638b3ff0c52  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc
 ed910e6c33cfb246a95909e762e69e45  libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc
-68d07f92722daaf111cfe662f65accfc  libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
+0d218b439dfabb38cca6cbc9098d2359  libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc
 aab6ad3bacd95ce809375fb96a87cb41  libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc
 97d8451f0153ec09b23a8908182c53e2  libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc
-e3faa5e943d6b20ffa2d503dbb004ba5  libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
+a13609a90ab61ac4ee9666f0507eb0da  libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
 d85f027cf83f4cb0e30544d390425845  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/citerators.cc
 4bc10800e06c3dacaec2792ff9326361  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/cliterators.cc
 b1a57197bfb20044cacb8156d8af71ae  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/debug.cc
@@ -72720,6 +72926,7 @@ d4b0c23085195e18ff1e77dd7352345c  libstdc++-v3/testsuite/23_containers/unordered
 ab3c222bb6de85be65a3b8561eea9fd3  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/4.cc
 b77b23c90ac1d1c87499a5fbe9770176  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
 537bb087470e0e76a3cd913d82a13a74  libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
+94d7c422933be9d7869c5735ab282ef6  libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc
 4d66c684b2797373ba05fdae4fc9e4a4  libstdc++-v3/testsuite/23_containers/unordered_set/cons/moveable.cc
 07790b490e4dc10cce8a55e3bd72fb30  libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
 edb915222deb943bb2d1dcbba43b0b21  libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
@@ -72737,7 +72944,7 @@ be212bb282971fff1b30ae052bd41c36  libstdc++-v3/testsuite/23_containers/unordered
 c6669c426dcc11877dcf51dc0796254a  libstdc++-v3/testsuite/23_containers/unordered_set/erase/1.cc
 40eba5a576a85514849538752714d4d5  libstdc++-v3/testsuite/23_containers/unordered_set/erase/24061-set.cc
 5b4a3bac545f4cee60667ded1cd12845  libstdc++-v3/testsuite/23_containers/unordered_set/erase/51142.cc
-89bafc6fe434317fdd696b1b613dda6e  libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
+988223fab1dad917241b6f938aa1e8c5  libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
 a9c8ee1a5748eb2d487e51e1b839fd51  libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/26132.cc
 25f0b444c20659828fec47ffeb843569  libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/dr1189.cc
 e174d8e42e14340b816a7d95a7075ece  libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/load_factor.cc
@@ -72748,17 +72955,17 @@ ed0d01368c90c007d29efacd8fea9f90  libstdc++-v3/testsuite/23_containers/unordered
 237d511b752989c5b9146f17f5bef7cb  libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_range.cc
 59d5457d40df81375b8724150d450cdd  libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single.cc
 c7e89728f69debb2ba04c4baee8c0916  libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc
-5719b70e44e1384692939b0a80bd4ee7  libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
+0aaeaa7f74cfab5998a2023cca089dec  libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
 8f3cacd9a000d6aaea288a4d06bf1f61  libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc
 5ec92f5172efcc3df4de1195ee286f76  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc
-ae724f0c56d9f1bbdb3645574f898070  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
-fb670cd21715d6f38f71a8a160d37d04  libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
+a81b79ac237fc4ff81680fbfb505c4ea  libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc
+f749b97bffa7e4e20ae7523f2b7f1a4e  libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc
 84401bfc21ef0216dc32625e87d2c59b  libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc
 e2551d1be83abfe0d2b13fbee2e85dc6  libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc
 20dc348e1c3cd1564a2e664e92acefd9  libstdc++-v3/testsuite/23_containers/unordered_set/operators/52309.cc
-e8740aac4e27d8f6f209e88e9d40242a  libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
-32330bbb224de1c6844a3bdadf8662be  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
-9283d5fa824ac0cb3fe519c59b725edc  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
+6e27d4c9d5e0438e310b7f9f6f7940d3  libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
+e0c5f7fc0e190d347c890846bb22057c  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/52942.cc
+4e06c1063155be10ce705c9afad7239e  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/53067.cc
 b47e7681460e40b5c1df86dc142afd37  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/citerators.cc
 ea59beeea0a61bf93c5e7a80f15609f0  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/cliterators.cc
 948b03d2d731c659fc25f853206af5ca  libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc
@@ -72779,18 +72986,18 @@ f8174636c44aeac108055a53715459e1  libstdc++-v3/testsuite/23_containers/vector/26
 0815aa6cca3269d09da6b5f65102e887  libstdc++-v3/testsuite/23_containers/vector/26412-2.cc
 7efe3b3f42cd2c0321d2484f77f6d67a  libstdc++-v3/testsuite/23_containers/vector/40192.cc
 0756705c30445b29721c1b4aa896d651  libstdc++-v3/testsuite/23_containers/vector/52591.cc
-0f3beb2fcf65c5f7948e844a71b6edeb  libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
-9585163e97bc61dccd486b2f25ff8f5a  libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
-105bd43e47844146ecf0a9cc9a09d14e  libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
-b683377ec417bc42b1852b0f85a390a2  libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
+0734d50b9fa9b89541eb564964c2c345  libstdc++-v3/testsuite/23_containers/vector/allocator/copy.cc
+3ea0f3c8e9ae7f0e7ce9e205623b519a  libstdc++-v3/testsuite/23_containers/vector/allocator/copy_assign.cc
+a526c7da97363a19a5e74fb4f9dd85b6  libstdc++-v3/testsuite/23_containers/vector/allocator/minimal.cc
+052745ac12c1d9c85fde9b896fc33715  libstdc++-v3/testsuite/23_containers/vector/allocator/move_assign.cc
 430191a473883c8d4ab5188073f08574  libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc
-c1f01345ccc5bc24b53bcff76c6b8e01  libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
+14db33a737c7b6e0f3a6464e32449ade  libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc
 a426e30801573a6f9cbf7308cda1cce4  libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
 117ac2c93f1c2eb222c19f25bca35cd7  libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
 6d4ee5fb17492bd1cd113c2d6710587a  libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc
 187190daedd57436eb1d8b48568edfd3  libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
 87f9ea2c099b864ddaadd02bfa806c31  libstdc++-v3/testsuite/23_containers/vector/bool/capacity/1.cc
-4e5c0645cacdd4e86273aa68e61cb0e8  libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
+8894bc2896a27689411cb8663993abe7  libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
 b32d511f5a7cda29a7798e542b5bfe68  libstdc++-v3/testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc
 29861a024ac246fe482812081ecc1539  libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
 d1d59167a51f7ff6f8df0118a13f120d  libstdc++-v3/testsuite/23_containers/vector/bool/cons/1.cc
@@ -72799,15 +73006,15 @@ d1259f6bcbe1f91eaff2dee87d7a45fb  libstdc++-v3/testsuite/23_containers/vector/bo
 e94fea032713c999c607b7829951638f  libstdc++-v3/testsuite/23_containers/vector/bool/hash/1.cc
 5d3ab8ed19b4779bf4ea6445aba27e02  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/erase/1.cc
 6c1c272dfea84e2cded957d383a8f867  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/1.cc
-69fc2a4057c7ec024573d079da67d35c  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
+07f612004c761a59e3f07b85b38e7638  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
 c4fa073d9288dc055efd9fecc3330a49  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/1.cc
 f8ea44df3a5667b64a0adb92c92d5724  libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/swap/2.cc
 e16b0d72dbca535f9d420940b41c8014  libstdc++-v3/testsuite/23_containers/vector/bool/requirements/citerators.cc
 e808744cbfe5b008d3d11314ff8aacb8  libstdc++-v3/testsuite/23_containers/vector/bool/requirements/dr438/constructor.cc
 0354dad4546fada7b86b11700eac6791  libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
 ae660eb8d1d4c8ae3952e9592b9d5154  libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
-f2a43b15e9ff312798b3cf4371efac89  libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
-f18f2639a5e6fef0e2bbe850a7fe0cbe  libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
+98d18ad3c6f8780a58f46f7a683f5c2f  libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
+22c8bc07859163947c1e16d7ec5ebdf3  libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
 5647e7dbfb3192841402bb76d3f9e668  libstdc++-v3/testsuite/23_containers/vector/capacity/44190.cc
 14c38a64a2f4f5de84354837bcca3804  libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
 7fa19ba7cf7f6da0cdcc5321043fc84f  libstdc++-v3/testsuite/23_containers/vector/capacity/reserve/moveable.cc
@@ -72816,8 +73023,8 @@ f18f2639a5e6fef0e2bbe850a7fe0cbe  libstdc++-v3/testsuite/23_containers/vector/ca
 64d56e93b01d854a0b5099369515690d  libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable.cc
 eebde9691d03cf22e3b4c380b4032c9e  libstdc++-v3/testsuite/23_containers/vector/capacity/resize/moveable2.cc
 6ed039da32564f705077f0e27647ba54  libstdc++-v3/testsuite/23_containers/vector/capacity/resize/resize_size.cc
-e63c91f38701dd0741987853c92f23d8  libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
-aed7d3614735c4d6579cbbd58fbe480d  libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
+7b7e2433ac1edc824b22a72e3bec7fde  libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
+4eef948a08aea451cd8fd81a720f6284  libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit2.cc
 a178b184bb62a41c68d2cedb645d56ad  libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
 c4793af5bd6b3fb4a261f3b2c28e792a  libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
 e4b25718da405d8db53452e9c3d5667f  libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
@@ -72880,7 +73087,7 @@ fb2e0dc899009628134ddf2a41cd535d  libstdc++-v3/testsuite/23_containers/vector/mo
 eba7feba5ac32c0d52bc338ac8839df8  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
 0d4f6109788b47e2a1850a6957d279a1  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
 52288375aa3fe6e734198c2778b158fb  libstdc++-v3/testsuite/23_containers/vector/profile/vector.cc
-b7c1b82a8321fa8f51b72c9ad86a9ac6  libstdc++-v3/testsuite/23_containers/vector/range_access.cc
+643df604885c603336734448676c230b  libstdc++-v3/testsuite/23_containers/vector/range_access.cc
 75a82cddd3e3392ec0b3abf836b041d6  libstdc++-v3/testsuite/23_containers/vector/requirements/citerators.cc
 b69ae3fa93f75877e35c1adee195a0b3  libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
 dd739a2786eef08ef287ed5856192e60  libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor.cc
@@ -72945,7 +73152,7 @@ a183ca22bd91213e6e32df0d28d25b07  libstdc++-v3/testsuite/24_iterators/ostreambuf
 cfd6f885789117a7baeedcd903c4b30f  libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc
 9440668c8156fa70d3c318553fb927ce  libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc
 65f97a787d8314d439bf8091d50298c0  libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc
-343f8d6ec4bb51b1be56824472c6df9b  libstdc++-v3/testsuite/24_iterators/range_access.cc
+8d1e9575841fb4daf917f0ae458cd87c  libstdc++-v3/testsuite/24_iterators/range_access.cc
 45e22eaaa30ebb97bc695306b3f21082  libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc
 36f3b21cddfbac2ee05f66142c5a7061  libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
 72b09b5cae6e39bb83868577c190f552  libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
@@ -72971,36 +73178,36 @@ f345b7bbf1c4527675d3d649c7e251ff  libstdc++-v3/testsuite/25_algorithms/any_of/re
 da781b1232a09cb424db782a9d2a06c5  libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
 7028cf06e63a5b2c176483512ff06897  libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc
 87523bc51a8f44d88d1c7056097eccf1  libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc
-047ea501bb25e044fa5f00b3aa1919e8  libstdc++-v3/testsuite/25_algorithms/copy/1.cc
-b90810b93d0fd4dc4081e68e963bad85  libstdc++-v3/testsuite/25_algorithms/copy/2.cc
-f7dcf3fd61ae56e436b8b7eb5dfe965f  libstdc++-v3/testsuite/25_algorithms/copy/3.cc
-57ab87d1af03cea59ee86be93bd5bd93  libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
-a10ec867a044656c37514e9fbbf29055  libstdc++-v3/testsuite/25_algorithms/copy/4.cc
-2290d5ebd7acd84beef70d0222b468f8  libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc
-b19a35aea7bf2cec33d8a62cde1384d7  libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
+306d396a2ec3d796f60d8ff00d90ac96  libstdc++-v3/testsuite/25_algorithms/copy/1.cc
+7dfb3695cd9c021e10425dfe40aab301  libstdc++-v3/testsuite/25_algorithms/copy/2.cc
+19654b2a3fd39ae65a6a0db84dd0d7ea  libstdc++-v3/testsuite/25_algorithms/copy/3.cc
+90f084dab9dd0588d75176ae809aa763  libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
+75d1523db86a276dd53739dae8afaa2c  libstdc++-v3/testsuite/25_algorithms/copy/4.cc
+70b84975b3aa51e7458218afca536327  libstdc++-v3/testsuite/25_algorithms/copy/deque_iterators/1.cc
+afe263fe201160d75b855cebf1d19ce9  libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
 f86a1689cd8d05212947ac36268b709b  libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/2.cc
 8cfae4b243ac4cd91e0d748400d71843  libstdc++-v3/testsuite/25_algorithms/copy/requirements/explicit_instantiation/pod.cc
-6d1312271a315992403846d4f5dd93c5  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
-e698d98ec0497a9ba2317a067292212e  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
-a100ea934eb816f4ec6c6ff108bfb2f2  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
-b122eb5135268b5b4a06aca8c8463b59  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
-0f0edccd6bf7a8f25aa674e7728d9906  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
-5c22ac9427c862a72efda1108c07a4e3  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
-63638e8beb925346749a1805a1321f1f  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
-3c5c8c4dd3e808c9e917db119e5b666d  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
-8619993426b6a1e6c298e9b4de6daa97  libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc
-eb6a6216e2c39953517687ab27623106  libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
+a912d20b9cd8966b483d3cab23cdaa67  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
+2b92ea79f121cb4fac8b0259a2f202f8  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
+922537ee4d1ffb553b654284a4f8c361  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
+55ab820d27a409185413146325206b64  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
+fcf483bb0f4b5c89435981b60d1d75a8  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
+f3dcbe401f6b680bc885f2cffb3137c7  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
+10a18b914f2a5a6016d453dbf0365a44  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
+695de3f16b2b3c362ed81946c66201b2  libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
+05a092a74fa4961f8ac5ef713b3e8a90  libstdc++-v3/testsuite/25_algorithms/copy_backward/deque_iterators/1.cc
+61b01a1cf3524632e44ef607076ea712  libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
 df118478f89582bb0e7bcbb63d194287  libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/2.cc
 65fd49c6d16cc0291c74b509f7b5742b  libstdc++-v3/testsuite/25_algorithms/copy_backward/requirements/explicit_instantiation/pod.cc
 30036ca5e3260a2dae5e773a8a07344a  libstdc++-v3/testsuite/25_algorithms/copy_if/check_type.cc
 8b817123215360ec42cd88427292c1bf  libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc
 6f1b1ced36ea21163224137b49dd4a0a  libstdc++-v3/testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc
-0f01b6d3c52bb5b9608709196316b857  libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
-0f7b7163ce2fed22b6c150cfb899dfbd  libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
-0b31072bbf128bd0da2f2b29f8ab299e  libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
-3c561783b2cbb6678ef574b8c6a3dd17  libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
-8e40c06bfaf7acb5d50cbc1aa916f03b  libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
-f77b46a99c7199165ca82010e3d4fb13  libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
+9e3e9bc99a5b6466227b0fc1b4abe879  libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
+c688c372b04bc47d12c91f8b00175fa5  libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
+d376c840a135bca2170a2e165247650c  libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
+285017538dbeb42ae01dfce9dd4a54ca  libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
+af70da53d4a4f0302fbac2ab55e0eab5  libstdc++-v3/testsuite/25_algorithms/copy_n/50119.cc
+5062fbb991ddb92d580e3ece3f9c7d57  libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
 7256ba89a9a6fe810a4122775a309997  libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/2.cc
 aba109aad30eb0a997c29be1a90ec09a  libstdc++-v3/testsuite/25_algorithms/copy_n/requirements/explicit_instantiation/pod.cc
 4371e2f42add906767cb2ce244c2926b  libstdc++-v3/testsuite/25_algorithms/count/1.cc
@@ -73025,10 +73232,10 @@ b12293169a4a84290711c4a4fecc6ae1  libstdc++-v3/testsuite/25_algorithms/fill/1.cc
 8fe66ad1ead5968088b82aeb1221ff82  libstdc++-v3/testsuite/25_algorithms/fill/2.cc
 67d4ff71c1b00532f77c604f622f1d27  libstdc++-v3/testsuite/25_algorithms/fill/3.cc
 2b1a4c974f200fbe4acb862c37dfb5f3  libstdc++-v3/testsuite/25_algorithms/fill/35725.cc
-a79d5d00d295c89e63e958ee1050630f  libstdc++-v3/testsuite/25_algorithms/fill/4.cc
+f14e8e97db1d00e865d4188c90a15323  libstdc++-v3/testsuite/25_algorithms/fill/4.cc
 e58aea5ea1ba549828a40b1c992f82b6  libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/2.cc
 53fe78928f5ac5d4436a87b400422ea9  libstdc++-v3/testsuite/25_algorithms/fill/requirements/explicit_instantiation/pod.cc
-5393f93bd561fae4c362db28aeff3ac1  libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
+d650fb2ee946b6679a16b5eda70c31b4  libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
 9358deffab8d7fa7e4c15e2cdbe95a61  libstdc++-v3/testsuite/25_algorithms/fill_n/25306.cc
 405783c78562a10c08dc7491c4b4cd52  libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc
 14856e5985f42112a6ac2cdf4eefc93e  libstdc++-v3/testsuite/25_algorithms/fill_n/requirements/explicit_instantiation/2.cc
@@ -73037,10 +73244,10 @@ e58aea5ea1ba549828a40b1c992f82b6  libstdc++-v3/testsuite/25_algorithms/fill/requ
 7d909516446504b20c2d1d36e7c4e634  libstdc++-v3/testsuite/25_algorithms/find/17441.cc
 f5a6aecd2f2e793ff7a21977599c4b44  libstdc++-v3/testsuite/25_algorithms/find/39546.cc
 a30c2b3501920ca9c3ec2c49b14a05bf  libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
-d7dc08c33fd58f0ae0246aee2e261f02  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
-1375aefafdaeaf4de848ada86037810e  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
-41ae2dfadb8b200ee13b7735d7d6a2a0  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
-e530edd516869056846924748abdb33d  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
+1f0b07b6c81fb1067e22fc0a495da601  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
+9f30ecffc932f6c5cbf8267556492748  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
+6fc14c1ce7fa120625f0e2f89edeae11  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
+0f600d3e6a4072838427193361523a13  libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
 e7e9de05493cfd0c5da771dba940599c  libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/2.cc
 b0557da55dc6bb6dea95da43b0358a2c  libstdc++-v3/testsuite/25_algorithms/find/requirements/explicit_instantiation/pod.cc
 34997dc0033bd5e7844f392385d701bb  libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
@@ -73074,9 +73281,9 @@ ece09d8c7e0acdca1900585103d6a59c  libstdc++-v3/testsuite/25_algorithms/headers/a
 007b228a7fa5120d21575f281d03fa22  libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
 41904268f603341145d56d549ac6c6fc  libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
 c1ede722d0ad844c9afbd8cc4ab13170  libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc
-93c60411738f6d9f2a500c822bafcb01  libstdc++-v3/testsuite/25_algorithms/heap/1.cc
-d0eb8e773ab464107ecaec76f4b4093e  libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
-4db1352e0af41e310701bf5b06cea7a8  libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
+2d0c34a1a61e7f17705ab34f8b35d35c  libstdc++-v3/testsuite/25_algorithms/heap/1.cc
+f0c68410f055fd2580c8252ca53a5a40  libstdc++-v3/testsuite/25_algorithms/heap/moveable.cc
+9da681f189a7eb2d4ecaff676bec3a1f  libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
 89f17fffa1b22feb34bfa0e83fdcd28c  libstdc++-v3/testsuite/25_algorithms/includes/1.cc
 a29fe22db23d68fcb8e81f86b0616c4d  libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
 5641dd6c3daf38ab51683488e3e9af79  libstdc++-v3/testsuite/25_algorithms/includes/requirements/explicit_instantiation/2.cc
@@ -73088,10 +73295,10 @@ cb0a03e74a3f1864314cf49d1a072d69  libstdc++-v3/testsuite/25_algorithms/inplace_m
 18b2c84f29ba4dc7c1b4e646d4f14b76  libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc
 d007b07d58e3db9dc4f1ddd79352e38e  libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/2.cc
 21f6eabf4267892699fcd60a83eb49f8  libstdc++-v3/testsuite/25_algorithms/inplace_merge/requirements/explicit_instantiation/pod.cc
-a168db0f1d18272f277ccd15215a8e83  libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
+2763bbd2944c2d802cea612b7648f48f  libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
 838258044edfb63a90758e966ce55791  libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/2.cc
 0d33b6bc932630046a3db7e86d8c8328  libstdc++-v3/testsuite/25_algorithms/is_heap/requirements/explicit_instantiation/pod.cc
-bd3289732d42a006cb840b2c3cf4fd13  libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
+878b98e5a487ec957f98a083184536f8  libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
 8b02fd7a58913818db67911730167719  libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/2.cc
 67baa074a8dafabd907d823a18fbf80a  libstdc++-v3/testsuite/25_algorithms/is_heap_until/requirements/explicit_instantiation/pod.cc
 2027ac9c825b9cf6b72ecd442e0b5efa  libstdc++-v3/testsuite/25_algorithms/is_partitioned/1.cc
@@ -73102,10 +73309,10 @@ aa51aa6bd02a00500757abbf3a00711f  libstdc++-v3/testsuite/25_algorithms/is_partit
 09f2b580a7299aa4533bf965e1c001f6  libstdc++-v3/testsuite/25_algorithms/is_permutation/check_type.cc
 85f486efe60669daa57becdc51d1c78d  libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc
 327f567722cdc7f9998c9a0e1a403f8d  libstdc++-v3/testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc
-a8b95375547b672efdb2a7687c277be7  libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
+1927020ac2af22df887b92c085a31d6d  libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
 e978b293ff6b31dd6a5c40cb1f66e918  libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/2.cc
 5bdba215948b7ac4f31ad23e34d0919a  libstdc++-v3/testsuite/25_algorithms/is_sorted/requirements/explicit_instantiation/pod.cc
-5da0af07b7b383aced5290393a7843ae  libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
+44e3843d07c894f34f95fd2c07c2992b  libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
 ed95ad21f8970ede488be5b394e07016  libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/2.cc
 0656395fb2bb82ac7e0cbd6cd4faa5f1  libstdc++-v3/testsuite/25_algorithms/is_sorted_until/requirements/explicit_instantiation/pod.cc
 ea6afecd03bb76cd01b003ab0914a69c  libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
@@ -73168,12 +73375,12 @@ db0c475b5b9d7df34082ae88d3dc1f58  libstdc++-v3/testsuite/25_algorithms/minmax_el
 52961bd8cb524f6a6d7f178dd5b7db5b  libstdc++-v3/testsuite/25_algorithms/minmax_element/requirements/explicit_instantiation/pod.cc
 26b3c674c395a7bd7be09f5baad382b8  libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
 cd7176827e7ab3066a85ea272575bf0f  libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
-bbf37097d3d14dcf74e85f17983cde32  libstdc++-v3/testsuite/25_algorithms/move/1.cc
-894f338108973ace75e73131e676532d  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc
+459ef1f7549b4968d81c7485ac99218e  libstdc++-v3/testsuite/25_algorithms/move/1.cc
+802372a78af8f151ef47a89819bf540d  libstdc++-v3/testsuite/25_algorithms/move/deque_iterators/1.cc
 924346019013844036a2ba5363e45760  libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/2.cc
 3e9ec53cb901a3f10494283bafec88fa  libstdc++-v3/testsuite/25_algorithms/move/requirements/explicit_instantiation/pod.cc
-6deba0547f076ec7f664baab58cdbd1c  libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
-ced7744c0e9a8c39afc6113a69477bea  libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc
+c63af4b802bf8d35085ba4db0eff188b  libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
+639a1621e81c98b6eda4d20625950ef1  libstdc++-v3/testsuite/25_algorithms/move_backward/deque_iterators/1.cc
 87e977c2056caf53bf3ca6badbfcfac1  libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/2.cc
 fb9839b50766fe016a636c6518ad1e63  libstdc++-v3/testsuite/25_algorithms/move_backward/requirements/explicit_instantiation/pod.cc
 935b578080195d5dde68303e462f052b  libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
@@ -73204,8 +73411,8 @@ e92b2f8efa4e526d2dc57aa936ffafa7  libstdc++-v3/testsuite/25_algorithms/partial_s
 69dd222190ee18627793bd7829716a69  libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc
 efa95aed92131f78cedb214dc89c2820  libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/2.cc
 e883d9eae9fdf70f7ee76d0be1e5d6c4  libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/requirements/explicit_instantiation/pod.cc
-ef2cdef5a60bc777eb0c237ca4b13bf1  libstdc++-v3/testsuite/25_algorithms/partition/1.cc
-98091b4ac5ca5288ea9ce67a9b1934b0  libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
+f98cbdb44196ed690ed59b253a728e15  libstdc++-v3/testsuite/25_algorithms/partition/1.cc
+1e419204031e992c0bd8aff8a2037805  libstdc++-v3/testsuite/25_algorithms/partition/moveable.cc
 2fe73b6cede14dfc17aa9d11780be972  libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc
 003a2330383c11a93e56af5d6ee8958b  libstdc++-v3/testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc
 ff921ce6bab3bddb4932d0a4a1c48e23  libstdc++-v3/testsuite/25_algorithms/partition_copy/1.cc
@@ -73216,8 +73423,8 @@ f0200837d9eb006550d039c1915eaf9b  libstdc++-v3/testsuite/25_algorithms/partition
 23e672c32ca474eb65a361499c9ac6f8  libstdc++-v3/testsuite/25_algorithms/partition_point/check_type.cc
 95fd4ddb14e949144757963eee7781dc  libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc
 03a5a882d5ae60c223c91cb561eeafde  libstdc++-v3/testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc
-87ed7a53a44c571be2fd0043a838988e  libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
-8170c6a284a01be03b31c73b4ac9bfdd  libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
+be3ceaf0f6a144a61c682b2ce93e348a  libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
+6910b142e6e01d90dc413ab0199128e5  libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
 91edf3d9dbada94b77d7756d111164b7  libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/2.cc
 c0f2347ae4a225b5c7348ab35588ecae  libstdc++-v3/testsuite/25_algorithms/pop_heap/requirements/explicit_instantiation/pod.cc
 60817ce24d25329b53fc261023da34be  libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
@@ -73318,10 +73525,10 @@ c19282a247adc7a7fe30049ba6bcd964  libstdc++-v3/testsuite/25_algorithms/sort/requ
 378c32d980a9d272400dab0144a1af06  libstdc++-v3/testsuite/25_algorithms/sort_heap/check_compare_by_value.cc
 070f5dce1aa1ecbe817324b89b8392a8  libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/2.cc
 6825dc18b4a45d16309afaef4309e612  libstdc++-v3/testsuite/25_algorithms/sort_heap/requirements/explicit_instantiation/pod.cc
-95dd562f875ab1ad025af8f5e7627dd8  libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
+79ee3e8cf1fa68777dd33429541008a4  libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
 4436615a8b826e9296b98842a6271513  libstdc++-v3/testsuite/25_algorithms/stable_partition/mem_check.cc
-25ac0351868853f6c6756f662640eeb2  libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
-78bf5650fa555787a4ea4b5ebd7bbba7  libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
+a63d90a4a48758d8959cbc252de40085  libstdc++-v3/testsuite/25_algorithms/stable_partition/moveable.cc
+262066b3cb1bc4f66905921be86e5f64  libstdc++-v3/testsuite/25_algorithms/stable_partition/pr52822.cc
 ca5373fb18255ac947979017c5cf18d8  libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc
 5babee6ae2ec8c37e0f36236bde01a16  libstdc++-v3/testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc
 f1a30a016483e7d34297650f9c40f1bd  libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
@@ -73467,6 +73674,7 @@ f1509ede833510239e2a92fec7ce69c7  libstdc++-v3/testsuite/26_numerics/random/chi_
 96c86508c8faf3db5de7bb02e59efaa8  libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
 f275215152e50ded8f151c196bd71ef2  libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/typedefs.cc
 45daf5fd44a0a274bc4a04e5e690e161  libstdc++-v3/testsuite/26_numerics/random/default_random_engine.cc
+33853991cfa80f257825928a51d9233a  libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc
 5c55d553f55538c3690fa39273760938  libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc
 c53bc847adf1cdca2a9e8048d0058b3f  libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc
 1bf8d01b720277317f83f165b0abc7c1  libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/copy.cc
@@ -73527,6 +73735,7 @@ a06e82bfb281f0f749e543b7650e762e  libstdc++-v3/testsuite/26_numerics/random/geom
 eb271947767687cd1517c292b1a9617d  libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/values.cc
 581a8d93641121e6012f7d5383dfd7ab  libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
 067f828d5d323bedd0887d1a9afed73b  libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/typedefs.cc
+c3ee6039d008ea800b746e249ea03439  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc
 5784613d655766dd26f294c017a3a33a  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc
 2520fcb1cc483654a14a96c0e1d34b21  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc
 655f6f97368f7454c4e3fe236d37ae95  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc
@@ -73540,6 +73749,7 @@ e95ba161cb9a963c4ee23cb2e8944eb4  libstdc++-v3/testsuite/26_numerics/random/inde
 fe14b1b5ffe1f02754f7c83542ecb9ca  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/constexpr_functions.cc
 476d898b9182856905ad5a3cc2eb5e6c  libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc
 a24d980a29bf729dd2795aa86b42bb1a  libstdc++-v3/testsuite/26_numerics/random/knuth_b.cc
+59238694c81f2a290a2b4e25e4841ba9  libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc
 59c2a056b4b4a7b7f02d08937a8ccb91  libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/copy.cc
 eaa4baf27ed3dc11a54cd2a2a82439fc  libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/default.cc
 cee88919a5a6c576e41045909dc3c1c2  libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/seed1.cc
@@ -73560,6 +73770,7 @@ bf5d95764d182d7faf2b330c921a9f6a  libstdc++-v3/testsuite/26_numerics/random/logn
 3fec944d0ccfdc858d8c9f31232a88b9  libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/serialize.cc
 aeb132fc29320d8f4e13429b10b1f147  libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
 94635867cb94041b2a3a76f58fe7272b  libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/typedefs.cc
+127bbbb000bbb36f811c65b475484778  libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc
 45f3cd3be9ee6b7a5b3071a357ea2334  libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/copy.cc
 c78c51ae08acc4408983ad1ffb18b00c  libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc
 19f98fa763d73de986d710b218621166  libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc
@@ -73630,6 +73841,7 @@ e661cf5e5dd84dd47996f5a165c3c7a8  libstdc++-v3/testsuite/26_numerics/random/ranl
 4374b3fb2845628ef01fbfca27023455  libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/initlist.cc
 95e880f18e222b7741bc139f115a96bf  libstdc++-v3/testsuite/26_numerics/random/seed_seq/cons/range.cc
 30e10cfa196d45b1dda5764f7fb05f67  libstdc++-v3/testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc
+f73191a1381f957635157cf56c3f685b  libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc
 1f770255b3134dda5c3fe7ae82ff2af4  libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc
 1fa3f77b537d4f9e93f5e36e00058113  libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc
 9c5b79f9320eff13c6adc9e204705a59  libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/copy.cc
@@ -73651,6 +73863,7 @@ fde08a698c6d84a7dffb85de77c0fba0  libstdc++-v3/testsuite/26_numerics/random/stud
 c84148ff70d8dda39fde5e8dd38c32b5  libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/serialize.cc
 0a5b517a46eedb16463ff903a9fbd7c8  libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
 ca09dcecd9ecb27eb4e7422b1e14bef8  libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/typedefs.cc
+2284c0770283d3bbbe9270728fa702c7  libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc
 0fcee74d3eac2df69ab6ed14a21b004b  libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc
 8cda3e439ca08b46e08ef3fe0959d7bd  libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc
 ba8e0a88247ee075bfb4e279844c05dd  libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc
@@ -73705,7 +73918,7 @@ a2dc4bdcdafd25543ae04c12a112d7e9  libstdc++-v3/testsuite/26_numerics/valarray/mo
 a5b0e8307bcfdf69f506d2502a27b981  libstdc++-v3/testsuite/26_numerics/valarray/name_lookup.cc
 0ad3eb1fcd520c0fbca1ec62bcf8c52e  libstdc++-v3/testsuite/26_numerics/valarray/noexcept_move_construct.cc
 5a44981080f4208472d027318fa6c368  libstdc++-v3/testsuite/26_numerics/valarray/operators.cc
-ef6674708545ec31770a8205d25c9c70  libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
+4b0d597d3446fdd91cb4fd3c87b3be5e  libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
 ee9d82055fe9af764a25c1535f6f6b04  libstdc++-v3/testsuite/26_numerics/valarray/requirements/explicit_instantiation.cc
 1e8b0449b03e1c7b265ad53ec6bbe7e7  libstdc++-v3/testsuite/26_numerics/valarray/requirements/typedefs.cc
 243d345baa6d62a7296e469c75dd2712  libstdc++-v3/testsuite/26_numerics/valarray/subset_assignment.cc
@@ -74647,7 +74860,7 @@ d714aa976f31e0507ba038caf19e6c1a  libstdc++-v3/testsuite/28_regex/iterators/rege
 59e700ee5a7547dc601fe91ae172eb9f  libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
 b862932e75c8b8f4702231102526c1e7  libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
 5ac76cdff6be4ded046f6fd3e483045d  libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
-1130f553eafe1cb8f09969675dbb6a8c  libstdc++-v3/testsuite/28_regex/range_access.cc
+9664279ba7fc83f3b9575eaa0f8420fa  libstdc++-v3/testsuite/28_regex/range_access.cc
 cf4a877537b5b31b52d8496dfe326990  libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
 4147599b959892a201fc02dfc18b5e60  libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
 55c84eec3e442ccf32bcb6f764021ab4  libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
@@ -74680,6 +74893,7 @@ cb0ae8206956bd5cd60cd8b133fc6002  libstdc++-v3/testsuite/29_atomics/atomic/cons/
 72e18fd34035398d1da543f4eeb728d1  libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc
 d14fb6727e295c7465106e1e73124282  libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc
 5b80e4012b0f26b9dfd2ba764569c456  libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
+8fdf8461992e8538f5db9ba9b0d400ed  libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
 9f5150607d474c27be583d4d37d97172  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
 2482bcc46950cc38c3f4485e4ccf7aaa  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
 e8fcd585b3dcc873285ec697dc8d3a79  libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
@@ -74687,6 +74901,7 @@ e8fcd585b3dcc873285ec697dc8d3a79  libstdc++-v3/testsuite/29_atomics/atomic/opera
 29b0b823be4f67ee7f36f3f169885595  libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
 2f4e197712220d796f200b2ca9017d3d  libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc
 47f4782cceb69d95f9d26abece6214e7  libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc
+60771f8026a4ddd5c99ffdf521f4d0cc  libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc
 9a64c6f4978e5fd433e25b54bc6c59a4  libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc
 6a3d1ade89524f8c01522e952810f969  libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc
 6e516e6f5fb4c9f33d9b07ec3343f5d0  libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc
@@ -74735,6 +74950,7 @@ dcc9abe05a2192e5cc394d413115dc71  libstdc++-v3/testsuite/30_threads/condition_va
 a0899226a3915419b64612fe35f44a7f  libstdc++-v3/testsuite/30_threads/condition_variable/cons/copy_neg.cc
 18df2d439c30b6bf949263be80bd0ba9  libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc
 f19aaa6cb227493cd09399e30cf787d6  libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc
+aaf1bacac3be398168ee53bd5bd4448e  libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc
 6c15bcbab0824a8e12207ca95e4b01b3  libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc
 3ec87885135bd78ac4ce271188a43e53  libstdc++-v3/testsuite/30_threads/condition_variable/requirements/standard_layout.cc
 726980226da2a16a70a3848dfdc1749b  libstdc++-v3/testsuite/30_threads/condition_variable/requirements/typedefs.cc
@@ -74772,7 +74988,7 @@ e54cd35d15d393479ef3f10f65174280  libstdc++-v3/testsuite/30_threads/lock/1.cc
 17a2378b0de4cec0c98f7a601220c7b5  libstdc++-v3/testsuite/30_threads/lock/2.cc
 2b5b396bade376a3044cb9a8039b276f  libstdc++-v3/testsuite/30_threads/lock/3.cc
 bc41beecebb6b0c1716dcabf52924c90  libstdc++-v3/testsuite/30_threads/lock/4.cc
-d64650a59e4ab6ec4f2f026285a8fe43  libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
+5a40b1e19c0fdb62ac7cc59ee85eb375  libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc
 72b81ab47814615fb87cbd8a7b4531a9  libstdc++-v3/testsuite/30_threads/lock_guard/requirements/explicit_instantiation.cc
 740d0d45d87cf8564c3b6cacc82355f5  libstdc++-v3/testsuite/30_threads/lock_guard/requirements/typedefs.cc
 677e9cfbfcb1d3dc4c9c5785d12250c4  libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
@@ -74900,6 +75116,7 @@ f7979b92568da18736d9a70c53c6a847  libstdc++-v3/testsuite/30_threads/thread/cons/
 9b3d0d11e9e4a68875fa020f696261bd  libstdc++-v3/testsuite/30_threads/thread/members/4.cc
 bf28658c25b5ca15e1a97c1237bd0fda  libstdc++-v3/testsuite/30_threads/thread/members/5.cc
 89c0de581d8b66a9194d8666d0516789  libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc
+1ed5b48e60d36ef608f29c753aba2152  libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc
 916ae86788f8999c4ba580e06f329f39  libstdc++-v3/testsuite/30_threads/thread/native_handle/typesizes.cc
 c98d9228162fccaf300419db930a5bee  libstdc++-v3/testsuite/30_threads/thread/swap/1.cc
 01f6fcc7bf8420833ab7430f8ba9a177  libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
@@ -74938,7 +75155,7 @@ b9f1e9df5b96f1bee5319c9f9e39bd85  libstdc++-v3/testsuite/30_threads/unique_lock/
 21a9715a13af44f1081de381917562a4  libstdc++-v3/testsuite/30_threads/unique_lock/requirements/explicit_instantiation.cc
 60ce61cd1da6f10fecccb306dc296523  libstdc++-v3/testsuite/30_threads/unique_lock/requirements/typedefs.cc
 fe944fceb32a796e50ffc90779638919  libstdc++-v3/testsuite/Makefile.am
-e5498c7eb58bff29d864dff626cfbbb5  libstdc++-v3/testsuite/Makefile.in
+35ee39bd199ffb0a5d3e9188e8f389bd  libstdc++-v3/testsuite/Makefile.in
 df2f4f01f10ff329bdc130014310ce5a  libstdc++-v3/testsuite/abi/30586.cc
 25a3d840a0ef2a18becbbfaa9cb65589  libstdc++-v3/testsuite/abi/cxx_runtime_only_linkage.cc
 7cef5cd27bb8855db75202338678f7f8  libstdc++-v3/testsuite/abi/demangle/abi_examples/01.cc
@@ -75289,14 +75506,14 @@ fb180e0a3b442aa108971fed9b1c4d47  libstdc++-v3/testsuite/ext/throw_value/cons.cc
 f9caaa8f867c0c816117f98fa3352f5b  libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
 3f4ada19192fbf3bdbb17abc1f0648d7  libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
 db9ee970a506a898b92152e2100be68e  libstdc++-v3/testsuite/ext/vstring/assign/move_assign.cc
-0fbb5a8dac7587906d4ede633235be8b  libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
-ef5b5c5b5fd73a0384df595ff58e3f61  libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
+012cf4aab1734b7929b6bf25a5f4cf00  libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
+93a40fbc8abfa9a2378f26a084945929  libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
 f4eb051b6d544f86b5e4158af9e7ccca  libstdc++-v3/testsuite/ext/vstring/cons/moveable.cc
 a0e9d5881ad80b4d5d7c98bcc48d45d5  libstdc++-v3/testsuite/ext/vstring/cons/noexcept_move_construct.cc
 ebaa97639949b2e2a933d88300b04d9b  libstdc++-v3/testsuite/ext/vstring/element_access/char/front_back.cc
 d4c0482dc8e9b4e7893239413224693d  libstdc++-v3/testsuite/ext/vstring/element_access/wchar_t/front_back.cc
-c6f326fa92f0363c8d6351040efe0f10  libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
-6eecf953fa7c3f84a809e346faa1c2a6  libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
+a3297e5735a1f740389f8a95a63531c6  libstdc++-v3/testsuite/ext/vstring/hash/char/1.cc
+547a35ed0beafde2aa9609b8c73d20b7  libstdc++-v3/testsuite/ext/vstring/hash/wchar_t/1.cc
 6cd8e44aaedb415db0b5f9d3061b0f0b  libstdc++-v3/testsuite/ext/vstring/init-list.cc
 6353642ac968e2b1bf0c0065c6b81022  libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc
 8bda6a7dfea80a963a37c39f6e5867ff  libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc
@@ -75304,7 +75521,7 @@ c6f326fa92f0363c8d6351040efe0f10  libstdc++-v3/testsuite/ext/vstring/hash/char/1
 582cd4c99523204bbf051b6f196f2724  libstdc++-v3/testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc
 92c17a1ec43c43ffc33f4d16449e7078  libstdc++-v3/testsuite/ext/vstring/operators/1.cc
 86366b66829d42adef2899831b40d4c1  libstdc++-v3/testsuite/ext/vstring/operators/2.cc
-682d19b4c835546e46801137e3f33dca  libstdc++-v3/testsuite/ext/vstring/range_access.cc
+584d398f5fc50ea4f45891f22f461cda  libstdc++-v3/testsuite/ext/vstring/range_access.cc
 c5aecd96842177116db930bc29e34520  libstdc++-v3/testsuite/ext/vstring/requirements/citerators.cc
 acc62643f81882c165240a383cd2952e  libstdc++-v3/testsuite/ext/vstring/requirements/dr438/constructor.cc
 819362c42f4fe4e0242e07090678d999  libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc
@@ -75364,8 +75581,8 @@ e2532ac4f83869b8f483c443e22d7c28  libstdc++-v3/testsuite/performance/23_containe
 6996443b0d8e4a78d345a3f3fdfc45f4  libstdc++-v3/testsuite/performance/23_containers/range_construct/vector_construct.cc
 7d5473d1a88566a6f0e99de7f49bb4b4  libstdc++-v3/testsuite/performance/23_containers/resize/vector_bool.cc
 9cbc11be0dedb8f99a1848297b634259  libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
-72edae078c3b13e2f3e1f5b46a8ce50f  libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc
-64744a19aba8052d51b5306039b4cde4  libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc
+aa99e264ce0cf2f5fa6d5d48a8274724  libstdc++-v3/testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc
+6b997f9ff45e5974bf92f58c041a0cf9  libstdc++-v3/testsuite/performance/25_algorithms/copy_deque_iterators.cc
 9b9d045d9e84b463e47a95a15ff88849  libstdc++-v3/testsuite/performance/25_algorithms/copy_streambuf_iterators.cc
 e03d3463dbc078b6f3d327e47aea4219  libstdc++-v3/testsuite/performance/25_algorithms/find_istreambuf_iterators.cc
 64eb7c165a62563efcb41700f70235d1  libstdc++-v3/testsuite/performance/25_algorithms/lexicographical_compare.cc
@@ -75473,6 +75690,7 @@ fe25cb30a6fabd7c4246a8e06a336453  libstdc++-v3/testsuite/tr1/3_function_objects/
 4aea96f7370a8a3ce80b88ce13a17440  libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
 7b321c58931cab8abe455a7d4209224c  libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
 99ea5024fe9f4a7124c5c9f39d75dcce  libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
+80e8783e30e0498ab94906dc22f8a83d  libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc
 ca9d0c8365063a833a8d8867485956ca  libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
 3c7b0b0ef12b62647fdc1afa866d53f3  libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
 ce657961bfe09d80cbb6129f99293f47  libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
@@ -75864,7 +76082,7 @@ ec5c33f4b307882fd646f5f491e7f118  libstdc++-v3/testsuite/tr1/6_containers/tuple/
 9711bd099711df233664aa0ddb10353c  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
 2795b0d5e644fa7e6818a3d40826afc7  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
 c6082739cf512746b604b7bc0a6b71f7  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc
-6795e233070414711dd10b9d0ea74c88  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
+e9c18f879de8639703a14ac53a506e15  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
 f045d457cd7507bf875799d3386a182b  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/1.cc
 ae5d5ddf9d64bdd34327f65daca0adca  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc
 004f8a6420af64daa6ad37f10e52611a  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc
@@ -75878,7 +76096,7 @@ ce4609ad1b46177e20198e22b3d12def  libstdc++-v3/testsuite/tr1/6_containers/unorde
 64ecb335a075a5964207d2c48e1c345e  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/typedefs.cc
 f6d51f98b4a083213892865b7ac2ee2d  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc
 cd120ceed343b36c19947dec14bfe599  libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc
-50b758bf3c0e7a5f8ebfc2dae2a2b46b  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
+b46a9e095b63cd2986702e394a7dc04b  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
 db33a8ae5f1237e32bbc9abab89a6583  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/1.cc
 d3dc4db241383f627769c9d419ce2d4a  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc
 477630acb4b64e1e02b719f4af90a60b  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc
@@ -75892,7 +76110,7 @@ da7d3b229b6957564d7e876d2fbc319b  libstdc++-v3/testsuite/tr1/6_containers/unorde
 57876ad98f1c50425fbc2c1038acd2ff  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc
 7cba2354c0dde3ce29aca0d71dac0096  libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc
 0160b47e8e9ba87b14d04882759dee49  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc
-0f8d596c076ad6ec3eb17c5c7441104e  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
+254a63fed1cbf114179cddedf8dc01e2  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
 52514f67f04a76ce0c67bea387f57b67  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/1.cc
 c719fa9a13b03134e86a8c3061624cdf  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc
 c6b9a3f09acbf2e479812dbce598b4cc  libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc
@@ -75909,7 +76127,7 @@ d5896c660632fb598323c0d346588dd2  libstdc++-v3/testsuite/tr1/6_containers/unorde
 21816654cce5764cf91a62528ef9509d  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc
 5c21d24e5a75cce3071ece243e6212ca  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc
 00356f389fa58804da7bdc37cd4a4c2e  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc
-15a550fed6b673fa0fccd55d078d81a9  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
+56446d876a3c1612f0d752d506927699  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
 2c467ca04af11911d46369266867ed54  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/1.cc
 da49034cf29adc9ab88db9e638881b24  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc
 0c1b022a4051b7f416effb5bb21eb2ab  libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc
@@ -76111,7 +76329,7 @@ e980c4d943ac2af18dcbc35297afbdc6  libstdc++-v3/testsuite/util/thread/all.h
 b9f3c47af2578b79556486a250abb2d6  libtool.m4
 247597a3fcc5b5aa8bd923351c59d853  ltgcc.m4
 01d0921596c9fa4d9a7add89fd6fc1f1  ltmain.sh
-fa218cbc7917cf2173488f29eb3b40e6  lto-plugin/ChangeLog
+792b770260f9880e4e2a0951ecfcbc2e  lto-plugin/ChangeLog
 266147278cdeeab779ac75a4c3e2ee6d  lto-plugin/Makefile.am
 db5afb8268c8a17e49d078936ef6fdbc  lto-plugin/Makefile.in
 e0b6c77fa2326a08aa2d7a69e87e0f8c  lto-plugin/aclocal.m4
@@ -76124,7 +76342,7 @@ dee72a6a60e99528b0d17bf3ff9a1e15  ltoptions.m4
 bc2f6032c98896249eadb56177c7d357  ltsugar.m4
 c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
 293853a13b7e218e3a4342cf85fbbf25  lt~obsolete.m4
-229d23e53b5f66e19c49b056c5cf7164  maintainer-scripts/ChangeLog
+ca418fc2789fce20ba71873763311593  maintainer-scripts/ChangeLog
 33c7bc2d2c55956dfac85a05d8a80eff  maintainer-scripts/README
 9da77d76af7c8671c3ba55aba271bef6  maintainer-scripts/crontab
 8c8d4248e14c842a3c7f7e8f3bffbb0f  maintainer-scripts/gcc_release
@@ -76138,7 +76356,7 @@ fbe2467afef81c41c166173adeb0ee20  mkdep
 f1fff2ea196cbf6fe4634bc3edc5af4d  move-if-change
 cf2baa0854f564a7785307e79f155efc  symlink-tree
 69678e72941d681665c3731bfb3044ab  ylwrap
-2dca5000ebe68fed5ec1400951a07758  zlib/ChangeLog
+b76404ae83c5284ee6a406bc8be87945  zlib/ChangeLog
 4131513ea1209900aceccc89fe05ecc8  zlib/ChangeLog.gcj
 2f46720fda5ab68a1e495009895d874c  zlib/FAQ
 8851ace55681b1664d97c045d71e339b  zlib/INDEX
diff --git a/NEWS b/NEWS
index 216d337..f2fba1e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,26 +6,30 @@ see ONEWS.
 
 ======================================================================
 http://gcc.gnu.org/gcc-4.7/index.html
+
                              GCC 4.7 Release Series
 
-   September 20, 2012
+   April 11, 2013
 
    The [1]GNU project and the GCC developers are pleased to announce the
-   release of GCC 4.7.2.
+   release of GCC 4.7.3.
 
    This release is a bug-fix release, containing fixes for regressions in
-   GCC 4.7.1 relative to previous releases of GCC.
+   GCC 4.7.2 relative to previous releases of GCC.
 
 Release History
 
+   GCC 4.7.3
+          April 11, 2013 ([2]changes, [3]documentation)
+
    GCC 4.7.2
-          September 20, 2012 ([2]changes)
+          September 20, 2012 ([4]changes, [5]documentation)
 
    GCC 4.7.1
-          June 14, 2012 ([3]changes)
+          June 14, 2012 ([6]changes, [7]documentation)
 
    GCC 4.7.0
-          March 22, 2012 ([4]changes)
+          March 22, 2012 ([8]changes, [9]documentation)
 
 References and Acknowledgements
 
@@ -33,55 +37,61 @@ References and Acknowledgements
    supports several other languages aside from C, it now stands for the
    GNU Compiler Collection.
 
-   A list of [5]successful builds is updated as new information becomes
+   A list of [10]successful builds is updated as new information becomes
    available.
 
    The GCC developers would like to thank the numerous people that have
    contributed new features, improvements, bug fixes, and other changes as
-   well as test results to GCC. This [6]amazing group of volunteers is
+   well as test results to GCC. This [11]amazing group of volunteers is
    what makes GCC successful.
 
-   For additional information about GCC please refer to the [7]GCC project
-   web site or contact the [8]GCC development mailing list.
+   For additional information about GCC please refer to the [12]GCC
+   project web site or contact the [13]GCC development mailing list.
 
-   To obtain GCC please use [9]our mirror sites or [10]our SVN server.
+   To obtain GCC please use [14]our mirror sites or [15]our SVN server.
 
 
     For questions related to the use of GCC, please consult these web
-    pages and the [11]GCC manuals. If that fails, the
-    [12]gcc-help@gcc.gnu.org mailing list might help. Comments on these
+    pages and the [16]GCC manuals. If that fails, the
+    [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
     web pages and the development of GCC are welcome on our developer
-    list at [13]gcc@gcc.gnu.org. All of [14]our lists have public
+    list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
     archives.
 
-   Copyright (C) [15]Free Software Foundation, Inc. Verbatim copying and
+   Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
    distribution of this entire article is permitted in any medium,
    provided this notice is preserved.
 
-   These pages are [16]maintained by the GCC team. Last modified
-   2012-09-20[17].
+   These pages are [21]maintained by the GCC team. Last modified
+   2013-04-11[22].
 
 References
 
    1. http://www.gnu.org/
    2. http://gcc.gnu.org/gcc-4.7/changes.html
-   3. http://gcc.gnu.org/gcc-4.7/changes.html
+   3. http://gcc.gnu.org/onlinedocs/4.7.3/
    4. http://gcc.gnu.org/gcc-4.7/changes.html
-   5. http://gcc.gnu.org/gcc-4.7/buildstat.html
-   6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
-   7. http://gcc.gnu.org/index.html
-   8. mailto:gcc@gcc.gnu.org
-   9. http://gcc.gnu.org/mirrors.html
-  10. http://gcc.gnu.org/svn.html
-  11. http://gcc.gnu.org/onlinedocs/
-  12. mailto:gcc-help@gcc.gnu.org
+   5. http://gcc.gnu.org/onlinedocs/4.7.2/
+   6. http://gcc.gnu.org/gcc-4.7/changes.html
+   7. http://gcc.gnu.org/onlinedocs/4.7.1/
+   8. http://gcc.gnu.org/gcc-4.7/changes.html
+   9. http://gcc.gnu.org/onlinedocs/4.7.0/
+  10. http://gcc.gnu.org/gcc-4.7/buildstat.html
+  11. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+  12. http://gcc.gnu.org/index.html
   13. mailto:gcc@gcc.gnu.org
-  14. http://gcc.gnu.org/lists.html
-  15. http://www.fsf.org/
-  16. http://gcc.gnu.org/about.html
-  17. http://validator.w3.org/check/referer
+  14. http://gcc.gnu.org/mirrors.html
+  15. http://gcc.gnu.org/svn.html
+  16. http://gcc.gnu.org/onlinedocs/
+  17. mailto:gcc-help@gcc.gnu.org
+  18. mailto:gcc@gcc.gnu.org
+  19. http://gcc.gnu.org/lists.html
+  20. http://www.fsf.org/
+  21. http://gcc.gnu.org/about.html
+  22. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.7/changes.html
+
                              GCC 4.7 Release Series
                         Changes, New Features, and Fixes
 
@@ -109,15 +119,15 @@ Caveats
           + Tru64 UNIX V5.1 (alpha*-dec-osf5.1*)
      * On ARM, when compiling for ARMv6 (but not ARMv6-M), ARMv7-A,
        ARMv7-R, or ARMv7-M, the new option -munaligned-access is active by
-       default, which for some source codes generates code that accesses
-       memory on unaligned addresses. This will require the kernel of
-       those systems to enable such accesses (controlled by CP15 register
-       c1, refer to ARM documentation). Alternatively or for compatibility
-       with kernels where unaligned accesses are not supported, all code
-       has to be compiled with -mno-unaligned-access. Linux/ARM in
-       official releases has automatically and unconditionally supported
-       unaligned accesses as emitted by GCC due to this option being
-       active, since Linux version 2.6.28.
+       default, which for some sources generates code that accesses memory
+       on unaligned addresses. This requires the kernel of those systems
+       to enable such accesses (controlled by CP15 register c1, refer to
+       ARM documentation). Alternatively, or for compatibility with
+       kernels where unaligned accesses are not supported, all code has to
+       be compiled with -mno-unaligned-access. Upstream Linux kernel
+       releases have automatically and unconditionally supported unaligned
+       accesses as emitted by GCC due to this option being active since
+       version 2.6.28.
      * Support on ARM for the legacy floating-point accelerator (FPA) and
        the mixed-endian floating-point format that it used has been
        obsoleted. The ports that still use this format have been obsoleted
@@ -151,7 +161,20 @@ Caveats
      * The AVR port's libgcc has been improved and its multilib structure
        has been enhanced. As a result, all objects contributing to an
        application must either be compiled with GCC versions up to 4.6.x
-       or with GCC versions 4.7.0 or later.
+       or with GCC versions 4.7.1 or later. If the compiler is used with
+       AVR Libc, you need a version that supports the new layout, i.e.
+       implements [2]#35407.
+     * The AVR port's -mshort-calls command-line option has been
+       deprecated. It will be removed in the GCC 4.8 release. See -mrelax
+       for a replacement.
+     * The AVR port only references startup code that clears .bss and the
+       common section resp. initializes the .data and .rodata section
+       provided respective sections (or subsections thereof) are not
+       empty, see [3]PR18145. Applications that put all static storage
+       objects into non-standard sections and / or define all static
+       storage objects in assembler modules, must reference __do_clear_bss
+       resp. __do_copy_data by hand or undefine the symbol(s) by means of
+       -Wl,-u,__do_clear_bss resp. -Wl,-u,__do_copy_data.
      * The ARM port's -mwords-little-endian option has been deprecated. It
        will be removed in a future release.
      * Support has been removed for the NetWare x86 configuration
@@ -177,7 +200,7 @@ Caveats
        not affected by this change. (This change affects GCC versions
        4.7.2 and later.)
      * More information on porting to GCC 4.7 from previous versions of
-       GCC can be found in the [2]porting guide for this release.
+       GCC can be found in the [4]porting guide for this release.
 
 General Optimizer Improvements
 
@@ -280,7 +303,7 @@ void foo (char *a, const char *b, const char *c, const char *d)
 
 New Languages and Language specific improvements
 
-     * Version 3.1 of the [3]OpenMP specification is now supported for the
+     * Version 3.1 of the [5]OpenMP specification is now supported for the
        C, C++, and Fortran compilers.
 
   Ada
@@ -295,20 +318,20 @@ New Languages and Language specific improvements
      * A new built-in, __builtin_assume_aligned, has been added, through
        which the compiler can be hinted about pointer alignment and can
        use it to improve generated code.
-     * A new -Wunused-local-typedefs warning was added for C, C++,
+     * A new warning option -Wunused-local-typedefs was added for C, C++,
        Objective-C and Objective-C++. This warning diagnoses typedefs
        locally defined in a function, and otherwise not used.
-     * A new experimental -ftrack-macro-expansion option was added for C,
-       C++, Objective-C, Objective-C++ and Fortran. It allows the compiler
-       to emit diagnostic about the current macro expansion stack when a
-       compilation error occurs in a macro expansion.
+     * A new experimental command-line option -ftrack-macro-expansion was
+       added for C, C++, Objective-C, Objective-C++ and Fortran. It allows
+       the compiler to emit diagnostic about the current macro expansion
+       stack when a compilation error occurs in a macro expansion.
      * Experimental support for transactional memory has been added. It
        includes support in the compiler, as well as a supporting runtime
        library called libitm. To compile code with transactional memory
        constructs, use the -fgnu-tm option.
        Support is currently available for Alpha, ARM, PowerPC, SH, SPARC,
        and 32-bit/64-bit x86 platforms.
-       For more details on transactional memory see [4]the GCC WiKi.
+       For more details on transactional memory see [6]the GCC WiKi.
      * Support for atomic operations specifying the C++11/C11 memory model
        has been added. These new __atomic routines replace the existing
        __sync built-in routines.
@@ -319,7 +342,7 @@ New Languages and Language specific improvements
        library functions is available on the GCC atomic wiki in the
        "External Atomics Library" section.
        For more details on the memory models and features, see the
-       [5]atomic wiki.
+       [7]atomic wiki.
      * When a binary operation is performed on vector types and one of the
        operands is a uniform vector, it is possible to replace the vector
        with the generating element. For example:
@@ -349,7 +372,7 @@ res = a - x;  /* means a - {x,x,x,x}  */
      * G++ now accepts the -std=c++11, -std=gnu++11, and -Wc++11-compat
        options, which are equivalent to -std=c++0x, -std=gnu++0x, and
        -Wc++0x-compat, respectively.
-     * G++ now implements [6]C++11 extended friend syntax:
+     * G++ now implements [8]C++11 extended friend syntax:
 
 template<class W>
 class Q
@@ -364,7 +387,7 @@ struct B
   int ar[Q<B>::I];
 };
 
-     * Thanks to Ville Voutilainen, G++ now implements [7]C++11 explicit
+     * Thanks to Ville Voutilainen, G++ now implements [9]C++11 explicit
        override control.
 
 struct B {
@@ -381,26 +404,26 @@ struct D : B {
 struct E final { };
 struct F: E { }; // error: deriving from final class
 
-     * G++ now implements [8]C++11 non-static data member initializers.
+     * G++ now implements [10]C++11 non-static data member initializers.
 
 struct A {
   int i = 42;
 } a; // initializes a.i to 42
 
-     * Thanks to Ed Smith-Rowland, G++ now implements [9]C++11
+     * Thanks to Ed Smith-Rowland, G++ now implements [11]C++11
        user-defined literals.
 
 // Not actually a good approximation.  :)
 constexpr long double operator"" _degrees (long double d) { return d * 0.0175; }
 long double pi = 180.0_degrees;
 
-     * G++ now implements [10]C++11 alias-declarations.
+     * G++ now implements [12]C++11 alias-declarations.
 
 template <class T> using Ptr = T*;
 Ptr<int> ip;  // decltype(ip) is int*
 
      * Thanks to Ville Voutilainen and Pedro Lamarao, G++ now implements
-       [11]C++11 delegating constructors.
+       [13]C++11 delegating constructors.
 
 struct A {
   A(int);
@@ -479,14 +502,14 @@ const int &y = f(2);
        Using-declarations are to be used instead. Furthermore, some
        efforts have been made to improve the support of class scope
        using-declarations. In particular, using-declarations referring to
-       a dependent type now work as expected ([12]bug c++/14258).
+       a dependent type now work as expected ([14]bug c++/14258).
      * The ELF symbol visibility of a template instantiation is now
        properly constrained by the visibility of its template arguments
-       ([13]bug c++/35688).
+       ([15]bug c++/35688).
 
     Runtime Library (libstdc++)
 
-     * [14]Improved experimental support for the new ISO C++ standard,
+     * [16]Improved experimental support for the new ISO C++ standard,
        C++11, including:
           + using noexcept in most of the library;
           + implementations of pointer_traits, allocator_traits and
@@ -502,27 +525,27 @@ const int &y = f(2);
 
   Fortran
 
-     * The compile flag [15]-fstack-arrays has been added, which causes
+     * The compile flag [17]-fstack-arrays has been added, which causes
        all local arrays to be put on stack memory. For some programs this
        will improve the performance significantly. If your program uses
        very large local arrays, it is possible that you will have to
        extend your runtime limits for stack memory.
-     * The [16]-Ofast flag now also implies [17]-fno-protect-parens and
-       [18]-fstack-arrays.
+     * The [18]-Ofast flag now also implies [19]-fno-protect-parens and
+       [20]-fstack-arrays.
      * Front-end optimizations can now be selected by the
-       [19]-ffrontend-optimize option and deselected by the
+       [21]-ffrontend-optimize option and deselected by the
        -fno-frontend-optimize option.
      * When front-end optimization removes a function call,
-       [20]-Wfunction-elimination warns about that.
+       [22]-Wfunction-elimination warns about that.
      * When performing front-end-optimization, the
-       [21]-faggressive-function-elimination option allows the removal of
+       [23]-faggressive-function-elimination option allows the removal of
        duplicate function calls even for impure functions.
-     * The flag [22]-Wreal-q-constant has been added, which warns if
+     * The flag [24]-Wreal-q-constant has been added, which warns if
        floating-point literals have been specified using q (such as
        1.0q0); the q marker is now supported as a vendor extension to
        denote quad precision (REAL(16) or, if not available, REAL(10)).
        Consider using a kind parameter (such as in 1.0_qp) instead, which
-       can be obtained via [23]SELECTED_REAL_KIND.
+       can be obtained via [25]SELECTED_REAL_KIND.
      * The GFORTRAN_USE_STDERR environment variable has been removed. GNU
        Fortran now always prints error messages to standard error. If you
        wish to redirect standard error, please consult the manual for your
@@ -532,32 +555,32 @@ const int &y = f(2);
        gfortran will now always abort the program. Whether a core dump is
        generated depends on the user environment settings; see the ulimit
        -c setting for POSIX shells, limit coredumpsize for C shells, and
-       the [24]WER user-mode dumps settings on Windows.
-     * The [25]-fbacktrace option is now enabled by default. When
+       the [26]WER user-mode dumps settings on Windows.
+     * The [27]-fbacktrace option is now enabled by default. When
        encountering a fatal error, gfortran will attempt to print a
        backtrace to standard error before aborting. It can be disabled
        with -fno-backtrace. Note: On POSIX targets with the addr2line
        utility from GNU binutils, GNU Fortran can print a backtrace with
        function name, file name, line number information in addition to
        the addresses; otherwise only the addresses are printed.
-     * [26]Fortran 2003:
+     * [28]Fortran 2003:
           + Generic interface names which have the same name as derived
             types are now supported, which allows to write constructor
             functions. Note that Fortran does not support static
             constructor functions; only default initialization or an
             explicit structure-constructor initialization are available.
-          + [27]Polymorphic (class) arrays are now supported.
-     * [28]Fortran 2008:
+          + [29]Polymorphic (class) arrays are now supported.
+     * [30]Fortran 2008:
           + Support for the DO CONCURRENT construct has been added, which
             allows the user to specify that individual loop iterations
             have no interdependencies.
-          + [29]Coarrays: Full single-image support except for polymorphic
+          + [31]Coarrays: Full single-image support except for polymorphic
             coarrays. Additionally, preliminary support for multiple
-            images via an MPI-based [30]coarray communication library has
+            images via an MPI-based [32]coarray communication library has
             been added. Note: The library version is not yet usable as
             remote coarray access is not yet possible.
-     * [31]TS 29113:
-          + New flag [32]-std=f2008ts permits programs that are expected
+     * [33]TS 29113:
+          + New flag [34]-std=f2008ts permits programs that are expected
             to conform to the Fortran 2008 standard and the draft
             Technical Specification (TS) 29113 on Further Interoperability
             of Fortran with C.
@@ -570,7 +593,7 @@ const int &y = f(2);
 
   Go
 
-     * GCC 4.7 implements the [33]Go 1 language standard. The library
+     * GCC 4.7 implements the [35]Go 1 language standard. The library
        support in 4.7.0 is not quite complete, due to release timing.
        Release 4.7.1 includes complete support for Go 1. The Go library is
        from the Go 1.0.1 release.
@@ -593,7 +616,7 @@ New Targets and Target Specific Improvements
 
      * GCC now supports the XMEGA architecture. This requires GNU binutils
        2.22 or later.
-     * Support for the [34]named address spaces __flash, __flash1, ...,
+     * Support for the [36]named address spaces __flash, __flash1, ...,
        __flash5 and __memx has been added. These address spaces locate
        read-only data in flash memory and allow reading from flash memory
        by means of ordinary C code, i.e. without the need of (inline)
@@ -606,14 +629,14 @@ int add_values (const __flash int *p, int i)
     return values[i] + *p;
 }
 
-     * Support has been added for a new AVR-specific configure option
+     * Support has been added for the AVR-specific configure option
        --with-avrlibc=yes in order to arrange for better integration of
-       [35]AVR-Libc. This configure option is supported in avr-gcc 4.7.2
+       [37]AVR-Libc. This configure option is supported in avr-gcc 4.7.2
        and newer and will only take effect in non-RTEMS configurations. If
        avr-gcc is configured for RTEMS, the option will be ignored which
-       is the same as specifying --with-avrlibc=no. See [36]PR54461 for
+       is the same as specifying --with-avrlibc=no. See [38]PR54461 for
        more technical details.
-     * Support for AVR-specific [37]built-in functions has been added.
+     * Support for AVR-specific [39]built-in functions has been added.
      * Support has been added for the signed and unsigned 24-bit scalar
        integer types __int24 and __uint24.
      * New command-line options -maccumulate-args, -mbranch-cost=cost and
@@ -628,7 +651,7 @@ int add_values (const __flash int *p, int i)
 
 void set_portb (uint8_t value)
 {
-    asm volatile ("out %0, %i1" :: "r" (value), "n" (&PORTB) : "memory");
+    asm volatile ("out %i0, %1" :: "n" (&PORTB), "r" (value) : "memory");
 }
 
        The offset between an I/O address and the RAM address for that I/O
@@ -695,7 +718,7 @@ void set_portb (uint8_t value)
        FMA, BMI, BMI2, LZCNT is available through -march=core-avx2.
      * Support for new AMD family 15h processors (Piledriver core) is now
        available through -march=bdver2 and -mtune=bdver2 options.
-     * Support for [38]the x32 psABI is now available through the -mx32
+     * Support for [40]the x32 psABI is now available through the -mx32
        option.
      * Windows mingw targets are using the -mms-bitfields option by
        default.
@@ -763,6 +786,8 @@ void set_portb (uint8_t value)
           + Utilization of the tst #imm,R0 instruction.
           + Dynamic shift instructions on SH2A.
           + Integer absolute value calculations.
+     * The -mdiv= option for targets other than SHmedia has been fixed and
+       documented.
 
   SPARC
 
@@ -808,100 +833,111 @@ Other significant improvements
        the DW_AT_producer attribute string in the DWARF debugging
        information.
      * GCC now supports various new GNU extensions to the DWARF debugging
-       information format, like [39]entry value and [40]call site
-       information, [41]typed DWARF stack or [42]a more compact macro
+       information format, like [41]entry value and [42]call site
+       information, [43]typed DWARF stack or [44]a more compact macro
        representation. Support for these extensions has been added to GDB
        7.4. They can be disabled through the -gstrict-dwarf command-line
        option.
 
 GCC 4.7.1
 
-   This is the [43]list of problem reports (PRs) from GCC's bug tracking
+   This is the [45]list of problem reports (PRs) from GCC's bug tracking
    system that are known to be fixed in the 4.7.1 release. This list might
    not be complete (that is, it is possible that some PRs that have been
    fixed are not listed here).
 
-   The Go frontend in the 4.7.1 release fully supports the [44]Go 1
+   The Go frontend in the 4.7.1 release fully supports the [46]Go 1
    language standard.
 
 GCC 4.7.2
 
-   This is the [45]list of problem reports (PRs) from GCC's bug tracking
+   This is the [47]list of problem reports (PRs) from GCC's bug tracking
    system that are known to be fixed in the 4.7.2 release. This list might
    not be complete (that is, it is possible that some PRs that have been
    fixed are not listed here).
 
+GCC 4.7.3
+
+   This is the [48]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.7.3 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
 
     For questions related to the use of GCC, please consult these web
-    pages and the [46]GCC manuals. If that fails, the
-    [47]gcc-help@gcc.gnu.org mailing list might help. Comments on these
+    pages and the [49]GCC manuals. If that fails, the
+    [50]gcc-help@gcc.gnu.org mailing list might help. Comments on these
     web pages and the development of GCC are welcome on our developer
-    list at [48]gcc@gcc.gnu.org. All of [49]our lists have public
+    list at [51]gcc@gcc.gnu.org. All of [52]our lists have public
     archives.
 
-   Copyright (C) [50]Free Software Foundation, Inc. Verbatim copying and
+   Copyright (C) [53]Free Software Foundation, Inc. Verbatim copying and
    distribution of this entire article is permitted in any medium,
    provided this notice is preserved.
 
-   These pages are [51]maintained by the GCC team. Last modified
-   2012-09-20[52].
+   These pages are [54]maintained by the GCC team. Last modified
+   2013-04-11[55].
 
 References
 
    1. http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01263.html
-   2. http://gcc.gnu.org/gcc-4.7/porting_to.html
-   3. http://openmp.org/wp/openmp-specifications/
-   4. http://gcc.gnu.org/wiki/TransactionalMemory
-   5. http://gcc.gnu.org/wiki/Atomic/GCCMM
-   6. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
-   7. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
+   2. http://savannah.nongnu.org/bugs/?35407
+   3. http://gcc.gnu.org/PR18145
+   4. http://gcc.gnu.org/gcc-4.7/porting_to.html
+   5. http://openmp.org/wp/openmp-specifications/
+   6. http://gcc.gnu.org/wiki/TransactionalMemory
+   7. http://gcc.gnu.org/wiki/Atomic/GCCMM
    8. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
    9. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
   10. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
   11. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
-  12. http://gcc.gnu.org/PR14258
-  13. http://gcc.gnu.org/PR35688
-  14. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/libstdc++/manual/manual/status.html#status.iso.2011
-  15. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfstack-arrays_007d-254
-  16. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Optimize-Options.html#index-Ofast-689
-  17. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfno-protect-parens_007d-270
-  18. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfstack-arrays_007d-254
-  19. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfrontend-optimize_007d-275
-  20. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWfunction-elimination_007d-170
-  21. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfaggressive-function-elimination_007d-270
-  22. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWreal-q-constant_007d-149
-  23. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/SELECTED_005fREAL_005fKIND.html
-  24. http://msdn.microsoft.com/en-us/library/bb787181%28v=vs.85%29.aspx
-  25. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Debugging-Options.html#index-g_t_0040code_007bfno-backtrace_007d-183
-  26. http://gcc.gnu.org/wiki/Fortran2003Status
-  27. http://gcc.gnu.org/wiki/OOP
-  28. http://gcc.gnu.org/wiki/Fortran2008Status
-  29. http://gcc.gnu.org/wiki/Coarray
-  30. http://gcc.gnu.org/wiki/CoarrayLib
-  31. http://gcc.gnu.org/wiki/TS29113Status
-  32. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Fortran-Dialect-Options.html#index-g_t_0040code_007bstd_003d_007d_0040var_007bstd_007d-option-53
-  33. http://weekly.golang.org/doc/go1.html
-  34. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
-  35. http://nongnu.org/avr-libc/
-  36. http://gcc.gnu.org/PR54461
-  37. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html
-  38. http://sites.google.com/site/x32abi/
-  39. http://www.dwarfstd.org/ShowIssue.php?issue=100909.1
-  40. http://www.dwarfstd.org/ShowIssue.php?issue=100909.2
-  41. http://www.dwarfstd.org/doc/040408.1.html
-  42. http://www.dwarfstd.org/ShowIssue.php?issue=110722.1
-  43. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1
-  44. http://weekly.golang.org/doc/go1.html
-  45. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2
-  46. http://gcc.gnu.org/onlinedocs/
-  47. mailto:gcc-help@gcc.gnu.org
-  48. mailto:gcc@gcc.gnu.org
-  49. http://gcc.gnu.org/lists.html
-  50. http://www.fsf.org/
-  51. http://gcc.gnu.org/about.html
-  52. http://validator.w3.org/check/referer
+  12. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
+  13. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
+  14. http://gcc.gnu.org/PR14258
+  15. http://gcc.gnu.org/PR35688
+  16. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/libstdc++/manual/manual/status.html#status.iso.2011
+  17. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfstack-arrays_007d-254
+  18. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Optimize-Options.html#index-Ofast-689
+  19. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfno-protect-parens_007d-270
+  20. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfstack-arrays_007d-254
+  21. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfrontend-optimize_007d-275
+  22. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWfunction-elimination_007d-170
+  23. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfaggressive-function-elimination_007d-270
+  24. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWreal-q-constant_007d-149
+  25. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/SELECTED_005fREAL_005fKIND.html
+  26. http://msdn.microsoft.com/en-us/library/bb787181%28v=vs.85%29.aspx
+  27. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Debugging-Options.html#index-g_t_0040code_007bfno-backtrace_007d-183
+  28. http://gcc.gnu.org/wiki/Fortran2003Status
+  29. http://gcc.gnu.org/wiki/OOP
+  30. http://gcc.gnu.org/wiki/Fortran2008Status
+  31. http://gcc.gnu.org/wiki/Coarray
+  32. http://gcc.gnu.org/wiki/CoarrayLib
+  33. http://gcc.gnu.org/wiki/TS29113Status
+  34. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gfortran/Fortran-Dialect-Options.html#index-g_t_0040code_007bstd_003d_007d_0040var_007bstd_007d-option-53
+  35. http://weekly.golang.org/doc/go1.html
+  36. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Named-Address-Spaces.html
+  37. http://nongnu.org/avr-libc/
+  38. http://gcc.gnu.org/PR54461
+  39. http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/AVR-Built%5f002din-Functions.html
+  40. https://sites.google.com/site/x32abi/
+  41. http://www.dwarfstd.org/ShowIssue.php?issue=100909.1
+  42. http://www.dwarfstd.org/ShowIssue.php?issue=100909.2
+  43. http://www.dwarfstd.org/doc/040408.1.html
+  44. http://www.dwarfstd.org/ShowIssue.php?issue=110722.1
+  45. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.1
+  46. http://weekly.golang.org/doc/go1.html
+  47. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.2
+  48. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.7.3
+  49. http://gcc.gnu.org/onlinedocs/
+  50. mailto:gcc-help@gcc.gnu.org
+  51. mailto:gcc@gcc.gnu.org
+  52. http://gcc.gnu.org/lists.html
+  53. http://www.fsf.org/
+  54. http://gcc.gnu.org/about.html
+  55. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.6/index.html
+
                              GCC 4.6 Release Series
 
    March 1, 2012
@@ -915,16 +951,16 @@ http://gcc.gnu.org/gcc-4.6/index.html
 Release History
 
    GCC 4.6.3
-          March 1, 2012 ([2]changes)
+          March 1, 2012 ([2]changes, [3]documentation)
 
    GCC 4.6.2
-          October 26, 2011 ([3]changes)
+          October 26, 2011 ([4]changes, [5]documentation)
 
    GCC 4.6.1
-          June 27, 2011 ([4]changes)
+          June 27, 2011 ([6]changes, [7]documentation)
 
    GCC 4.6.0
-          March 25, 2011 ([5]changes)
+          March 25, 2011 ([8]changes, [9]documentation)
 
 References and Acknowledgements
 
@@ -932,56 +968,61 @@ References and Acknowledgements
    supports several other languages aside from C, it now stands for the
    GNU Compiler Collection.
 
-   A list of [6]successful builds is updated as new information becomes
+   A list of [10]successful builds is updated as new information becomes
    available.
 
    The GCC developers would like to thank the numerous people that have
    contributed new features, improvements, bug fixes, and other changes as
-   well as test results to GCC. This [7]amazing group of volunteers is
+   well as test results to GCC. This [11]amazing group of volunteers is
    what makes GCC successful.
 
-   For additional information about GCC please refer to the [8]GCC project
-   web site or contact the [9]GCC development mailing list.
+   For additional information about GCC please refer to the [12]GCC
+   project web site or contact the [13]GCC development mailing list.
 
-   To obtain GCC please use [10]our mirror sites or [11]our SVN server.
+   To obtain GCC please use [14]our mirror sites or [15]our SVN server.
 
 
     For questions related to the use of GCC, please consult these web
-    pages and the [12]GCC manuals. If that fails, the
-    [13]gcc-help@gcc.gnu.org mailing list might help. Comments on these
+    pages and the [16]GCC manuals. If that fails, the
+    [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
     web pages and the development of GCC are welcome on our developer
-    list at [14]gcc@gcc.gnu.org. All of [15]our lists have public
+    list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
     archives.
 
-   Copyright (C) [16]Free Software Foundation, Inc. Verbatim copying and
+   Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
    distribution of this entire article is permitted in any medium,
    provided this notice is preserved.
 
-   These pages are [17]maintained by the GCC team. Last modified
-   2012-03-01[18].
+   These pages are [21]maintained by the GCC team. Last modified
+   2013-02-20[22].
 
 References
 
    1. http://www.gnu.org/
    2. http://gcc.gnu.org/gcc-4.6/changes.html
-   3. http://gcc.gnu.org/gcc-4.6/changes.html
+   3. http://gcc.gnu.org/onlinedocs/4.6.3/
    4. http://gcc.gnu.org/gcc-4.6/changes.html
-   5. http://gcc.gnu.org/gcc-4.6/changes.html
-   6. http://gcc.gnu.org/gcc-4.6/buildstat.html
-   7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
-   8. http://gcc.gnu.org/index.html
-   9. mailto:gcc@gcc.gnu.org
-  10. http://gcc.gnu.org/mirrors.html
-  11. http://gcc.gnu.org/svn.html
-  12. http://gcc.gnu.org/onlinedocs/
-  13. mailto:gcc-help@gcc.gnu.org
-  14. mailto:gcc@gcc.gnu.org
-  15. http://gcc.gnu.org/lists.html
-  16. http://www.fsf.org/
-  17. http://gcc.gnu.org/about.html
-  18. http://validator.w3.org/check/referer
+   5. http://gcc.gnu.org/onlinedocs/4.6.2/
+   6. http://gcc.gnu.org/gcc-4.6/changes.html
+   7. http://gcc.gnu.org/onlinedocs/4.6.1/
+   8. http://gcc.gnu.org/gcc-4.6/changes.html
+   9. http://gcc.gnu.org/onlinedocs/4.6.0/
+  10. http://gcc.gnu.org/gcc-4.6/buildstat.html
+  11. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+  12. http://gcc.gnu.org/index.html
+  13. mailto:gcc@gcc.gnu.org
+  14. http://gcc.gnu.org/mirrors.html
+  15. http://gcc.gnu.org/svn.html
+  16. http://gcc.gnu.org/onlinedocs/
+  17. mailto:gcc-help@gcc.gnu.org
+  18. mailto:gcc@gcc.gnu.org
+  19. http://gcc.gnu.org/lists.html
+  20. http://www.fsf.org/
+  21. http://gcc.gnu.org/about.html
+  22. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.6/changes.html
+
                              GCC 4.6 Release Series
                         Changes, New Features, and Fixes
 
@@ -1505,8 +1546,7 @@ New Languages and Language specific improvements
      * As a result of these enhancements, GCC can now be used to build
        Objective-C and Objective-C++ software that uses Foundation and
        other important system frameworks with the NeXT runtime on Darwin 9
-       and Darwin 10 (Mac OS X 10.5 and 10.6). Currently this is for m32
-       code only.
+       and Darwin 10 (OSX 10.5 and 10.6).
      * Many bugs in the compiler have been fixed in this release; in
        particular, LTO can now be used when compiling Objective-C and
        Objective-C++ and the parser is much more robust in dealing with
@@ -1741,6 +1781,14 @@ Operating Systems
             The Darwin zeroed memory allocators have been re-written to
             make more use of .zerofill sections. For non-debug code, this
             can reduce object file size significantly.
+          + Objective-C family 64-bit support (NeXT ABI 2).
+            Initial support has been added to support 64-bit Objective-C
+            code using the Darwin/OS X native (NeXT) runtime. ABI version
+            2 will be selected automatically when 64-bit code is built.
+          + Objective-C family 32-bit ABI 1.
+            For 32-bit code ABI 1 is also now also allowed. At present it
+            must be selected manually using -fobjc-abi-version=1 where
+            applicable - i.e. on Darwin 9/10 (OS X 10.5/10.6).
      * x86 Architecture
           + The -mdynamic-no-pic option has been enabled.
             Code supporting -mdynamic-no-pic optimization has been added
@@ -1862,7 +1910,7 @@ GCC 4.6.3
    provided this notice is preserved.
 
    These pages are [28]maintained by the GCC team. Last modified
-   2012-09-19[29].
+   2013-01-07[29].
 
 References
 
@@ -1897,6 +1945,7 @@ References
   29. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.5/index.html
+
                              GCC 4.5 Release Series
 
    Jul 2, 2012
@@ -1956,7 +2005,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [18]maintained by the GCC team. Last modified
-   2012-07-02[19].
+   2012-11-02[19].
 
 References
 
@@ -1981,6 +2030,7 @@ References
   19. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.5/changes.html
+
                              GCC 4.5 Release Series
                         Changes, New Features, and Fixes
 
@@ -2627,7 +2677,7 @@ GCC 4.5.4
    provided this notice is preserved.
 
    These pages are [34]maintained by the GCC team. Last modified
-   2012-08-04[35].
+   2012-11-02[35].
 
 References
 
@@ -2668,6 +2718,7 @@ References
   35. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.4/index.html
+
                              GCC 4.4 Release Series
 
    March 13, 2012
@@ -2736,7 +2787,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [21]maintained by the GCC team. Last modified
-   2012-03-13[22].
+   2012-11-02[22].
 
 References
 
@@ -2764,6 +2815,7 @@ References
   22. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.4/changes.html
+
                              GCC 4.4 Release Series
                         Changes, New Features, and Fixes
 
@@ -3366,7 +3418,7 @@ GCC 4.4.7
    provided this notice is preserved.
 
    These pages are [25]maintained by the GCC team. Last modified
-   2012-03-13[26].
+   2012-11-02[26].
 
 References
 
@@ -3398,6 +3450,7 @@ References
   26. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.3/index.html
+
                              GCC 4.3 Release Series
 
    Jun 27, 2011
@@ -3463,7 +3516,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [20]maintained by the GCC team. Last modified
-   2011-06-27[21].
+   2012-11-02[21].
 
 References
 
@@ -3490,6 +3543,7 @@ References
   21. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.3/changes.html
+
                              GCC 4.3 Release Series
                         Changes, New Features, and Fixes
 
@@ -4268,7 +4322,7 @@ GCC 4.3.6
    provided this notice is preserved.
 
    These pages are [36]maintained by the GCC team. Last modified
-   2011-09-12[37].
+   2012-11-02[37].
 
 References
 
@@ -4311,6 +4365,7 @@ References
   37. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.2/index.html
+
                              GCC 4.2 Release Series
 
    May 19, 2008
@@ -4370,7 +4425,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [18]maintained by the GCC team. Last modified
-   2011-04-25[19].
+   2012-11-02[19].
 
 References
 
@@ -4395,6 +4450,7 @@ References
   19. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.2/changes.html
+
                              GCC 4.2 Release Series
                         Changes, New Features, and Fixes
 
@@ -4699,7 +4755,7 @@ Other significant improvements
    provided this notice is preserved.
 
    These pages are [12]maintained by the GCC team. Last modified
-   2011-04-25[13].
+   2012-11-02[13].
 
 References
 
@@ -4718,6 +4774,7 @@ References
   13. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.1/index.html
+
                              GCC 4.1 Release Series
 
    February 13, 2007
@@ -4771,7 +4828,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [16]maintained by the GCC team. Last modified
-   2011-04-25[17].
+   2012-11-02[17].
 
 References
 
@@ -4794,6 +4851,7 @@ References
   17. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.1/changes.html
+
                              GCC 4.1 Release Series
                         Changes, New Features, and Fixes
 
@@ -5334,7 +5392,7 @@ GCC 4.1.2
    provided this notice is preserved.
 
    These pages are [12]maintained by the GCC team. Last modified
-   2011-04-25[13].
+   2012-11-02[13].
 
 References
 
@@ -5353,6 +5411,7 @@ References
   13. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.0/index.html
+
                              GCC 4.0 Release Series
 
    January 31, 2007
@@ -5412,7 +5471,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [18]maintained by the GCC team. Last modified
-   2011-04-25[19].
+   2012-11-02[19].
 
 References
 
@@ -5437,6 +5496,7 @@ References
   19. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-4.0/changes.html
+
                              GCC 4.0 Release Series
                         Changes, New Features, and Fixes
 
@@ -5938,7 +5998,7 @@ GCC 4.0.4
    provided this notice is preserved.
 
    These pages are [21]maintained by the GCC team. Last modified
-   2012-08-26[22].
+   2012-11-02[22].
 
 References
 
@@ -5966,6 +6026,7 @@ References
   22. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.4/index.html
+
                              GCC 3.4 Release Series
 
    May 26, 2006
@@ -6036,7 +6097,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [22]maintained by the GCC team. Last modified
-   2011-04-25[23].
+   2012-11-02[23].
 
 References
 
@@ -6065,6 +6126,7 @@ References
   23. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.4/changes.html
+
                              GCC 3.4 Release Series
                         Changes, New Features, and Fixes
 
@@ -7824,7 +7886,7 @@ GCC 3.4.6
    provided this notice is preserved.
 
    These pages are [417]maintained by the GCC team. Last modified
-   2012-04-24[418].
+   2012-11-02[418].
 
 References
 
@@ -8248,6 +8310,7 @@ References
  418. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.3/index.html
+
                              GCC 3.3 Release Series
 
    May 03, 2005
@@ -8319,7 +8382,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [21]maintained by the GCC team. Last modified
-   2011-04-25[22].
+   2012-11-02[22].
 
 References
 
@@ -8347,6 +8410,7 @@ References
   22. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.3/changes.html
+
                              GCC 3.3 Release Series
                         Changes, New Features, and Fixes
 
@@ -9694,7 +9758,7 @@ GCC 3.3.6
    provided this notice is preserved.
 
    These pages are [558]maintained by the GCC team. Last modified
-   2011-10-24[559].
+   2012-11-02[559].
 
 References
 
@@ -10259,6 +10323,7 @@ References
  559. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.2/index.html
+
                              GCC 3.2 Release Series
 
    April 25, 2003
@@ -10324,7 +10389,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [17]maintained by the GCC team. Last modified
-   2011-04-25[18].
+   2012-11-02[18].
 
 References
 
@@ -10348,6 +10413,7 @@ References
   18. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.2/changes.html
+
                              GCC 3.2 Release Series
                         Changes, New Features, and Fixes
 
@@ -10947,7 +11013,7 @@ GCC 3.2
    provided this notice is preserved.
 
    These pages are [251]maintained by the GCC team. Last modified
-   2011-10-24[252].
+   2012-11-02[252].
 
 References
 
@@ -11205,6 +11271,7 @@ References
  252. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.1/index.html
+
                                     GCC 3.1
 
    July 27, 2002
@@ -11250,7 +11317,7 @@ http://gcc.gnu.org/gcc-3.1/index.html
    provided this notice is preserved.
 
    These pages are [14]maintained by the GCC team. Last modified
-   2011-04-25[15].
+   2012-11-02[15].
 
 References
 
@@ -11271,6 +11338,7 @@ References
   15. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.1/changes.html
+
                              GCC 3.1 Release Series
                         Changes, New Features, and Fixes
 
@@ -11605,7 +11673,7 @@ Documentation improvements
    provided this notice is preserved.
 
    These pages are [18]maintained by the GCC team. Last modified
-   2012-09-09[19].
+   2012-11-02[19].
 
 References
 
@@ -11630,6 +11698,7 @@ References
   19. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
+
                                    GCC 3.0.4
 
    February 20, 2002
@@ -11682,7 +11751,7 @@ Previous 3.0.x Releases
    provided this notice is preserved.
 
    These pages are [14]maintained by the GCC team. Last modified
-   2011-04-25[15].
+   2012-11-02[15].
 
 References
 
@@ -11703,6 +11772,7 @@ References
   15. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.0/features.html
+
                               GCC 3.0 New Features
 
 Additional changes in GCC 3.0.4
@@ -11873,7 +11943,7 @@ Other significant improvements
    provided this notice is preserved.
 
    These pages are [19]maintained by the GCC team. Last modified
-   2011-04-25[20].
+   2012-11-02[20].
 
 References
 
@@ -11899,6 +11969,7 @@ References
   20. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-3.0/caveats.html
+
                                 GCC 3.0 Caveats
 
      * -fstrict-aliasing is now part of -O2 and higher optimization
@@ -11945,7 +12016,7 @@ http://gcc.gnu.org/gcc-3.0/caveats.html
    provided this notice is preserved.
 
    These pages are [7]maintained by the GCC team. Last modified
-   2011-04-25[8].
+   2012-11-02[8].
 
 References
 
@@ -11959,6 +12030,7 @@ References
    8. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-2.95/index.html
+
                                     GCC 2.95
 
    March 16, 2001: The GNU project and the GCC developers are pleased to
@@ -12025,7 +12097,7 @@ References and Acknowledgements
    provided this notice is preserved.
 
    These pages are [16]maintained by the GCC team. Last modified
-   2011-04-25[17].
+   2012-11-02[17].
 
 References
 
@@ -12048,6 +12120,7 @@ References
   17. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-2.95/features.html
+
                              GCC 2.95 New Features
 
      * General Optimizer Improvements:
@@ -12291,7 +12364,7 @@ Additional Changes in GCC 2.95.3
    provided this notice is preserved.
 
    These pages are [22]maintained by the GCC team. Last modified
-   2011-04-25[23].
+   2012-11-02[23].
 
 References
 
@@ -12320,6 +12393,7 @@ References
   23. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/gcc-2.95/caveats.html
+
                                 GCC 2.95 Caveats
 
      * GCC 2.95 will issue an error for invalid asm statements that had
@@ -12374,7 +12448,7 @@ http://gcc.gnu.org/gcc-2.95/caveats.html
    provided this notice is preserved.
 
    These pages are [7]maintained by the GCC team. Last modified
-   2011-04-25[8].
+   2012-11-02[8].
 
 References
 
@@ -12388,6 +12462,7 @@ References
    8. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.1/index.html
+
                                     EGCS 1.1
 
    September 3, 1998: We are pleased to announce the release of EGCS 1.1.
@@ -12595,7 +12670,7 @@ http://gcc.gnu.org/egcs-1.1/index.html
    provided this notice is preserved.
 
    These pages are [16]maintained by the GCC team. Last modified
-   2011-10-24[17].
+   2012-11-02[17].
 
 References
 
@@ -12618,6 +12693,7 @@ References
   17. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.1/features.html
+
                              EGCS 1.1 new features
 
      * Integrated GNU Fortran (g77) compiler and runtime library with
@@ -12695,7 +12771,7 @@ http://gcc.gnu.org/egcs-1.1/features.html
    provided this notice is preserved.
 
    These pages are [10]maintained by the GCC team. Last modified
-   2011-04-25[11].
+   2012-11-02[11].
 
 References
 
@@ -12712,6 +12788,7 @@ References
   11. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.1/caveats.html
+
                                 EGCS 1.1 Caveats
 
      * EGCS has an integrated libstdc++, but does not have an integrated
@@ -12749,7 +12826,7 @@ http://gcc.gnu.org/egcs-1.1/caveats.html
    provided this notice is preserved.
 
    These pages are [6]maintained by the GCC team. Last modified
-   2011-04-25[7].
+   2012-11-02[7].
 
 References
 
@@ -12762,6 +12839,7 @@ References
    7. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.0/index.html
+
                                     EGCS 1.0
 
    December 3, 1997: We are pleased to announce the release of EGCS 1.0.
@@ -12945,7 +13023,7 @@ http://gcc.gnu.org/egcs-1.0/index.html
    provided this notice is preserved.
 
    These pages are [11]maintained by the GCC team. Last modified
-   2011-10-24[12].
+   2012-11-02[12].
 
 References
 
@@ -12963,6 +13041,7 @@ References
   12. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.0/features.html
+
                                EGCS 1.0 features
 
      * Core compiler is based on the gcc2 development tree from Aug 2,
@@ -13012,7 +13091,7 @@ http://gcc.gnu.org/egcs-1.0/features.html
    provided this notice is preserved.
 
    These pages are [8]maintained by the GCC team. Last modified
-   2011-10-24[9].
+   2012-11-02[9].
 
 References
 
@@ -13027,6 +13106,7 @@ References
    9. http://validator.w3.org/check/referer
 ======================================================================
 http://gcc.gnu.org/egcs-1.0/caveats.html
+
                                 EGCS 1.0 Caveats
 
      * EGCS has an integrated libstdc++, but does not have an integrated
@@ -13065,7 +13145,7 @@ http://gcc.gnu.org/egcs-1.0/caveats.html
    provided this notice is preserved.
 
    These pages are [6]maintained by the GCC team. Last modified
-   2011-04-25[7].
+   2012-11-02[7].
 
 References
 
index 5ec5c49..32cef04 100644 (file)
@@ -1,3 +1,15 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/43620
+       * Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
+       * Makefile.in: Regenerated.
+       * include/Makefile.in: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 2b68938..40b103b 100644 (file)
@@ -4,7 +4,7 @@
 ## files that should be in the distribution are not mentioned in this
 ## Makefile.am.
 
-AUTOMAKE_OPTIONS = foreign subdir-objects
+AUTOMAKE_OPTIONS = foreign subdir-objects no-dist
 ACLOCAL_AMFLAGS = -I .. -I ../config
 
 SUBDIRS = include testsuite
index e1a3b70..0248226 100644 (file)
@@ -36,13 +36,10 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = .
-DIST_COMMON = $(am__configure_deps) $(srcdir)/../compile \
-       $(srcdir)/../config.guess $(srcdir)/../config.sub \
-       $(srcdir)/../depcomp $(srcdir)/../install-sh \
-       $(srcdir)/../ltmain.sh $(srcdir)/../missing \
-       $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/threads.mk.in \
-       $(top_srcdir)/configure ChangeLog depcomp
+DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/../mkinstalldirs $(srcdir)/threads.mk.in \
+       $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../config/depstand.m4 \
@@ -63,14 +60,6 @@ CONFIG_CLEAN_FILES = threads.mk
 CONFIG_CLEAN_VPATH_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-am__libgcjgc_la_SOURCES_DIST = allchblk.c alloc.c blacklst.c \
-       checksums.c dbg_mlc.c dyn_load.c finalize.c gc_dlopen.c \
-       gcj_mlc.c headers.c malloc.c mallocx.c mark.c mark_rts.c \
-       misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c \
-       ptr_chck.c real_malloc.c reclaim.c specific.c stubborn.c \
-       typd_mlc.c backgraph.c win32_threads.c pthread_support.c \
-       pthread_stop_world.c darwin_stop_world.c \
-       powerpc_darwin_mach_dep.s
 @POWERPC_DARWIN_TRUE@am__objects_1 = powerpc_darwin_mach_dep.lo
 am_libgcjgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
        dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
@@ -80,14 +69,6 @@ am_libgcjgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
        backgraph.lo win32_threads.lo pthread_support.lo \
        pthread_stop_world.lo darwin_stop_world.lo $(am__objects_1)
 libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
-am__libgcjgc_convenience_la_SOURCES_DIST = allchblk.c alloc.c \
-       blacklst.c checksums.c dbg_mlc.c dyn_load.c finalize.c \
-       gc_dlopen.c gcj_mlc.c headers.c malloc.c mallocx.c mark.c \
-       mark_rts.c misc.c new_hblk.c obj_map.c os_dep.c \
-       pcr_interface.c ptr_chck.c real_malloc.c reclaim.c specific.c \
-       stubborn.c typd_mlc.c backgraph.c win32_threads.c \
-       pthread_support.c pthread_stop_world.c darwin_stop_world.c \
-       powerpc_darwin_mach_dep.s
 am__objects_2 = allchblk.lo alloc.lo blacklst.lo checksums.lo \
        dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
        headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
@@ -115,8 +96,6 @@ CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
 LTCCASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=compile $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
 SOURCES = $(libgcjgc_la_SOURCES) $(libgcjgc_convenience_la_SOURCES)
-DIST_SOURCES = $(am__libgcjgc_la_SOURCES_DIST) \
-       $(am__libgcjgc_convenience_la_SOURCES_DIST)
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -133,47 +112,10 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_CPPFLAGS = @AM_CPPFLAGS@
@@ -314,7 +256,7 @@ toolexeclibdir = @toolexeclibdir@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
+AUTOMAKE_OPTIONS = foreign subdir-objects no-dist
 ACLOCAL_AMFLAGS = -I .. -I ../config
 SUBDIRS = include testsuite
 noinst_LTLIBRARIES = libgcjgc.la libgcjgc_convenience.la
@@ -672,182 +614,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(LTLIBRARIES) all-multi
@@ -960,21 +726,19 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am all-multi am--refresh check check-am clean \
        clean-generic clean-libtool clean-multi \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz \
-       dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-multi \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-multi \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       maintainer-clean-multi mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+       clean-noinstLTLIBRARIES ctags ctags-recursive distclean \
+       distclean-compile distclean-generic distclean-libtool \
+       distclean-multi distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-multi install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic maintainer-clean-multi mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am
 
 override CFLAGS := $(filter-out $(O0_CFLAGS), $(CFLAGS)) $(O0_CFLAGS)
 
index db67a99..c56e483 100644 (file)
@@ -36,9 +36,9 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = include
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/gc_config.h.in \
-       $(srcdir)/gc_ext_config.h.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(srcdir)/gc_config.h.in $(srcdir)/gc_ext_config.h.in \
+       $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../config/depstand.m4 \
@@ -55,11 +55,9 @@ CONFIG_HEADER = gc_config.h gc_ext_config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_CPPFLAGS = @AM_CPPFLAGS@
@@ -323,37 +321,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(HEADERS) gc_config.h gc_ext_config.h
@@ -453,16 +420,15 @@ uninstall-am:
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool ctags distclean distclean-generic distclean-hdr \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am
+       distclean-libtool distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index b12a5c5..4cc9f2a 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../config/depstand.m4 \
@@ -53,10 +53,8 @@ CONFIG_HEADER = $(top_builddir)/include/gc_config.h \
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
 RUNTEST = runtest
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_CPPFLAGS = @AM_CPPFLAGS@
@@ -267,37 +265,6 @@ distclean-DEJAGNU:
        -l='$(DEJATOOL)'; for tool in $$l; do \
          rm -f $$tool.sum $$tool.log; \
        done
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
 check: check-am
@@ -399,8 +366,8 @@ uninstall-am:
 
 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
        clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-libtool dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index eb12506..cc4d6cb 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 7421d35..abdea93 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index f3e4031..08ecdfc 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index bc6b68a..3fecd83 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index df6eb1c..8fae003 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index af9764a..87b18a5 100644 (file)
@@ -1 +1 @@
-4.7.2
+4.7.3
index b84d286..0463436 100644 (file)
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-10  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
+       or -mcpu=hypersparc.
+
+2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/56848
+       Revert
+       2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
+       Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/56077
+       * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
+       flush pending lists also on non-jumps.  Adjust comment.
+
+2013-04-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56501
+       * tree-switch-conversion.c (check_process_case): Properly
+       handle !single_succ_p case.
+
+2013-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56539
+       * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
+       instead of GSI_CONTINUE_LINKING as last argument to
+       force_gimple_operand_gsi.  Adjust function comment.
+
+       2013-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/56510
+       * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
+       (avoid_complex_debug_insns): New function.
+       (expand_debug_locations): Call it.
+
+2013-04-02  Wei Mi  <wmi@google.com>
+
+       * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
+       ashl<mode>3_mask, *<shift_insn><mode>3_mask and
+       *<rotate_insn><mode>3_mask in i386.md.
+
+2013-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/56768
+       Backport from mainline
+       2012-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree-inline.c (declare_return_variable): Properly handle
+       DECL_BY_REFERENCE return vars in SSA form.
+
+2013-04-01  Wei Mi  <wmi@google.com>
+
+       * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
+       Truncate operand 2 using %b asm operand modifier.
+       (*<shift_insn><mode>3_mask): Ditto.
+       (*<rotate_insn><mode>3_mask): Ditto.
+
+2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movsf_internal): Change type of
+       alternatives 3,4 to imov.
+
+2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR middle-end/45472
+       * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
+       when the may_trap_p bit of the exprs being merged differs.
+       Reorder tests for speculativeness in the logical and operator.
+
+       Backport from mainline
+        2013-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56461
+       * sel-sched-ir.c (free_sched_pools): Release
+       succs_info_pool.stack[succs_info_pool.max_top] vectors too
+       if succs_info_pool.max_top isn't -1.
+
+2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR middle-end/55889
+       * sel-sched.c: Include ira.h.
+       (implicit_clobber_conflict_p): New function.
+       (moveup_expr): Use it.
+       * Makefile.in (sel-sched.o): Depend on ira.h.
+
+2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
+       Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/56077
+       * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
+       flush pending lists also on non-jumps.  Adjust comment.
+
+2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
+       * doc/extend.texi (Named Address Spaces): Ditto.
+       (Variable Attributes): Ditto.
+
+2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
+       general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
+       is not enabled.
+
+2013-03-27  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-27  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
+       double-decrement of next_scratch_regno.
+
+2013-03-27  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-27  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
+       input operands.
+       (insn_v1mulus): Ditto.
+       (insn_v2muls): Ditto.
+
+2013-03-27  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-27  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
+       extra tab.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
+
+2013-03-27  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-27  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
+       for jr.
+       (*sibcall_value): Ditto.
+
+2013-03-27  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-27  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
+       (insn_mnz_v8qi): ... this ...
+       (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
+       vector equivalent.
+       (insn_v<n>mnz): Replaced by ...
+       (insn_v1mnz): ... this ...
+       (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
+       equivalent.
+       (insn_mz_<mode>): Replaced by ...
+       (insn_mz_v8qi): ... this ...
+       (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
+       vector equivalent.
+       (insn_v<n>mz): Replaced by ...
+       (insn_v1mz): ... this ...
+       (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
+       equivalent.
+
+2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
+
+2013-03-26  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline:
+       2013-03-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56608
+       * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
+       calls when vectorizing basic-blocks.
+
+       2013-03-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56270
+       * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
+       of loads after scheduling an SLP instance.
+
+2013-03-26  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-26  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
+       * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
+
+2013-03-26  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-25  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
+       TILEGX_INSN_SHUFFLEBYTES1.
+       * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
+       shufflebytes1.
+       (tilegx_builtins): Ditto.
+       * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
+
+2013-03-26  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-25  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
+       tests for constraint J, K, N, P.
+
+2013-03-26  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline:
+       2013-03-25  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
+       Use indirect/pcrel encoding.
+       * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
+       Ditto.
+
+2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline:
+       2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
+       2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/49880
+       * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
+       (musermode): Convert to Var(TARGET_USERMODE).
+       * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
+       MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
+       * config/sh/sh.c (sh_option_override): Use
+       TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
+       * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
+       condition.
+       (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
+       TARGET_SH4.
+       (udivsi3_i4_single, divsi3_i4_single): Use
+       TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
+       * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
+       (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
+       * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
+       (SUBTARGET_OVERRIDE_OPTIONS): New.
+
+2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline:
+       2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
+       to m2a-single instead of m2e.
+
+2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/56560
+       * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
+       isn't defined.
+
+2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/56560
+       * config/i386/i386.c (init_cumulative_args): Also set
+       cum->callee_return_avx256_p.
+       (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
+       cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
+
+       * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
+       callee_return_avx256_p.
+
+2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       Backport from mainline:
+       2012-12-04  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (find_dummy_types): Output a dummy type if we couldn't
+       output the real type.
+
+2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR bootstrap/56258
+       * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
+       (PLUS_EXPR): Likewise.
+       * doc/cppopts.texi (--help): Likewise.
+       * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
+       (-fdump-rtl-cprop_hardreg): Likewise.
+       (-fdump-rtl-csa): Likewise.
+       (-fdump-rtl-dce): Likewise.
+       (-fdump-rtl-dbr): Likewise.
+       (-fdump-rtl-into_cfglayout): Likewise.
+       (-fdump-rtl-outof_cfglayout): Likewise.
+
+2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/56470
+       * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
+       (arm_print_operand, case 'S'): Don't use shift_operator to validate
+       the RTL.
+
+2013-03-14  Seth LaForge  <sethml@google.com>
+
+       PR target/56351
+       Backport from mainline
+       2012-10-22  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
+       VFP D registers in big-endian mode.
+
+2013-03-08  Joey Ye  <joey.ye@arm.com>
+
+       Backport from mainline
+       2013-03-06  Joey Ye  <joey.ye@arm.com>
+
+       PR lto/50293
+       * gcc.c (convert_white_space): New function.
+       (main): Handles white space in function name.
+
+2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+       2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/56529
+       * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
+       instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
+       to SH_DIV_CALL_TABLE for TARGET_SH2.
+       * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
+       list.
+       * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
+       mdiv= call-div1, call-fp, call-table options.
+
+2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * config.gcc (arm*-*-rtemself*): New.
+       (arm*-*-rtems*): Removed.
+       (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
+       "arm*-*-rtemseabi*" to "arm*-*-rtems*".
+
+2013-03-01  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR tree-optimization/55481
+       * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
+       back to general rewriting if we cannot leave an original biv
+       definition alone.
+
+2013-03-01  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-04-10  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52888
+       * gimple-low.c (gimple_check_call_args): Properly account for
+       compatible aggregate types.
+
+2013-02-26  Nick Clifton  <nickc@redhat.com>
+
+       PR target/56453
+       Import this patch from the mainline:
+
+       2012-08-17  Nick Clifton  <nickc@redhat.com>
+
+       * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
+       (branch_true): Likewise.
+       (branch_false): Likewise.
+
+2013-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56443
+       * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
+       overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
+       to type_for_mode langhook.
+
+2013-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/56258
+       * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
+       instead of @itemx.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56350
+       * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
+       if haven't found reduction or nested cycle operand, rather than
+       asserting we must find it.
+
+       PR tree-optimization/56381
+       * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
+       to fold_build3.
+
+       2013-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56250
+       * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
+       if type is unsigned and code isn't MULT_EXPR.
+
+       2013-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56217
+       * omp-low.c (use_pointer_for_field): Return false if
+       lower_send_shared_vars doesn't generate any copy-out code.
+
+       2012-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55110
+       * tree-vect-loop.c (vectorizable_reduction): Don't assert
+       that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
+
+2013-02-18  Richard Biener  <rguenther@suse.de>
+
+       Revert
+       2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-07-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53844
+       * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
+       the loop virtual PHI.
+
+2013-02-13  David S. Miller  <davem@davemloft.net>
+
+       * expmed.c (expand_shift_1): Only strip scalar integer subregs.
+
+2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/56275
+       * simplify-rtx.c (avoid_constant_pool_reference): Check that
+       offset is non-negative and less than cmode size before
+       calling simplify_subreg.
+
+2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (FMAMODEM): New mode iterator.
+       (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
+       mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
+
+       2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
+       when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
+       * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
+
+2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/56043
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
+       If there is no implicit builtin declaration, just return NULL.
+
+2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
+           Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
+       MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
+
+2013-02-07  David S. Miller  <davem@davemloft.net>
+
+       * dwarf2out.c (based_loc_descr): Perform leaf register remapping
+       on 'reg'.
+       * var-tracking.c (vt_add_function_parameter): Test the presence of
+       HAVE_window_save properly and do not remap argument registers when
+       we have a leaf function.
+
+2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR bootstrap/56227
+       * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
+       instead of "ll".
+       * config/i386/i386.c (ix86_print_operand): Ditto.
+
+2013-02-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/53040
+       * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
+       static chain, set REST_INLINE_FPRS too.
+
+2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
+
+       Backport from mainline
+       2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
+
+       * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
+       * configure: Regenerate.
+
+2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
+
+       Backport from mainline
+       2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
+                   Andrew Dixie  <andrewd@gentrack.com>
+
+       * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
+       flag set.
+
+2013-02-05  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/55107
+       * tree-ssa-pre.c (struct pre_stats): Remove constified field.
+       (bitmap_set_replace_value): Add gcc_unreachable.
+       (do_regular_insertion): Re-write all_same handling.  Insert
+       an assignment instead of a PHI in this case.
+       (execute_pre): Do not record constified events.
+
+2013-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54767
+       * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
+       backedges drop all symbolical range information.
+       (execute_vrp): Compute backedges.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-01-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44061
+       * tree-vrp.c (extract_range_basic): Compute zero as
+       value-range for __builtin_constant_p of function parameters.
+
+       2013-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/55890
+       * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-07-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53844
+       * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
+       the loop virtual PHI.
+
+       2012-12-13  Richard Biener  <rguenther@suse.de>
+
+       PR lto/55660
+       * tree-streamer.c (record_common_node): Check that we are not
+       recursively pre-loading nodes we want to skip.  Handle
+       char_type_node appearing as part of va_list_type_node.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55890
+       * gimple.h (gimple_call_builtin_class_p): New function.
+       * gimple.c (validate_call): New function.
+       (gimple_call_builtin_class_p): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+       Use gimple_call_builtin_class_p.
+       (find_func_clobbers): Likewise.
+       * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
+       (strlen_optimize_stmt): Likewise.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56125
+       * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
+       pow(x,c) into sqrt(x) * powi(x, n/2) or
+       1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
+       optimizing for size.
+       Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
+       1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
+       integer.
+
+       2013-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56098
+       * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
+       for stmts with volatile ops.
+       (cond_store_replacement): Don't optimize if assign has volatile ops.
+       (cond_if_else_store_replacement_1): Don't optimize if either
+       then_assign or else_assign have volatile ops.
+
+       2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/49069
+       * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
+       instead of cmpdi_operand for first comparison operand.
+       Don't assert that comparison operands aren't both constants.
+
+       2013-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56051
+       * fold-const.c (fold_binary_loc): Don't fold
+       X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
+       a narrowing conversion, or widening conversion from signed
+       to unsigned.
+
+       2013-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56015
+       * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
+       the case where writing real complex part of target modifies
+       op1.
+
+       2013-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/55940
+       * function.c (thread_prologue_and_epilogue_insns): Always
+       add crtl->drap_reg to set_up_by_prologue.set, even if
+       stack_realign_drap is false.
+
+       2013-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55921
+       * tree-complex.c (expand_complex_asm): New function.
+       (expand_complex_operations_1): Call it for GIMPLE_ASM.
+
+       2013-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/55838
+       * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
+       iv0.step, iv1.step and step.
+
+       2012-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54046
+       * Makefile.in (gimple-low.o): Depend on langhooks.h.
+       * gimple-low.c: Include langhooks.c.
+       (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
+       by default call lang_hooks.block_may_fallthru.
+       * langhooks.h (struct lang_hooks): Add block_may_fallthru
+       langhook.
+       * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
+       (LANG_HOOKS_INITIALIZER): Use it.
+
+       2012-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/55094
+       * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
+       on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
+       * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
+       on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
+       fail if the last real insn doesn't have REG_ARGS_SIZE note.
+
+       2012-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55236
+       * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
+       and signed ARG0_TYPE, force low and high to be non-NULL.
+
+       2012-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/54127
+       * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
+       asm goto labels from BB_HEAD (e->dest) to target bb, decrement
+       LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
+       BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
+       REG_LABEL_TARGET and REG_LABEL_OPERAND.
+
+2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
+       range isn't testing for zero.
+
+2013-01-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56113
+       * tree-ssa-structalias.c (equiv_class_lookup): Also return
+       the bitmap leader.
+       (label_visit): Free duplicate bitmaps and record the leader instead.
+       (perform_var_substitution): Adjust.
+
+2013-01-28  Serowk  <serowk@yandex.ru>
+
+       PR target/35294
+       * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
+       Fix mode checks to allow for the passing of constants in the
+       second parameter.
+       (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
+       Add entries in the switch statement for builtin iwmmxt vector
+       shift and rotate builtins.
+
+2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/56114
+       * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
+       operand 0 in movabs insn template for -masm=intel asm alternative.
+       (*movabs<mode>_2): Ditto for operand 1.
+
+2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/56028
+       * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
+       alternative to (o,r).
+       (*movdi_internal_rex64): Remove (!o,n) alternative.
+       (DImode immediate->memory splitter): Remove.
+       (DImode immediate->memory peephole2): Remove.
+       (movtf): Enable for TARGET_64BIT || TARGET_SSE.
+       (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
+       alternative to (!o,*r).
+       (*movtf_internal_sse): New pattern.
+       (*movxf_internal_rex64): New pattern.
+       (*movxf_internal): Disable for TARGET_64BIT.
+       (*movdf_internal_rex64): Remove (!o,F) alternative.
+
+       2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
+       involving stack registers slightly.
+
+       2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/constraints.md (Yf): New constraint.
+       * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
+       of f constraint to conditionaly disable x87 register preferences.
+       (*movdf_internal): Ditto.
+       (*movsf_internal): Ditto.
+
+       2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
+       (*movtf_internal_rex64): Add (!o,C) alternative
+       (*movxf_internal_rex64): Ditto.
+       (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
+
+2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
+
+2013-01-24  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2013-01-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/55755
+       * tree-sra.c (sra_modify_assign): Do not check that an access has no
+       children when trying to avoid producing a VIEW_CONVERT_EXPR.
+
+2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
+
+2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/56023
+       * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
+       dependent on debug instruction.
+
+2013-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2013-01-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimizations/55264
+       * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
+       * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
+       for virtual functions.
+       * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
+       for virtual methods.
+       * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
+       virtual methods before inlining is over.
+
+2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55981
+       * config/i386/sync.md (atomic_store<mode>): Generate SWImode
+       store through atomic_store<mode>_1.
+       (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
+
+2013-01-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55882
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
+       account for bitpos when computing alignment.
+
+2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2013-01-14 trunk r195169.
+
+       PR target/55974
+       * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
+       etc. to 1 and not to __flash.
+       Use LL suffix for __INT24_MAX__ with -mint8.
+       Use ULL suffix for __UINT24_MAX__ with -mint8.
+
+2013-01-14  Matthias Klose  <doko@ubuntu.com>
+
+       * doc/invoke.texi: Document -print-multiarch.
+       * doc/install.texi: Document --enable-multiarch.
+       * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
+       * configure.ac: Add --enable-multiarch option.
+       Substitute with_cpu, with_float.
+       * configure: Regenerate.
+       * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
+       enable_multiarch, with_cpu, with_float: New macros.
+       if_multiarch: New macro, define in terms of enable_multiarch.
+       * genmultilib: Add new argument for the multiarch name.
+       * gcc.c (multiarch_dir): Define.
+       (for_each_path): Search for multiarch suffixes.
+       (driver_handle_option): Handle multiarch option.
+       (do_spec_1): Pass -imultiarch if defined.
+       (main): Print multiarch.
+       (set_multilib_dir): Separate multilib and multiarch names
+       from multilib_select.
+       (print_multilib_info): Ignore multiarch names in multilib_select.
+       * incpath.c (add_standard_paths): Search the multiarch include dirs.
+       * cppdefault.h (default_include): Document multiarch in multilib
+       member.
+       * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
+       include directory for multiarch directories.
+       * common.opt: New options --print-multiarch and -imultilib.
+
+       * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
+       Include i386/t-linux.
+       <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
+       Include i386/t-kfreebsd.
+       <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
+       * config/i386/t-linux64: Add multiarch names in
+       MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
+       * config/i386/t-gnu: New file.
+       * config/i386/t-kfreebsd: Likewise.
+       * config/i386/t-linux: Likewise.
+
+       * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+       * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
+       for 32bit non-biarch configurations.
+
+       * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
+       Include pa/t-linux.
+
+       * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+
+       * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
+
+       * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+       * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
+       to the list.
+       (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
+       * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
+       Include rs6000/t-linux for 32bit non-biarch configurations.
+
+       * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+
+       * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
+
+       * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
+
+       * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
+       * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
+
+2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
+       * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
+       (vect_estimate_min_profitable_iter): Adjust to above fix.
+       * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
+
+2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Add whitespace in
+       __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
+       documentation.  Add missing '__' in front of
+       __builtin_ia32_packssdw256.
+
+2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (*vec_interleave_highv2df): Change mode
+       attribute of movddup insn to DF.
+       (*vec_interleave_lowv2df): Ditto.
+       (vec_dupv2df): Ditto.
+
+2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2013-01-07 trunk r194991, r194992.
+
+       PR target/55897
+       * doc/extend.texi (AVR Named Address Spaces): __memx goes into
+       .progmemx.data now.
+
+       * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
+       (avr_addrspace_t): Add .section_name field.
+       * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
+       array size.
+       (avr_addrspace): Same.  Initialize .section_name.  Remove last
+       NULL entry.  Put __memx into .progmemx.data.
+       (progmem_section_prefix): Remove.
+       (avr_asm_init_sections): No need to initialize progmem_section.
+       (avr_asm_named_section): Use avr_addrspace[].section_name to get
+       section name prefix.
+       (avr_asm_select_section): Ditto.  And use get_unnamed_section to
+       retrieve the progmem section.
+       * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
+       boundary to run over avr_addrspace[].
+       (avr_register_target_pragmas): Ditto.
+
+2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2013-01-07 trunk r194978.
+
+       PR target/54461
+       * doc/install.texi (Cross-Compiler-Specific Options): Document
+       --with-avrlibc.
+
+2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2013-01-07 trunk r194968.
+
+       PR other/55243
+       * config/avr/t-avr: Don't automatically rebuild
+       $(srcdir)/config/avr/t-multilib
+       $(srcdir)/config/avr/avr-tables.opt
+       (avr-mcus): New phony target to build them on request.
+       (s-avr-mlib): Remove.
+       * avr/avr-mcus.def: Adjust comments.
+
+2013-01-07  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-12-19  Terry Guo  <terry.guo@arm.com>
+
+       * config/arm/arm.c (thumb_find_work_register): Check argument
+       register number based on current PCS.
+
+2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55712
+       * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
+       selected code model, define __code_mode_small__, __code_model_medium__,
+       __code_model_large__, __code_model_32__ or __code_model_kernel__.
+       * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
+       xchg temporary register with %k.  Declare temporary register as
+       early clobbered.
+       [__x86_64__]: For medium and large code models, preserve %rbx register.
+
+2013-01-03  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_move): Always assign to op1
+       after eliminating TLS symbols.
+
+2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/53789
+       * config/pa/pa.md (movsi): Revert previous change.
+       * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
+       references.
+
+2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
+
+       PR bootstrap/55707
+       * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
+       intptr_t.
+
+2013-01-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55804
+       * tree.c (build_array_type_1): Revert earlier change.
+
+2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/53789
+       * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
+       after reload starts.
+
+2012-12-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/55355
+       * tree-sra.c (type_internals_preclude_sra_p): Also check that
+       bit_position is small enough to fit a single HOST_WIDE_INT.
+
+2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backport from mainline
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
+       * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
+
+2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+           Tomash Brechko  <tomash.brechko@gmail.com>
+
+       PR target/55673
+       * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
+       handling of before and after cases.
+       * config/sparc/sync.md (atomic_store): Fix pasto.
+
+2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
+
+       * optabs.c (expand_atomic_store): Elide redundant model test.
+
+2012-12-13  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/55492
+       * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
+
+2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/54121
+       * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
+       (tldo_stb_sp64): Likewise.
+       (tldo_sth_sp32): Likewise.
+       (tldo_sth_sp64): Likewise.
+       (tldo_stw_sp32): Likewise.
+       (tldo_stw_sp64): Likewise.
+       (tldo_stx_sp64): Likewise.
+
+2012-12-10 Kai Tietz  <ktietz@redhat.com>
+
+       PR target/53912
+       * print-tree.c (print_node): Cast from pointer via uintptr_t.
+
+2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
+                   H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/55597
+       * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
+       before using it as insn or call equivalent.
+
+2012-12-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55032
+       * tree.c (build_array_type_1): Re-layout if we found it in the
+       hash table.
+
+2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
+       opaque cond in all call insns.
+
+2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
+       area if the function allocates dynamic stack space.
+       (ia64_initial_elimination_offset): Adjust offsets to above change.
+
+2012-12-03  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53663
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
+       native encode/interpret translation on VN_WALKREWRITE.
+
+2012-12-03 Kai Tietz  <ktietz@redhat.com>
+
+       PR target/53912
+       * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
+
+       PR target/53912
+       * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
+
+       PR target/53912
+       * pointer-set.c (hash1): Cast from pointer via uintptr_t.
+
+2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Backport from mainline:
+       2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/55195
+       * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
+       (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
+       (in_nullified_branch_delay): Likewise.
+       (in_call_delay): Likewise.
+       Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
+       new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
+       the $$sh_func_adrs call as variable.  Update type of sibcalls and
+       $$sh_func_adrs call.
+       * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
+       length instead of adjustment.  Handle negative and undefined call
+       adjustments for insn_default_length.  Remove adjustment for millicode
+       insn with unfilled delay slot.
+       (pa_output_millicode_call): Update for revised millicode length.
+       * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
+
+2012-11-29  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/55171
+       * prefix.c (lookup_key): Replace xmalloc/xrealloc
+       use by XNEWVEC/XRESIZEVEC.
+
+       * i386.c (get_scratch_register_on_entry): Handle
+       thiscall-convention.
+       (split_stack_prologue_scratch_regno): Likewise.
+       (ix86_static_chain): Likewise.
+       (x86_output_mi_thunk): Likewise.
+
+2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
+                   Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+       PR lto/54795
+       * lto-opts.c (lto_write_options): Also handle
+       OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
+       OPT_SPECIAL_program_name.
+
+       PR lto/55474
+       * lto-wrapper.c (merge_and_complain): Handle
+       OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
+       OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
+
+2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
+
+       PR rtl-optimization/55489
+       * gcse.c (compute_transp): Precompute a canonical version
+       of XEXP (x, 0), and pass it to canon_true_dependence.
+
+2012-11-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55331
+       * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
+       stmt with a NOP instead of removing it.
+
+2012-11-26  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54976
+       * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+       Robustify against odd inner_mode inputs.
+
+       2012-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54894
+       * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+       Handle over-aligned scalar types properly.
+
+       2012-10-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54735
+       * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
+       cleaning up the CFG.
+
+2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
+       explaining the register ordering preferences.
+
+       2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+       * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
+       constraints so that the traditional floating point loads, stores,
+       and moves are done first, then the VSX loads, stores, and moves,
+       and finally the GPR loads, stores, and moves so that reload
+       chooses FPRs over GPRs, and uses the traditional load/store
+       instructions which provide an offset.
+       (movdf_hardfloat64): Likewise.
+
+2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+                   H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/55142
+       * config/i386/i386.c (legitimize_pic_address): Properly handle
+       REG + CONST.
+       (ix86_print_operand_address): Set code to 'k' when forcing
+       addr32 prefix.  For x32, zero-extend negative displacement if
+       it < -16*1024*1024.
+
+2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * common.opt (fvar-tracking-uninit): Document.
+       * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
+       * config/darwin.c (darwin_override_options): Likewise.
+
+2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
+       * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
+
+2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
+
+2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
+       sp_offset manually.
+
+2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_init_machine_status): Do not
+       explicitly clear tls_descriptor_call_expanded_p again.
+
+       2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md
+       (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
+       as read and written by the instruction.
+
+       2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
+       (ix86_instantiate_decls): New function.
+       (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
+       stack slot instead of SLOT_VIRTUAL.
+       <case IX86_BUILTIN_STMXCSR>: Ditto.
+       (assign_386_stack_local): Do not assert when virtual slot is valid.
+       * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
+       * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
+       (truncxf<mode>2): Ditto.
+       (floatunssi<mode>2): Ditto.
+       (isinf<mode>2): Ditto.
+       * config/i386/sync.md (atomic_load<mode>): Ditto.
+       (atomic_store<mode>): Ditto.
+
+2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/55219
+       * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
+       the argument is itself a conditional expression.
+
+2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
+       REX_INT_REGNO_P.
+
+2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/54986
+       * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
+       conversions on entry but add them back on exit if needed.
+
+2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR target/55204
+       * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
+       pointer check.
+       (print_reg): Use true_regnum rather than REGNO.
+       (ix86_print_operand_address): Remove SUBREG handling.
+
+2012-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/54828
+       * gimple.h (is_gimple_sizepos): New inline function.
+       * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
+       final assignment to expr variable.
+       * tree.c (RETURN_TRUE_IF_VAR): Return true also if
+       !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
+       into a local temporary.
+
+       2012-10-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54877
+       * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
+       use make_ssa_name instead of copy_ssa_name.
+
+2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline
+       2012-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/53708
+       * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
+       user-supplied alignment when used with an explicit section name.
+
+2012-11-02  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/54985
+       * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
+       from thread_across_edge.
+       (thread_across_edge): Use it in all cases where we might thread
+       across a back edge.
+
+2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
+       special register pushes before frame probing and allocation.
+
+2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
+           Joel Sherrill  <joel.sherrill@oarcorp.com>
+
+       * config/sparc/t-rtems: New (Custom multilibs).
+       * config/sparc/t-rtems-64: New (Custom multilibs).
+       * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
+       (sparc-*-rtems*): Add sparc/t-rtems.
+
+2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
+       head comment.
+       (hash_rtx): Likewise.
+
+2012-10-29  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-10-11  Terry Guo  <terry.guo@arm.com>
+
+       * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
+       architecture.
+       * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
+       instruction.
+
+2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
+
+       * common/config/m68k/m68k-common.c (m68k_handle_option): Set
+       gcc_options fields of opts_set for -m68020-40 and -m68020-60.
+
+2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       * config/avr/t-rtems: Revert previous commit.
+
+2012-10-26  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-10-23  Terry Guo  <terry.guo@arm.com>
+
+       PR target/55019
+       * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
+       live argument regs.
+
+2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
+       __USE_INIT_FINI__.
+       * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
+
+2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       * config.gcc (microblaze*-*-rtems*): New target.
+       * config/microblaze/rtems.h: New.
+       * config/microblaze/t-rtems: New.
+
+2012-10-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54902
+       * tree-ssa-pre.c (fini_pre): Return TODO.
+       (execute_pre): Adjust.
+       * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
+       blocks before computing dominators.
+
+2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (memory_address_length): Assert that non-null
+       base or index RTXes are registers.  Do not check for REG RTXes.
+       Determine addr32 prefix using SImode_address_operand or
+       from original base and index RTXes.  Simplify code.
+
+       2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (memory_address_length): Add new bool
+       argument.  Update all uses.
+       * config/i386/i386.c (memory_address_length): If not LEA insn, then
+       add length of addr32 prefix based on mode of base or index register.
+       (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
+       addresses here.  Update call to memory_address_length.
+       (ix86_print_address_operand): Use SImode_address_operand predicate.
+       * config/i386/predicates.md (SImode_address_operand): New.
+       * config/i386/i386.md (lea<mode>): Use SImode_address_operand
+       to calculate "mode" attribute.  Use SImode_address_operand predicate
+       instead of open-coding accepted RTX codes.
+
+2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-10-22 trunk r192685.
+       * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
+       Note __AVR_<device>__ is not defined for cores.
+       Don't point to --help=target.
+       Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
+
+2012-10-19  Marek Polacek  <polacek@redhat.com>
+
+       Backported from mainline
+       2012-10-19  Marek Polacek  <polacek@redhat.com>
+
+       PR middle-end/54945
+       * fold-const.c (fold_sign_changed_comparison):  Punt if folding
+       pointer/non-pointer comparison.
+
+2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+       Backported from mainline
+       2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+       PR target/54892
+       * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
+       sure the mode is correct when falling through from above cases.
+
+2012-10-19  Alan Modra  <amodra@gmail.com>
+
+       * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
+       (HAVE_LD_LARGE_TOC): Likewise.
+       * configure: Regenerate.
+
+2012-10-19  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/predicates.md (splat_input_operand): Don't call
+       input_operand for MEMs.  Instead check for volatile and call
+       memory_address_addr_space_p with modified mode.
+
+2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backported from mainline
+       2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       * config/arm/arm.c (arm_reorg): Ensure all insns are split.
+
+2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/54870
+       * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
+       * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
+       SSA_NAME pointer that points to a partition if there is at least
+       one variable with it set in the partition.
+       * dse.c (local_variable_can_escape): New predicate.
+       (can_escape): Call it.
+       * gimplify.c (mark_addressable): If this is a partitioned decl, also
+       mark the SSA_NAME pointer that points to a partition.
+
+2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/53701
+       * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
+       rocess not only expr's vinsns but all old vinsns from expr's
+       istory of changes.
+
+2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
+       PR target/53975
+
+       * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
+       Revert
+       2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
+       * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
+       only if producer writes to the register given by regno.
+
+2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (UNSPEC_MOVU): Remove.
+       (UNSPEC_LOADU): New.
+       (UNSPEC_STOREU): Ditto.
+       (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
+       (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
+       (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
+       (<sse2>_movdqu<avxsizesuffix>): Split to ...
+       (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
+       (<sse2>_storedqu<avxsizesuffix>): ... this.
+       (*sse4_2_pcmpestr_unaligned): Update.
+       (*sse4_2_pcmpistr_unaligned): Ditto.
+
+       * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
+       gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
+       gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
+       (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
+       gen_sse2_load{dqu,upd} to load from unaligned memory and
+       gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
+       unaligned memory.
+       (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
+       Use CODE_FOR_sse_loadups.
+       <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
+       <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
+       <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
+       <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
+       <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
+       <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
+       <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
+       <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
+       <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
+       <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
+       <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
+
+2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+       Backport from trunk (r190222):
+
+       PR tree-optimization/54146
+       * ifcvt.c: Include pointer-set.h.
+       (cond_move_process_if_block): Change type of then_regs and
+       else_regs from alloca'd array to pointer_sets.
+       (check_cond_move_block): Update for this change.
+       (cond_move_convert_if_block): Likewise.
+       * Makefile.in: Fix dependencies for ifcvt.o.
+
+2012-10-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/54920
+       * tree-ssa-pre.c (create_expression_by_pieces): Properly
+       allocate temporary storage for all NARY elements.
+
+2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/54854
+       * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
+
+2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
+
+       * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
+       default_use_cxa_atexit to yes.
+
+2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/pa.md: Adjust unamed HImode add insn pattern.
+
+2012-10-05  Jan Hubicka  <jh@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33763
+       * tree-inline.c (expand_call_inline): Silently ignore always_inline
+       attribute for redefined extern inline functions.
+
+2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
+       in SSE and YMM state support check for -march=native.
+
+2012-10-03  Alexandre Oliva <aoliva@redhat.com>
+
+       PR debug/53135
+       * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
+       when needed.
+
+2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/54785
+       * doc/invoke.texi: Document -mprefer-avx128.
+
+2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/54741
+       *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
+       (XSTATE_FP): Likewise.
+       (XSTATE_SSE): Likewise.
+       (XSTATE_YMM): Likewise.
+       (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
+       SSE and YMM states aren't supported.
+
+2012-10-01  Tom de Vries  <tom@codesourcery.com>
+
+       * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
+       the prototype.
+
+2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       PR target/54746
+       * config/s390/s390.c (s390_option_override): Add missing break.
+
+2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
+
+       Backport from mainline
+       2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
+
+       * config.gcc: Replace 'host' with 'target' when configuring for
+       powerpc64*-*-freebsd.
+
+2012-09-28  Meador Inge  <meadori@codesourcery.com>
+
+       Backport from mainline
+       2012-09-27  Meador Inge  <meadori@codesourcery.com>
+
+       * gcc-ar.c (main): Handle the returning of the sub-process error
+       code correctly.
+
+2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-09-28 trunk r191821.
+       * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
+
+2012-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54703
+       * simplify-rtx.c (simplify_binary_operation_1): Perform
+       (x - (x & y)) -> (x & ~y) optimization only for integral modes.
+
+2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
+       TYPE_NONALIASED_COMPONENT flag.
+       * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
+       TYPE_NONALIASED_COMPONENT flag.
+
+2012-09-21  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54638
+       Backport from mainline
+       2012-04-19  Richard Guenther  <rguenther@suse.de>
+
+       * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
+       array access.
+
+2012-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/54552
+       * c-typeck.c (c_cast_expr): When casting to a type requiring
+       C_MAYBE_CONST_EXPR to be created, pass the inner expression to
+       c_fully_fold first.
+
+2012-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/54103
+       * c-typeck.c (build_unary_op): Pass original argument of
+       TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
+       any C_MAYBE_CONST_EXPR, if it has integer operands.
+       (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
+       TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
+       to c_objc_common_truthvalue_conversion, then remove any
+       C_MAYBE_CONST_EXPR, if they have integer operands.  Use
+       c_objc_common_truthvalue_conversion not
+       c_common_truthvalue_conversion.
+       (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
+       call note_integer_operands for arguments with integer operands
+       that are not integer constants.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54563
+       * tree-ssa-math-opts.c (execute_cse_sincos): Call
+       gimple_purge_dead_eh_edges if last call has been changed.
+
+       2012-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54564
+       * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
+       instead of (match_dup 0) as second argument to vec_merge.
+       (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
+       Remove third alternative.
+       (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
+       operand 2 instead of operand 1, but put it as first argument
+       of fma.
+       * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
+       _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
+       of the first.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Set to 4.7.3.
+       * DEV-PHASE: Set to prerelease.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
        Backport from mainline
        2012-09-07  Andi Kleen  <ak@linux.intel.com>
 
-       * gcc/lto-streamer.h (res_pair): Add.
-       (lto_file_decl_data): Replace resolutions with respairs.
-       Add max_index.
-       * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
-       Initialize respairs.
-       (lto_file_finalize): Set up resolutions vector lazily from respairs.
+       * gcc/lto-streamer.h (res_pair): Add.
+       (lto_file_decl_data): Replace resolutions with respairs.
+       Add max_index.
+       * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
+       Initialize respairs.
+       (lto_file_finalize): Set up resolutions vector lazily from respairs.
 
 2012-09-14  Walter Lee  <walt@tilera.com>
 
 
 2012-09-12  Christian Bruel  <christian.bruel@st.com>
 
-       * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
+       * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
 
 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
 
index 76d6ecf..d8ba94e 100644 (file)
@@ -1 +1 @@
-20120920
+20130411
index 5c3514d..0f6735a 100644 (file)
@@ -540,6 +540,21 @@ extra_modes_file=@extra_modes_file@
 extra_opt_files=@extra_opt_files@
 host_hook_obj=@out_host_hook_obj@
 
+# Multiarch support
+enable_multiarch = @enable_multiarch@
+with_cpu = @with_cpu@
+with_float = @with_float@
+ifeq ($(enable_multiarch),yes)
+  if_multiarch = $(1)
+else
+  ifeq ($(enable_multiarch),auto)
+    # SYSTEM_HEADER_DIR is makefile syntax, cannot be evaluated in configure.ac
+    if_multiarch = $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1))
+  else
+    if_multiarch =
+  endif
+endif
+
 # ------------------------
 # Installation directories
 # ------------------------
@@ -1833,10 +1848,11 @@ s-mlib: $(srcdir)/genmultilib Makefile
            "$(MULTILIB_EXTRA_OPTS)" \
            "$(MULTILIB_EXCLUSIONS)" \
            "$(MULTILIB_OSDIRNAMES)" \
+           "$(MULTIARCH_DIRNAME)" \
            "@enable_multilib@" \
            > tmp-mlib.h; \
        else \
-         $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \
+         $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' "$(MULTIARCH_DIRNAME)" no \
            > tmp-mlib.h; \
        fi
        $(SHELL) $(srcdir)/../move-if-change tmp-mlib.h multilib.h
@@ -2580,7 +2596,7 @@ gimple-low.o : gimple-low.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
    $(DIAGNOSTIC_H) $(GIMPLE_H) $(TREE_INLINE_H) langhooks.h \
    $(LANGHOOKS_DEF_H) $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
    $(EXCEPT_H) $(FLAGS_H) $(RTL_H) $(FUNCTION_H) $(EXPR_H) $(TREE_PASS_H) \
-   $(HASHTAB_H) $(DIAGNOSTIC_CORE_H) tree-iterator.h
+   $(HASHTAB_H) $(DIAGNOSTIC_CORE_H) tree-iterator.h langhooks.h
 omp-low.o : omp-low.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
    $(RTL_H) $(GIMPLE_H) $(TREE_INLINE_H) langhooks.h $(DIAGNOSTIC_CORE_H) \
    $(TREE_FLOW_H) $(TIMEVAR_H) $(FLAGS_H) $(EXPR_H) $(DIAGNOSTIC_CORE_H) \
@@ -3350,7 +3366,7 @@ sel-sched.o : sel-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(FUNCTION_H) $(INSN_ATTR_H)  $(RECOG_H) $(EXCEPT_H) $(PARAMS_H) \
    $(TM_P_H) output.h $(TARGET_H) $(TIMEVAR_H) $(TREE_PASS_H)  \
    $(SCHED_INT_H) $(GGC_H) $(TREE_H) langhooks.h rtlhooks-def.h \
-   $(SEL_SCHED_IR_H) $(SEL_SCHED_DUMP_H) sel-sched.h $(DBGCNT_H) $(EMIT_RTL_H)
+   $(SEL_SCHED_IR_H) $(SEL_SCHED_DUMP_H) sel-sched.h $(DBGCNT_H) $(EMIT_RTL_H) ira.h
 sel-sched-dump.o : sel-sched-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
    $(FUNCTION_H) $(INSN_ATTR_H) $(DIAGNOSTIC_CORE_H) $(RECOG_H) $(EXCEPT_H) $(PARAMS_H) \
@@ -3417,7 +3433,7 @@ regrename.o : regrename.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
 ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
    $(REGS_H) $(DIAGNOSTIC_CORE_H) $(FLAGS_H) insn-config.h $(FUNCTION_H) $(RECOG_H) \
    $(TARGET_H) $(BASIC_BLOCK_H) $(EXPR_H) output.h $(EXCEPT_H) $(TM_P_H) \
-   $(OPTABS_H) $(CFGLOOP_H) hard-reg-set.h $(TIMEVAR_H) \
+   $(OPTABS_H) $(CFGLOOP_H) hard-reg-set.h pointer-set.h $(TIMEVAR_H) \
    $(TREE_PASS_H) $(DF_H) $(DBGCNT_H)
 params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(COMMON_TARGET_H) \
    $(PARAMS_H) $(DIAGNOSTIC_CORE_H)
index 9a48ee5..af23166 100644 (file)
@@ -1,3 +1,151 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-03-08  Cesar Strauss  <cestrauss@gmail.com>
+
+       PR ada/52123
+       * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
+       (__gnat_SEH_error_handler): Likewise.  Remove final return.
+
+2013-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/56258
+       * gnat-style.texi (@title): Remove @hfill.
+       * projects.texi: Avoid line wrapping inside of @pxref or @xref.
+
+2013-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/56271
+       Backport from mainline
+       2012-05-15  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
+       instead of trying to mimic it.
+
+2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>
+
+       Back-port from mainline.
+       PR target/52123
+       * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
+       SECURITY_DESCRIPTOR *.
+       (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE.
+       (__gnat_portable_spawn): Fix cast to char* const*.
+       (add_handle): Cast from pointer via void **.
+       (add_handle): Cast from pointer via int *.
+       (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *.
+       (__gnat_locate_exec_on_path): Cast from pointer via char *.
+       * initialize.c (append_arg): Cast from pointer via LPWSTR.
+       (__gnat_initialize): Cast from pointer via LPWSTR.
+       * seh_init.c (__gnat_SEH_error_handler): Cast from pointer via FARPROC.
+       * tracebak.c: Cast from pointer via FARPROC.
+
+2013-02-07  Simon Wright  <simon@pushface.org>
+
+       PR target/50678
+       * init.c (__darwin_major_version): New function for x86-64/Darwin.
+       (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
+       on Darwin 12 and above.
+
+2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
+       pack the field of the record type made for a misaligned type.
+
+2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Backport from mainline
+       2013-01-04  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi: Document alignment choice for subtypes.
+
+2012-12-21  Ed Schonberg  <schonberg@adacore.com>
+
+       PR ada/53737
+       * sem_ch12.adb (Analyze_Associations): Do not check the legality of
+       actuals for RACW types if this is an internal instantiation for a formal
+       package with defaulted parameters.
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backport from mainline.
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
+       ARM Linux/GNU.
+
+2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/54614
+       Backport from mainline
+
+       2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
+       of Left in S evaluation.
+
+2012-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/53766
+       Backport from mainline
+
+       2012-07-17  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
+       and Conversion_Added.  Add local constant Typ.
+       Retrieve the original attribute after the arithmetic check
+       machinery has modified the node. Add a conversion to the target
+       type when the prefix of attribute Max_Size_In_Storage_Elements
+       is a controlled type.
+
+2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/52110
+       * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
+       pthread_rwlock_t subtypes.  Delete duplicate declaration of clockid_t.
+       * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
+
+2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR other/52438
+       * s-taspri-lynxos.ads: Delete.
+       * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
+       * s-tpopsp-rtems.adb: Likewise.
+       * s-osinte-rtems.adb: Likewise.
+
+2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
+
+2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
+       BLKmode on the type if it is passed by reference.
+       <E_Array_Subtype>: Likewise.
+       <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
+       <E_Record_Subtype>: Likewise.
+
+       * gcc-interface/Makefile.in: Remove outdated comment and reference to
+       non-existing file.
+
+2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
+       directly to obtain an unsigned version of the base type.
+
+2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
+       generate the special PARM_DECL for an Out parameter in LTO mode.
+
+2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
+       bounds of loop iteraration scheme only for locally defined subtypes.
+
+       * gcc-interface/trans.c (build_return_expr): Apply the NRV optimization
+       only for BLKmode.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 4c96d56..83916a4 100644 (file)
@@ -1982,7 +1982,7 @@ __gnat_check_OWNER_ACL
      GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
      NULL, 0, &nLength);
 
-  if ((pSD = (PSECURITY_DESCRIPTOR) HeapAlloc
+  if ((pSD = (SECURITY_DESCRIPTOR *) HeapAlloc
        (GetProcessHeap (), HEAP_ZERO_MEMORY, nLength)) == NULL)
     return 0;
 
@@ -2059,7 +2059,7 @@ __gnat_set_OWNER_ACL
     return;
 
   BuildExplicitAccessWithName
-    (&ea, username, AccessPermissions, AccessMode, NO_INHERITANCE);
+    (&ea, username, AccessPermissions, (ACCESS_MODE) AccessMode, NO_INHERITANCE);
 
   if (AccessMode == SET_ACCESS)
     {
@@ -2384,7 +2384,7 @@ __gnat_portable_spawn (char *args[])
   strcat (args[0], args_0);
   strcat (args[0], "\"");
 
-  status = spawnvp (P_WAIT, args_0, (const char* const*)args);
+  status = spawnvp (P_WAIT, args_0, (char* const*)args);
 
   /* restore previous value */
   free (args[0]);
@@ -2544,9 +2544,9 @@ add_handle (HANDLE h, int pid)
     {
       plist_max_length += 1000;
       HANDLES_LIST =
-        xrealloc (HANDLES_LIST, sizeof (HANDLE) * plist_max_length);
+        (void **) xrealloc (HANDLES_LIST, sizeof (HANDLE) * plist_max_length);
       PID_LIST =
-        xrealloc (PID_LIST, sizeof (int) * plist_max_length);
+        (int *) xrealloc (PID_LIST, sizeof (int) * plist_max_length);
     }
 
   HANDLES_LIST[plist_length] = h;
@@ -2935,7 +2935,7 @@ __gnat_locate_exec_on_path (char *exec_name)
 
   #define EXPAND_BUFFER_SIZE 32767
 
-  wapath_val = alloca (EXPAND_BUFFER_SIZE);
+  wapath_val = (TCHAR *) alloca (EXPAND_BUFFER_SIZE);
 
   wapath_val [0] = '.';
   wapath_val [1] = ';';
@@ -2945,7 +2945,7 @@ __gnat_locate_exec_on_path (char *exec_name)
 
   if (!res) wapath_val [0] = _T('\0');
 
-  apath_val = alloca (EXPAND_BUFFER_SIZE);
+  apath_val = (char *) alloca (EXPAND_BUFFER_SIZE);
 
   WS2SC (apath_val, wapath_val, EXPAND_BUFFER_SIZE);
   return __gnat_locate_exec (exec_name, apath_val);
index 4e0c60c..b2f53ec 100644 (file)
@@ -2996,9 +2996,26 @@ package body Exp_Attr is
       -- Max_Size_In_Storage_Elements --
       ----------------------------------
 
-      when Attribute_Max_Size_In_Storage_Elements =>
+      when Attribute_Max_Size_In_Storage_Elements => declare
+         Typ  : constant Entity_Id := Etype (N);
+         Attr : Node_Id;
+
+         Conversion_Added : Boolean := False;
+         --  A flag which tracks whether the original attribute has been
+         --  wrapped inside a type conversion.
+
+      begin
          Apply_Universal_Integer_Attribute_Checks (N);
 
+         --  The universal integer check may sometimes add a type conversion,
+         --  retrieve the original attribute reference from the expression.
+
+         Attr := N;
+         if Nkind (Attr) = N_Type_Conversion then
+            Attr := Expression (Attr);
+            Conversion_Added := True;
+         end if;
+
          --  Heap-allocated controlled objects contain two extra pointers which
          --  are not part of the actual type. Transform the attribute reference
          --  into a runtime expression to add the size of the hidden header.
@@ -3007,20 +3024,20 @@ package body Exp_Attr is
          --  two pointers are already present in the type.
 
          if VM_Target = No_VM
-           and then Nkind (N) = N_Attribute_Reference
+           and then Nkind (Attr) = N_Attribute_Reference
            and then Needs_Finalization (Ptyp)
-           and then not Header_Size_Added (N)
+           and then not Header_Size_Added (Attr)
          then
-            Set_Header_Size_Added (N);
+            Set_Header_Size_Added (Attr);
 
             --  Generate:
             --    P'Max_Size_In_Storage_Elements +
             --      Universal_Integer
             --        (Header_Size_With_Padding (Ptyp'Alignment))
 
-            Rewrite (N,
+            Rewrite (Attr,
               Make_Op_Add (Loc,
-                Left_Opnd  => Relocate_Node (N),
+                Left_Opnd  => Relocate_Node (Attr),
                 Right_Opnd =>
                   Convert_To (Universal_Integer,
                     Make_Function_Call (Loc,
@@ -3034,9 +3051,19 @@ package body Exp_Attr is
                             New_Reference_To (Ptyp, Loc),
                           Attribute_Name => Name_Alignment))))));
 
-            Analyze (N);
+            --  Add a conversion to the target type
+
+            if not Conversion_Added then
+               Rewrite (Attr,
+                 Make_Type_Conversion (Loc,
+                   Subtype_Mark => New_Reference_To (Typ, Loc),
+                   Expression   => Relocate_Node (Attr)));
+            end if;
+
+            Analyze (Attr);
             return;
          end if;
+      end;
 
       --------------------
       -- Mechanism_Code --
index 06a8803..ec95398 100644 (file)
@@ -68,7 +68,7 @@ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
 THREAD_KIND=native
 TRACE=no
 # We do not want the WARN_CFLAGS of the compiler in Ada as it is for C/C++.
-COMMON_FLAGS_TO_PASS = $(filter-out -pedantic -W%, $(FLAGS_TO_PASS))
+COMMON_FLAGS_TO_PASS = $(filter-out $(WARN_CFLAGS), $(FLAGS_TO_PASS))
 ADA_FLAGS_TO_PASS = \
        "ADA_FOR_BUILD=$(ADA_FOR_BUILD)"        \
        "ADA_INCLUDE_DIR=$(ADA_INCLUDE_DIR)"    \
@@ -1225,33 +1225,20 @@ ada/mdll-fil.o : ada/mdll-fil.adb ada/mdll.ads ada/mdll-fil.ads
 ada/mdll-utl.o : ada/mdll-utl.adb ada/mdll.ads ada/mdll-utl.ads ada/sdefault.ads ada/types.ads
        $(CC) -c $(ALL_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
 
-ada/adadecode.o : ada/adadecode.c $(CONFIG_H) $(SYSTEM_H) ada/adadecode.h
-ada/adaint.o   : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-ada/argv.o     : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-ada/cstreams.o : ada/cstreams.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-ada/exit.o     : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-ada/final.o    : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
-ada/link.o     : ada/link.c
-
-ada/targext.o : ada/targext.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
-       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
+ada/adadecode.o : ada/adadecode.c $(CONFIG_H) $(SYSTEM_H) ada/adadecode.h ada/adaint.h
+ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h version.h
+ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
 ada/cio.o : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
-       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
+ada/cstreams.o : ada/cstreams.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
+ada/env.o: ada/env.c $(CONFIG_H) $(SYSTEM_H) ada/env.h
+ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
+ada/final.o : ada/final.c
 ada/init.o : ada/init.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
-       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
-ada/initialize.o : ada/initialize.c
-       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
+ada/initialize.o : ada/initialize.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
+ada/link.o : ada/link.c auto-host.h
 ada/raise.o : ada/raise.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
-       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
+ada/seh_init.o: ada/seh_init.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
+ada/targext.o : ada/targext.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
 
 ada/cuintp.o : ada/gcc-interface/cuintp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    $(TM_H) $(TREE_H) ada/gcc-interface/ada.h ada/types.h ada/uintp.h \
index f9e7eda..9f20f07 100644 (file)
@@ -1242,7 +1242,6 @@ ifeq ($(strip $(filter-out %86_64 freebsd%,$(arch) $(osys))),)
   s-taprop.adb<s-taprop-posix.adb \
   s-taspri.ads<s-taspri-posix.ads \
   s-tpopsp.adb<s-tpopsp-posix.adb \
-  g-trasym.adb<g-trasym-dwarf.adb \
   $(ATOMICS_TARGET_PAIRS) \
   $(X86_64_TARGET_PAIRS) \
   system.ads<system-freebsd-x86_64.ads
@@ -1867,7 +1866,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif
 
-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<a-intnam-linux.ads \
   s-inmaop.adb<s-inmaop-posix.adb \
@@ -2518,8 +2517,6 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
        $(RM) ../stamp-gnatlib-$(RTSDIR)
        touch ../stamp-gnatlib1-$(RTSDIR)
 
-# GNULLI End #############################################################
-
 ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),)
 OSCONS_CPP=../../$(DECC) -E /comment=as_is -DNATIVE \
              -DTARGET='""$(target)""' $(fsrcpfx)ada/s-oscons-tmplt.c
index 33cad2c..9ae5b4b 100644 (file)
@@ -1508,7 +1508,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
           the VAR_DECL.  Suppress debug info for the latter but make sure it
           will live on the stack so that it can be accessed from within the
           debugger through the PARM_DECL.  */
-       if (kind == E_Out_Parameter && definition && !optimize && debug_info_p)
+       if (kind == E_Out_Parameter
+           && definition
+           && debug_info_p
+           && !optimize
+           && !flag_generate_lto)
          {
            tree param = create_param_decl (gnu_entity_name, gnu_type, false);
            gnat_pushdecl (param, gnat_entity);
@@ -1892,8 +1896,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
        }
 
       /* If the type we are dealing with has got a smaller alignment than the
-        natural one, we need to wrap it up in a record type and under-align
-        the latter.  We reuse the padding machinery for this purpose.  */
+        natural one, we need to wrap it up in a record type and misalign the
+        latter; we reuse the padding machinery for this purpose.  Note that,
+        even if the record type is marked as packed because of misalignment,
+        we don't pack the field so as to give it the size of the type.  */
       else if (align > 0)
        {
          tree gnu_field_type, gnu_field;
@@ -1923,7 +1929,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
             a bitfield.  */
          gnu_field
            = create_field_decl (get_identifier ("F"), gnu_field_type,
-                                gnu_type, NULL_TREE, bitsize_zero_node, 1, 0);
+                                gnu_type, TYPE_SIZE (gnu_field_type),
+                                bitsize_zero_node, 0, 0);
 
          finish_record_type (gnu_type, gnu_field, 2, debug_info_p);
          compute_record_mode (gnu_type);
@@ -2251,6 +2258,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
            TYPE_MULTI_ARRAY_P (tem) = (index > 0);
            if (array_type_has_nonaliased_component (tem, gnat_entity))
              TYPE_NONALIASED_COMPONENT (tem) = 1;
+
+           /* If it is passed by reference, force BLKmode to ensure that
+              objects of this type will always be put in memory.  */
+           if (TYPE_MODE (tem) != BLKmode
+               && Is_By_Reference_Type (gnat_entity))
+             SET_TYPE_MODE (tem, BLKmode);
          }
 
        /* If an alignment is specified, use it if valid.  But ignore it
@@ -2590,6 +2603,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
              TYPE_MULTI_ARRAY_P (gnu_type) = (index > 0);
              if (array_type_has_nonaliased_component (gnu_type, gnat_entity))
                TYPE_NONALIASED_COMPONENT (gnu_type) = 1;
+
+             /* See the E_Array_Type case for the rationale.  */
+             if (TYPE_MODE (gnu_type) != BLKmode
+                 && Is_By_Reference_Type (gnat_entity))
+               SET_TYPE_MODE (gnu_type, BLKmode);
            }
 
          /* Attach the TYPE_STUB_DECL in case we have a parallel type.  */
@@ -3158,7 +3176,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
 
        /* If it is passed by reference, force BLKmode to ensure that objects
           of this type will always be put in memory.  */
-       if (Is_By_Reference_Type (gnat_entity))
+       if (TYPE_MODE (gnu_type) != BLKmode
+           && Is_By_Reference_Type (gnat_entity))
          SET_TYPE_MODE (gnu_type, BLKmode);
 
        /* We used to remove the associations of the discriminants and _Parent
@@ -3526,12 +3545,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
                 modify it below.  */
              gnu_field_list = nreverse (gnu_field_list);
              finish_record_type (gnu_type, gnu_field_list, 2, false);
+             compute_record_mode (gnu_type);
 
              /* See the E_Record_Type case for the rationale.  */
-             if (Is_By_Reference_Type (gnat_entity))
+             if (TYPE_MODE (gnu_type) != BLKmode
+                 && Is_By_Reference_Type (gnat_entity))
                SET_TYPE_MODE (gnu_type, BLKmode);
-             else
-               compute_record_mode (gnu_type);
 
              TYPE_VOLATILE (gnu_type) = Treat_As_Volatile (gnat_entity);
 
@@ -6346,6 +6365,7 @@ elaborate_expression_1 (tree gnu_expr, Entity_Id gnat_entity, tree gnu_name,
   use_variable = expr_variable_p
                 && (expr_global_p
                     || (!optimize
+                        && definition
                         && Is_Itype (gnat_entity)
                         && Nkind (Associated_Node_For_Itype (gnat_entity))
                            == N_Loop_Parameter_Specification));
index 61648c5..aabe9b6 100644 (file)
@@ -2402,7 +2402,8 @@ Loop_Statement_to_gnu (Node_Id gnat_node)
            {
              if (TYPE_PRECISION (gnu_base_type)
                  > TYPE_PRECISION (size_type_node))
-               gnu_base_type = gnat_unsigned_type (gnu_base_type);
+               gnu_base_type
+                 = gnat_type_for_size (TYPE_PRECISION (gnu_base_type), 1);
              else
                gnu_base_type = size_type_node;
 
@@ -3123,6 +3124,7 @@ build_return_expr (tree ret_obj, tree ret_val)
       if (optimize
          && AGGREGATE_TYPE_P (operation_type)
          && !TYPE_IS_FAT_POINTER_P (operation_type)
+         && TYPE_MODE (operation_type) == BLKmode
          && aggregate_value_p (operation_type, current_function_decl))
        {
          /* Recognize the temporary created for a return value with variable
index 1bba703..5b519fb 100644 (file)
@@ -42,7 +42,7 @@ Texts.  A copy of the license is included in the section entitled
 @titlepage
 @titlefont{GNAT Coding Style:}
 @sp 1
-@title @hfill A Guide for GNAT Developers
+@title A Guide for GNAT Developers
 @subtitle GNAT, The GNU Ada Compiler
 @versionsubtitle
 @author Ada Core Technologies, Inc.
index 9b10794..7aee128 100644 (file)
@@ -11258,6 +11258,30 @@ The default alignment for the type @code{V} is 4, as a result of the
 Integer field in the record, but it is permissible, as shown, to
 override the default alignment of the record with a smaller value.
 
+@cindex Alignment, subtypes
+Note that according to the Ada standard, an alignment clause applies only
+to the first named subtype. If additional subtypes are declared, then the
+compiler is allowed to choose any alignment it likes, and there is no way
+to control this choice. Consider:
+
+@smallexample @c ada
+   type R is range 1 .. 10_000;
+   for R'Alignment use 1;
+   subtype RS is R range 1 .. 1000;
+@end smallexample
+
+@noindent
+The alignment clause specifies an alignment of 1 for the first named subtype
+@code{R} but this does not necessarily apply to @code{RS}. When writing
+portable Ada code, you should avoid writing code that explicitly or
+implicitly relies on the alignment of such subtypes.
+
+For the GNAT compiler, if an explicit alignment clause is given, this
+value is also used for any subsequent subtypes. So for GNAT, in the
+above example, you can count on the alignment of @code{RS} being 1. But this
+assumption is non-portable, and other compilers may choose different
+alignments for the subtype @code{RS}.
+
 @node Size Clauses
 @section Size Clauses
 @cindex Size Clause
index 18280c2..d8f5735 100644 (file)
@@ -2256,7 +2256,9 @@ __gnat_install_handler(void)
 #elif defined(__APPLE__)
 
 #include <signal.h>
+#include <stdlib.h>
 #include <sys/syscall.h>
+#include <sys/sysctl.h>
 #include <mach/mach_vm.h>
 #include <mach/mach_init.h>
 #include <mach/vm_statistics.h>
@@ -2295,20 +2297,52 @@ __gnat_is_stack_guard (mach_vm_address_t addr)
 
 #define HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE
 
+#if defined (__x86_64__)
+static int
+__darwin_major_version (void)
+{
+  static int cache = -1;
+  if (cache < 0)
+    {
+      int mib[2] = {CTL_KERN, KERN_OSRELEASE};
+      size_t len;
+
+      /* Find out how big the buffer needs to be (and set cache to 0
+         on failure).  */
+      if (sysctl (mib, 2, NULL, &len, NULL, 0) == 0)
+        {
+          char release[len];
+          sysctl (mib, 2, release, &len, NULL, 0);
+          /* Darwin releases are of the form L.M.N where L is the major
+             version, so strtol will return L.  */
+          cache = (int) strtol (release, NULL, 10);
+        }
+      else
+        {
+          cache = 0;
+        }
+    }
+  return cache;
+}
+#endif
+
 void
 __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED,
                                 void *ucontext ATTRIBUTE_UNUSED)
 {
 #if defined (__x86_64__)
-  /* Work around radar #10302855/pr50678, where the unwinders (libunwind or
-     libgcc_s depending on the system revision) and the DWARF unwind data for
-     the sigtramp have different ideas about register numbering (causing rbx
-     and rdx to be transposed)..  */
-  ucontext_t *uc = (ucontext_t *)ucontext ;
-  unsigned long t = uc->uc_mcontext->__ss.__rbx;
-
-  uc->uc_mcontext->__ss.__rbx = uc->uc_mcontext->__ss.__rdx;
-  uc->uc_mcontext->__ss.__rdx = t;
+  if (__darwin_major_version () < 12)
+    {
+      /* Work around radar #10302855, where the unwinders (libunwind or
+        libgcc_s depending on the system revision) and the DWARF unwind
+        data for sigtramp have different ideas about register numbering,
+        causing rbx and rdx to be transposed.  */
+      ucontext_t *uc = (ucontext_t *)ucontext;
+      unsigned long t = uc->uc_mcontext->__ss.__rbx;
+
+      uc->uc_mcontext->__ss.__rbx = uc->uc_mcontext->__ss.__rdx;
+      uc->uc_mcontext->__ss.__rdx = t;
+    }
 #endif
 }
 
index 90f35a0..783f8af 100644 (file)
@@ -88,14 +88,14 @@ append_arg (int *index, LPWSTR dir, LPWSTR value,
     {
       /* no dir prefix */
       dirlen = 0;
-      fullvalue = xmalloc ((vallen + 1) * sizeof(TCHAR));
+      fullvalue = (LPWSTR) xmalloc ((vallen + 1) * sizeof(TCHAR));
     }
   else
     {
       /* Add dir first */
       dirlen = _tcslen (dir);
 
-      fullvalue = xmalloc ((dirlen + vallen + 1) * sizeof(TCHAR));
+      fullvalue = (LPWSTR) xmalloc ((dirlen + vallen + 1) * sizeof(TCHAR));
       _tcscpy (fullvalue, dir);
     }
 
@@ -203,7 +203,7 @@ __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
                     if (ldir != NULL)
                       {
                         int n = ldir - wargv[k] + 1;
-                        dir = xmalloc ((n + 1) * sizeof (TCHAR));
+                        dir = (LPWSTR) xmalloc ((n + 1) * sizeof (TCHAR));
                         _tcsncpy (dir, wargv[k], n);
                         dir[n] = _T('\0');
                       }
index fd0de1b..dc5ed7b 100644 (file)
@@ -48,8 +48,7 @@ project files allow you to specify:
 @item Source file naming conventions; you can specify these either globally or for
   individual compilation units (@pxref{Naming Schemes}).
 @item Change any of the above settings depending on external values, thus enabling
-  the reuse of the projects in various @b{scenarios} (@pxref{Scenarios
-  in Projects}).
+  the reuse of the projects in various @b{scenarios} (@pxref{Scenarios in Projects}).
 @item Automatically build libraries as part of the build process
   (@pxref{Library Projects}).
 
@@ -353,8 +352,8 @@ locating the specified source files in the specified source directories.
 
 @item For various reasons, it is sometimes useful to have a project with no
   sources (most of the time because the attributes defined in the project
-  file will be reused in other projects, as explained in @pxref{Organizing
-  Projects into Subsystems}. To do this, the attribute
+  file will be reused in other projects, as explained in
+  @pxref{Organizing Projects into Subsystems}. To do this, the attribute
   @emph{Source_Files} is set to the empty list, i.e. @code{()}. Alternatively,
   @emph{Source_Dirs} can be set to the empty list, with the same
   result.
@@ -381,8 +380,9 @@ locating the specified source files in the specified source directories.
   This can be done thanks to the attribute @b{Excluded_Source_Files}
   (or its synonym @b{Locally_Removed_Files}).
   Its value is the list of file names that should not be taken into account.
-  This attribute is often used when extending a project, @xref{Project
-  Extension}. A similar attribute @b{Excluded_Source_List_File} plays the same
+  This attribute is often used when extending a project,
+  @xref{Project Extension}. A similar attribute
+  @b{Excluded_Source_List_File} plays the same
   role but takes the name of file containing file names similarly to
   @code{Source_List_File}.
 
index db18a7e..6ef3926 100644 (file)
@@ -924,7 +924,7 @@ package body System.Generic_Array_Operations is
       R : Result_Vector (Right'Range (2));
 
    begin
-      if Left'Length /= Right'Length (2) then
+      if Left'Length /= Right'Length (1) then
          raise Constraint_Error with
            "incompatible dimensions in vector-matrix multiplication";
       end if;
@@ -935,7 +935,7 @@ package body System.Generic_Array_Operations is
 
          begin
             for K in Right'Range (1) loop
-               S := S + Left (J - Right'First (1) + Left'First) * Right (K, J);
+               S := S + Left (K - Right'First (1) + Left'First) * Right (K, J);
             end loop;
 
             R (J) := S;
index 3b156a2..e6ee0ed 100644 (file)
@@ -244,6 +244,14 @@ package System.OS_Interface is
    type pthread_condattr_t  is limited private;
    type pthread_key_t       is private;
 
+   --  Read/Write lock not supported on HPUX. To add support both types
+   --  pthread_rwlock_t and pthread_rwlockattr_t must properly be defined
+   --  with the associated routines pthread_rwlock_[init/destroy] and
+   --  pthread_rwlock_[rdlock/wrlock/unlock].
+
+   subtype pthread_rwlock_t     is pthread_mutex_t;
+   subtype pthread_rwlockattr_t is pthread_mutexattr_t;
+
    -----------
    -- Stack --
    -----------
@@ -444,7 +452,6 @@ private
    end record;
    pragma Convention (C, timespec);
 
-   type clockid_t is new int;
    CLOCK_REALTIME : constant clockid_t := 1;
 
    type cma_t_address is new System.Address;
index 958d421..23a28e2 100644 (file)
@@ -9,23 +9,21 @@
 --             Copyright (C) 1991-1994, Florida State University            --
 --             Copyright (C) 1995-2005,2008 Free Software Foundation, Inc.  --
 --                                                                          --
--- GNARL is free software; you can  redistribute it  and/or modify it under --
+-- 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. GNARL is distributed in the hope that it will be useful, but WITH- --
+-- ware  Foundation;  either version 3,  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 GNARL; see file COPYING.  If not, write --
--- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
--- Boston, MA 02110-1301, USA.                                              --
+-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
 --                                                                          --
--- 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.                                      --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception,   --
+-- version 3.1, as published by the Free Software Foundation.               --
+--                                                                          --
+-- You should have received a copy of the GNU General Public License and    --
+-- a copy of the GCC Runtime Library Exception along with this program;     --
+-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+-- <http://www.gnu.org/licenses/>.                                          --
 --                                                                          --
 -- GNARL was developed by the GNARL team at Florida State University.       --
 -- Extensive contributions were provided by Ada Core Technologies, Inc.     --
index fc99ce4..de21785 100644 (file)
@@ -8,23 +8,21 @@
 --                                                                          --
 --            Copyright (C) 1991-2009 Florida State University              --
 --                                                                          --
--- GNARL is free software; you can  redistribute it  and/or modify it under --
+-- 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. GNARL is distributed in the hope that it will be useful, but WITH- --
+-- ware  Foundation;  either version 3,  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 GNARL; see file COPYING.  If not, write --
--- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
--- Boston, MA 02110-1301, USA.                                              --
+-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
 --                                                                          --
--- 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.                                      --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception,   --
+-- version 3.1, as published by the Free Software Foundation.               --
+--                                                                          --
+-- You should have received a copy of the GNU General Public License and    --
+-- a copy of the GCC Runtime Library Exception along with this program;     --
+-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+-- <http://www.gnu.org/licenses/>.                                         
 --                                                                          --
 -- GNARL was developed by the GNARL team at Florida State University. It is --
 -- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
index 9d51d5c..6cde347 100644 (file)
@@ -102,7 +102,9 @@ private
 
    type Private_Data is record
       Thread : aliased System.OS_Interface.pthread_t;
-      pragma Atomic (Thread);
+      --  pragma Atomic (Thread);
+      --  Unfortunately, the above fails because Thread is 64 bits.
+
       --  Thread field may be updated by two different threads of control.
       --  (See, Enter_Task and Create_Task in s-taprop.adb). They put the
       --  same value (thr_self value). We do not want to use lock on those
diff --git a/gcc/ada/s-taspri-lynxos.ads b/gcc/ada/s-taspri-lynxos.ads
deleted file mode 100644 (file)
index 4e08865..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
---                                                                          --
---                 S Y S T E M . T A S K _ P R I M I T I V E S              --
---                                                                          --
---                                  S p e c                                 --
---                                                                          --
---             Copyright (C) 1991-1994, Florida State University            --
---                     Copyright (C) 1995-2008, AdaCore                     --
---                                                                          --
--- GNARL 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. GNARL 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 GNARL; 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.                                      --
---                                                                          --
--- GNARL was developed by the GNARL team at Florida State University.       --
--- Extensive contributions were provided by Ada Core Technologies, Inc.     --
---                                                                          --
-------------------------------------------------------------------------------
-
---  This is a LynxOS version of this package, derived from s-taspri-posix.ads
-
-pragma Polling (Off);
---  Turn off polling, we do not want ATC polling to take place during tasking
---  operations. It causes infinite loops and other problems.
-
-with System.OS_Interface;
-
-package System.Task_Primitives is
-   pragma Preelaborate;
-
-   type Lock is limited private;
-   --  Should be used for implementation of protected objects
-
-   type RTS_Lock is limited private;
-   --  Should be used inside the runtime system. The difference between Lock
-   --  and the RTS_Lock is that the later one serves only as a semaphore so
-   --  that do not check for ceiling violations.
-
-   type Suspension_Object is limited private;
-   --  Should be used for the implementation of Ada.Synchronous_Task_Control
-
-   type Task_Body_Access is access procedure;
-   --  Pointer to the task body's entry point (or possibly a wrapper
-   --  declared local to the GNARL).
-
-   type Private_Data is limited private;
-   --  Any information that the GNULLI needs maintained on a per-task basis.
-   --  A component of this type is guaranteed to be included in the
-   --  Ada_Task_Control_Block.
-
-   subtype Task_Address is System.Address;
-   --  In some versions of Task_Primitives, notably for VMS, Task_Address is
-   --  the short version of address defined in System.Aux_DEC. To avoid
-   --  dragging Aux_DEC into tasking packages a tasking specific subtype is
-   --  defined here.
-
-   Task_Address_Size : constant := Standard'Address_Size;
-   --  The size of Task_Address
-
-   Alternate_Stack_Size : constant := 0;
-   --  No alternate signal stack is used on this platform
-
-private
-
-   type Lock is record
-      Mutex          : aliased System.OS_Interface.pthread_mutex_t;
-      Ceiling        : System.Any_Priority;
-      Saved_Priority : System.Any_Priority;
-   end record;
-
-   type RTS_Lock is new System.OS_Interface.pthread_mutex_t;
-
-   type Suspension_Object is record
-      State : Boolean;
-      pragma Atomic (State);
-      --  Boolean that indicates whether the object is open. This field is
-      --  marked Atomic to ensure that we can read its value without locking
-      --  the access to the Suspension_Object.
-
-      Waiting : Boolean;
-      --  Flag showing if there is a task already suspended on this object
-
-      L : aliased System.OS_Interface.pthread_mutex_t;
-      --  Protection for ensuring mutual exclusion on the Suspension_Object
-
-      CV : aliased System.OS_Interface.pthread_cond_t;
-      --  Condition variable used to queue threads until condition is signaled
-   end record;
-
-   type Private_Data is record
-      Thread : aliased System.OS_Interface.pthread_t;
-      pragma Atomic (Thread);
-      --  Thread field may be updated by two different threads of control.
-      --  (See, Enter_Task and Create_Task in s-taprop.adb). They put the
-      --  same value (thr_self value). We do not want to use lock on those
-      --  operations and the only thing we have to make sure is that they
-      --  are updated in atomic fashion.
-
-      LWP : aliased System.Address;
-      --  The purpose of this field is to provide a better tasking support on
-      --  gdb. The order of the two first fields (Thread and LWP) is important.
-      --  On targets where lwp is not relevant, this is equivalent to Thread.
-
-      CV : aliased System.OS_Interface.pthread_cond_t;
-
-      L : aliased RTS_Lock;
-      --  Protection for all components is lock L
-   end record;
-
-end System.Task_Primitives;
index 1d672b9..a0aec9e 100644 (file)
 --                                                                          --
 -- GNARL 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. GNARL is distributed in the hope that it will be useful, but WITH- --
+-- ware  Foundation;  either version 3,  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 GNARL; see file COPYING.  If not, write --
--- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
--- Boston, MA 02110-1301, USA.                                              --
+-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
 --                                                                          --
--- 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.                                      --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception,   --
+-- version 3.1, as published by the Free Software Foundation.               --
+--                                                                          --
+-- You should have received a copy of the GNU General Public License and    --
+-- a copy of the GCC Runtime Library Exception along with this program;     --
+-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+-- <http://www.gnu.org/licenses/>.                                          --
 --                                                                          --
 -- GNARL was developed by the GNARL team at Florida State University. It is --
 -- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
index 89c9ea4..5e05e95 100644 (file)
@@ -6,7 +6,7 @@
  *                                                                          *
  *                          C Implementation File                           *
  *                                                                          *
- *           Copyright (C) 2005-2011, Free Software Foundation, Inc.        *
+ *           Copyright (C) 2005-2013, 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- *
@@ -60,7 +60,8 @@ extern struct Exception_Data _abort_signal;
 
 #define Raise_From_Signal_Handler \
                       ada__exceptions__raise_from_signal_handler
-extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *);
+extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *)
+  ATTRIBUTE_NORETURN;
 
 
 #if defined (_WIN32)
@@ -71,7 +72,7 @@ extern void Raise_From_Signal_Handler (struct Exception_Data *, const char *);
 extern void _global_unwind2 (void *);
 
 EXCEPTION_DISPOSITION __gnat_SEH_error_handler
-(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
+(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*) ATTRIBUTE_NORETURN;
 
 EXCEPTION_DISPOSITION
 __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord,
@@ -90,7 +91,7 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord,
       */
       if ((ExceptionRecord->ExceptionInformation[1] & 3) != 0
          || IsBadCodePtr
-         ((void *)(ExceptionRecord->ExceptionInformation[1] + 4096)))
+         ((FARPROC)(ExceptionRecord->ExceptionInformation[1] + 4096)))
        {
          exception = &program_error;
          msg = "EXCEPTION_ACCESS_VIOLATION";
@@ -193,7 +194,6 @@ __gnat_SEH_error_handler (struct _EXCEPTION_RECORD* ExceptionRecord,
 #endif
 
   Raise_From_Signal_Handler (exception, msg);
-  return 0; /* This is never reached, avoid compiler warning  */
 }
 
 #if defined (_WIN64)
index c463e57..1a074ab 100644 (file)
@@ -1448,10 +1448,15 @@ package body Sem_Ch12 is
                   --  defined aspect/pragma Remote_Access_Type. In that case
                   --  the actual must be remote as well.
 
+                  --  If the current instantiation is the construction of a
+                  --  local copy for a formal package the actuals may be
+                  --  defaulted, and there is no matching actual to check.
+
                   if Nkind (Analyzed_Formal) = N_Formal_Type_Declaration
                     and then
                       Nkind (Formal_Type_Definition (Analyzed_Formal)) =
                                             N_Access_To_Object_Definition
+                     and then Present (Match)
                   then
                      declare
                         Formal_Ent : constant Entity_Id :=
index ff2a3b6..08c5b3b 100644 (file)
@@ -326,7 +326,7 @@ struct layout
 
 #if defined (__WIN32)
 #include <windows.h>
-#define IS_BAD_PTR(ptr) (IsBadCodePtr((void *)ptr))
+#define IS_BAD_PTR(ptr) (IsBadCodePtr((FARPROC)ptr))
 #elif defined (sun)
 #define IS_BAD_PTR(ptr) ((unsigned long)ptr == -1UL)
 #else
index 04980cc..7e4eed1 100644 (file)
@@ -4721,7 +4721,14 @@ expand_builtin_trap (void)
 {
 #ifdef HAVE_trap
   if (HAVE_trap)
-    emit_insn (gen_trap ());
+    {
+      rtx insn = emit_insn (gen_trap ());
+      /* For trap insns when not accumulating outgoing args force
+        REG_ARGS_SIZE note to prevent crossjumping of calls with
+        different args sizes.  */
+      if (!ACCUMULATE_OUTGOING_ARGS)
+       add_reg_note (insn, REG_ARGS_SIZE, GEN_INT (stack_pointer_delta));
+    }
   else
 #endif
     emit_library_call (abort_libfunc, LCT_NORETURN, VOIDmode, 0);
index d8298e0..da704f5 100644 (file)
@@ -1,3 +1,16 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-12-03  Marek Polacek  <polacek@redhat.com>
+
+       Backported from mainline
+       2012-12-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c/55570
+       * c-common.c (check_user_alignment): Swap order of tests,
+       check TREE_CODE first.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 1d19251..82a2b8d 100644 (file)
@@ -6741,8 +6741,8 @@ check_user_alignment (const_tree align, bool allow_zero)
 {
   int i;
 
-  if (!INTEGRAL_TYPE_P (TREE_TYPE (align))
-      || TREE_CODE (align) != INTEGER_CST)
+  if (TREE_CODE (align) != INTEGER_CST
+      || !INTEGRAL_TYPE_P (TREE_TYPE (align)))
     {
       error ("requested alignment is not an integer constant");
       return -1;
index bd82d42..c42c087 100644 (file)
@@ -3642,7 +3642,13 @@ build_unary_op (location_t location,
                    "wrong type argument to unary exclamation mark");
          return error_mark_node;
        }
-      arg = c_objc_common_truthvalue_conversion (location, arg);
+      if (int_operands)
+       {
+         arg = c_objc_common_truthvalue_conversion (location, xarg);
+         arg = remove_c_maybe_const_expr (arg);
+       }
+      else
+       arg = c_objc_common_truthvalue_conversion (location, arg);
       ret = invert_truthvalue_loc (location, arg);
       /* If the TRUTH_NOT_EXPR has been folded, reset the location.  */
       if (EXPR_P (ret) && EXPR_HAS_LOCATION (ret))
@@ -4862,8 +4868,11 @@ c_cast_expr (location_t loc, struct c_type_name *type_name, tree expr)
   ret = build_c_cast (loc, type, expr);
   if (type_expr)
     {
+      bool inner_expr_const = true;
+      ret = c_fully_fold (ret, require_constant_value, &inner_expr_const);
       ret = build2 (C_MAYBE_CONST_EXPR, TREE_TYPE (ret), type_expr, ret);
-      C_MAYBE_CONST_EXPR_NON_CONST (ret) = !type_expr_const;
+      C_MAYBE_CONST_EXPR_NON_CONST (ret) = !(type_expr_const
+                                            && inner_expr_const);
       SET_EXPR_LOCATION (ret, loc);
     }
 
@@ -9896,8 +9905,20 @@ build_binary_op (location_t location, enum tree_code code,
             but that does not mean the operands should be
             converted to ints!  */
          result_type = integer_type_node;
-         op0 = c_common_truthvalue_conversion (location, op0);
-         op1 = c_common_truthvalue_conversion (location, op1);
+         if (op0_int_operands)
+           {
+             op0 = c_objc_common_truthvalue_conversion (location, orig_op0);
+             op0 = remove_c_maybe_const_expr (op0);
+           }
+         else
+           op0 = c_objc_common_truthvalue_conversion (location, op0);
+         if (op1_int_operands)
+           {
+             op1 = c_objc_common_truthvalue_conversion (location, orig_op1);
+             op1 = remove_c_maybe_const_expr (op1);
+           }
+         else
+           op1 = c_objc_common_truthvalue_conversion (location, op1);
          converted = 1;
          boolean_op = true;
        }
@@ -10609,12 +10630,17 @@ c_objc_common_truthvalue_conversion (location_t location, tree expr)
 
   int_const = (TREE_CODE (expr) == INTEGER_CST && !TREE_OVERFLOW (expr));
   int_operands = EXPR_INT_CONST_OPERANDS (expr);
-  if (int_operands)
-    expr = remove_c_maybe_const_expr (expr);
-
-  /* ??? Should we also give an error for vectors rather than leaving
-     those to give errors later?  */
-  expr = c_common_truthvalue_conversion (location, expr);
+  if (int_operands && TREE_CODE (expr) != INTEGER_CST)
+    {
+      expr = remove_c_maybe_const_expr (expr);
+      expr = build2 (NE_EXPR, integer_type_node, expr,
+                    convert (TREE_TYPE (expr), integer_zero_node));
+      expr = note_integer_operands (expr);
+    }
+  else
+    /* ??? Should we also give an error for vectors rather than leaving
+       those to give errors later?  */
+    expr = c_common_truthvalue_conversion (location, expr);
 
   if (TREE_CODE (expr) == INTEGER_CST && int_operands && !int_const)
     {
index b59cf7b..6ff1614 100644 (file)
@@ -1487,6 +1487,8 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2)
   edge fallthru1 = 0, fallthru2 = 0;
   edge e1, e2;
   edge_iterator ei;
+  rtx last1, last2;
+  bool nonfakeedges;
 
   /* If we performed shrink-wrapping, edges to the EXIT_BLOCK_PTR can
      only be distinguished for JUMP_INSNs.  The two paths may differ in
@@ -1695,9 +1697,15 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2)
        }
     }
 
+  last1 = BB_END (bb1);
+  last2 = BB_END (bb2);
+  if (DEBUG_INSN_P (last1))
+    last1 = prev_nondebug_insn (last1);
+  if (DEBUG_INSN_P (last2))
+    last2 = prev_nondebug_insn (last2);
   /* First ensure that the instructions match.  There may be many outgoing
      edges so this test is generally cheaper.  */
-  if (old_insns_match_p (mode, BB_END (bb1), BB_END (bb2)) != dir_both)
+  if (old_insns_match_p (mode, last1, last2) != dir_both)
     return false;
 
   /* Search the outgoing edges, ensure that the counts do match, find possible
@@ -1706,10 +1714,14 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2)
   if (EDGE_COUNT (bb1->succs) != EDGE_COUNT (bb2->succs))
     return false;
 
+  nonfakeedges = false;
   FOR_EACH_EDGE (e1, ei, bb1->succs)
     {
       e2 = EDGE_SUCC (bb2, ei.index);
 
+      if ((e1->flags & EDGE_FAKE) == 0)
+       nonfakeedges = true;
+
       if (e1->flags & EDGE_EH)
        nehedges1++;
 
@@ -1727,6 +1739,18 @@ outgoing_edges_match (int mode, basic_block bb1, basic_block bb2)
       || (fallthru1 != 0) != (fallthru2 != 0))
     return false;
 
+  /* If !ACCUMULATE_OUTGOING_ARGS, bb1 (and bb2) have no successors
+     and the last real insn doesn't have REG_ARGS_SIZE note, don't
+     attempt to optimize, as the two basic blocks might have different
+     REG_ARGS_SIZE depths.  For noreturn calls and unconditional
+     traps there should be REG_ARG_SIZE notes, they could be missing
+     for __builtin_unreachable () uses though.  */
+  if (!nonfakeedges
+      && !ACCUMULATE_OUTGOING_ARGS
+      && (!INSN_P (last1)
+          || !find_reg_note (last1, REG_ARGS_SIZE, NULL)))
+    return false;
+
   /* fallthru edges must be forwarded to the same destination.  */
   if (fallthru1)
     {
index bde15f6..21399e6 100644 (file)
@@ -697,6 +697,8 @@ update_alias_info_with_stack_vars (void)
                                           (void *)(size_t) uid)) = part;
          *((tree *) pointer_map_insert (cfun->gimple_df->decls_to_pointers,
                                         decl)) = name;
+         if (TREE_ADDRESSABLE (decl))
+           TREE_ADDRESSABLE (name) = 1;
        }
 
       /* Make the SSA name point to all partition members.  */
@@ -2586,6 +2588,8 @@ expand_debug_parm_decl (tree decl)
              reg = gen_raw_REG (GET_MODE (reg), OUTGOING_REGNO (REGNO (reg)));
              incoming = replace_equiv_address_nv (incoming, reg);
            }
+         else
+           incoming = copy_rtx (incoming);
        }
 #endif
 
@@ -2601,7 +2605,7 @@ expand_debug_parm_decl (tree decl)
          || (GET_CODE (XEXP (incoming, 0)) == PLUS
              && XEXP (XEXP (incoming, 0), 0) == virtual_incoming_args_rtx
              && CONST_INT_P (XEXP (XEXP (incoming, 0), 1)))))
-    return incoming;
+    return copy_rtx (incoming);
 
   return NULL_RTX;
 }
@@ -3634,6 +3638,56 @@ expand_debug_source_expr (tree exp)
   return op0;
 }
 
+/* Ensure INSN_VAR_LOCATION_LOC (insn) doesn't have unbound complexity.
+   Allow 4 levels of rtl nesting for most rtl codes, and if we see anything
+   deeper than that, create DEBUG_EXPRs and emit DEBUG_INSNs before INSN.  */
+
+static void
+avoid_complex_debug_insns (rtx insn, rtx *exp_p, int depth)
+{
+  rtx exp = *exp_p;
+
+  if (exp == NULL_RTX)
+    return;
+
+  if ((OBJECT_P (exp) && !MEM_P (exp)) || GET_CODE (exp) == CLOBBER)
+    return;
+
+  if (depth == 4)
+    {
+      /* Create DEBUG_EXPR (and DEBUG_EXPR_DECL).  */
+      rtx dval = make_debug_expr_from_rtl (exp);
+
+      /* Emit a debug bind insn before INSN.  */
+      rtx bind = gen_rtx_VAR_LOCATION (GET_MODE (exp),
+                                      DEBUG_EXPR_TREE_DECL (dval), exp,
+                                      VAR_INIT_STATUS_INITIALIZED);
+
+      emit_debug_insn_before (bind, insn);
+      *exp_p = dval;
+      return;
+    }
+
+  const char *format_ptr = GET_RTX_FORMAT (GET_CODE (exp));
+  int i, j;
+  for (i = 0; i < GET_RTX_LENGTH (GET_CODE (exp)); i++)
+    switch (*format_ptr++)
+      {
+      case 'e':
+       avoid_complex_debug_insns (insn, &XEXP (exp, i), depth + 1);
+       break;
+
+      case 'E':
+      case 'V':
+       for (j = 0; j < XVECLEN (exp, i); j++)
+         avoid_complex_debug_insns (insn, &XVECEXP (exp, i, j), depth + 1);
+       break;
+
+      default:
+       break;
+      }
+}
+
 /* Expand the _LOCs in debug insns.  We run this after expanding all
    regular insns, so that any variables referenced in the function
    will have their DECL_RTLs set.  */
@@ -3654,7 +3708,7 @@ expand_debug_locations (void)
     if (DEBUG_INSN_P (insn))
       {
        tree value = (tree)INSN_VAR_LOCATION_LOC (insn);
-       rtx val;
+       rtx val, prev_insn, insn2;
        enum machine_mode mode;
 
        if (value == NULL_TREE)
@@ -3684,6 +3738,9 @@ expand_debug_locations (void)
          }
 
        INSN_VAR_LOCATION_LOC (insn) = val;
+       prev_insn = PREV_INSN (insn);
+       for (insn2 = insn; insn2 != prev_insn; insn2 = PREV_INSN (insn2))
+         avoid_complex_debug_insns (insn2, &INSN_VAR_LOCATION_LOC (insn2), 0);
       }
 
   flag_strict_aliasing = save_strict_alias;
index 65a4ffc..5af13dd 100644 (file)
@@ -1231,14 +1231,46 @@ force_nonfallthru_and_redirect (edge e, basic_block target, rtx jump_label)
       && (note = extract_asm_operands (PATTERN (BB_END (e->src)))))
     {
       int i, n = ASM_OPERANDS_LABEL_LENGTH (note);
+      bool adjust_jump_target = false;
 
       for (i = 0; i < n; ++i)
        {
          if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (e->dest))
-           XEXP (ASM_OPERANDS_LABEL (note, i), 0) = block_label (target);
+           {
+             LABEL_NUSES (XEXP (ASM_OPERANDS_LABEL (note, i), 0))--;
+             XEXP (ASM_OPERANDS_LABEL (note, i), 0) = block_label (target);
+             LABEL_NUSES (XEXP (ASM_OPERANDS_LABEL (note, i), 0))++;
+             adjust_jump_target = true;
+           }
          if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
            asm_goto_edge = true;
        }
+      if (adjust_jump_target)
+       {
+         rtx insn = BB_END (e->src), note;
+         rtx old_label = BB_HEAD (e->dest);
+         rtx new_label = BB_HEAD (target);
+
+         if (JUMP_LABEL (insn) == old_label)
+           {
+             JUMP_LABEL (insn) = new_label;
+             note = find_reg_note (insn, REG_LABEL_TARGET, new_label);
+             if (note)
+               remove_note (insn, note);
+           }
+         else
+           {
+             note = find_reg_note (insn, REG_LABEL_TARGET, old_label);
+             if (note)
+               remove_note (insn, note);
+             if (JUMP_LABEL (insn) != new_label
+                 && !find_reg_note (insn, REG_LABEL_TARGET, new_label))
+               add_reg_note (insn, REG_LABEL_TARGET, new_label);
+           }
+         while ((note = find_reg_note (insn, REG_LABEL_OPERAND, old_label))
+                != NULL_RTX)
+           XEXP (note, 0) = new_label;
+       }
     }
 
   if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags || asm_goto_edge)
index 9cc3690..78e131b 100644 (file)
@@ -2269,6 +2269,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
   TREE_PUBLIC (new_node->decl) = 0;
   DECL_COMDAT (new_node->decl) = 0;
   DECL_WEAK (new_node->decl) = 0;
+  DECL_VIRTUAL_P (new_node->decl) = 0;
   DECL_STATIC_CONSTRUCTOR (new_node->decl) = 0;
   DECL_STATIC_DESTRUCTOR (new_node->decl) = 0;
   new_node->clone.tree_map = tree_map;
index 122a44c..7abfb8a 100644 (file)
@@ -935,6 +935,7 @@ cgraph_only_called_directly_or_aliased_p (struct cgraph_node *node)
   gcc_assert (!node->global.inlined_to);
   return (!node->needed && !node->address_taken
          && !node->reachable_from_other_partition
+         && !DECL_VIRTUAL_P (node->decl)
          && !DECL_STATIC_CONSTRUCTOR (node->decl)
          && !DECL_STATIC_DESTRUCTOR (node->decl)
          && !node->local.externally_visible);
index a44b2e7..748a3f4 100644 (file)
@@ -2932,12 +2932,14 @@ scan_libraries (const char *prog_name)
 /* 0757 = U803XTOCMAGIC (AIX 4.3) and 0767 = U64_TOCMAGIC (AIX V5) */
 #if TARGET_AIX_VERSION >= 51
 #   define GCC_CHECK_HDR(X) \
-     ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
-      || (HEADER (X).f_magic == 0767 && aix64_flag))
+     (((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
+       || (HEADER (X).f_magic == 0767 && aix64_flag)) \
+      && !(HEADER (X).f_flags & F_LOADONLY))
 #else
 #   define GCC_CHECK_HDR(X) \
-     ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
-      || (HEADER (X).f_magic == 0757 && aix64_flag))
+     (((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
+       || (HEADER (X).f_magic == 0757 && aix64_flag)) \
+      && !(HEADER (X).f_flags & F_LOADONLY))
 #endif
 
 #endif
index 033fbe0..e72d8cf 100644 (file)
@@ -345,6 +345,9 @@ Driver Alias(print-multi-lib)
 -print-multi-os-directory
 Driver Alias(print-multi-os-directory)
 
+-print-multiarch
+Driver Alias(print-multiarch)
+
 -print-prog-name
 Driver Separate Alias(print-prog-name=)
 
@@ -2112,6 +2115,10 @@ fvar-tracking-assignments-toggle
 Common Report Var(flag_var_tracking_assignments_toggle) Optimization
 Toggle -fvar-tracking-assignments
 
+; Positive if we should track uninitialized variables, negative if
+; we should run the var-tracking pass only to discard debug
+; annotations.  When flag_var_tracking_uninit == AUTODETECT_VALUE it
+; will be set according to flag_var_tracking.
 fvar-tracking-uninit
 Common Report Var(flag_var_tracking_uninit) Optimization
 Perform variable tracking and also tag variables that are uninitialized
@@ -2256,6 +2263,10 @@ iplugindir=
 Common Joined Var(plugindir_string) Init(0)
 -iplugindir=<dir>      Set <dir> to be the default plugin directory
 
+imultiarch
+Common Joined Separate RejectDriver Var(imultiarch) Init(0)
+-imultiarch <dir>      Set <dir> to be the multiarch include subdirectory
+
 l
 Driver Joined Separate
 
@@ -2313,6 +2324,9 @@ Driver Var(print_multi_lib)
 
 print-multi-os-directory
 Driver Var(print_multi_os_directory)
+print-multiarch
+Driver Var(print_multiarch)
 
 print-prog-name=
 Driver JoinedOrMissing Var(print_prog_name)
index 3a81b67..55b3e4a 100644 (file)
@@ -1,6 +1,6 @@
 /* Common hooks for Motorola 68000 family.
    Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+   2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -33,7 +33,7 @@ along with GCC; see the file COPYING3.  If not see
 
 static bool
 m68k_handle_option (struct gcc_options *opts,
-                   struct gcc_options *opts_set ATTRIBUTE_UNUSED,
+                   struct gcc_options *opts_set,
                    const struct cl_decoded_option *decoded,
                    location_t loc)
 {
@@ -45,12 +45,16 @@ m68k_handle_option (struct gcc_options *opts,
     {
     case OPT_m68020_40:
       opts->x_m68k_tune_option = u68020_40;
+      opts_set->x_m68k_tune_option = (enum uarch_type) 1;
       opts->x_m68k_cpu_option = m68020;
+      opts_set->x_m68k_cpu_option = (enum target_device) 1;
       return true;
 
     case OPT_m68020_60:
       opts->x_m68k_tune_option = u68020_60;
+      opts_set->x_m68k_tune_option = (enum uarch_type) 1;
       opts->x_m68k_cpu_option = m68020;
+      opts_set->x_m68k_cpu_option = (enum target_device) 1;
       return true;
 
     case OPT_mshared_library_id_:
index 5fcd192..7282a68 100644 (file)
@@ -257,7 +257,7 @@ case ${target} in
  | arm*-*-elf                          \
  | arm*-*-freebsd*                     \
  | arm*-*-linux*                       \
- | arm*-*-rtems*                       \
+ | arm*-*-rtemself*                    \
  | arm*-*-uclinux*                     \
  | arm*-wince-pe*                      \
  | mips-sgi-irix6.5                    \
@@ -692,6 +692,11 @@ case ${target} in
     *-*-openbsd2.*|*-*-openbsd3.[012])
       tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
   esac
+  case ${target} in
+    *-*-openbsd4.[3-9]|*-*-openbsd[5-9]*)
+      default_use_cxa_atexit=yes
+      ;;
+  esac
   ;;
 *-*-rtems*)
   case ${enable_threads} in
@@ -772,6 +777,7 @@ esac
 case ${target} in
 alpha*-*-linux*)
        tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
+       tmake_file="${tmake_file} alpha/t-linux"
        extra_options="${extra_options} alpha/elf.opt"
        target_cpu_default="MASK_GAS"
        ;;
@@ -850,7 +856,7 @@ arm*-*-linux*)                      # ARM GNU/Linux with ELF
        esac
        tmake_file="${tmake_file} arm/t-arm"
        case ${target} in
-       arm*-*-linux-*eabi)
+       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"
            # Define multilib configuration for arm-linux-androideabi.
@@ -877,7 +883,7 @@ arm*-*-uclinux*)            # ARM ucLinux
        tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
        tmake_file="arm/t-arm arm/t-arm-elf"
        case ${target} in
-       arm*-*-uclinux*eabi)
+       arm*-*-uclinux*eabi*)
            tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
            tmake_file="$tmake_file arm/t-bpabi"
            # The BPABI long long divmod functions return a 128-bit value in
@@ -893,7 +899,11 @@ arm*-*-ecos-elf)
        tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
        tmake_file="arm/t-arm arm/t-arm-elf"
        ;;
-arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
+arm*-*-rtemself*)
+       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
+       tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
+       ;;
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
        # The BPABI long long divmod functions return a 128-bit value in
        # registers r0-r3.  Correctly modeling that requires the use of
        # TImode.
@@ -907,7 +917,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
          tmake_file="${tmake_file} arm/t-bpabi"
          use_gcc_stdint=wrap
          ;;
-       arm*-*-rtemseabi*)
+       arm*-*-rtems*)
          tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
          tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi"
          ;;
@@ -920,10 +930,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
        esac
        tm_file="${tm_file} arm/aout.h arm/arm.h"
        ;;
-arm*-*-rtems*)
-       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
-       tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
-       ;;
 arm*-*-elf)
        tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
        tmake_file="arm/t-arm arm/t-arm-elf"
@@ -1058,6 +1064,7 @@ hppa*64*-*-linux*)
        tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
                 glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
                 pa/pa64-linux.h"
+       tmake_file="${tmake_file} pa/t-linux"
        gas=yes gnu_ld=yes
        need_64bit_hwint=yes
        ;;
@@ -1065,6 +1072,7 @@ hppa*-*-linux*)
        target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
        tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
                 pa/pa32-regs.h pa/pa32-linux.h"
+       tmake_file="${tmake_file} pa/t-linux"
        ;;
 # port not yet contributed.
 #hppa*-*-openbsd*)
@@ -1543,7 +1551,7 @@ ia64*-*-freebsd*)
        ;;
 ia64*-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ia64/sysv4.h ia64/linux.h"
-       tmake_file="${tmake_file} ia64/t-ia64 t-libunwind"
+       tmake_file="${tmake_file} ia64/t-ia64 ia64/t-linux t-libunwind"
        target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
        ;;
 ia64*-*-hpux*)
@@ -1723,6 +1731,14 @@ microblaze*-linux*)
        c_target_objs="${c_target_objs} microblaze-c.o"
        cxx_target_objs="${cxx_target_objs} microblaze-c.o"
        ;;
+microblaze*-*-rtems*)
+       tm_file="${tm_file} dbxelf.h"
+       tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
+       c_target_objs="${c_target_objs} microblaze-c.o"
+       cxx_target_objs="${cxx_target_objs} microblaze-c.o"
+       tmake_file="${tmake_file} microblaze/t-microblaze"
+       tmake_file="${tmake_file} t-rtems microblaze/t-rtems"
+        ;;
 microblaze*-*-*)
         tm_file="${tm_file} dbxelf.h"
        c_target_objs="${c_target_objs} microblaze-c.o"
@@ -1970,7 +1986,7 @@ powerpc*-*-freebsd*)
        tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
        extra_options="${extra_options} rs6000/sysv4.opt"
        tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
-       case ${host} in
+       case ${target} in
             powerpc64*)
                tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h"
                tmake_file="${tmake_file} rs6000/t-freebsd64"
@@ -2062,6 +2078,7 @@ powerpc-*-linux* | powerpc64-*-linux*)
                ;;
            *)
                tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
+               tmake_file="$tmake_file rs6000/t-linux"
                ;;
        esac
        case ${target} in
@@ -2338,7 +2355,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
                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*-*-linux*)   sh_multilibs=m1,m3e,m4 ;;
+               sh*-*-linux*)   sh_multilibs=m1,m2,m2a,m3e,m4 ;;
                sh*-*-netbsd*)  sh_multilibs=m3,m3e,m4 ;;
                *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
                esac
@@ -2404,7 +2421,7 @@ sparc-*-elf*)
        ;;
 sparc-*-rtems*)
        tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
-       tmake_file="sparc/t-sparc sparc/t-elf t-rtems"
+       tmake_file="sparc/t-sparc sparc/t-elf sparc/t-rtems t-rtems"
        ;;
 sparc-*-linux*)
        tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
@@ -2425,6 +2442,7 @@ sparc-*-linux*)
                tmake_file="${tmake_file} sparc/t-linux64"
        else
                tm_file="${tm_file} sparc/linux.h"
+               tmake_file="${tmake_file} sparc/t-linux"
        fi
        ;;
 sparc-*-netbsdelf*)
@@ -2457,7 +2475,7 @@ sparc64-*-elf*)
 sparc64-*-rtems*)
        tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
        extra_options="${extra_options}"
-       tmake_file="${tmake_file} sparc/t-sparc t-rtems"
+       tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64 t-rtems"
        ;;
 sparc64-*-linux*)
        tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
@@ -3546,9 +3564,14 @@ case ${target} in
 
        i[34567]86-*-darwin* | x86_64-*-darwin*)
                ;;
-       i[34567]86-*-linux* | x86_64-*-linux* | \
-         i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
-         i[34567]86-*-gnu*)
+       i[34567]86-*-linux* | x86_64-*-linux*)
+               tmake_file="$tmake_file i386/t-linux"
+               ;;
+       i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+               tmake_file="$tmake_file i386/t-kfreebsd"
+               ;;
+       i[34567]86-*-gnu*)
+               tmake_file="$tmake_file i386/t-gnu"
                ;;
        i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
                ;;
diff --git a/gcc/config/alpha/t-linux b/gcc/config/alpha/t-linux
new file mode 100644 (file)
index 0000000..1b4a26f
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,alpha-linux-gnu)
index 35b73c5..1fb7d70 100644 (file)
@@ -172,7 +172,7 @@ static void cirrus_reorg (rtx);
 static void arm_init_builtins (void);
 static void arm_init_iwmmxt_builtins (void);
 static rtx safe_vector_operand (rtx, enum machine_mode);
-static rtx arm_expand_binop_builtin (enum insn_code, tree, rtx);
+static rtx arm_expand_binop_builtin (enum insn_code, tree, rtx, bool);
 static rtx arm_expand_unop_builtin (enum insn_code, tree, rtx, int);
 static rtx arm_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
 static tree arm_builtin_decl (unsigned, bool);
@@ -745,6 +745,9 @@ int arm_arch6 = 0;
 /* Nonzero if this chip supports the ARM 6K extensions.  */
 int arm_arch6k = 0;
 
+/* Nonzero if instructions present in ARMv6-M can be used.  */
+int arm_arch6m = 0;
+
 /* Nonzero if this chip supports the ARM 7 extensions.  */
 int arm_arch7 = 0;
 
@@ -1704,6 +1707,7 @@ arm_option_override (void)
   arm_arch6 = (insn_flags & FL_ARCH6) != 0;
   arm_arch6k = (insn_flags & FL_ARCH6K) != 0;
   arm_arch_notm = (insn_flags & FL_NOTM) != 0;
+  arm_arch6m = arm_arch6 && !arm_arch_notm;
   arm_arch7 = (insn_flags & FL_ARCH7) != 0;
   arm_arch7em = (insn_flags & FL_ARCH7EM) != 0;
   arm_arch_thumb2 = (insn_flags & FL_THUMB2) != 0;
@@ -5517,7 +5521,9 @@ thumb_find_work_register (unsigned long pushed_regs_mask)
   if (! cfun->machine->uses_anonymous_args
       && crtl->args.size >= 0
       && crtl->args.size <= (LAST_ARG_REGNUM * UNITS_PER_WORD)
-      && crtl->args.info.nregs < 4)
+      && (TARGET_AAPCS_BASED
+         ? crtl->args.info.aapcs_ncrn < 4
+         : crtl->args.info.nregs < 4))
     return LAST_ARG_REGNUM;
 
   /* Otherwise look for a call-saved register that is going to be pushed.  */
@@ -13337,6 +13343,13 @@ arm_reorg (void)
   if (TARGET_THUMB2)
     thumb2_reorg ();
 
+  /* Ensure all insns that must be split have been split at this point.
+     Otherwise, the pool placement code below may compute incorrect
+     insn lengths.  Note that when optimizing, all insns have already
+     been split at this point.  */
+  if (!optimize)
+    split_all_insns_noflow ();
+
   minipool_fix_head = minipool_fix_tail = NULL;
 
   /* The first insn must always be a note, or the code below won't
@@ -14860,72 +14873,88 @@ shift_op (rtx op, HOST_WIDE_INT *amountp)
   const char * mnem;
   enum rtx_code code = GET_CODE (op);
 
-  switch (GET_CODE (XEXP (op, 1)))
-    {
-    case REG:
-    case SUBREG:
-      *amountp = -1;
-      break;
-
-    case CONST_INT:
-      *amountp = INTVAL (XEXP (op, 1));
-      break;
-
-    default:
-      gcc_unreachable ();
-    }
-
   switch (code)
     {
     case ROTATE:
-      gcc_assert (*amountp != -1);
-      *amountp = 32 - *amountp;
-      code = ROTATERT;
+      if (!CONST_INT_P (XEXP (op, 1)))
+       {
+         output_operand_lossage ("invalid shift operand");
+         return NULL;
+       }
 
-      /* Fall through.  */
+      code = ROTATERT;
+      *amountp = 32 - INTVAL (XEXP (op, 1));
+      mnem = "ror";
+      break;
 
     case ASHIFT:
     case ASHIFTRT:
     case LSHIFTRT:
     case ROTATERT:
       mnem = arm_shift_nmem(code);
+      if (CONST_INT_P (XEXP (op, 1)))
+       {
+         *amountp = INTVAL (XEXP (op, 1));
+       }
+      else if (REG_P (XEXP (op, 1)))
+       {
+         *amountp = -1;
+         return mnem;
+       }
+      else
+       {
+         output_operand_lossage ("invalid shift operand");
+         return NULL;
+       }
       break;
 
     case MULT:
       /* We never have to worry about the amount being other than a
         power of 2, since this case can never be reloaded from a reg.  */
-      gcc_assert (*amountp != -1);
+      if (!CONST_INT_P (XEXP (op, 1)))
+       {
+         output_operand_lossage ("invalid shift operand");
+         return NULL;
+       }
+
+      *amountp = INTVAL (XEXP (op, 1)) & 0xFFFFFFFF;
+
+      /* Amount must be a power of two.  */
+      if (*amountp & (*amountp - 1))
+       {
+         output_operand_lossage ("invalid shift operand");
+         return NULL;
+       }
+
       *amountp = int_log2 (*amountp);
       return ARM_LSL_NAME;
 
     default:
-      gcc_unreachable ();
+      output_operand_lossage ("invalid shift operand");
+      return NULL;
     }
 
-  if (*amountp != -1)
+  /* This is not 100% correct, but follows from the desire to merge
+     multiplication by a power of 2 with the recognizer for a
+     shift.  >=32 is not a valid shift for "lsl", so we must try and
+     output a shift that produces the correct arithmetical result.
+     Using lsr #32 is identical except for the fact that the carry bit
+     is not set correctly if we set the flags; but we never use the
+     carry bit from such an operation, so we can ignore that.  */
+  if (code == ROTATERT)
+    /* Rotate is just modulo 32.  */
+    *amountp &= 31;
+  else if (*amountp != (*amountp & 31))
     {
-      /* This is not 100% correct, but follows from the desire to merge
-        multiplication by a power of 2 with the recognizer for a
-        shift.  >=32 is not a valid shift for "lsl", so we must try and
-        output a shift that produces the correct arithmetical result.
-        Using lsr #32 is identical except for the fact that the carry bit
-        is not set correctly if we set the flags; but we never use the
-        carry bit from such an operation, so we can ignore that.  */
-      if (code == ROTATERT)
-       /* Rotate is just modulo 32.  */
-       *amountp &= 31;
-      else if (*amountp != (*amountp & 31))
-       {
-         if (code == ASHIFT)
-           mnem = "lsr";
-         *amountp = 32;
-       }
-
-      /* Shifts of 0 are no-ops.  */
-      if (*amountp == 0)
-       return NULL;
+      if (code == ASHIFT)
+       mnem = "lsr";
+      *amountp = 32;
     }
 
+  /* Shifts of 0 are no-ops.  */
+  if (*amountp == 0)
+    return NULL;
+
   return mnem;
 }
 
@@ -17300,12 +17329,6 @@ arm_print_operand (FILE *stream, rtx x, int code)
        HOST_WIDE_INT val;
        const char *shift;
 
-       if (!shift_operator (x, SImode))
-         {
-           output_operand_lossage ("invalid shift operand");
-           break;
-         }
-
        shift = shift_op (x, &val);
 
        if (shift)
@@ -20486,7 +20509,7 @@ safe_vector_operand (rtx x, enum machine_mode mode)
 
 static rtx
 arm_expand_binop_builtin (enum insn_code icode,
-                         tree exp, rtx target)
+                         tree exp, rtx target, bool allow_void)
 {
   rtx pat;
   tree arg0 = CALL_EXPR_ARG (exp, 0);
@@ -20507,7 +20530,32 @@ arm_expand_binop_builtin (enum insn_code icode,
       || ! (*insn_data[icode].operand[0].predicate) (target, tmode))
     target = gen_reg_rtx (tmode);
 
-  gcc_assert (GET_MODE (op0) == mode0 && GET_MODE (op1) == mode1);
+  if (GET_MODE (op0) != mode0)
+    {
+      error ("the first argument to the builtin has mode %s, expecting %s",
+            mode_name[GET_MODE (op0)], mode_name[mode0]);
+      /* Do not return a NULL_RTX - it causes an ICE in store_expr()
+        which does not expect builtin expansion to fail.  */
+      return const0_rtx;
+    }    
+  
+  if (GET_MODE (op1) != mode1)
+    {
+      if (GET_MODE (op1) == VOIDmode)
+       {
+         /* We are being passed a constant as our second parameter.
+            If allow_void is true, assume that the pattern allows
+            immediates.  Otherwise, copy the value into a register.  */
+         if (! allow_void)
+           op1 = copy_to_mode_reg (mode1, op1);
+       }
+      else
+       {
+         error ("the second argument to the builtin has mode %s, expecting %s",
+                mode_name[GET_MODE (op1)], mode_name[mode1]);
+         return const0_rtx;
+       }
+    }
 
   if (! (*insn_data[icode].operand[1].predicate) (op0, mode0))
     op0 = copy_to_mode_reg (mode0, op0);
@@ -21140,13 +21188,13 @@ arm_expand_builtin (tree exp,
       return target;
 
     case ARM_BUILTIN_WSADB:
-      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadb, exp, target);
+      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadb, exp, target, false);
     case ARM_BUILTIN_WSADH:
-      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadh, exp, target);
+      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadh, exp, target, false);
     case ARM_BUILTIN_WSADBZ:
-      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadbz, exp, target);
+      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadbz, exp, target, false);
     case ARM_BUILTIN_WSADHZ:
-      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadhz, exp, target);
+      return arm_expand_binop_builtin (CODE_FOR_iwmmxt_wsadhz, exp, target, false);
 
       /* Several three-argument builtins.  */
     case ARM_BUILTIN_WMACS:
@@ -21194,6 +21242,32 @@ arm_expand_builtin (tree exp,
       emit_insn (pat);
       return target;
 
+    case ARM_BUILTIN_WSLLHI:
+    case ARM_BUILTIN_WSLLWI:
+    case ARM_BUILTIN_WSLLDI:
+    case ARM_BUILTIN_WSRAHI:
+    case ARM_BUILTIN_WSRAWI:
+    case ARM_BUILTIN_WSRADI:
+    case ARM_BUILTIN_WSRLHI:
+    case ARM_BUILTIN_WSRLWI:
+    case ARM_BUILTIN_WSRLDI:
+    case ARM_BUILTIN_WRORHI:
+    case ARM_BUILTIN_WRORWI:
+    case ARM_BUILTIN_WRORDI:
+      icode = (  fcode == ARM_BUILTIN_WSLLHI ? CODE_FOR_ashlv4hi3_iwmmxt
+              : fcode == ARM_BUILTIN_WSLLWI ? CODE_FOR_ashlv2si3_iwmmxt
+              : fcode == ARM_BUILTIN_WSLLDI ? CODE_FOR_ashldi3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRAHI ? CODE_FOR_ashrv4hi3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRAWI ? CODE_FOR_ashrv2si3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRADI ? CODE_FOR_ashrdi3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRLHI ? CODE_FOR_lshrv4hi3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRLWI ? CODE_FOR_lshrv2si3_iwmmxt
+              : fcode == ARM_BUILTIN_WSRLDI ? CODE_FOR_lshrdi3_iwmmxt
+              : fcode == ARM_BUILTIN_WRORHI ? CODE_FOR_rorv4hi3
+              : fcode == ARM_BUILTIN_WRORWI ? CODE_FOR_rorv2si3
+              :       /* ARM_BUILTIN_WRORDI */CODE_FOR_rordi3);
+      return arm_expand_binop_builtin (icode, exp, target, true);
+
     case ARM_BUILTIN_WZERO:
       target = gen_reg_rtx (DImode);
       emit_insn (gen_iwmmxt_clrdi (target));
@@ -21208,7 +21282,7 @@ arm_expand_builtin (tree exp,
 
   for (i = 0, d = bdesc_2arg; i < ARRAY_SIZE (bdesc_2arg); i++, d++)
     if (d->code == (const enum arm_builtins) fcode)
-      return arm_expand_binop_builtin (d->icode, exp, target);
+      return arm_expand_binop_builtin (d->icode, exp, target, false);
 
   for (i = 0, d = bdesc_1arg; i < ARRAY_SIZE (bdesc_1arg); i++, d++)
     if (d->code == (const enum arm_builtins) fcode)
@@ -22286,12 +22360,18 @@ thumb1_expand_prologue (void)
     {
       unsigned pushable_regs;
       unsigned next_hi_reg;
+      unsigned arg_regs_num = TARGET_AAPCS_BASED ? crtl->args.info.aapcs_ncrn
+                                                : crtl->args.info.nregs;
+      unsigned arg_regs_mask = (1 << arg_regs_num) - 1;
 
       for (next_hi_reg = 12; next_hi_reg > LAST_LO_REGNUM; next_hi_reg--)
        if (live_regs_mask & (1 << next_hi_reg))
          break;
 
-      pushable_regs = l_mask & 0xff;
+      /* Here we need to mask out registers used for passing arguments
+        even if they can be pushed.  This is to avoid using them to stash the high
+        registers.  Such kind of stash may clobber the use of arguments.  */
+      pushable_regs = l_mask & (~arg_regs_mask) & 0xff;
 
       if (pushable_regs == 0)
        pushable_regs = 1 << thumb_find_work_register (live_regs_mask);
@@ -24852,8 +24932,8 @@ arm_expand_compare_and_swap (rtx operands[])
     case SImode:
       /* Force the value into a register if needed.  We waited until after
         the zero-extension above to do this properly.  */
-      if (!arm_add_operand (oldval, mode))
-       oldval = force_reg (mode, oldval);
+      if (!arm_add_operand (oldval, SImode))
+       oldval = force_reg (SImode, oldval);
       break;
 
     case DImode:
index 443d2ed..fbbf041 100644 (file)
@@ -267,7 +267,7 @@ extern void (*arm_lang_output_object_attributes_hook)(void);
 #define TARGET_UNIFIED_ASM TARGET_THUMB2
 
 /* Nonzero if this chip provides the DMB instruction.  */
-#define TARGET_HAVE_DMB                (arm_arch7)
+#define TARGET_HAVE_DMB                (arm_arch6m || arm_arch7)
 
 /* Nonzero if this chip implements a memory barrier via CP15.  */
 #define TARGET_HAVE_DMB_MCR    (arm_arch6 && ! TARGET_HAVE_DMB \
@@ -383,6 +383,9 @@ extern int arm_arch6;
 /* Nonzero if this chip supports the ARM Architecture 6k extensions.  */
 extern int arm_arch6k;
 
+/* Nonzero if instructions present in ARMv6-M can be used.  */
+extern int arm_arch6m;
+
 /* Nonzero if this chip supports the ARM Architecture 7 extensions.  */
 extern int arm_arch7;
 
@@ -1123,11 +1126,18 @@ enum reg_class
 /* FPA registers can't do subreg as all values are reformatted to internal
    precision.  In VFPv1, VFP registers could only be accessed in the mode
    they were set, so subregs would be invalid there too.  However, we don't
-   support VFPv1 at the moment, and the restriction was lifted in VFPv2.  */
+   support VFPv1 at the moment, and the restriction was lifted in VFPv2.
+   In big-endian mode, modes greater than word size (i.e. DFmode) are stored in
+   VFP registers in little-endian order.  We can't describe that accurately to
+   GCC, so avoid taking subregs of such values.  */
 #define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS)              \
-  (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO)                  \
-   ? reg_classes_intersect_p (FPA_REGS, (CLASS))               \
-   : 0)
+  (TARGET_VFP                                                  \
+  ? TARGET_BIG_END                                             \
+    && (GET_MODE_SIZE (FROM) > UNITS_PER_WORD                  \
+       || GET_MODE_SIZE (TO) > UNITS_PER_WORD)                 \
+    && reg_classes_intersect_p (VFP_REGS, (CLASS))             \
+  : GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO)                 \
+    && reg_classes_intersect_p (FPA_REGS, (CLASS)))
 
 /* The class value for index registers, and the one for base regs.  */
 #define INDEX_REG_CLASS  (TARGET_THUMB1 ? LO_REGS : GENERAL_REGS)
index b21d0d2..3dd5e7b 100644 (file)
 (define_expand "cbranchdi4"
   [(set (pc) (if_then_else
              (match_operator 0 "expandable_comparison_operator"
-              [(match_operand:DI 1 "cmpdi_operand" "")
+              [(match_operand:DI 1 "s_register_operand" "")
                (match_operand:DI 2 "cmpdi_operand" "")])
              (label_ref (match_operand 3 "" ""))
              (pc)))]
      rtx swap = NULL_RTX;
      enum rtx_code code = GET_CODE (operands[0]);
 
-     /* We should not have two constants.  */
-     gcc_assert (GET_MODE (operands[1]) == DImode
-                || GET_MODE (operands[2]) == DImode);
-
     /* Flip unimplemented DImode comparisons to a form that
        arm_gen_compare_reg can handle.  */
      switch (code)
 (define_expand "cstoredi4"
   [(set (match_operand:SI 0 "s_register_operand" "")
        (match_operator:SI 1 "expandable_comparison_operator"
-        [(match_operand:DI 2 "cmpdi_operand" "")
+        [(match_operand:DI 2 "s_register_operand" "")
          (match_operand:DI 3 "cmpdi_operand" "")]))]
   "TARGET_32BIT"
   "{
      rtx swap = NULL_RTX;
      enum rtx_code code = GET_CODE (operands[1]);
 
-     /* We should not have two constants.  */
-     gcc_assert (GET_MODE (operands[2]) == DImode
-                || GET_MODE (operands[3]) == DImode);
-
     /* Flip unimplemented DImode comparisons to a form that
        arm_gen_compare_reg can handle.  */
      switch (code)
index 8004a7d..0a8be38 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2005-2012 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
@@ -24,3 +24,8 @@ MULTILIB_DIRNAMES     =
 #MULTILIB_OPTIONS     += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
 #MULTILIB_DIRNAMES    += fa606te fa626te fmp626 fa726te
 #MULTILIB_EXCEPTIONS  += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
+
+ifneq (,$(findstring gnueabi,$(target)))
+ARM_EB = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),eb)
+MULTIARCH_DIRNAME = $(call if_multiarch,arm$(ARM_EB)-linux-gnueabi$(if $(filter hard,$(with_float)),hf))
+endif
index 6eb0eba..f862673 100644 (file)
@@ -43,7 +43,7 @@ avr_register_target_pragmas (void)
   /* Register address spaces.  The order must be the same as in the respective
      enum from avr.h (or designated initialized must be used in avr.c).  */
 
-  for (i = 0; avr_addrspace[i].name; i++)
+  for (i = 0; i < ADDR_SPACE_COUNT; i++)
     {
       gcc_assert (i == avr_addrspace[i].id);
 
@@ -160,7 +160,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
   
   if (!strcmp (lang_hooks.name, "GNU C"))
     {
-      for (i = 0; avr_addrspace[i].name; i++)
+      for (i = 0; i < ADDR_SPACE_COUNT; i++)
         if (!ADDR_SPACE_GENERIC_P (i)
             /* Only supply __FLASH<n> macro if the address space is reasonable
                for this target.  The address space qualifier itself is still
@@ -170,8 +170,7 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
             const char *name = avr_addrspace[i].name;
             char *Name = (char*) alloca (1 + strlen (name));
 
-            cpp_define_formatted (pfile, "%s=%s",
-                                  avr_toupper (Name, name), name);
+            cpp_define (pfile, avr_toupper (Name, name));
           }
     }
 
@@ -188,7 +187,9 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
 
   /* Builtin macros for the __int24 and __uint24 type.  */
 
-  cpp_define (pfile, "__INT24_MAX__=8388607L");
+  cpp_define_formatted (pfile, "__INT24_MAX__=8388607%s",
+                        INT_TYPE_SIZE == 8 ? "LL" : "L");
   cpp_define (pfile, "__INT24_MIN__=(-__INT24_MAX__-1)");
-  cpp_define (pfile, "__UINT24_MAX__=16777215UL");
+  cpp_define_formatted (pfile, "__UINT24_MAX__=16777215%s",
+                        INT_TYPE_SIZE == 8 ? "ULL" : "UL");
 }
index 7d28829..4e26cdd 100644 (file)
@@ -1,5 +1,5 @@
 /* AVR MCUs.
-   Copyright (C) 2009, 2010, 2011
+   Copyright (C) 2009 -- 2013
    Free Software Foundation, Inc.
 
    This file is part of GCC.
    along with GCC; see the file COPYING3.  If not see
    <http://www.gnu.org/licenses/>.  */
 
-/* List of all known AVR MCU types - if updated, it has to be kept
-   in sync in several places (FIXME: is there a better way?):
-    - here;
-    - gas/config/tc-avr.c;
-    - avr-libc.
+/* List of all known AVR MCU types.  If updated, cd to $(builddir)/gcc and run
+
+   $ make avr-mcus
+
+   This will regenerate / update the following source files:
+
+   -  $(srcdir)/config/avr/t-multilib
+   -  $(srcdir)/config/avr/avr-tables.opt
+
+   After that, rebuild everything and check-in the new sources to the repo.
+   The device list below has to be kept in sync with the following places:
+
+   -  here
+   -  gcc/doc/invoke.texi
+   -  gas/config/tc-avr.c
+   -  avr-libc
 
    Before including this file, define a macro:
 
-   AVR_MCU (NAME, ARCH, MACRO, SHORT_SP, ERRATA_SKIP, DATA_SEC, N_FLASH, LIBRARY_NAME)
+   AVR_MCU (NAME, ARCH, MACRO, SHORT_SP, ERRATA_SKIP, DATA_SEC, N_FLASH,
+            LIBRARY_NAME)
+
+   where the arguments are the fields of struct mcu_type_s:
+   
+       NAME         Accept -mmcu=<NAME>
+
+       ARCH         Specifies the multilib variant together with SHORT_SP
+
+       MACRO        If NULL, this is a core and not a device.  If non-NULL,
+                    supply respective built-in macro.
+
+       SHORT_SP     The device / multilib has an 8-bit stack pointer (no SPH).
+
+       ERRATA_SKIP  Apply work-around for the "skip 32-bit instruction"
+                    silicon bug:  Don't skip 32-bit instrctions.
+
+       DATA_SEC     First address of SRAM, used in  -Tdata=  by the driver.
+
+       N_FLASH      Number of 64 KiB flash segments, rounded up.
 
-   where the arguments are the fields of struct mcu_type_s.  */
+       LIBRARY_NAME Used by the driver to linke startup code from avr-libc
+                    as of  crt<LIBRARY_NAME>.o
 
-/* "avr2" must be first for the "0" default to work as intended.  */
+   "avr2" must be first for the "0" default to work as intended.  */
 
 /* Classic, <= 8K.  */
 AVR_MCU ("avr2",                 ARCH_AVR2, NULL,                        0, 1, 0x0060, 6, "s8515")
index a95ae30..40a37b3 100644 (file)
 
 /* Known address spaces.  The order must be the same as in the respective
    enum from avr.h (or designated initialized must be used).  */
-const avr_addrspace_t avr_addrspace[] =
-{
-    { ADDR_SPACE_RAM,  0, 2, ""     ,   0 },
-    { ADDR_SPACE_FLASH,  1, 2, "__flash",   0 },
-    { ADDR_SPACE_FLASH1, 1, 2, "__flash1",  1 },
-    { ADDR_SPACE_FLASH2, 1, 2, "__flash2",  2 },
-    { ADDR_SPACE_FLASH3, 1, 2, "__flash3",  3 },
-    { ADDR_SPACE_FLASH4, 1, 2, "__flash4",  4 },
-    { ADDR_SPACE_FLASH5, 1, 2, "__flash5",  5 },
-    { ADDR_SPACE_MEMX, 1, 3, "__memx",  0 },
-    { 0              , 0, 0, NULL,      0 }
+const avr_addrspace_t avr_addrspace[ADDR_SPACE_COUNT] =
+{
+  { ADDR_SPACE_RAM,  0, 2, "", 0, NULL },
+  { ADDR_SPACE_FLASH,  1, 2, "__flash",   0, ".progmem.data" },
+  { ADDR_SPACE_FLASH1, 1, 2, "__flash1",  1, ".progmem1.data" },
+  { ADDR_SPACE_FLASH2, 1, 2, "__flash2",  2, ".progmem2.data" },
+  { ADDR_SPACE_FLASH3, 1, 2, "__flash3",  3, ".progmem3.data" },
+  { ADDR_SPACE_FLASH4, 1, 2, "__flash4",  4, ".progmem4.data" },
+  { ADDR_SPACE_FLASH5, 1, 2, "__flash5",  5, ".progmem5.data" },
+  { ADDR_SPACE_MEMX, 1, 3, "__memx",  0, ".progmemx.data" },
 };
 
-/* Map 64-k Flash segment to section prefix.  */
-static const char* const progmem_section_prefix[6] =
-  {
-    ".progmem.data",
-    ".progmem1.data",
-    ".progmem2.data",
-    ".progmem3.data",
-    ".progmem4.data",
-    ".progmem5.data"
-  };
 
 /* Holding RAM addresses of some SFRs used by the compiler and that
    are unique over all devices in an architecture like 'avr4'.  */
@@ -208,8 +197,9 @@ const struct mcu_type_s *avr_current_device;
 static GTY(()) section *progmem_swtable_section;
 
 /* Unnamed sections associated to __attribute__((progmem)) aka. PROGMEM
-   or to address space __flash*.  */
-static GTY(()) section *progmem_section[6];
+   or to address space __flash* or __memx.  Only used as singletons inside
+   avr_asm_select_section, but it must not be local there because of GTY.  */
+static GTY(()) section *progmem_section[ADDR_SPACE_COUNT];
 
 /* Condition for insns/expanders from avr-dimode.md.  */
 bool avr_have_dimode = true;
@@ -6978,9 +6968,6 @@ avr_pgm_check_var_decl (tree node)
 
   if (reason)
     {
-      avr_edump ("%?: %s, %d, %d\n",
-                 avr_addrspace[as].name,
-                 avr_addrspace[as].segment, avr_current_device->n_flash);
       if (avr_addrspace[as].segment >= avr_current_device->n_flash)
         {
           if (TYPE_P (node))
@@ -7123,8 +7110,6 @@ avr_output_progmem_section_asm_op (const void *data)
 static void
 avr_asm_init_sections (void)
 {
-  unsigned int n;
-  
   /* Set up a section for jump tables.  Alignment is handled by
      ASM_OUTPUT_BEFORE_CASE_LABEL.  */
   
@@ -7143,13 +7128,6 @@ avr_asm_init_sections (void)
                                ",\"ax\",@progbits");
     }
 
-  for (n = 0; n < sizeof (progmem_section) / sizeof (*progmem_section); n++)
-    {
-      progmem_section[n]
-        = get_unnamed_section (0, avr_output_progmem_section_asm_op,
-                               progmem_section_prefix[n]);
-    }
-  
   /* Override section callbacks to keep track of `avr_need_clear_bss_p'
      resp. `avr_need_copy_data_p'.  */
   
@@ -7227,10 +7205,9 @@ avr_asm_named_section (const char *name, unsigned int flags, tree decl)
   if (flags & AVR_SECTION_PROGMEM)
     {
       addr_space_t as = (flags & AVR_SECTION_PROGMEM) / SECTION_MACH_DEP;
-      int segment = avr_addrspace[as].segment;
       const char *old_prefix = ".rodata";
-      const char *new_prefix = progmem_section_prefix[segment];
-      
+      const char *new_prefix = avr_addrspace[as].section_name;
+
       if (STR_PREFIX_P (name, old_prefix))
         {
           const char *sname = ACONCAT ((new_prefix,
@@ -7342,13 +7319,18 @@ avr_asm_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
       && avr_progmem_p (decl, DECL_ATTRIBUTES (decl)))
     {
       addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (decl));
-      int segment = avr_addrspace[as].segment;
+
+      /* __progmem__ goes in generic space but shall be allocated to
+         .progmem.data  */
+
+      if (ADDR_SPACE_GENERIC_P (as))
+        as = ADDR_SPACE_FLASH;
       
       if (sect->common.flags & SECTION_NAMED)
         {
           const char * name = sect->named.name;
           const char * old_prefix = ".rodata";
-          const char * new_prefix = progmem_section_prefix[segment];
+          const char * new_prefix = avr_addrspace[as].section_name;
 
           if (STR_PREFIX_P (name, old_prefix))
             {
@@ -7357,8 +7339,15 @@ avr_asm_select_section (tree decl, int reloc, unsigned HOST_WIDE_INT align)
               return get_section (sname, sect->common.flags, sect->named.decl);
             }
         }
-          
-      return progmem_section[segment];
+
+      if (!progmem_section[as])
+        {
+          progmem_section[as]
+            = get_unnamed_section (0, avr_output_progmem_section_asm_op,
+                                   avr_addrspace[as].section_name);
+        }
+
+      return progmem_section[as];
     }
 
   return sect;
index d553723..79a669d 100644 (file)
@@ -156,6 +156,9 @@ typedef struct
 
   /* Segment (i.e. 64k memory chunk) number.  */
   int segment;
+
+  /* Section prefix, e.g. ".progmem1.data"  */
+  const char *section_name;
 } avr_addrspace_t;
 
 extern const avr_addrspace_t avr_addrspace[];
@@ -164,14 +167,16 @@ extern const avr_addrspace_t avr_addrspace[];
 
 enum
   {
-    ADDR_SPACE_RAM,
+    ADDR_SPACE_RAM, /* ADDR_SPACE_GENERIC */
     ADDR_SPACE_FLASH,
     ADDR_SPACE_FLASH1,
     ADDR_SPACE_FLASH2,
     ADDR_SPACE_FLASH3,
     ADDR_SPACE_FLASH4,
     ADDR_SPACE_FLASH5,
-    ADDR_SPACE_MEMX
+    ADDR_SPACE_MEMX,
+    /* Sentinel */
+    ADDR_SPACE_COUNT
   };
 
 #define TARGET_CPU_CPP_BUILTINS()      avr_cpu_cpp_builtins (pfile)
index efd8afa..4a9c1b4 100644 (file)
@@ -23,6 +23,5 @@ along with GCC; see the file COPYING3.  If not see
 #define TARGET_OS_CPP_BUILTINS()       \
 do {                                   \
   builtin_define ("__rtems__");                \
-  builtin_define ("__USE_INIT_FINI__");        \
   builtin_assert ("system=rtems");     \
 } while (0)
index 9963833..6889b1a 100644 (file)
@@ -1,5 +1,4 @@
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-# 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2000 -- 2013 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
@@ -40,19 +39,27 @@ avr.o avr-c.o: $(srcdir)/config/avr/builtins.def
 
 AVR_MCUS = $(srcdir)/config/avr/avr-mcus.def
 
+# Run `avr-mcus' after you changed or added devices in  avr-mcus.def
+
+.PHONY: avr-mcus
+
+avr-mcus: $(srcdir)/config/avr/t-multilib \
+         $(srcdir)/config/avr/avr-tables.opt; @true
+
+# Make sure that -mmcu= is supported for devices from avr-mcus.def and
+# all -mmcu= values are displayed on the help screen
 $(srcdir)/config/avr/avr-tables.opt: $(srcdir)/config/avr/genopt.sh $(AVR_MCUS)
        $(SHELL) $< $(AVR_MCUS) > $@
 
+# Map -mmcu= to the right multilib variant
+
 # MULTILIB_OPTIONS
 # MULTILIB_DIRNAMES
 # MULTILIB_EXCEPTIONS
 # MULTILIB_MATCHES
-$(srcdir)/config/avr/t-multilib: s-avr-mlib; @true
 
 s-mlib: $(srcdir)/config/avr/t-multilib
 
-s-avr-mlib: $(srcdir)/config/avr/genmultilib.awk $(AVR_MCUS)
-       $(AWK) -f $< -v FORMAT=Makefile   $< $(AVR_MCUS) > tmp-avr-mlib
-       $(SHELL) $(srcdir)/../move-if-change \
-               tmp-avr-mlib    $(srcdir)/config/avr/t-multilib
-       $(STAMP) $@
+$(srcdir)/config/avr/t-multilib: $(srcdir)/config/avr/genmultilib.awk \
+                                $(AVR_MCUS)
+       $(AWK) -f $< -v FORMAT=Makefile   $< $(AVR_MCUS) > $@
index ba253dd..63684e3 100644 (file)
@@ -3024,12 +3024,12 @@ darwin_override_options (void)
       darwin_emit_branch_islands = true;
     }
 
-  if (flag_var_tracking
+  if (flag_var_tracking_uninit == 0
       && generating_for_darwin_version >= 9
       && (flag_gtoggle ? (debug_info_level == DINFO_LEVEL_NONE)
       : (debug_info_level >= DINFO_LEVEL_NORMAL))
       && write_symbols == DWARF2_DEBUG)
-    flag_var_tracking_uninit = 1;
+    flag_var_tracking_uninit = flag_var_tracking;
 
   if (MACHO_DYNAMIC_NO_PIC_P)
     {
index 6b35599..5e4140a 100644 (file)
        (compare:CC (match_operand:SI 1 "register_operand"  "")
                    (match_operand:SI 2 "nonmemory_operand" "")))
    (set (pc)
-       (if_then_else (match_operator:CC 0 "ordered_comparison_operator"
+       (if_then_else (match_operator 0 "ordered_comparison_operator"
                       [(reg:CC 16) (const_int 0)])
                      (label_ref (match_operand 3 "" ""))
                      (pc)))]
 
 (define_insn "*branch_true"
   [(set (pc)
-       (if_then_else (match_operator:CC 0 "comparison_operator"
+       (if_then_else (match_operator 0 "comparison_operator"
                                         [(reg:CC 16)
                                          (const_int 0)])
                      (label_ref (match_operand 1 "" ""))
 ;; branch occurs if the test is false, so the %B operator is used.
 (define_insn "*branch_false"
   [(set (pc)
-       (if_then_else (match_operator:CC 0 "comparison_operator"
+       (if_then_else (match_operator 0 "comparison_operator"
                                         [(reg:CC 16)
                                          (const_int 0)])
                      (pc)
index 5a19307..25327dd 100644 (file)
@@ -92,6 +92,7 @@
 ;;  p  Integer register when TARGET_PARTIAL_REG_STALL is disabled
 ;;  d  Integer register when integer DFmode moves are enabled
 ;;  x  Integer register when integer XFmode moves are enabled
+;;  f  x87 register when 80387 floating point arithmetic is enabled
 
 (define_register_constraint "Yz" "TARGET_SSE ? SSE_FIRST_REG : NO_REGS"
  "First SSE register (@code{%xmm0}).")
  "optimize_function_for_speed_p (cfun) ? GENERAL_REGS : NO_REGS"
  "@internal Any integer register when integer XFmode moves are enabled.")
 
+(define_register_constraint "Yf"
+ "(ix86_fpmath & FPMATH_387) ? FLOAT_REGS : NO_REGS"
+ "@internal Any x87 register when 80387 FP arithmetic is enabled.")
+
 (define_constraint "z"
   "@internal Constant call address operand."
   (match_operand 0 "constant_call_address_operand"))
index 5da8fd2..49de691 100644 (file)
 /* %ebx may be the PIC register.  */
 #if __GNUC__ >= 3
 #define __cpuid(level, a, b, c, d)                     \
-  __asm__ ("xchg{l}\t{%%}ebx, %1\n\t"                  \
+  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"                 \
           "cpuid\n\t"                                  \
-          "xchg{l}\t{%%}ebx, %1\n\t"                   \
-          : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+          "xchg{l}\t{%%}ebx, %k1\n\t"                  \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
           : "0" (level))
 
 #define __cpuid_count(level, count, a, b, c, d)                \
-  __asm__ ("xchg{l}\t{%%}ebx, %1\n\t"                  \
+  __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t"                 \
           "cpuid\n\t"                                  \
-          "xchg{l}\t{%%}ebx, %1\n\t"                   \
-          : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+          "xchg{l}\t{%%}ebx, %k1\n\t"                  \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
           : "0" (level), "2" (count))
 #else
 /* Host GCCs older than 3.0 weren't supporting Intel asm syntax
    nor alternatives in i386 code.  */
 #define __cpuid(level, a, b, c, d)                     \
-  __asm__ ("xchgl\t%%ebx, %1\n\t"                      \
+  __asm__ ("xchgl\t%%ebx, %k1\n\t"                     \
           "cpuid\n\t"                                  \
-          "xchgl\t%%ebx, %1\n\t"                       \
-          : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+          "xchgl\t%%ebx, %k1\n\t"                      \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
           : "0" (level))
 
 #define __cpuid_count(level, count, a, b, c, d)                \
-  __asm__ ("xchgl\t%%ebx, %1\n\t"                      \
+  __asm__ ("xchgl\t%%ebx, %k1\n\t"                     \
           "cpuid\n\t"                                  \
-          "xchgl\t%%ebx, %1\n\t"                       \
-          : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+          "xchgl\t%%ebx, %k1\n\t"                      \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
           : "0" (level), "2" (count))
 #endif
+#elif defined(__x86_64__) && (defined(__code_model_medium__) || defined(__code_model_large__)) && defined(__PIC__)
+/* %rbx may be the PIC register.  */
+#define __cpuid(level, a, b, c, d)                     \
+  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"                 \
+          "cpuid\n\t"                                  \
+          "xchg{q}\t{%%}rbx, %q1\n\t"                  \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
+          : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d)                \
+  __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t"                 \
+          "cpuid\n\t"                                  \
+          "xchg{q}\t{%%}rbx, %q1\n\t"                  \
+          : "=a" (a), "=&r" (b), "=c" (c), "=d" (d)    \
+          : "0" (level), "2" (count))
 #else
 #define __cpuid(level, a, b, c, d)                     \
   __asm__ ("cpuid\n\t"                                 \
index 0c006a3..7b5e4d7 100644 (file)
@@ -398,6 +398,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
   unsigned int has_fma = 0, has_fma4 = 0, has_xop = 0;
   unsigned int has_bmi = 0, has_bmi2 = 0, has_tbm = 0, has_lzcnt = 0;
   unsigned int has_rdrnd = 0, has_f16c = 0, has_fsgsbase = 0;
+  unsigned int has_osxsave = 0;
 
   bool arch;
 
@@ -439,6 +440,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
   has_sse4_1 = ecx & bit_SSE4_1;
   has_sse4_2 = ecx & bit_SSE4_2;
   has_avx = ecx & bit_AVX;
+  has_osxsave = ecx & bit_OSXSAVE;
   has_cmpxchg16b = ecx & bit_CMPXCHG16B;
   has_movbe = ecx & bit_MOVBE;
   has_popcnt = ecx & bit_POPCNT;
@@ -464,6 +466,27 @@ const char *host_detect_local_cpu (int argc, const char **argv)
       has_fsgsbase = ebx & bit_FSGSBASE;
     }
 
+  /* Get XCR_XFEATURE_ENABLED_MASK register with xgetbv.  */
+#define XCR_XFEATURE_ENABLED_MASK      0x0
+#define XSTATE_FP                      0x1
+#define XSTATE_SSE                     0x2
+#define XSTATE_YMM                     0x4
+  if (has_osxsave)
+    asm (".byte 0x0f; .byte 0x01; .byte 0xd0"
+        : "=a" (eax), "=d" (edx)
+        : "c" (XCR_XFEATURE_ENABLED_MASK));
+
+  /* Check if SSE and YMM states are supported.  */
+  if (!has_osxsave
+      || (eax & (XSTATE_SSE | XSTATE_YMM)) != (XSTATE_SSE | XSTATE_YMM))
+    {
+      has_avx = 0;
+      has_avx2 = 0;
+      has_fma = 0;
+      has_fma4 = 0;
+      has_xop = 0;
+    }
+
   /* Check cpuid level of extended features.  */
   __cpuid (0x80000000, ext_level, ebx, ecx, edx);
 
index 9ec9d17..f2a0560 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
@@ -164,7 +164,7 @@ extern __inline __m128d
 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_fnmadd_sd (__m128d __A, __m128d __B, __m128d __C)
 {
-  return (__m128d)__builtin_ia32_vfmaddsd3 (-(__v2df)__A, (__v2df)__B,
+  return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B,
                                             (__v2df)__C);
 }
 
@@ -172,7 +172,7 @@ extern __inline __m128
 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_fnmadd_ss (__m128 __A, __m128 __B, __m128 __C)
 {
-  return (__m128)__builtin_ia32_vfmaddss3 (-(__v4sf)__A, (__v4sf)__B,
+  return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B,
                                            (__v4sf)__C);
 }
 
@@ -212,7 +212,7 @@ extern __inline __m128d
 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_fnmsub_sd (__m128d __A, __m128d __B, __m128d __C)
 {
-  return (__m128d)__builtin_ia32_vfmaddsd3 (-(__v2df)__A, (__v2df)__B,
+  return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B,
                                             -(__v2df)__C);
 }
 
@@ -220,7 +220,7 @@ extern __inline __m128
 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_fnmsub_ss (__m128 __A, __m128 __B, __m128 __C)
 {
-  return (__m128)__builtin_ia32_vfmaddss3 (-(__v4sf)__A, (__v4sf)__B,
+  return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B,
                                            -(__v4sf)__C);
 }
 
index 98d0a25..91318a4 100644 (file)
@@ -198,7 +198,11 @@ along with GCC; see the file COPYING3.  If not see
 /* i386 glibc provides __stack_chk_guard in %gs:0x14.  */
 #define TARGET_THREAD_SSP_OFFSET       0x14
 
-/* We steal the last transactional memory word.  */
+/* We only build the -fsplit-stack support in libgcc if the
+   assembler has full support for the CFI directives.  */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
 #define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word.  */
 #define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
 #endif
index 954f3b2..fd96df4 100644 (file)
@@ -121,8 +121,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define TARGET_THREAD_SSP_OFFSET \
   (TARGET_64BIT ? (TARGET_X32 ? 0x18 : 0x28) : 0x14)
 
-/* We steal the last transactional memory word.  */
+/* We only build the -fsplit-stack support in libgcc if the
+   assembler has full support for the CFI directives.  */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
 #define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word.  */
 #define TARGET_THREAD_SPLIT_STACK_OFFSET \
   (TARGET_64BIT ? (TARGET_X32 ? 0x40 : 0x70) : 0x30)
 #endif
index 62772b7..86b76b6 100644 (file)
@@ -233,6 +233,30 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
       break;
     }
 
+  switch (ix86_cmodel)
+    {
+    case CM_SMALL:
+    case CM_SMALL_PIC:
+      def_or_undef (parse_in, "__code_model_small__");
+      break;
+    case CM_MEDIUM:
+    case CM_MEDIUM_PIC:
+      def_or_undef (parse_in, "__code_model_medium__");
+      break;
+    case CM_LARGE:
+    case CM_LARGE_PIC:
+      def_or_undef (parse_in, "__code_model_large__");
+      break;
+    case CM_32:
+      def_or_undef (parse_in, "__code_model_32__");
+      break;
+    case CM_KERNEL:
+      def_or_undef (parse_in, "__code_model_kernel__");
+      break;
+    default:
+      ;
+    }
+
   if (isa_flag & OPTION_MASK_ISA_MMX)
     def_or_undef (parse_in, "__MMX__");
   if (isa_flag & OPTION_MASK_ISA_3DNOW)
index 14bc672..3eb5ef8 100644 (file)
@@ -270,7 +270,7 @@ struct ix86_address
 };
 
 extern int ix86_decompose_address (rtx, struct ix86_address *);
-extern int memory_address_length (rtx addr);
+extern int memory_address_length (rtx, bool);
 extern void x86_output_aligned_bss (FILE *, tree, const char *,
                                    unsigned HOST_WIDE_INT, int);
 extern void x86_elf_aligned_common (FILE *, const char *,
index c2c6cd0..440bd82 100644 (file)
@@ -1,6 +1,6 @@
 /* Subroutines used for code generation on IA-32.
-   Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+   Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -5592,7 +5592,10 @@ init_cumulative_args (CUMULATIVE_ARGS *cum,  /* Argument info to initialize */
        {
          /* The return value of this function uses 256bit AVX modes.  */
          if (caller)
-           cfun->machine->callee_return_avx256_p = true;
+           {
+             cfun->machine->callee_return_avx256_p = true;
+             cum->callee_return_avx256_p = true;
+           }
          else
            cfun->machine->caller_return_avx256_p = true;
        }
@@ -6863,11 +6866,20 @@ ix86_function_arg (cumulative_args_t cum_v, enum machine_mode omode,
     {
       /* This argument uses 256bit AVX modes.  */
       if (cum->caller)
-       cfun->machine->callee_pass_avx256_p = true;
+       cum->callee_pass_avx256_p = true;
       else
        cfun->machine->caller_pass_avx256_p = true;
     }
 
+  if (cum->caller && mode == VOIDmode)
+    {
+      /* This function is called with MODE == VOIDmode immediately
+        before the call instruction is emitted.  We copy callee 256bit
+        AVX info from the current CUM here.  */
+      cfun->machine->callee_return_avx256_p = cum->callee_return_avx256_p;
+      cfun->machine->callee_pass_avx256_p = cum->callee_pass_avx256_p;
+    }
+
   return arg;
 }
 
@@ -9558,6 +9570,8 @@ get_scratch_register_on_entry (struct scratch_reg *sr)
       tree decl = current_function_decl, fntype = TREE_TYPE (decl);
       bool fastcall_p
        = lookup_attribute ("fastcall", TYPE_ATTRIBUTES (fntype)) != NULL_TREE;
+      bool thiscall_p
+       = lookup_attribute ("thiscall", TYPE_ATTRIBUTES (fntype)) != NULL_TREE;
       bool static_chain_p = DECL_STATIC_CHAIN (decl);
       int regparm = ix86_function_regparm (fntype, decl);
       int drap_regno
@@ -9568,10 +9582,15 @@ get_scratch_register_on_entry (struct scratch_reg *sr)
       if ((regparm < 1 || (fastcall_p && !static_chain_p))
          && drap_regno != AX_REG)
        regno = AX_REG;
-      else if (regparm < 2 && drap_regno != DX_REG)
+      /* 'thiscall' sets regparm to 1, uses ecx for arguments and edx
+         for the static chain register.  */
+      else if (thiscall_p && !static_chain_p && drap_regno != AX_REG)
+        regno = AX_REG;
+      else if (regparm < 2 && !thiscall_p && drap_regno != DX_REG)
        regno = DX_REG;
       /* ecx is the static chain register.  */
-      else if (regparm < 3 && !fastcall_p && !static_chain_p
+      else if (regparm < 3 && !fastcall_p && !thiscall_p
+              && !static_chain_p
               && drap_regno != CX_REG)
        regno = CX_REG;
       else if (ix86_save_reg (BX_REG, true))
@@ -9604,6 +9623,7 @@ release_scratch_register_on_entry (struct scratch_reg *sr)
 {
   if (sr->saved)
     {
+      struct machine_function *m = cfun->machine;
       rtx x, insn = emit_insn (gen_pop (sr->reg));
 
       /* The RTX_FRAME_RELATED_P mechanism doesn't know about pop.  */
@@ -9611,6 +9631,7 @@ release_scratch_register_on_entry (struct scratch_reg *sr)
       x = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (UNITS_PER_WORD));
       x = gen_rtx_SET (VOIDmode, stack_pointer_rtx, x);
       add_reg_note (insn, REG_FRAME_RELATED_EXPR, x);
+      m->fs.sp_offset -= UNITS_PER_WORD;
     }
 }
 
@@ -10339,7 +10360,7 @@ ix86_expand_prologue (void)
       rtx eax = gen_rtx_REG (Pmode, AX_REG);
       rtx r10 = NULL;
       rtx (*adjust_stack_insn)(rtx, rtx, rtx);
-
+      const bool sp_is_cfa_reg = (m->fs.cfa_reg == stack_pointer_rtx);
       bool eax_live = false;
       bool r10_live = false;
 
@@ -10348,16 +10369,31 @@ ix86_expand_prologue (void)
       if (!TARGET_64BIT_MS_ABI)
         eax_live = ix86_eax_live_at_start_p ();
 
+      /* Note that SEH directives need to continue tracking the stack
+        pointer even after the frame pointer has been set up.  */
       if (eax_live)
        {
-         emit_insn (gen_push (eax));
+         insn = emit_insn (gen_push (eax));
          allocate -= UNITS_PER_WORD;
+         if (sp_is_cfa_reg || TARGET_SEH)
+           {
+             if (sp_is_cfa_reg)
+               m->fs.cfa_offset += UNITS_PER_WORD;
+             RTX_FRAME_RELATED_P (insn) = 1;
+           }
        }
+
       if (r10_live)
        {
          r10 = gen_rtx_REG (Pmode, R10_REG);
-         emit_insn (gen_push (r10));
+         insn = emit_insn (gen_push (r10));
          allocate -= UNITS_PER_WORD;
+         if (sp_is_cfa_reg || TARGET_SEH)
+           {
+             if (sp_is_cfa_reg)
+               m->fs.cfa_offset += UNITS_PER_WORD;
+             RTX_FRAME_RELATED_P (insn) = 1;
+           }
        }
 
       emit_move_insn (eax, GEN_INT (allocate));
@@ -10371,13 +10407,10 @@ ix86_expand_prologue (void)
       insn = emit_insn (adjust_stack_insn (stack_pointer_rtx,
                                           stack_pointer_rtx, eax));
 
-      /* Note that SEH directives need to continue tracking the stack
-        pointer even after the frame pointer has been set up.  */
-      if (m->fs.cfa_reg == stack_pointer_rtx || TARGET_SEH)
+      if (sp_is_cfa_reg || TARGET_SEH)
        {
-         if (m->fs.cfa_reg == stack_pointer_rtx)
+         if (sp_is_cfa_reg)
            m->fs.cfa_offset += allocate;
-
          RTX_FRAME_RELATED_P (insn) = 1;
          add_reg_note (insn, REG_FRAME_RELATED_EXPR,
                        gen_rtx_SET (VOIDmode, stack_pointer_rtx,
@@ -11069,12 +11102,15 @@ split_stack_prologue_scratch_regno (void)
     return R11_REG;
   else
     {
-      bool is_fastcall;
+      bool is_fastcall, is_thiscall;
       int regparm;
 
       is_fastcall = (lookup_attribute ("fastcall",
                                       TYPE_ATTRIBUTES (TREE_TYPE (cfun->decl)))
                     != NULL);
+      is_thiscall = (lookup_attribute ("thiscall",
+                                      TYPE_ATTRIBUTES (TREE_TYPE (cfun->decl)))
+                    != NULL);
       regparm = ix86_function_regparm (TREE_TYPE (cfun->decl), cfun->decl);
 
       if (is_fastcall)
@@ -11087,6 +11123,12 @@ split_stack_prologue_scratch_regno (void)
            }
          return AX_REG;
        }
+      else if (is_thiscall)
+        {
+         if (!DECL_STATIC_CHAIN (cfun->decl))
+           return DX_REG;
+         return AX_REG;
+       }
       else if (regparm < 3)
        {
          if (!DECL_STATIC_CHAIN (cfun->decl))
@@ -11402,10 +11444,6 @@ ix86_address_subreg_operand (rtx op)
   if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
     return false;
 
-  /* simplify_subreg does not handle stack pointer.  */
-  if (REGNO (op) == STACK_POINTER_REGNUM)
-    return false;
-
   /* Allow only SUBREGs of non-eliminable hard registers.  */
   return register_no_elim_operand (op, mode);
 }
@@ -12320,7 +12358,6 @@ legitimize_pic_address (rtx orig, rtx reg)
 {
   rtx addr = orig;
   rtx new_rtx = orig;
-  rtx base;
 
 #if TARGET_MACHO
   if (TARGET_MACHO && !TARGET_64BIT)
@@ -12525,20 +12562,33 @@ legitimize_pic_address (rtx orig, rtx reg)
            }
          else
            {
-             base = legitimize_pic_address (XEXP (addr, 0), reg);
-             new_rtx  = legitimize_pic_address (XEXP (addr, 1),
-                                                base == reg ? NULL_RTX : reg);
+             rtx base = legitimize_pic_address (op0, reg);
+             enum machine_mode mode = GET_MODE (base);
+             new_rtx
+               = legitimize_pic_address (op1, base == reg ? NULL_RTX : reg);
 
              if (CONST_INT_P (new_rtx))
-               new_rtx = plus_constant (base, INTVAL (new_rtx));
+               {
+                 if (INTVAL (new_rtx) < -16*1024*1024
+                     || INTVAL (new_rtx) >= 16*1024*1024)
+                   {
+                     if (!x86_64_immediate_operand (new_rtx, mode))
+                       new_rtx = force_reg (mode, new_rtx);
+                     new_rtx
+                       = gen_rtx_PLUS (mode, force_reg (mode, base), new_rtx);
+                   }
+                 else
+                   new_rtx = plus_constant (base, INTVAL (new_rtx));
+               }
              else
                {
-                 if (GET_CODE (new_rtx) == PLUS && CONSTANT_P (XEXP (new_rtx, 1)))
+                 if (GET_CODE (new_rtx) == PLUS
+                     && CONSTANT_P (XEXP (new_rtx, 1)))
                    {
-                     base = gen_rtx_PLUS (Pmode, base, XEXP (new_rtx, 0));
+                     base = gen_rtx_PLUS (mode, base, XEXP (new_rtx, 0));
                      new_rtx = XEXP (new_rtx, 1);
                    }
-                 new_rtx = gen_rtx_PLUS (Pmode, base, new_rtx);
+                 new_rtx = gen_rtx_PLUS (mode, base, new_rtx);
                }
            }
        }
@@ -12637,6 +12687,9 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov)
          tp = get_thread_pointer (true);
          dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, tp, dest));
 
+         if (GET_MODE (x) != Pmode)
+           x = gen_rtx_ZERO_EXTEND (Pmode, x);
+
          set_unique_reg_note (get_last_insn (), REG_EQUAL, x);
        }
       else
@@ -12645,13 +12698,17 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov)
 
          if (TARGET_64BIT)
            {
-             rtx rax = gen_rtx_REG (Pmode, AX_REG), insns;
+             rtx rax = gen_rtx_REG (Pmode, AX_REG);
+             rtx insns;
 
              start_sequence ();
              emit_call_insn (gen_tls_global_dynamic_64 (rax, x, caddr));
              insns = get_insns ();
              end_sequence ();
 
+             if (GET_MODE (x) != Pmode)
+               x = gen_rtx_ZERO_EXTEND (Pmode, x);
+
              RTL_CONST_CALL_P (insns) = 1;
              emit_libcall_block (insns, dest, rax, x);
            }
@@ -12693,7 +12750,8 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov)
 
          if (TARGET_64BIT)
            {
-             rtx rax = gen_rtx_REG (Pmode, AX_REG), insns, eqv;
+             rtx rax = gen_rtx_REG (Pmode, AX_REG);
+             rtx insns, eqv;
 
              start_sequence ();
              emit_call_insn (gen_tls_local_dynamic_base_64 (rax, caddr));
@@ -12721,6 +12779,9 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov)
        {
          dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, dest, tp));
 
+         if (GET_MODE (x) != Pmode)
+           x = gen_rtx_ZERO_EXTEND (Pmode, x);
+
          set_unique_reg_note (get_last_insn (), REG_EQUAL, x);
        }
       break;
@@ -13680,15 +13741,9 @@ void
 print_reg (rtx x, int code, FILE *file)
 {
   const char *reg;
+  unsigned int regno;
   bool duplicated = code == 'd' && TARGET_AVX;
 
-  gcc_assert (x == pc_rtx
-             || (REGNO (x) != ARG_POINTER_REGNUM
-                 && REGNO (x) != FRAME_POINTER_REGNUM
-                 && REGNO (x) != FLAGS_REG
-                 && REGNO (x) != FPSR_REG
-                 && REGNO (x) != FPCR_REG));
-
   if (ASSEMBLER_DIALECT == ASM_ATT)
     putc ('%', file);
 
@@ -13699,6 +13754,13 @@ print_reg (rtx x, int code, FILE *file)
       return;
     }
 
+  regno = true_regnum (x);
+  gcc_assert (regno != ARG_POINTER_REGNUM
+             && regno != FRAME_POINTER_REGNUM
+             && regno != FLAGS_REG
+             && regno != FPSR_REG
+             && regno != FPCR_REG);
+
   if (code == 'w' || MMX_REG_P (x))
     code = 2;
   else if (code == 'b')
@@ -13720,11 +13782,11 @@ print_reg (rtx x, int code, FILE *file)
 
   /* Irritatingly, AMD extended registers use different naming convention
      from the normal registers: "r%d[bwd]"  */
-  if (REX_INT_REG_P (x))
+  if (REX_INT_REGNO_P (regno))
     {
       gcc_assert (TARGET_64BIT);
       putc ('r', file);
-      fprint_ul (file, REGNO (x) - FIRST_REX_INT_REG + 8);
+      fprint_ul (file, regno - FIRST_REX_INT_REG + 8);
       switch (code)
        {
          case 0:
@@ -13768,24 +13830,24 @@ print_reg (rtx x, int code, FILE *file)
     case 16:
     case 2:
     normal:
-      reg = hi_reg_name[REGNO (x)];
+      reg = hi_reg_name[regno];
       break;
     case 1:
-      if (REGNO (x) >= ARRAY_SIZE (qi_reg_name))
+      if (regno >= ARRAY_SIZE (qi_reg_name))
        goto normal;
-      reg = qi_reg_name[REGNO (x)];
+      reg = qi_reg_name[regno];
       break;
     case 0:
-      if (REGNO (x) >= ARRAY_SIZE (qi_high_reg_name))
+      if (regno >= ARRAY_SIZE (qi_high_reg_name))
        goto normal;
-      reg = qi_high_reg_name[REGNO (x)];
+      reg = qi_high_reg_name[regno];
       break;
     case 32:
       if (SSE_REG_P (x))
        {
          gcc_assert (!duplicated);
          putc ('y', file);
-         fputs (hi_reg_name[REGNO (x)] + 1, file);
+         fputs (hi_reg_name[regno] + 1, file);
          return;
        }
       break;
@@ -14458,7 +14520,8 @@ ix86_print_operand (FILE *file, rtx x, int code)
        putc ('$', file);
       /* Sign extend 32bit SFmode immediate to 8 bytes.  */
       if (code == 'q')
-       fprintf (file, "0x%08llx", (unsigned long long) (int) l);
+       fprintf (file, "0x%08" HOST_LONG_LONG_FORMAT "x",
+                (unsigned long long) (int) l);
       else
        fprintf (file, "0x%08x", (unsigned int) l);
     }
@@ -14560,22 +14623,6 @@ ix86_print_operand_address (FILE *file, rtx addr)
 
   gcc_assert (ok);
 
-  if (parts.base && GET_CODE (parts.base) == SUBREG)
-    {
-      rtx tmp = SUBREG_REG (parts.base);
-      parts.base = simplify_subreg (GET_MODE (parts.base),
-                                   tmp, GET_MODE (tmp), 0);
-      gcc_assert (parts.base != NULL_RTX);
-    }
-
-  if (parts.index && GET_CODE (parts.index) == SUBREG)
-    {
-      rtx tmp = SUBREG_REG (parts.index);
-      parts.index = simplify_subreg (GET_MODE (parts.index),
-                                    tmp, GET_MODE (tmp), 0);
-      gcc_assert (parts.index != NULL_RTX);
-    }
-
   base = parts.base;
   index = parts.index;
   disp = parts.disp;
@@ -14628,21 +14675,49 @@ ix86_print_operand_address (FILE *file, rtx addr)
   else
     {
       /* Print SImode register names to force addr32 prefix.  */
-      if (GET_CODE (addr) == SUBREG)
-       {
-         gcc_assert (TARGET_64BIT);
-         gcc_assert (GET_MODE (addr) == SImode);
-         gcc_assert (GET_MODE (SUBREG_REG (addr)) == DImode);
-         gcc_assert (!code);
-         code = 'l';
-       }
-      else if (GET_CODE (addr) == ZERO_EXTEND
-              || GET_CODE (addr) == AND)
+      if (SImode_address_operand (addr, VOIDmode))
        {
+#ifdef ENABLE_CHECKING
          gcc_assert (TARGET_64BIT);
-         gcc_assert (GET_MODE (addr) == DImode);
+         switch (GET_CODE (addr))
+           {
+           case SUBREG:
+             gcc_assert (GET_MODE (addr) == SImode);
+             gcc_assert (GET_MODE (SUBREG_REG (addr)) == DImode);
+             break;
+           case ZERO_EXTEND:
+           case AND:
+             gcc_assert (GET_MODE (addr) == DImode);
+             break;
+           default:
+             gcc_unreachable ();
+           }
+#endif
          gcc_assert (!code);
-         code = 'l';
+         code = 'k';
+       }
+      else if (code == 0
+              && TARGET_X32
+              && disp
+              && CONST_INT_P (disp)
+              && INTVAL (disp) < -16*1024*1024)
+       {
+         /* X32 runs in 64-bit mode, where displacement, DISP, in
+            address DISP(%r64), is encoded as 32-bit immediate sign-
+            extended from 32-bit to 64-bit.  For -0x40000300(%r64),
+            address is %r64 + 0xffffffffbffffd00.  When %r64 <
+            0x40000300, like 0x37ffe064, address is 0xfffffffff7ffdd64,
+            which is invalid for x32.  The correct address is %r64
+            - 0x40000300 == 0xf7ffdd64.  To properly encode
+            -0x40000300(%r64) for x32, we zero-extend negative
+            displacement by forcing addr32 prefix which truncates
+            0xfffffffff7ffdd64 to 0xf7ffdd64.  In theory, we should
+            zero-extend all negative displacements, including -1(%rsp).
+            However, for small negative displacements, sign-extension
+            won't cause overflow.  We only zero-extend negative
+            displacements if they < -16*1024*1024, which is also used
+            to check legitimate address displacements for PIC.  */
+         code = 'k';
        }
 
       if (ASSEMBLER_DIALECT == ASM_ATT)
@@ -15543,8 +15618,7 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
                                     op0, 1, OPTAB_DIRECT);
          if (tmp == op0)
            return;
-         if (GET_MODE (tmp) != mode)
-           op1 = convert_to_mode (mode, tmp, 1);
+         op1 = convert_to_mode (mode, tmp, 1);
        }
     }
 
@@ -15708,7 +15782,8 @@ ix86_avx256_split_vector_move_misalign (rtx op0, rtx op1)
 {
   rtx m;
   rtx (*extract) (rtx, rtx, rtx);
-  rtx (*move_unaligned) (rtx, rtx);
+  rtx (*load_unaligned) (rtx, rtx);
+  rtx (*store_unaligned) (rtx, rtx);
   enum machine_mode mode;
 
   switch (GET_MODE (op0))
@@ -15717,39 +15792,52 @@ ix86_avx256_split_vector_move_misalign (rtx op0, rtx op1)
       gcc_unreachable ();
     case V32QImode:
       extract = gen_avx_vextractf128v32qi;
-      move_unaligned = gen_avx_movdqu256;
+      load_unaligned = gen_avx_loaddqu256;
+      store_unaligned = gen_avx_storedqu256;
       mode = V16QImode;
       break;
     case V8SFmode:
       extract = gen_avx_vextractf128v8sf;
-      move_unaligned = gen_avx_movups256;
+      load_unaligned = gen_avx_loadups256;
+      store_unaligned = gen_avx_storeups256;
       mode = V4SFmode;
       break;
     case V4DFmode:
       extract = gen_avx_vextractf128v4df;
-      move_unaligned = gen_avx_movupd256;
+      load_unaligned = gen_avx_loadupd256;
+      store_unaligned = gen_avx_storeupd256;
       mode = V2DFmode;
       break;
     }
 
-  if (MEM_P (op1) && TARGET_AVX256_SPLIT_UNALIGNED_LOAD)
+  if (MEM_P (op1))
     {
-      rtx r = gen_reg_rtx (mode);
-      m = adjust_address (op1, mode, 0);
-      emit_move_insn (r, m);
-      m = adjust_address (op1, mode, 16);
-      r = gen_rtx_VEC_CONCAT (GET_MODE (op0), r, m);
-      emit_move_insn (op0, r);
+      if (TARGET_AVX256_SPLIT_UNALIGNED_LOAD)
+       {
+         rtx r = gen_reg_rtx (mode);
+         m = adjust_address (op1, mode, 0);
+         emit_move_insn (r, m);
+         m = adjust_address (op1, mode, 16);
+         r = gen_rtx_VEC_CONCAT (GET_MODE (op0), r, m);
+         emit_move_insn (op0, r);
+       }
+      else
+       emit_insn (load_unaligned (op0, op1));
     }
-  else if (MEM_P (op0) && TARGET_AVX256_SPLIT_UNALIGNED_STORE)
+  else if (MEM_P (op0))
     {
-      m = adjust_address (op0, mode, 0);
-      emit_insn (extract (m, op1, const0_rtx));
-      m = adjust_address (op0, mode, 16);
-      emit_insn (extract (m, op1, const1_rtx));
+      if (TARGET_AVX256_SPLIT_UNALIGNED_STORE)
+       {
+         m = adjust_address (op0, mode, 0);
+         emit_insn (extract (m, op1, const0_rtx));
+         m = adjust_address (op0, mode, 16);
+         emit_insn (extract (m, op1, const1_rtx));
+       }
+      else
+       emit_insn (store_unaligned (op0, op1));
     }
   else
-    emit_insn (move_unaligned (op0, op1));
+    gcc_unreachable ();
 }
 
 /* Implement the movmisalign patterns for SSE.  Non-SSE modes go
@@ -15808,6 +15896,7 @@ void
 ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
 {
   rtx op0, op1, m;
+  rtx (*move_unaligned) (rtx, rtx);
 
   op0 = operands[0];
   op1 = operands[1];
@@ -15824,14 +15913,28 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
              /*  If we're optimizing for size, movups is the smallest.  */
              if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
                {
+                 if (MEM_P (op1))
+                   move_unaligned = gen_sse_loadups;
+                 else if (MEM_P (op0))
+                   move_unaligned = gen_sse_storeups;
+                 else
+                   gcc_unreachable ();
+
                  op0 = gen_lowpart (V4SFmode, op0);
                  op1 = gen_lowpart (V4SFmode, op1);
-                 emit_insn (gen_sse_movups (op0, op1));
+                 emit_insn (move_unaligned (op0, op1));
                  return;
                }
+             if (MEM_P (op1))
+               move_unaligned = gen_sse2_loaddqu;
+             else if (MEM_P (op0))
+               move_unaligned = gen_sse2_storedqu;
+             else
+               gcc_unreachable ();
+
              op0 = gen_lowpart (V16QImode, op0);
              op1 = gen_lowpart (V16QImode, op1);
-             emit_insn (gen_sse2_movdqu (op0, op1));
+             emit_insn (move_unaligned (op0, op1));
              break;
            case 32:
              op0 = gen_lowpart (V32QImode, op0);
@@ -15849,7 +15952,14 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
          switch (mode)
            {
            case V4SFmode:
-             emit_insn (gen_sse_movups (op0, op1));
+             if (MEM_P (op1))
+               move_unaligned = gen_sse_loadups;
+             else if (MEM_P (op0))
+               move_unaligned = gen_sse_storeups;
+             else
+               gcc_unreachable ();
+
+             emit_insn (move_unaligned (op0, op1));
              break;
            case V8SFmode:
              ix86_avx256_split_vector_move_misalign (op0, op1);
@@ -15857,12 +15967,26 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
            case V2DFmode:
              if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
                {
+                 if (MEM_P (op1))
+                   move_unaligned = gen_sse_loadups;
+                 else if (MEM_P (op0))
+                   move_unaligned = gen_sse_storeups;
+                 else
+                   gcc_unreachable ();
+
                  op0 = gen_lowpart (V4SFmode, op0);
                  op1 = gen_lowpart (V4SFmode, op1);
-                 emit_insn (gen_sse_movups (op0, op1));
+                 emit_insn (move_unaligned (op0, op1));
                  return;
                }
-             emit_insn (gen_sse2_movupd (op0, op1));
+             if (MEM_P (op1))
+               move_unaligned = gen_sse2_loadupd;
+             else if (MEM_P (op0))
+               move_unaligned = gen_sse2_storeupd;
+             else
+               gcc_unreachable ();
+
+             emit_insn (move_unaligned (op0, op1));
              break;
            case V4DFmode:
              ix86_avx256_split_vector_move_misalign (op0, op1);
@@ -15887,7 +16011,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
        {
          op0 = gen_lowpart (V4SFmode, op0);
          op1 = gen_lowpart (V4SFmode, op1);
-         emit_insn (gen_sse_movups (op0, op1));
+         emit_insn (gen_sse_loadups (op0, op1));
          return;
        }
 
@@ -15898,7 +16022,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
        {
          op0 = gen_lowpart (V16QImode, op0);
          op1 = gen_lowpart (V16QImode, op1);
-         emit_insn (gen_sse2_movdqu (op0, op1));
+         emit_insn (gen_sse2_loaddqu (op0, op1));
          return;
        }
 
@@ -15910,7 +16034,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
            {
              op0 = gen_lowpart (V2DFmode, op0);
              op1 = gen_lowpart (V2DFmode, op1);
-             emit_insn (gen_sse2_movupd (op0, op1));
+             emit_insn (gen_sse2_loadupd (op0, op1));
              return;
            }
 
@@ -15945,7 +16069,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
            {
              op0 = gen_lowpart (V4SFmode, op0);
              op1 = gen_lowpart (V4SFmode, op1);
-             emit_insn (gen_sse_movups (op0, op1));
+             emit_insn (gen_sse_loadups (op0, op1));
              return;
             }
 
@@ -15970,7 +16094,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
        {
          op0 = gen_lowpart (V4SFmode, op0);
          op1 = gen_lowpart (V4SFmode, op1);
-         emit_insn (gen_sse_movups (op0, op1));
+         emit_insn (gen_sse_storeups (op0, op1));
          return;
        }
 
@@ -15981,7 +16105,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
         {
          op0 = gen_lowpart (V16QImode, op0);
          op1 = gen_lowpart (V16QImode, op1);
-         emit_insn (gen_sse2_movdqu (op0, op1));
+         emit_insn (gen_sse2_storedqu (op0, op1));
          return;
        }
 
@@ -15991,7 +16115,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
            {
              op0 = gen_lowpart (V2DFmode, op0);
              op1 = gen_lowpart (V2DFmode, op1);
-             emit_insn (gen_sse2_movupd (op0, op1));
+             emit_insn (gen_sse2_storeupd (op0, op1));
            }
          else
            {
@@ -16009,7 +16133,7 @@ ix86_expand_vector_move_misalign (enum machine_mode mode, rtx operands[])
          if (TARGET_SSE_UNALIGNED_STORE_OPTIMAL)
            {
              op0 = gen_lowpart (V4SFmode, op0);
-             emit_insn (gen_sse_movups (op0, op1));
+             emit_insn (gen_sse_storeups (op0, op1));
            }
          else
            {
@@ -23270,7 +23394,6 @@ ix86_init_machine_status (void)
 
   f = ggc_alloc_cleared_machine_function ();
   f->use_fast_prologue_epilogue_nregs = -1;
-  f->tls_descriptor_call_expanded_p = 0;
   f->call_abi = ix86_abi;
 
   return f;
@@ -23289,9 +23412,6 @@ assign_386_stack_local (enum machine_mode mode, enum ix86_stack_slot n)
 
   gcc_assert (n < MAX_386_STACK_LOCALS);
 
-  /* Virtual slot is valid only before vregs are instantiated.  */
-  gcc_assert ((n == SLOT_VIRTUAL) == !virtuals_instantiated);
-
   for (s = ix86_stack_locals; s; s = s->next)
     if (s->mode == mode && s->n == n)
       return validize_mem (copy_rtx (s->rtl));
@@ -23305,13 +23425,23 @@ assign_386_stack_local (enum machine_mode mode, enum ix86_stack_slot n)
   ix86_stack_locals = s;
   return validize_mem (s->rtl);
 }
+
+static void
+ix86_instantiate_decls (void)
+{
+  struct stack_local_entry *s;
+
+  for (s = ix86_stack_locals; s; s = s->next)
+    if (s->rtl != NULL_RTX)
+      instantiate_decl_rtl (s->rtl);
+}
 \f
 /* Calculate the length of the memory address in the instruction encoding.
    Includes addr32 prefix, does not include the one-byte modrm, opcode,
-   or other prefixes.  */
+   or other prefixes.  We never generate addr32 prefix for LEA insn.  */
 
 int
-memory_address_length (rtx addr)
+memory_address_length (rtx addr, bool lea)
 {
   struct ix86_address parts;
   rtx base, index, disp;
@@ -23327,18 +23457,26 @@ memory_address_length (rtx addr)
   ok = ix86_decompose_address (addr, &parts);
   gcc_assert (ok);
 
-  if (parts.base && GET_CODE (parts.base) == SUBREG)
-    parts.base = SUBREG_REG (parts.base);
-  if (parts.index && GET_CODE (parts.index) == SUBREG)
-    parts.index = SUBREG_REG (parts.index);
+  len = (parts.seg == SEG_DEFAULT) ? 0 : 1;
+
+  /*  If this is not LEA instruction, add the length of addr32 prefix.  */
+  if (TARGET_64BIT && !lea
+      && (SImode_address_operand (addr, VOIDmode)
+         || (parts.base && GET_MODE (parts.base) == SImode)
+         || (parts.index && GET_MODE (parts.index) == SImode)))
+    len++;
 
   base = parts.base;
   index = parts.index;
   disp = parts.disp;
 
-  /* Add length of addr32 prefix.  */
-  len = (GET_CODE (addr) == ZERO_EXTEND
-        || GET_CODE (addr) == AND);
+  if (base && GET_CODE (base) == SUBREG)
+    base = SUBREG_REG (base);
+  if (index && GET_CODE (index) == SUBREG)
+    index = SUBREG_REG (index);
+
+  gcc_assert (base == NULL_RTX || REG_P (base));
+  gcc_assert (index == NULL_RTX || REG_P (index));
 
   /* Rule of thumb:
        - esp as the base always wants an index,
@@ -23352,14 +23490,13 @@ memory_address_length (rtx addr)
       /* esp (for its index) and ebp (for its displacement) need
         the two-byte modrm form.  Similarly for r12 and r13 in 64-bit
         code.  */
-      if (REG_P (addr)
-         && (addr == arg_pointer_rtx
-             || addr == frame_pointer_rtx
-             || REGNO (addr) == SP_REG
-             || REGNO (addr) == BP_REG
-             || REGNO (addr) == R12_REG
-             || REGNO (addr) == R13_REG))
-       len = 1;
+      if (base == arg_pointer_rtx
+         || base == frame_pointer_rtx
+         || REGNO (base) == SP_REG
+         || REGNO (base) == BP_REG
+         || REGNO (base) == R12_REG
+         || REGNO (base) == R13_REG)
+       len++;
     }
 
   /* Direct Addressing.  In 64-bit mode mod 00 r/m 5
@@ -23369,7 +23506,7 @@ memory_address_length (rtx addr)
      by UNSPEC.  */
   else if (disp && !base && !index)
     {
-      len = 4;
+      len += 4;
       if (TARGET_64BIT)
        {
          rtx symbol = disp;
@@ -23387,43 +23524,30 @@ memory_address_length (rtx addr)
                  || (XINT (symbol, 1) != UNSPEC_GOTPCREL
                      && XINT (symbol, 1) != UNSPEC_PCREL
                      && XINT (symbol, 1) != UNSPEC_GOTNTPOFF)))
-           len += 1;
+           len++;
        }
     }
-
   else
     {
       /* Find the length of the displacement constant.  */
       if (disp)
        {
          if (base && satisfies_constraint_K (disp))
-           len = 1;
+           len += 1;
          else
-           len = 4;
+           len += 4;
        }
       /* ebp always wants a displacement.  Similarly r13.  */
-      else if (base && REG_P (base)
-              && (REGNO (base) == BP_REG || REGNO (base) == R13_REG))
-       len = 1;
+      else if (base && (REGNO (base) == BP_REG || REGNO (base) == R13_REG))
+       len++;
 
       /* An index requires the two-byte modrm form....  */
       if (index
          /* ...like esp (or r12), which always wants an index.  */
          || base == arg_pointer_rtx
          || base == frame_pointer_rtx
-         || (base && REG_P (base)
-             && (REGNO (base) == SP_REG || REGNO (base) == R12_REG)))
-       len += 1;
-    }
-
-  switch (parts.seg)
-    {
-    case SEG_FS:
-    case SEG_GS:
-      len += 1;
-      break;
-    default:
-      break;
+         || (base && (REGNO (base) == SP_REG || REGNO (base) == R12_REG)))
+       len++;
     }
 
   return len;
@@ -23477,7 +23601,8 @@ ix86_attr_length_immediate_default (rtx insn, bool shortform)
          case MODE_SI:
            len = 4;
            break;
-         /* Immediates for DImode instructions are encoded as 32bit sign extended values.  */
+         /* Immediates for DImode instructions are encoded
+            as 32bit sign extended values.  */
          case MODE_DI:
            len = 4;
            break;
@@ -23487,6 +23612,7 @@ ix86_attr_length_immediate_default (rtx insn, bool shortform)
       }
   return len;
 }
+
 /* Compute default value for "length_address" attribute.  */
 int
 ix86_attr_length_address_default (rtx insn)
@@ -23503,15 +23629,8 @@ ix86_attr_length_address_default (rtx insn)
       gcc_assert (GET_CODE (set) == SET);
 
       addr = SET_SRC (set);
-      if (TARGET_64BIT && get_attr_mode (insn) == MODE_SI)
-       {
-         if (GET_CODE (addr) == ZERO_EXTEND)
-           addr = XEXP (addr, 0);
-         if (GET_CODE (addr) == SUBREG)
-           addr = SUBREG_REG (addr);
-       }
 
-      return memory_address_length (addr);
+      return memory_address_length (addr, true);
     }
 
   extract_insn_cached (insn);
@@ -23533,7 +23652,7 @@ ix86_attr_length_address_default (rtx insn)
            if (*constraints == 'X')
              continue;
          }
-       return memory_address_length (XEXP (recog_data.operand[i], 0));
+       return memory_address_length (XEXP (recog_data.operand[i], 0), false);
       }
   return 0;
 }
@@ -24368,7 +24487,7 @@ ix86_static_chain (const_tree fndecl, bool incoming_p)
 
       fntype = TREE_TYPE (fndecl);
       ccvt = ix86_get_callcvt (fntype);
-      if ((ccvt & (IX86_CALLCVT_FASTCALL | IX86_CALLCVT_THISCALL)) != 0)
+      if ((ccvt & IX86_CALLCVT_FASTCALL) != 0)
        {
          /* Fastcall functions use ecx/edx for arguments, which leaves
             us with EAX for the static chain.
@@ -24376,6 +24495,13 @@ ix86_static_chain (const_tree fndecl, bool incoming_p)
             leaves us with EAX for the static chain.  */
          regno = AX_REG;
        }
+      else if ((ccvt & IX86_CALLCVT_THISCALL) != 0)
+       {
+         /* Thiscall functions use ecx for arguments, which leaves
+            us with EAX and EDX for the static chain.
+            We are using for abi-compatibility EAX.  */
+         regno = AX_REG;
+       }
       else if (ix86_function_regparm (fntype, fndecl) == 3)
        {
          /* For regparm 3, we have no free call-clobbered registers in
@@ -25999,9 +26125,9 @@ static const struct builtin_description bdesc_special_args[] =
   { OPTION_MASK_ISA_3DNOW, CODE_FOR_mmx_femms, "__builtin_ia32_femms", IX86_BUILTIN_FEMMS, UNKNOWN, (int) VOID_FTYPE_VOID },
 
   /* SSE */
-  { OPTION_MASK_ISA_SSE, CODE_FOR_sse_movups, "__builtin_ia32_storeups", IX86_BUILTIN_STOREUPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF },
+  { OPTION_MASK_ISA_SSE, CODE_FOR_sse_storeups, "__builtin_ia32_storeups", IX86_BUILTIN_STOREUPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF },
   { OPTION_MASK_ISA_SSE, CODE_FOR_sse_movntv4sf, "__builtin_ia32_movntps", IX86_BUILTIN_MOVNTPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF },
-  { OPTION_MASK_ISA_SSE, CODE_FOR_sse_movups, "__builtin_ia32_loadups", IX86_BUILTIN_LOADUPS, UNKNOWN, (int) V4SF_FTYPE_PCFLOAT },
+  { OPTION_MASK_ISA_SSE, CODE_FOR_sse_loadups, "__builtin_ia32_loadups", IX86_BUILTIN_LOADUPS, UNKNOWN, (int) V4SF_FTYPE_PCFLOAT },
 
   { OPTION_MASK_ISA_SSE, CODE_FOR_sse_loadhps_exp, "__builtin_ia32_loadhps", IX86_BUILTIN_LOADHPS, UNKNOWN, (int) V4SF_FTYPE_V4SF_PCV2SF },
   { OPTION_MASK_ISA_SSE, CODE_FOR_sse_loadlps_exp, "__builtin_ia32_loadlps", IX86_BUILTIN_LOADLPS, UNKNOWN, (int) V4SF_FTYPE_V4SF_PCV2SF },
@@ -26015,14 +26141,14 @@ static const struct builtin_description bdesc_special_args[] =
   /* SSE2 */
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_lfence, "__builtin_ia32_lfence", IX86_BUILTIN_LFENCE, UNKNOWN, (int) VOID_FTYPE_VOID },
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_mfence, 0, IX86_BUILTIN_MFENCE, UNKNOWN, (int) VOID_FTYPE_VOID },
-  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movupd, "__builtin_ia32_storeupd", IX86_BUILTIN_STOREUPD, UNKNOWN, (int) VOID_FTYPE_PDOUBLE_V2DF },
-  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movdqu, "__builtin_ia32_storedqu", IX86_BUILTIN_STOREDQU, UNKNOWN, (int) VOID_FTYPE_PCHAR_V16QI },
+  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_storeupd, "__builtin_ia32_storeupd", IX86_BUILTIN_STOREUPD, UNKNOWN, (int) VOID_FTYPE_PDOUBLE_V2DF },
+  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_storedqu, "__builtin_ia32_storedqu", IX86_BUILTIN_STOREDQU, UNKNOWN, (int) VOID_FTYPE_PCHAR_V16QI },
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movntv2df, "__builtin_ia32_movntpd", IX86_BUILTIN_MOVNTPD, UNKNOWN, (int) VOID_FTYPE_PDOUBLE_V2DF },
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movntv2di, "__builtin_ia32_movntdq", IX86_BUILTIN_MOVNTDQ, UNKNOWN, (int) VOID_FTYPE_PV2DI_V2DI },
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movntisi, "__builtin_ia32_movnti", IX86_BUILTIN_MOVNTI, UNKNOWN, (int) VOID_FTYPE_PINT_INT },
   { OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_64BIT, CODE_FOR_sse2_movntidi, "__builtin_ia32_movnti64", IX86_BUILTIN_MOVNTI64, UNKNOWN, (int) VOID_FTYPE_PLONGLONG_LONGLONG },
-  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movupd, "__builtin_ia32_loadupd", IX86_BUILTIN_LOADUPD, UNKNOWN, (int) V2DF_FTYPE_PCDOUBLE },
-  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movdqu, "__builtin_ia32_loaddqu", IX86_BUILTIN_LOADDQU, UNKNOWN, (int) V16QI_FTYPE_PCCHAR },
+  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_loadupd, "__builtin_ia32_loadupd", IX86_BUILTIN_LOADUPD, UNKNOWN, (int) V2DF_FTYPE_PCDOUBLE },
+  { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_loaddqu, "__builtin_ia32_loaddqu", IX86_BUILTIN_LOADDQU, UNKNOWN, (int) V16QI_FTYPE_PCCHAR },
 
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_loadhpd_exp, "__builtin_ia32_loadhpd", IX86_BUILTIN_LOADHPD, UNKNOWN, (int) V2DF_FTYPE_V2DF_PCDOUBLE },
   { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_loadlpd_exp, "__builtin_ia32_loadlpd", IX86_BUILTIN_LOADLPD, UNKNOWN, (int) V2DF_FTYPE_V2DF_PCDOUBLE },
@@ -26047,12 +26173,12 @@ static const struct builtin_description bdesc_special_args[] =
   { OPTION_MASK_ISA_AVX, CODE_FOR_avx_vbroadcastf128_v4df, "__builtin_ia32_vbroadcastf128_pd256", IX86_BUILTIN_VBROADCASTPD256, UNKNOWN, (int) V4DF_FTYPE_PCV2DF },
   { OPTION_MASK_ISA_AVX, CODE_FOR_avx_vbroadcastf128_v8sf, "__builtin_ia32_vbroadcastf128_ps256", IX86_BUILTIN_VBROADCASTPS256, UNKNOWN, (int) V8SF_FTYPE_PCV4SF },
 
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movupd256, "__builtin_ia32_loadupd256", IX86_BUILTIN_LOADUPD256, UNKNOWN, (int) V4DF_FTYPE_PCDOUBLE },
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movups256, "__builtin_ia32_loadups256", IX86_BUILTIN_LOADUPS256, UNKNOWN, (int) V8SF_FTYPE_PCFLOAT },
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movupd256, "__builtin_ia32_storeupd256", IX86_BUILTIN_STOREUPD256, UNKNOWN, (int) VOID_FTYPE_PDOUBLE_V4DF },
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movups256, "__builtin_ia32_storeups256", IX86_BUILTIN_STOREUPS256, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V8SF },
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movdqu256, "__builtin_ia32_loaddqu256", IX86_BUILTIN_LOADDQU256, UNKNOWN, (int) V32QI_FTYPE_PCCHAR },
-  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movdqu256, "__builtin_ia32_storedqu256", IX86_BUILTIN_STOREDQU256, UNKNOWN, (int) VOID_FTYPE_PCHAR_V32QI },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_loadupd256, "__builtin_ia32_loadupd256", IX86_BUILTIN_LOADUPD256, UNKNOWN, (int) V4DF_FTYPE_PCDOUBLE },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_loadups256, "__builtin_ia32_loadups256", IX86_BUILTIN_LOADUPS256, UNKNOWN, (int) V8SF_FTYPE_PCFLOAT },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_storeupd256, "__builtin_ia32_storeupd256", IX86_BUILTIN_STOREUPD256, UNKNOWN, (int) VOID_FTYPE_PDOUBLE_V4DF },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_storeups256, "__builtin_ia32_storeups256", IX86_BUILTIN_STOREUPS256, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V8SF },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_loaddqu256, "__builtin_ia32_loaddqu256", IX86_BUILTIN_LOADDQU256, UNKNOWN, (int) V32QI_FTYPE_PCCHAR },
+  { OPTION_MASK_ISA_AVX, CODE_FOR_avx_storedqu256, "__builtin_ia32_storedqu256", IX86_BUILTIN_STOREDQU256, UNKNOWN, (int) VOID_FTYPE_PCHAR_V32QI },
   { OPTION_MASK_ISA_AVX, CODE_FOR_avx_lddqu256, "__builtin_ia32_lddqu256", IX86_BUILTIN_LDDQU256, UNKNOWN, (int) V32QI_FTYPE_PCCHAR },
 
   { OPTION_MASK_ISA_AVX, CODE_FOR_avx_movntv4di, "__builtin_ia32_movntdq256", IX86_BUILTIN_MOVNTDQ256, UNKNOWN, (int) VOID_FTYPE_PV4DI_V4DI },
@@ -29364,13 +29490,13 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
 
     case IX86_BUILTIN_LDMXCSR:
       op0 = expand_normal (CALL_EXPR_ARG (exp, 0));
-      target = assign_386_stack_local (SImode, SLOT_VIRTUAL);
+      target = assign_386_stack_local (SImode, SLOT_TEMP);
       emit_move_insn (target, op0);
       emit_insn (gen_sse_ldmxcsr (target));
       return 0;
 
     case IX86_BUILTIN_STMXCSR:
-      target = assign_386_stack_local (SImode, SLOT_VIRTUAL);
+      target = assign_386_stack_local (SImode, SLOT_TEMP);
       emit_insn (gen_sse_stmxcsr (target));
       return copy_to_mode_reg (SImode, target);
 
@@ -31496,6 +31622,13 @@ ix86_rtx_costs (rtx x, int code, int outer_code_i, int opno, int *total,
        {
          if (CONST_INT_P (XEXP (x, 1)))
            *total = cost->shift_const;
+         else if (GET_CODE (XEXP (x, 1)) == SUBREG
+                  && GET_CODE (XEXP (XEXP (x, 1), 0)) == AND)
+           {
+             /* Return the cost after shift-and truncation.  */
+             *total = cost->shift_var;
+             return true;
+           }
          else
            *total = cost->shift_var;
        }
@@ -32165,8 +32298,10 @@ x86_output_mi_thunk (FILE *file,
   else
     {
       unsigned int ccvt = ix86_get_callcvt (TREE_TYPE (function));
-      if ((ccvt & (IX86_CALLCVT_FASTCALL | IX86_CALLCVT_THISCALL)) != 0)
+      if ((ccvt & IX86_CALLCVT_FASTCALL) != 0)
        tmp_regno = AX_REG;
+      else if ((ccvt & IX86_CALLCVT_THISCALL) != 0)
+       tmp_regno = DX_REG;
       else
        tmp_regno = CX_REG;
     }
@@ -38869,6 +39004,9 @@ ix86_autovectorize_vector_sizes (void)
 #undef TARGET_PROMOTE_FUNCTION_MODE
 #define TARGET_PROMOTE_FUNCTION_MODE ix86_promote_function_mode
 
+#undef TARGET_INSTANTIATE_DECLS
+#define TARGET_INSTANTIATE_DECLS ix86_instantiate_decls
+
 #undef TARGET_SECONDARY_RELOAD
 #define TARGET_SECONDARY_RELOAD ix86_secondary_reload
 
index 3a49803..835ea10 100644 (file)
@@ -1474,6 +1474,7 @@ enum reg_class
 /* 1 if N is a possible register number for function argument passing.  */
 #define FUNCTION_ARG_REGNO_P(N) ix86_function_arg_regno_p (N)
 
+#ifndef USED_FOR_TARGET
 /* Define a data type for recording info about an argument list
    during the scan of that argument list.  This data type should
    hold all necessary information about the function itself
@@ -1502,7 +1503,12 @@ typedef struct ix86_args {
                                   in SSE registers.  Otherwise 0.  */
   enum calling_abi call_abi;   /* Set to SYSV_ABI for sysv abi. Otherwise
                                   MS_ABI for ms abi.  */
+  /* Nonzero if it passes 256bit AVX modes.  */
+  BOOL_BITFIELD callee_pass_avx256_p : 1;
+  /* Nonzero if it returns 256bit AVX modes.  */
+  BOOL_BITFIELD callee_return_avx256_p : 1;
 } CUMULATIVE_ARGS;
+#endif
 
 /* Initialize a variable CUM of type CUMULATIVE_ARGS
    for a call to a function whose data type is FNTYPE.
@@ -2113,8 +2119,7 @@ enum ix86_entity
 
 enum ix86_stack_slot
 {
-  SLOT_VIRTUAL = 0,
-  SLOT_TEMP,
+  SLOT_TEMP = 0,
   SLOT_CW_STORED,
   SLOT_CW_TRUNC,
   SLOT_CW_FLOOR,
index eace56d..d462b76 100644 (file)
 
 ;; Used to control the "enabled" attribute on a per-instruction basis.
 (define_attr "isa" "base,sse2,sse2_noavx,sse3,sse4,sse4_noavx,noavx,avx,
-                   bmi2,fma,fma4"
+                   bmi2,fma4,fma"
   (const_string "base"))
 
 (define_attr "enabled" ""
         (eq_attr "isa" "avx") (symbol_ref "TARGET_AVX")
         (eq_attr "isa" "noavx") (symbol_ref "!TARGET_AVX")
         (eq_attr "isa" "bmi2") (symbol_ref "TARGET_BMI2")
+        (eq_attr "isa" "fma4") (symbol_ref "TARGET_FMA4")
         (eq_attr "isa" "fma") (symbol_ref "TARGET_FMA")
-        ;; Fma instruction selection has to be done based on
-        ;; register pressure. For generating fma4, a cost model
-        ;; based on register pressure is required. Till then,
-        ;; fma4 instruction is disabled for targets that implement
-        ;; both fma and fma4 instruction sets.
-        (eq_attr "isa" "fma4")
-          (symbol_ref "TARGET_FMA4 && !TARGET_FMA")
        ]
        (const_int 1)))
 
    (set_attr "mode" "OI")])
 
 (define_insn "*movti_internal_rex64"
-  [(set (match_operand:TI 0 "nonimmediate_operand" "=!r,o,x,x,xm")
-       (match_operand:TI 1 "general_operand" "riFo,riF,C,xm,x"))]
+  [(set (match_operand:TI 0 "nonimmediate_operand" "=!r,o,x,x,m")
+       (match_operand:TI 1 "general_operand" "riFo,re,C,xm,x"))]
   "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
 {
   switch (which_alternative)
 
 (define_insn "*movdi_internal_rex64"
   [(set (match_operand:DI 0 "nonimmediate_operand"
-         "=r,r  ,r,m ,!o,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym")
+         "=r,r  ,r,m ,*y,m*y,?*y,?r ,?*Ym,*x,m ,*x,*x,?r ,?*Yi,?*x,?*Ym")
        (match_operand:DI 1 "general_operand"
-         "Z ,rem,i,re,n ,C ,*y ,m  ,*Ym,r   ,C ,*x,*x,m ,*Yi,r   ,*Ym,*x"))]
+         "Z ,rem,i,re,C ,*y ,m  ,*Ym,r   ,C ,*x,*x,m ,*Yi,r   ,*Ym,*x"))]
   "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
 {
   switch (get_attr_type (insn))
     case TYPE_MMX:
       return "pxor\t%0, %0";
 
-    case TYPE_MULTI:
-      return "#";
-
     case TYPE_LEA:
       return "lea{q}\t{%E1, %0|%0, %E1}";
 
 }
   [(set (attr "type")
      (cond [(eq_attr "alternative" "4")
-             (const_string "multi")
-           (eq_attr "alternative" "5")
              (const_string "mmx")
-           (eq_attr "alternative" "6,7,8,9")
+           (eq_attr "alternative" "5,6,7,8")
              (const_string "mmxmov")
-           (eq_attr "alternative" "10")
+           (eq_attr "alternative" "9")
              (const_string "sselog1")
-           (eq_attr "alternative" "11,12,13,14,15")
+           (eq_attr "alternative" "10,11,12,13,14")
              (const_string "ssemov")
-           (eq_attr "alternative" "16,17")
+           (eq_attr "alternative" "15,16")
              (const_string "ssecvt")
            (match_operand 1 "pic_32bit_operand" "")
              (const_string "lea")
         (const_string "8")
         (const_string "*")))
    (set (attr "prefix_rex")
-     (if_then_else (eq_attr "alternative" "8,9")
+     (if_then_else (eq_attr "alternative" "7,8")
        (const_string "1")
        (const_string "*")))
    (set (attr "prefix_data16")
-     (if_then_else (eq_attr "alternative" "11")
+     (if_then_else (eq_attr "alternative" "10")
        (const_string "1")
        (const_string "*")))
    (set (attr "prefix")
-     (if_then_else (eq_attr "alternative" "10,11,12,13,14,15")
+     (if_then_else (eq_attr "alternative" "11,12,13,14,15")
        (const_string "maybe_vex")
        (const_string "orig")))
-   (set_attr "mode" "SI,DI,DI,DI,SI,DI,DI,DI,DI,DI,TI,DI,TI,DI,DI,DI,DI,DI")])
+   (set_attr "mode" "SI,DI,DI,DI,DI,DI,DI,DI,DI,TI,DI,TI,DI,DI,DI,DI,DI")])
 
 ;; Reload patterns to support multi-word load/store
 ;; with non-offsetable address.
   DONE;
 })
 
-;; Convert impossible stores of immediate to existing instructions.
-;; First try to get scratch register and go through it.  In case this
-;; fails, move by 32bit parts.
-(define_peephole2
-  [(match_scratch:DI 2 "r")
-   (set (match_operand:DI 0 "memory_operand" "")
-        (match_operand:DI 1 "immediate_operand" ""))]
-  "TARGET_64BIT && !symbolic_operand (operands[1], DImode)
-   && !x86_64_immediate_operand (operands[1], DImode)"
-  [(set (match_dup 2) (match_dup 1))
-   (set (match_dup 0) (match_dup 2))])
-
-;; We need to define this as both peepholer and splitter for case
-;; peephole2 pass is not run.
-;; "&& 1" is needed to keep it from matching the previous pattern.
-(define_peephole2
-  [(set (match_operand:DI 0 "memory_operand" "")
-        (match_operand:DI 1 "immediate_operand" ""))]
-  "TARGET_64BIT && !symbolic_operand (operands[1], DImode)
-   && !x86_64_immediate_operand (operands[1], DImode) && 1"
-  [(set (match_dup 2) (match_dup 3))
-   (set (match_dup 4) (match_dup 5))]
-  "split_double_mode (DImode, &operands[0], 2, &operands[2], &operands[4]);")
-
-(define_split
-  [(set (match_operand:DI 0 "memory_operand" "")
-        (match_operand:DI 1 "immediate_operand" ""))]
-  "TARGET_64BIT && ((optimize > 0 && flag_peephole2)
-                   ? epilogue_completed : reload_completed)
-   && !symbolic_operand (operands[1], DImode)
-   && !x86_64_immediate_operand (operands[1], DImode)"
-  [(set (match_dup 2) (match_dup 3))
-   (set (match_dup 4) (match_dup 5))]
-  "split_double_mode (DImode, &operands[0], 2, &operands[2], &operands[4]);")
-
 (define_insn "*movdi_internal"
   [(set (match_operand:DI 0 "nonimmediate_operand"
          "=r  ,o  ,*y,m*y,*y,*x,m ,*x,*x,*x,m ,*x,*x,?*x,?*Ym")
        (match_operand:SWI1248x 1 "nonmemory_operand" "a,r<i>"))]
   "TARGET_LP64 && ix86_check_movabs (insn, 0)"
   "@
-   movabs{<imodesuffix>}\t{%1, %P0|%P0, %1}
+   movabs{<imodesuffix>}\t{%1, %P0|[%P0], %1}
    mov{<imodesuffix>}\t{%1, %a0|%a0, %1}"
   [(set_attr "type" "imov")
    (set_attr "modrm" "0,*")
         (mem:SWI1248x (match_operand:DI 1 "x86_64_movabs_operand" "i,r")))]
   "TARGET_LP64 && ix86_check_movabs (insn, 1)"
   "@
-   movabs{<imodesuffix>}\t{%P1, %0|%0, %P1}
+   movabs{<imodesuffix>}\t{%P1, %0|%0, [%P1]}
    mov{<imodesuffix>}\t{%a1, %0|%0, %a1}"
   [(set_attr "type" "imov")
    (set_attr "modrm" "0,*")
 (define_expand "movtf"
   [(set (match_operand:TF 0 "nonimmediate_operand" "")
        (match_operand:TF 1 "nonimmediate_operand" ""))]
-  "TARGET_SSE2"
+  "TARGET_64BIT || TARGET_SSE2"
 {
   ix86_expand_move (TFmode, operands);
   DONE;
   ""
   "ix86_expand_move (<MODE>mode, operands); DONE;")
 
-(define_insn "*movtf_internal"
+(define_insn "*movtf_internal_rex64"
   [(set (match_operand:TF 0 "nonimmediate_operand" "=x,m,x,?*r ,!o")
-       (match_operand:TF 1 "general_operand"      "xm,x,C,*roF,F*r"))]
-  "TARGET_SSE2
-   && !(MEM_P (operands[0]) && MEM_P (operands[1]))
+       (match_operand:TF 1 "general_operand"      "xm,x,C,*roF,*r"))]
+  "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || GET_CODE (operands[1]) != CONST_DOUBLE
                   (const_string "TI"))]
               (const_string "DI")))])
 
+(define_insn "*movtf_internal_sse2"
+  [(set (match_operand:TF 0 "nonimmediate_operand" "=x,m,x")
+       (match_operand:TF 1 "general_operand"      "xm,x,C"))]
+  "TARGET_SSE2 && !TARGET_64BIT
+   && !(MEM_P (operands[0]) && MEM_P (operands[1]))
+   && (!can_create_pseudo_p ()
+       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
+       || GET_CODE (operands[1]) != CONST_DOUBLE
+       || (optimize_function_for_size_p (cfun)
+          && standard_sse_constant_p (operands[1])
+          && !memory_operand (operands[0], TFmode))
+       || (!TARGET_MEMORY_MISMATCH_STALL
+          && memory_operand (operands[0], TFmode)))"
+{
+  switch (which_alternative)
+    {
+    case 0:
+    case 1:
+      /* Handle misaligned load/store since we
+         don't have movmisaligntf pattern. */
+      if (misaligned_operand (operands[0], TFmode)
+         || misaligned_operand (operands[1], TFmode))
+       {
+         if (get_attr_mode (insn) == MODE_V4SF)
+           return "%vmovups\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqu\t{%1, %0|%0, %1}";
+       }
+      else
+       {
+         if (get_attr_mode (insn) == MODE_V4SF)
+           return "%vmovaps\t{%1, %0|%0, %1}";
+         else
+           return "%vmovdqa\t{%1, %0|%0, %1}";
+       }
+
+    case 2:
+      return standard_sse_constant_opcode (insn, operands[1]);
+
+    default:
+      gcc_unreachable ();
+    }
+}
+  [(set_attr "type" "ssemov,ssemov,sselog1")
+   (set_attr "prefix" "maybe_vex")
+   (set (attr "mode")
+        (cond [(eq_attr "alternative" "0,2")
+                (if_then_else
+                  (match_test "optimize_function_for_size_p (cfun)")
+                  (const_string "V4SF")
+                  (const_string "TI"))
+              (eq_attr "alternative" "1")
+                (if_then_else
+                  (ior (match_test "TARGET_SSE_TYPELESS_STORES")
+                       (match_test "optimize_function_for_size_p (cfun)"))
+                  (const_string "V4SF")
+                  (const_string "TI"))]
+              (const_string "DI")))])
+
+(define_insn "*movxf_internal_rex64"
+  [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,?Yx*r ,!o")
+       (match_operand:XF 1 "general_operand"      "fm,f,G,Yx*roF,Yx*rC"))]
+  "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
+   && (!can_create_pseudo_p ()
+       || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
+       || GET_CODE (operands[1]) != CONST_DOUBLE
+       || (optimize_function_for_size_p (cfun)
+          && standard_80387_constant_p (operands[1]) > 0
+          && !memory_operand (operands[0], XFmode))
+       || (!TARGET_MEMORY_MISMATCH_STALL
+          && memory_operand (operands[0], XFmode)))"
+{
+  switch (which_alternative)
+    {
+    case 0:
+    case 1:
+      return output_387_reg_move (insn, operands);
+
+    case 2:
+      return standard_80387_constant_opcode (operands[1]);
+
+    case 3:
+    case 4:
+      return "#";
+
+    default:
+      gcc_unreachable ();
+    }
+}
+  [(set_attr "type" "fmov,fmov,fmov,multi,multi")
+   (set_attr "mode" "XF,XF,XF,SI,SI")])
+
 ;; Possible store forwarding (partial memory) stall in alternative 4.
 (define_insn "*movxf_internal"
   [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,?Yx*r ,!o")
-       (match_operand:XF 1 "general_operand"      "fm,f,G,Yx*roF,FYx*r"))]
-  "!(MEM_P (operands[0]) && MEM_P (operands[1]))
+       (match_operand:XF 1 "general_operand"      "fm,f,G,Yx*roF,Yx*rF"))]
+  "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        || GET_CODE (operands[1]) != CONST_DOUBLE
 
 (define_insn "*movdf_internal_rex64"
   [(set (match_operand:DF 0 "nonimmediate_operand"
-               "=f,m,f,?r,?m,?r,!o,x,x,x,m,Yi,r ")
+               "=?Yf*f,?m   ,?Yf*f,?r,?m,?r,?r,x,x,x,m,Yi,r ")
        (match_operand:DF 1 "general_operand"
-               "fm,f,G,rm,r ,F ,F ,C,x,m,x,r ,Yi"))]
+               "Yf*fm ,Yf*f ,G    ,rm,rC,C ,F ,C,x,m,x,r ,Yi"))]
   "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
       return "mov{q}\t{%1, %0|%0, %1}";
 
     case 5:
-      return "movabs{q}\t{%1, %0|%0, %1}";
+      return "mov{l}\t{%1, %k0|%k0, %1}";
 
     case 6:
-      return "#";
+      return "movabs{q}\t{%1, %0|%0, %1}";
 
     case 7:
       return standard_sse_constant_opcode (insn, operands[1]);
   [(set (attr "type")
        (cond [(eq_attr "alternative" "0,1,2")
                 (const_string "fmov")
-              (eq_attr "alternative" "3,4,5")
+              (eq_attr "alternative" "3,4,5,6")
                 (const_string "imov")
-              (eq_attr "alternative" "6")
-                (const_string "multi")
               (eq_attr "alternative" "7")
                 (const_string "sselog1")
              ]
              (const_string "ssemov")))
    (set (attr "modrm")
      (if_then_else
-       (and (eq_attr "alternative" "5") (eq_attr "type" "imov"))
+       (and (eq_attr "alternative" "6") (eq_attr "type" "imov"))
         (const_string "0")
         (const_string "*")))
    (set (attr "length_immediate")
      (if_then_else
-       (and (eq_attr "alternative" "5") (eq_attr "type" "imov"))
+       (and (eq_attr "alternative" "6") (eq_attr "type" "imov"))
         (const_string "8")
         (const_string "*")))
    (set (attr "prefix")
    (set (attr "mode")
         (cond [(eq_attr "alternative" "0,1,2")
                 (const_string "DF")
-              (eq_attr "alternative" "3,4,5,6,11,12")
+              (eq_attr "alternative" "3,4,6,11,12")
                 (const_string "DI")
+              (eq_attr "alternative" "5")
+                (const_string "SI")
 
               /* xorps is one byte shorter.  */
               (eq_attr "alternative" "7")
 ;; Possible store forwarding (partial memory) stall in alternative 4.
 (define_insn "*movdf_internal"
   [(set (match_operand:DF 0 "nonimmediate_operand"
-               "=f,m,f,?Yd*r ,!o   ,x,x,x,m,*x,*x,*x,m")
+               "=Yf*f,m   ,Yf*f,?Yd*r ,!o   ,x,x,x,m,*x,*x,*x,m")
        (match_operand:DF 1 "general_operand"
-               "fm,f,G,Yd*roF,FYd*r,C,x,m,x,C ,*x,m ,*x"))]
+               "Yf*fm,Yf*f,G   ,Yd*roF,Yd*rF,C,x,m,x,C ,*x,m ,*x"))]
   "!TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
 
 (define_insn "*movsf_internal"
   [(set (match_operand:SF 0 "nonimmediate_operand"
-         "=f,m,f,?r ,?m,x,x,x,m,!*y,!m,!*y,?Yi,?r,!*Ym,!r")
+         "=Yf*f,m   ,Yf*f,?r ,?m,x,x,x,m,!*y,!m,!*y,?Yi,?r,!*Ym,!r")
        (match_operand:SF 1 "general_operand"
-         "fm,f,G,rmF,Fr,C,x,m,x,m  ,*y,*y ,r  ,Yi,r   ,*Ym"))]
+         "Yf*fm,Yf*f,G   ,rmF,rF,C,x,m,x,m  ,*y,*y ,r  ,Yi,r   ,*Ym"))]
   "!(MEM_P (operands[0]) && MEM_P (operands[1]))
    && (!can_create_pseudo_p ()
        || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
        (cond [(eq_attr "alternative" "0,1,2")
                 (const_string "fmov")
               (eq_attr "alternative" "3,4")
-                (const_string "multi")
+                (const_string "imov")
               (eq_attr "alternative" "5")
                 (const_string "sselog1")
               (eq_attr "alternative" "9,10,11,14,15")
     ;
   else
     {
-      enum ix86_stack_slot slot = (virtuals_instantiated
-                                  ? SLOT_TEMP
-                                  : SLOT_VIRTUAL);
-      rtx temp = assign_386_stack_local (SFmode, slot);
+      rtx temp = assign_386_stack_local (SFmode, SLOT_TEMP);
       emit_insn (gen_truncdfsf2_with_temp (operands[0], operands[1], temp));
       DONE;
     }
       DONE;
     }
   else
-    {
-      enum ix86_stack_slot slot = (virtuals_instantiated
-                                  ? SLOT_TEMP
-                                  : SLOT_VIRTUAL);
-      operands[2] = assign_386_stack_local (<MODE>mode, slot);
-    }
+    operands[2] = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
 })
 
 (define_insn "*truncxfsf2_mixed"
       DONE;
     }
   else
-    {
-      enum ix86_stack_slot slot = (virtuals_instantiated
-                                  ? SLOT_TEMP
-                                  : SLOT_VIRTUAL);
-      operands[2] = assign_386_stack_local (DImode, slot);
-    }
+    operands[2] = assign_386_stack_local (DImode, SLOT_TEMP);
 })
 
 (define_expand "floatunsdisf2"
 {
   rtx addr = operands[1];
 
-  if (GET_CODE (addr) == SUBREG)
+  if (SImode_address_operand (addr, VOIDmode))
     {
       gcc_assert (TARGET_64BIT);
-      gcc_assert (<MODE>mode == SImode);
-      gcc_assert (GET_MODE (SUBREG_REG (addr)) == DImode);
-      return "lea{l}\t{%E1, %0|%0, %E1}";
-    }
-  else if (GET_CODE (addr) == ZERO_EXTEND
-          || GET_CODE (addr) == AND)
-    {
-      gcc_assert (TARGET_64BIT);
-      gcc_assert (<MODE>mode == DImode);
       return "lea{l}\t{%E1, %k0|%k0, %E1}";
     }
   else 
   DONE;
 }
   [(set_attr "type" "lea")
-   (set_attr "mode" "<MODE>")])
+   (set (attr "mode")
+     (if_then_else
+       (match_operand 1 "SImode_address_operand")
+       (const_string "SI")
+       (const_string "<MODE>")))])
 \f
 ;; Add instructions
 
 })
 
 ;; Avoid useless masking of count operand.
-(define_insn_and_split "*ashl<mode>3_mask"
+(define_insn "*ashl<mode>3_mask"
   [(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm")
        (ashift:SWI48
          (match_operand:SWI48 1 "nonimmediate_operand" "0")
          (subreg:QI
            (and:SI
-             (match_operand:SI 2 "nonimmediate_operand" "c")
+             (match_operand:SI 2 "register_operand" "c")
              (match_operand:SI 3 "const_int_operand" "n")) 0)))
    (clobber (reg:CC FLAGS_REG))]
   "ix86_binary_operator_ok (ASHIFT, <MODE>mode, operands)
    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
       == GET_MODE_BITSIZE (<MODE>mode)-1"
-  "#"
-  "&& 1"
-  [(parallel [(set (match_dup 0)
-                  (ashift:SWI48 (match_dup 1) (match_dup 2)))
-             (clobber (reg:CC FLAGS_REG))])]
 {
-  if (can_create_pseudo_p ())
-    operands [2] = force_reg (SImode, operands[2]);
-
-  operands[2] = simplify_gen_subreg (QImode, operands[2], SImode, 0);
+  return "sal{<imodesuffix>}\t{%b2, %0|%0, %b2}";
 }
   [(set_attr "type" "ishift")
    (set_attr "mode" "<MODE>")])
   "ix86_expand_binary_operator (<CODE>, <MODE>mode, operands); DONE;")
 
 ;; Avoid useless masking of count operand.
-(define_insn_and_split "*<shift_insn><mode>3_mask"
+(define_insn "*<shift_insn><mode>3_mask"
   [(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm")
        (any_shiftrt:SWI48
          (match_operand:SWI48 1 "nonimmediate_operand" "0")
          (subreg:QI
            (and:SI
-             (match_operand:SI 2 "nonimmediate_operand" "c")
+             (match_operand:SI 2 "register_operand" "c")
              (match_operand:SI 3 "const_int_operand" "n")) 0)))
    (clobber (reg:CC FLAGS_REG))]
   "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)
    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
       == GET_MODE_BITSIZE (<MODE>mode)-1"
-  "#"
-  "&& 1"
-  [(parallel [(set (match_dup 0)
-                  (any_shiftrt:SWI48 (match_dup 1) (match_dup 2)))
-             (clobber (reg:CC FLAGS_REG))])]
 {
-  if (can_create_pseudo_p ())
-    operands [2] = force_reg (SImode, operands[2]);
-
-  operands[2] = simplify_gen_subreg (QImode, operands[2], SImode, 0);
+  return "<shift>{<imodesuffix>}\t{%b2, %0|%0, %b2}";
 }
   [(set_attr "type" "ishift")
    (set_attr "mode" "<MODE>")])
   "ix86_expand_binary_operator (<CODE>, <MODE>mode, operands); DONE;")
 
 ;; Avoid useless masking of count operand.
-(define_insn_and_split "*<rotate_insn><mode>3_mask"
+(define_insn "*<rotate_insn><mode>3_mask"
   [(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm")
        (any_rotate:SWI48
          (match_operand:SWI48 1 "nonimmediate_operand" "0")
          (subreg:QI
            (and:SI
-             (match_operand:SI 2 "nonimmediate_operand" "c")
+             (match_operand:SI 2 "register_operand" "c")
              (match_operand:SI 3 "const_int_operand" "n")) 0)))
    (clobber (reg:CC FLAGS_REG))]
   "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)
    && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
       == GET_MODE_BITSIZE (<MODE>mode)-1"
-  "#"
-  "&& 1"
-  [(parallel [(set (match_dup 0)
-                  (any_rotate:SWI48 (match_dup 1) (match_dup 2)))
-             (clobber (reg:CC FLAGS_REG))])]
 {
-  if (can_create_pseudo_p ())
-    operands [2] = force_reg (SImode, operands[2]);
-
-  operands[2] = simplify_gen_subreg (QImode, operands[2], SImode, 0);
+  return "<rotate>{<imodesuffix>}\t{%b2, %0|%0, %b2}";
 }
   [(set_attr "type" "rotate")
    (set_attr "mode" "<MODE>")])
     emit_insn (gen_fxam<mode>2_i387_with_temp (scratch, operands[1]));
   else
     {
-      enum ix86_stack_slot slot = (virtuals_instantiated
-                                  ? SLOT_TEMP
-                                  : SLOT_VIRTUAL);
-      rtx temp = assign_386_stack_local (<MODE>mode, slot);
+      rtx temp = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
 
       emit_move_insn (temp, operands[1]);
       emit_insn (gen_fxam<mode>2_i387_with_temp (scratch, temp));
   [(set_attr "type" "sse")
    (set_attr "atom_sse_attr" "prefetch")
    (set (attr "length_address")
-       (symbol_ref "memory_address_length (operands[0])"))
+       (symbol_ref "memory_address_length (operands[0], false)"))
    (set_attr "memory" "none")])
 
 (define_insn "*prefetch_3dnow"
 }
   [(set_attr "type" "mmx")
    (set (attr "length_address")
-       (symbol_ref "memory_address_length (operands[0])"))
+       (symbol_ref "memory_address_length (operands[0], false)"))
    (set_attr "memory" "none")])
 
 (define_expand "stack_protect_set"
index c78384b..9e31291 100644 (file)
   return parts.seg == SEG_DEFAULT;
 })
 
+;; Return true for RTX codes that force SImode address.
+(define_predicate "SImode_address_operand"
+  (match_code "subreg,zero_extend,and"))
+
 ;; Return true if op if a valid base register, displacement or
 ;; sum of base register and displacement for VSIB addressing.
 (define_predicate "vsib_address_operand"
 ;; by the modRM array.
 (define_predicate "long_memory_operand"
   (and (match_operand 0 "memory_operand")
-       (match_test "memory_address_length (op)")))
+       (match_test "memory_address_length (op, false)")))
 
 ;; Return true if OP is a comparison operator that can be issued by fcmov.
 (define_predicate "fcmov_comparison_operator"
index b8d9bf2..8fc2678 100644 (file)
@@ -21,7 +21,8 @@
 (define_c_enum "unspec" [
   ;; SSE
   UNSPEC_MOVNT
-  UNSPEC_MOVU
+  UNSPEC_LOADU
+  UNSPEC_STOREU
 
   ;; SSE3
   UNSPEC_LDDQU
   DONE;
 })
 
-(define_insn "<sse>_movu<ssemodesuffix><avxsizesuffix>"
-  [(set (match_operand:VF 0 "nonimmediate_operand" "=x,m")
+(define_insn "<sse>_loadu<ssemodesuffix><avxsizesuffix>"
+  [(set (match_operand:VF 0 "register_operand" "=x")
        (unspec:VF
-         [(match_operand:VF 1 "nonimmediate_operand" "xm,x")]
-         UNSPEC_MOVU))]
-  "TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+         [(match_operand:VF 1 "memory_operand" "m")]
+         UNSPEC_LOADU))]
+  "TARGET_SSE"
   "%vmovu<ssemodesuffix>\t{%1, %0|%0, %1}"
   [(set_attr "type" "ssemov")
    (set_attr "movu" "1")
    (set_attr "prefix" "maybe_vex")
    (set_attr "mode" "<MODE>")])
 
-(define_insn "<sse2>_movdqu<avxsizesuffix>"
-  [(set (match_operand:VI1 0 "nonimmediate_operand" "=x,m")
-       (unspec:VI1 [(match_operand:VI1 1 "nonimmediate_operand" "xm,x")]
-                   UNSPEC_MOVU))]
-  "TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+(define_insn "<sse>_storeu<ssemodesuffix><avxsizesuffix>"
+  [(set (match_operand:VF 0 "memory_operand" "=m")
+       (unspec:VF
+         [(match_operand:VF 1 "register_operand" "x")]
+         UNSPEC_STOREU))]
+  "TARGET_SSE"
+  "%vmovu<ssemodesuffix>\t{%1, %0|%0, %1}"
+  [(set_attr "type" "ssemov")
+   (set_attr "movu" "1")
+   (set_attr "prefix" "maybe_vex")
+   (set_attr "mode" "<MODE>")])
+
+(define_insn "<sse2>_loaddqu<avxsizesuffix>"
+  [(set (match_operand:VI1 0 "register_operand" "=x")
+       (unspec:VI1 [(match_operand:VI1 1 "memory_operand" "m")]
+                   UNSPEC_LOADU))]
+  "TARGET_SSE2"
+  "%vmovdqu\t{%1, %0|%0, %1}"
+  [(set_attr "type" "ssemov")
+   (set_attr "movu" "1")
+   (set (attr "prefix_data16")
+     (if_then_else
+       (match_test "TARGET_AVX")
+     (const_string "*")
+     (const_string "1")))
+   (set_attr "prefix" "maybe_vex")
+   (set_attr "mode" "<sseinsnmode>")])
+
+(define_insn "<sse2>_storedqu<avxsizesuffix>"
+  [(set (match_operand:VI1 0 "memory_operand" "=m")
+       (unspec:VI1 [(match_operand:VI1 1 "register_operand" "x")]
+                   UNSPEC_STOREU))]
+  "TARGET_SSE2"
   "%vmovdqu\t{%1, %0|%0, %1}"
   [(set_attr "type" "ssemov")
    (set_attr "movu" "1")
 ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(define_mode_iterator FMAMODE [SF DF V4SF V2DF V8SF V4DF])
+;; The standard names for scalar FMA are only available with SSE math enabled.
+(define_mode_iterator FMAMODEM [(SF "TARGET_SSE_MATH")
+                               (DF "TARGET_SSE_MATH")
+                               V4SF V2DF V8SF V4DF])
 
-;; The standard names for fma is only available with SSE math enabled.
 (define_expand "fma<mode>4"
-  [(set (match_operand:FMAMODE 0 "register_operand")
-       (fma:FMAMODE
-         (match_operand:FMAMODE 1 "nonimmediate_operand")
-         (match_operand:FMAMODE 2 "nonimmediate_operand")
-         (match_operand:FMAMODE 3 "nonimmediate_operand")))]
-  "(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
+  [(set (match_operand:FMAMODEM 0 "register_operand")
+       (fma:FMAMODEM
+         (match_operand:FMAMODEM 1 "nonimmediate_operand")
+         (match_operand:FMAMODEM 2 "nonimmediate_operand")
+         (match_operand:FMAMODEM 3 "nonimmediate_operand")))]
+  "TARGET_FMA || TARGET_FMA4")
 
 (define_expand "fms<mode>4"
-  [(set (match_operand:FMAMODE 0 "register_operand")
-       (fma:FMAMODE
-         (match_operand:FMAMODE 1 "nonimmediate_operand")
-         (match_operand:FMAMODE 2 "nonimmediate_operand")
-         (neg:FMAMODE (match_operand:FMAMODE 3 "nonimmediate_operand"))))]
-  "(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
+  [(set (match_operand:FMAMODEM 0 "register_operand")
+       (fma:FMAMODEM
+         (match_operand:FMAMODEM 1 "nonimmediate_operand")
+         (match_operand:FMAMODEM 2 "nonimmediate_operand")
+         (neg:FMAMODEM (match_operand:FMAMODEM 3 "nonimmediate_operand"))))]
+  "TARGET_FMA || TARGET_FMA4")
 
 (define_expand "fnma<mode>4"
-  [(set (match_operand:FMAMODE 0 "register_operand")
-       (fma:FMAMODE
-         (neg:FMAMODE (match_operand:FMAMODE 1 "nonimmediate_operand"))
-         (match_operand:FMAMODE 2 "nonimmediate_operand")
-         (match_operand:FMAMODE 3 "nonimmediate_operand")))]
-  "(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
+  [(set (match_operand:FMAMODEM 0 "register_operand")
+       (fma:FMAMODEM
+         (neg:FMAMODEM (match_operand:FMAMODEM 1 "nonimmediate_operand"))
+         (match_operand:FMAMODEM 2 "nonimmediate_operand")
+         (match_operand:FMAMODEM 3 "nonimmediate_operand")))]
+  "TARGET_FMA || TARGET_FMA4")
 
 (define_expand "fnms<mode>4"
-  [(set (match_operand:FMAMODE 0 "register_operand")
-       (fma:FMAMODE
-         (neg:FMAMODE (match_operand:FMAMODE 1 "nonimmediate_operand"))
-         (match_operand:FMAMODE 2 "nonimmediate_operand")
-         (neg:FMAMODE (match_operand:FMAMODE 3 "nonimmediate_operand"))))]
-  "(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
+  [(set (match_operand:FMAMODEM 0 "register_operand")
+       (fma:FMAMODEM
+         (neg:FMAMODEM (match_operand:FMAMODEM 1 "nonimmediate_operand"))
+         (match_operand:FMAMODEM 2 "nonimmediate_operand")
+         (neg:FMAMODEM (match_operand:FMAMODEM 3 "nonimmediate_operand"))))]
+  "TARGET_FMA || TARGET_FMA4")
+
+;; The builtins for intrinsics are not constrained by SSE math enabled.
+(define_mode_iterator FMAMODE [SF DF V4SF V2DF V8SF V4DF])
 
-;; The builtin for intrinsics is not constrained by SSE math enabled.
 (define_expand "fma4i_fmadd_<mode>"
   [(set (match_operand:FMAMODE 0 "register_operand")
        (fma:FMAMODE
            (match_operand:VF_128 1 "nonimmediate_operand")
            (match_operand:VF_128 2 "nonimmediate_operand")
            (match_operand:VF_128 3 "nonimmediate_operand"))
-         (match_dup 0)
+         (match_dup 1)
          (const_int 1)))]
   "TARGET_FMA")
 
 (define_insn "*fmai_fmadd_<mode>"
-  [(set (match_operand:VF_128 0 "register_operand" "=x,x,x")
+  [(set (match_operand:VF_128 0 "register_operand" "=x,x")
         (vec_merge:VF_128
          (fma:VF_128
-           (match_operand:VF_128 1 "nonimmediate_operand" "%0, 0,x")
-           (match_operand:VF_128 2 "nonimmediate_operand" "xm, x,xm")
-           (match_operand:VF_128 3 "nonimmediate_operand" " x,xm,0"))
-         (match_dup 0)
+           (match_operand:VF_128 1 "nonimmediate_operand" " 0, 0")
+           (match_operand:VF_128 2 "nonimmediate_operand" "xm, x")
+           (match_operand:VF_128 3 "nonimmediate_operand" " x,xm"))
+         (match_dup 1)
          (const_int 1)))]
   "TARGET_FMA"
   "@
    vfmadd132<ssescalarmodesuffix>\t{%2, %3, %0|%0, %3, %2}
-   vfmadd213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}
-   vfmadd231<ssescalarmodesuffix>\t{%2, %1, %0|%0, %1, %2}"
+   vfmadd213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
 (define_insn "*fmai_fmsub_<mode>"
-  [(set (match_operand:VF_128 0 "register_operand" "=x,x,x")
+  [(set (match_operand:VF_128 0 "register_operand" "=x,x")
         (vec_merge:VF_128
          (fma:VF_128
-           (match_operand:VF_128   1 "nonimmediate_operand" "%0, 0,x")
-           (match_operand:VF_128   2 "nonimmediate_operand" "xm, x,xm")
+           (match_operand:VF_128   1 "nonimmediate_operand" " 0, 0")
+           (match_operand:VF_128   2 "nonimmediate_operand" "xm, x")
            (neg:VF_128
-             (match_operand:VF_128 3 "nonimmediate_operand" " x,xm,0")))
-         (match_dup 0)
+             (match_operand:VF_128 3 "nonimmediate_operand" " x,xm")))
+         (match_dup 1)
          (const_int 1)))]
   "TARGET_FMA"
   "@
    vfmsub132<ssescalarmodesuffix>\t{%2, %3, %0|%0, %3, %2}
-   vfmsub213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}
-   vfmsub231<ssescalarmodesuffix>\t{%2, %1, %0|%0, %1, %2}"
+   vfmsub213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
 (define_insn "*fmai_fnmadd_<mode>"
-  [(set (match_operand:VF_128 0 "register_operand" "=x,x,x")
+  [(set (match_operand:VF_128 0 "register_operand" "=x,x")
         (vec_merge:VF_128
          (fma:VF_128
            (neg:VF_128
-             (match_operand:VF_128 1 "nonimmediate_operand" "%0, 0,x"))
-           (match_operand:VF_128   2 "nonimmediate_operand" "xm, x,xm")
-           (match_operand:VF_128   3 "nonimmediate_operand" " x,xm,0"))
-         (match_dup 0)
+             (match_operand:VF_128 2 "nonimmediate_operand" "xm, x"))
+           (match_operand:VF_128   1 "nonimmediate_operand" " 0, 0")
+           (match_operand:VF_128   3 "nonimmediate_operand" " x,xm"))
+         (match_dup 1)
          (const_int 1)))]
   "TARGET_FMA"
   "@
    vfnmadd132<ssescalarmodesuffix>\t{%2, %3, %0|%0, %3, %2}
-   vfnmadd213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}
-   vfnmadd231<ssescalarmodesuffix>\t{%2, %1, %0|%0, %1, %2}"
+   vfnmadd213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
 (define_insn "*fmai_fnmsub_<mode>"
-  [(set (match_operand:VF_128 0 "register_operand" "=x,x,x")
+  [(set (match_operand:VF_128 0 "register_operand" "=x,x")
         (vec_merge:VF_128
          (fma:VF_128
            (neg:VF_128
-             (match_operand:VF_128 1 "nonimmediate_operand" "%0, 0,x"))
-           (match_operand:VF_128   2 "nonimmediate_operand" "xm, x,xm")
+             (match_operand:VF_128 2 "nonimmediate_operand" "xm, x"))
+           (match_operand:VF_128   1 "nonimmediate_operand" " 0, 0")
            (neg:VF_128
-             (match_operand:VF_128 3 "nonimmediate_operand" " x,xm,0")))
-         (match_dup 0)
+             (match_operand:VF_128 3 "nonimmediate_operand" " x,xm")))
+         (match_dup 1)
          (const_int 1)))]
   "TARGET_FMA"
   "@
    vfnmsub132<ssescalarmodesuffix>\t{%2, %3, %0|%0, %3, %2}
-   vfnmsub213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}
-   vfnmsub231<ssescalarmodesuffix>\t{%2, %1, %0|%0, %1, %2}"
+   vfnmsub213<ssescalarmodesuffix>\t{%3, %2, %0|%0, %2, %3}"
   [(set_attr "type" "ssemuladd")
    (set_attr "mode" "<MODE>")])
 
   (set_attr "type" "sselog,sselog,sselog,ssemov,ssemov,ssemov")
    (set_attr "prefix_data16" "*,*,*,1,*,1")
    (set_attr "prefix" "orig,vex,maybe_vex,orig,vex,maybe_vex")
-   (set_attr "mode" "V2DF,V2DF,V2DF,V1DF,V1DF,V1DF")])
+   (set_attr "mode" "V2DF,V2DF,DF,V1DF,V1DF,V1DF")])
 
 ;; Recall that the 256-bit unpck insns only shuffle within their lanes.
 (define_expand "avx_movddup256"
    (set_attr "type" "sselog,sselog,sselog,ssemov,ssemov,ssemov")
    (set_attr "prefix_data16" "*,*,*,1,*,1")
    (set_attr "prefix" "orig,vex,maybe_vex,orig,vex,maybe_vex")
-   (set_attr "mode" "V2DF,V2DF,V2DF,V1DF,V1DF,V1DF")])
+   (set_attr "mode" "V2DF,V2DF,DF,V1DF,V1DF,V1DF")])
 
 (define_split
   [(set (match_operand:V2DF 0 "memory_operand" "")
   [(set_attr "isa" "noavx,sse3")
    (set_attr "type" "sselog1")
    (set_attr "prefix" "orig,maybe_vex")
-   (set_attr "mode" "V2DF")])
+   (set_attr "mode" "V2DF,DF")])
 
 (define_insn "*vec_concatv2df"
   [(set (match_operand:V2DF 0 "register_operand"     "=x,x,x,x,x,x,x,x")
    (set_attr "mode" "<sseinsnmode>")])
 
 (define_insn "<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>"
-  [(set (match_operand:V48_AVX2 0 "memory_operand" "=m")
+  [(set (match_operand:V48_AVX2 0 "memory_operand" "+m")
        (unspec:V48_AVX2
          [(match_operand:<sseintvecmode> 1 "register_operand" "x")
           (match_operand:V48_AVX2 2 "register_operand" "x")
index ddff1e6..fa3281a 100644 (file)
   if (<MODE>mode == DImode && !TARGET_64BIT)
     emit_insn (gen_atomic_loaddi_fpu
               (operands[0], operands[1],
-               assign_386_stack_local (DImode,
-                                       (virtuals_instantiated
-                                        ? SLOT_TEMP : SLOT_VIRTUAL))));
+               assign_386_stack_local (DImode, SLOT_TEMP)));
   else
     emit_move_insn (operands[0], operands[1]);
   DONE;
         out to be significantly larger than this plus a barrier.  */
       emit_insn (gen_atomic_storedi_fpu
                 (operands[0], operands[1],
-                 assign_386_stack_local (DImode,
-                                         (virtuals_instantiated
-                                          ? SLOT_TEMP : SLOT_VIRTUAL))));
+                 assign_386_stack_local (DImode, SLOT_TEMP)));
     }
   else
     {
          DONE;
        }
 
-      /* Otherwise use a normal store.  */
-      emit_move_insn (operands[0], operands[1]);
+      /* Otherwise use a store.  */
+      emit_insn (gen_atomic_store<mode>_1 (operands[0], operands[1],
+                                          operands[2]));
     }
   /* ... followed by an MFENCE, if required.  */
   if (model == MEMMODEL_SEQ_CST)
   DONE;
 })
 
+(define_insn "atomic_store<mode>_1"
+  [(set (match_operand:SWI 0 "memory_operand" "=m")
+       (unspec:SWI [(match_operand:SWI 1 "<nonmemory_operand>" "<r><i>")
+                    (match_operand:SI 2 "const_int_operand")]
+                   UNSPEC_MOVA))]
+  ""
+  "mov{<imodesuffix>}\t{%1, %0|%0, %1}")
+
 (define_insn_and_split "atomic_storedi_fpu"
   [(set (match_operand:DI 0 "memory_operand" "=m,m,m")
        (unspec:DI [(match_operand:DI 1 "register_operand" "x,m,?r")]
diff --git a/gcc/config/i386/t-gnu b/gcc/config/i386/t-gnu
new file mode 100644 (file)
index 0000000..5f946c7
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,i386-gnu)
diff --git a/gcc/config/i386/t-kfreebsd b/gcc/config/i386/t-kfreebsd
new file mode 100644 (file)
index 0000000..762d520
--- /dev/null
@@ -0,0 +1,5 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu)
+
+# MULTILIB_OSDIRNAMES are set in t-linux64.
+KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target))))
+MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES)))
diff --git a/gcc/config/i386/t-linux b/gcc/config/i386/t-linux
new file mode 100644 (file)
index 0000000..155314c
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu)
index b5d3985..d5bedf7 100644 (file)
@@ -34,6 +34,6 @@
 comma=,
 MULTILIB_OPTIONS    = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
 MULTILIB_DIRNAMES   = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-MULTILIB_OSDIRNAMES+= mx32=../libx32
+MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
index 77be757..0c6bf78 100644 (file)
@@ -2943,8 +2943,10 @@ ia64_compute_frame_size (HOST_WIDE_INT size)
 
   /* We always use the 16-byte scratch area provided by the caller, but
      if we are a leaf function, there's no one to which we need to provide
-     a scratch area.  */
-  if (current_function_is_leaf)
+     a scratch area.  However, if the function allocates dynamic stack space,
+     the dynamic offset is computed early and contains STACK_POINTER_OFFSET,
+     so we need to cope.  */
+  if (current_function_is_leaf && !cfun->calls_alloca)
     total_size = MAX (0, total_size - 16);
 
   current_frame_info.total_size = total_size;
@@ -2978,18 +2980,15 @@ ia64_initial_elimination_offset (int from, int to)
       switch (to)
        {
        case HARD_FRAME_POINTER_REGNUM:
-         if (current_function_is_leaf)
-           offset = -current_frame_info.total_size;
-         else
-           offset = -(current_frame_info.total_size
-                      - crtl->outgoing_args_size - 16);
+         offset = -current_frame_info.total_size;
+         if (!current_function_is_leaf || cfun->calls_alloca)
+           offset += 16 + crtl->outgoing_args_size;
          break;
 
        case STACK_POINTER_REGNUM:
-         if (current_function_is_leaf)
-           offset = 0;
-         else
-           offset = 16 + crtl->outgoing_args_size;
+         offset = 0;
+         if (!current_function_is_leaf || cfun->calls_alloca)
+           offset += 16 + crtl->outgoing_args_size;
          break;
 
        default:
diff --git a/gcc/config/ia64/t-linux b/gcc/config/ia64/t-linux
new file mode 100644 (file)
index 0000000..ba9c60a
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,ia64-linux-gnu)
index 3fa2947..aa64dfc 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
 # Only include multilibs for 680x0 and ColdFire CPUs with an MMU.
 M68K_MLIB_CPU += && ((CPU ~ "^m680") || (CPU ~ "^mcf")) && (FLAGS ~ "FL_MMU")
 
+ifeq ($(M68K_ARCH),m68k)
+MULTIARCH_DIRNAME = $(call if_multiarch,m68k-linux-gnu)
+endif
+
 # This rule uses MULTILIB_MATCHES to generate a definition of
 # SYSROOT_SUFFIX_SPEC.
 sysroot-suffix.h: $(srcdir)/config/m68k/print-sysroot-suffix.sh
diff --git a/gcc/config/microblaze/rtems.h b/gcc/config/microblaze/rtems.h
new file mode 100644 (file)
index 0000000..fecf7a2
--- /dev/null
@@ -0,0 +1,25 @@
+/* Definitions for rtems targeting a microblaze using ELF.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+/* Specify predefined symbols in preprocessor.  */
+
+#define TARGET_OS_CPP_BUILTINS() do {          \
+  builtin_define( "__rtems__" );               \
+  builtin_assert( "system=rtems" );            \
+} while (0)
diff --git a/gcc/config/microblaze/t-rtems b/gcc/config/microblaze/t-rtems
new file mode 100644 (file)
index 0000000..d0c3826
--- /dev/null
@@ -0,0 +1 @@
+# Custom multilibs for RTEMS
index 5197e5e..20136cd 100644 (file)
@@ -18,4 +18,9 @@
 
 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
 MULTILIB_DIRNAMES = n32 32 64
-MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
+MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+MULTILIB_OSDIRNAMES = \
+       ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+       ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+       ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
index 509e37f..d286a98 100644 (file)
@@ -4851,12 +4851,9 @@ pa_issue_rate (void)
 
 
 
-/* Return any length adjustment needed by INSN which already has its length
-   computed as LENGTH.   Return zero if no adjustment is necessary.
-
-   For the PA: function calls, millicode calls, and backwards short
-   conditional branches with unfilled delay slots need an adjustment by +1
-   (to account for the NOP which will be inserted into the instruction stream).
+/* Return any length plus adjustment needed by INSN which already has
+   its length computed as LENGTH.   Return LENGTH if no adjustment is
+   necessary.
 
    Also compute the length of an inline block move here as it is too
    complicated to express as a length attribute in pa.md.  */
@@ -4865,19 +4862,40 @@ pa_adjust_insn_length (rtx insn, int length)
 {
   rtx pat = PATTERN (insn);
 
+  /* If length is negative or undefined, provide initial length.  */
+  if ((unsigned int) length >= INT_MAX)
+    {
+      if (GET_CODE (pat) == SEQUENCE)
+       insn = XVECEXP (pat, 0, 0);
+
+      switch (get_attr_type (insn))
+       {
+       case TYPE_MILLI:
+         length = pa_attr_length_millicode_call (insn);
+         break;
+       case TYPE_CALL:
+         length = pa_attr_length_call (insn, 0);
+         break;
+       case TYPE_SIBCALL:
+         length = pa_attr_length_call (insn, 1);
+         break;
+       case TYPE_DYNCALL:
+         length = pa_attr_length_indirect_call (insn);
+         break;
+       case TYPE_SH_FUNC_ADRS:
+         length = pa_attr_length_millicode_call (insn) + 20;
+         break;
+       default:
+         gcc_unreachable ();
+       }
+    }
+
   /* Jumps inside switch tables which have unfilled delay slots need
      adjustment.  */
   if (GET_CODE (insn) == JUMP_INSN
       && GET_CODE (pat) == PARALLEL
       && get_attr_type (insn) == TYPE_BTABLE_BRANCH)
-    return 4;
-  /* Millicode insn with an unfilled delay slot.  */
-  else if (GET_CODE (insn) == INSN
-          && GET_CODE (pat) != SEQUENCE
-          && GET_CODE (pat) != USE
-          && GET_CODE (pat) != CLOBBER
-          && get_attr_type (insn) == TYPE_MILLI)
-    return 4;
+    length += 4;
   /* Block move pattern.  */
   else if (GET_CODE (insn) == INSN
           && GET_CODE (pat) == PARALLEL
@@ -4886,7 +4904,7 @@ pa_adjust_insn_length (rtx insn, int length)
           && GET_CODE (XEXP (XVECEXP (pat, 0, 0), 1)) == MEM
           && GET_MODE (XEXP (XVECEXP (pat, 0, 0), 0)) == BLKmode
           && GET_MODE (XEXP (XVECEXP (pat, 0, 0), 1)) == BLKmode)
-    return compute_movmem_length (insn) - 4;
+    length += compute_movmem_length (insn) - 4;
   /* Block clear pattern.  */
   else if (GET_CODE (insn) == INSN
           && GET_CODE (pat) == PARALLEL
@@ -4894,7 +4912,7 @@ pa_adjust_insn_length (rtx insn, int length)
           && GET_CODE (XEXP (XVECEXP (pat, 0, 0), 0)) == MEM
           && XEXP (XVECEXP (pat, 0, 0), 1) == const0_rtx
           && GET_MODE (XEXP (XVECEXP (pat, 0, 0), 0)) == BLKmode)
-    return compute_clrmem_length (insn) - 4;
+    length += compute_clrmem_length (insn) - 4;
   /* Conditional branch with an unfilled delay slot.  */
   else if (GET_CODE (insn) == JUMP_INSN && ! simplejump_p (insn))
     {
@@ -4903,11 +4921,11 @@ pa_adjust_insn_length (rtx insn, int length)
          && length == 4
          && JUMP_LABEL (insn) != NULL_RTX
          && ! forward_branch_p (insn))
-       return 4;
+       length += 4;
       else if (GET_CODE (pat) == PARALLEL
               && get_attr_type (insn) == TYPE_PARALLEL_BRANCH
               && length == 4)
-       return 4;
+       length += 4;
       /* Adjust dbra insn with short backwards conditional branch with
         unfilled delay slot -- only for case where counter is in a
         general register register.  */
@@ -4917,11 +4935,9 @@ pa_adjust_insn_length (rtx insn, int length)
               && ! FP_REG_P (XEXP (XVECEXP (pat, 0, 1), 0))
               && length == 4
               && ! forward_branch_p (insn))
-       return 4;
-      else
-       return 0;
+       length += 4;
     }
-  return 0;
+  return length;
 }
 
 /* Implement the TARGET_PRINT_OPERAND_PUNCT_VALID_P hook.  */
@@ -7481,15 +7497,13 @@ pa_output_millicode_call (rtx insn, rtx call_dest)
 
   /* Handle the common case where we are sure that the branch will
      reach the beginning of the $CODE$ subspace.  The within reach
-     form of the $$sh_func_adrs call has a length of 28.  Because
-     it has an attribute type of multi, it never has a nonzero
-     sequence length.  The length of the $$sh_func_adrs is the same
-     as certain out of reach PIC calls to other routines.  */
+     form of the $$sh_func_adrs call has a length of 28.  Because it
+     has an attribute type of sh_func_adrs, it never has a nonzero
+     sequence length (i.e., the delay slot is never filled).  */
   if (!TARGET_LONG_CALLS
-      && ((seq_length == 0
-          && (attr_length == 12
-              || (attr_length == 28 && get_attr_type (insn) == TYPE_MULTI)))
-         || (seq_length != 0 && attr_length == 8)))
+      && (attr_length == 8
+         || (attr_length == 28
+             && get_attr_type (insn) == TYPE_SH_FUNC_ADRS)))
     {
       output_asm_insn ("{bl|b,l} %0,%2", xoperands);
     }
@@ -10314,14 +10328,10 @@ pa_legitimate_constant_p (enum machine_mode mode, rtx x)
     return false;
 
   /* TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC are not
-     legitimate constants.  */
+     legitimate constants.  The other variants can't be handled by
+     the move patterns after reload starts.  */
   if (PA_SYMBOL_REF_TLS_P (x))
-   {
-     enum tls_model model = SYMBOL_REF_TLS_MODEL (x);
-
-     if (model == TLS_MODEL_GLOBAL_DYNAMIC || model == TLS_MODEL_LOCAL_DYNAMIC)
-       return false;
-   }
+    return false;
 
   if (TARGET_64BIT && GET_CODE (x) == CONST_DOUBLE)
     return false;
index d977c64..7a1a6fa 100644 (file)
@@ -1273,8 +1273,8 @@ do {                                                                      \
 
 /* Handling the special cases is going to get too complicated for a macro,
    just call `pa_adjust_insn_length' to do the real work.  */
-#define ADJUST_INSN_LENGTH(INSN, LENGTH)       \
-  LENGTH += pa_adjust_insn_length (INSN, LENGTH);
+#define ADJUST_INSN_LENGTH(INSN, LENGTH) \
+  ((LENGTH) = pa_adjust_insn_length ((INSN), (LENGTH)))
 
 /* Millicode insns are actually function calls with some special
    constraints on arguments and register usage.
index a69f2b8..79a15d6 100644 (file)
@@ -81,7 +81,7 @@
 ;; type "binary" insns have two input operands (1,2) and one output (0)
 
 (define_attr "type"
-  "move,unary,binary,shift,nullshift,compare,load,store,uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,fpload,fpstore,fpalu,fpcc,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,multi,milli,parallel_branch,fpstore_load,store_fpload"
+  "move,unary,binary,shift,nullshift,compare,load,store,uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,fpload,fpstore,fpalu,fpcc,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,multi,milli,sh_func_adrs,parallel_branch,fpstore_load,store_fpload"
   (const_string "binary"))
 
 (define_attr "pa_combine_type"
 ;; For conditional branches. Frame related instructions are not allowed
 ;; because they confuse the unwind support.
 (define_attr "in_branch_delay" "false,true"
-  (if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
+  (if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,multi,milli,sh_func_adrs,parallel_branch")
                     (eq_attr "length" "4")
                     (not (match_test "RTX_FRAME_RELATED_P (insn)")))
                (const_string "true")
 ;; Disallow instructions which use the FPU since they will tie up the FPU
 ;; even if the instruction is nullified.
 (define_attr "in_nullified_branch_delay" "false,true"
-  (if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,fpcc,fpalu,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,parallel_branch")
+  (if_then_else (and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,multi,milli,sh_func_adrs,fpcc,fpalu,fpmulsgl,fpmuldbl,fpdivsgl,fpdivdbl,fpsqrtsgl,fpsqrtdbl,parallel_branch")
                     (eq_attr "length" "4")
                     (not (match_test "RTX_FRAME_RELATED_P (insn)")))
                (const_string "true")
 ;; For calls and millicode calls.  Allow unconditional branches in the
 ;; delay slot.
 (define_attr "in_call_delay" "false,true"
-  (cond [(and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
+  (cond [(and (eq_attr "type" "!uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,multi,milli,sh_func_adrs,parallel_branch")
              (eq_attr "length" "4")
              (not (match_test "RTX_FRAME_RELATED_P (insn)")))
           (const_string "true")
 (define_delay (eq_attr "type" "call")
   [(eq_attr "in_call_delay" "true") (nil) (nil)])
 
+;; Sibcall delay slot description.
+(define_delay (eq_attr "type" "sibcall")
+  [(eq_attr "in_call_delay" "true") (nil) (nil)])
+
 ;; Millicode call delay slot description.
 (define_delay (eq_attr "type" "milli")
   [(eq_attr "in_call_delay" "true") (nil) (nil)])
 ;; to assume have zero latency.
 (define_insn_reservation "Z3" 0
   (and
-    (eq_attr "type" "!load,fpload,store,fpstore,uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch,fpcc,fpalu,fpmulsgl,fpmuldbl,fpsqrtsgl,fpsqrtdbl,fpdivsgl,fpdivdbl,fpstore_load,store_fpload")
+    (eq_attr "type" "!load,fpload,store,fpstore,uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,multi,milli,sh_func_adrs,parallel_branch,fpcc,fpalu,fpmulsgl,fpmuldbl,fpsqrtsgl,fpsqrtdbl,fpdivsgl,fpdivdbl,fpstore_load,store_fpload")
     (eq_attr "cpu" "8000"))
   "inm_8000,rnm_8000")
 
 ;; retirement unit.
 (define_insn_reservation "Z4" 0
   (and
-    (eq_attr "type" "uncond_branch,btable_branch,branch,cbranch,fbranch,call,dyncall,multi,milli,parallel_branch")
+    (eq_attr "type" "uncond_branch,btable_branch,branch,cbranch,fbranch,call,sibcall,dyncall,multi,milli,sh_func_adrs,parallel_branch")
     (eq_attr "cpu" "8000"))
   "inm0_8000+inm1_8000,rnm0_8000+rnm1_8000")
 
   [(set_attr "type" "store")
    (set_attr "length" "4")])
 
-(define_insn ""
-  [(set (match_operand:HI 0 "register_operand" "=r")
-       (plus:HI (match_operand:HI 1 "register_operand" "r")
-                (match_operand 2 "const_int_operand" "J")))]
+(define_insn "addhi3"
+  [(set (match_operand:HI 0 "register_operand" "=r,r")
+       (plus:HI (match_operand:HI 1 "register_operand" "%r,r")
+                (match_operand:HI 2 "arith14_operand" "r,J")))]
   ""
-  "ldo %2(%1),%0"
-  [(set_attr "type" "binary")
+  "@
+   {addl|add,l} %1,%2,%0
+   ldo %2(%1),%0"
+  [(set_attr "type" "binary,binary")
    (set_attr "pa_combine_type" "addmove")
-   (set_attr "length" "4")])
+   (set_attr "length" "4,4")])
 
 (define_expand "movqi"
   [(set (match_operand:QI 0 "general_operand" "")
   "!TARGET_64BIT"
   "* return pa_output_mul_insn (0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_insn ""
   [(set (reg:SI 29) (mult:SI (reg:SI 26) (reg:SI 25)))
   "TARGET_64BIT"
   "* return pa_output_mul_insn (0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_expand "muldi3"
   [(set (match_operand:DI 0 "register_operand" "")
   "*
    return pa_output_div_insn (operands, 0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_insn ""
   [(set (reg:SI 29)
   "*
    return pa_output_div_insn (operands, 0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_expand "udivsi3"
   [(set (reg:SI 26) (match_operand:SI 1 "move_src_operand" ""))
   "*
    return pa_output_div_insn (operands, 1, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_insn ""
   [(set (reg:SI 29)
   "*
    return pa_output_div_insn (operands, 1, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_expand "modsi3"
   [(set (reg:SI 26) (match_operand:SI 1 "move_src_operand" ""))
   "*
   return pa_output_mod_insn (0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_insn ""
   [(set (reg:SI 29) (mod:SI (reg:SI 26) (reg:SI 25)))
   "*
   return pa_output_mod_insn (0, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_expand "umodsi3"
   [(set (reg:SI 26) (match_operand:SI 1 "move_src_operand" ""))
   "*
   return pa_output_mod_insn (1, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 (define_insn ""
   [(set (reg:SI 29) (umod:SI (reg:SI 26) (reg:SI 25)))
   "*
   return pa_output_mod_insn (1, insn);"
   [(set_attr "type" "milli")
-   (set (attr "length") (symbol_ref "pa_attr_length_millicode_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_millicode_call (insn)")))])
 
 ;;- and instructions
 ;; We define DImode `and` so with DImode `not` we can get
@@ -7187,7 +7213,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[0], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 (define_insn "call_symref_pic"
   [(set (match_operand:SI 2 "register_operand" "=&r") (reg:SI 19))
@@ -7264,7 +7292,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[0], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -7349,7 +7379,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[0], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 (define_insn "call_reg"
   [(call (mem:SI (reg:SI 22))
@@ -7363,7 +7395,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -7441,7 +7475,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -7525,7 +7561,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, operands[0]);
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 12)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 (define_expand "call_value"
   [(parallel [(set (match_operand 0 "" "")
@@ -7651,7 +7689,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[1], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 (define_insn "call_val_symref_pic"
   [(set (match_operand:SI 3 "register_operand" "=&r") (reg:SI 19))
@@ -7734,7 +7774,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[1], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -7825,7 +7867,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_call (insn, operands[1], 0);
 }"
   [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 0)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 0)")))])
 
 (define_insn "call_val_reg"
   [(set (match_operand 0 "" "")
@@ -7840,7 +7884,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -7924,7 +7970,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, gen_rtx_REG (word_mode, 22));
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 ;; This pattern is split if it is necessary to save and restore the
 ;; PIC register.
@@ -8014,7 +8062,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   return pa_output_indirect_call (insn, operands[1]);
 }"
   [(set_attr "type" "dyncall")
-   (set (attr "length") (symbol_ref "pa_attr_length_indirect_call (insn)"))])
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 12)]
+             (symbol_ref "pa_attr_length_indirect_call (insn)")))])
 
 ;; Call subroutine returning any type.
 
@@ -8107,8 +8157,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   pa_output_arg_descriptor (insn);
   return pa_output_call (insn, operands[0], 1);
 }"
-  [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 1)"))])
+  [(set_attr "type" "sibcall")
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 1)")))])
 
 (define_insn "sibcall_internal_symref_64bit"
   [(call (mem:SI (match_operand 0 "call_operand_address" ""))
@@ -8122,8 +8174,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   pa_output_arg_descriptor (insn);
   return pa_output_call (insn, operands[0], 1);
 }"
-  [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 1)"))])
+  [(set_attr "type" "sibcall")
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 1)")))])
 
 (define_expand "sibcall_value"
   [(set (match_operand 0 "" "")
@@ -8191,8 +8245,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   pa_output_arg_descriptor (insn);
   return pa_output_call (insn, operands[1], 1);
 }"
-  [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 1)"))])
+  [(set_attr "type" "sibcall")
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 1)")))])
 
 (define_insn "sibcall_value_internal_symref_64bit"
   [(set (match_operand 0 "" "")
@@ -8207,8 +8263,10 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
   pa_output_arg_descriptor (insn);
   return pa_output_call (insn, operands[1], 1);
 }"
-  [(set_attr "type" "call")
-   (set (attr "length") (symbol_ref "pa_attr_length_call (insn, 1)"))])
+  [(set_attr "type" "sibcall")
+   (set (attr "length")
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 8)]
+             (symbol_ref "pa_attr_length_call (insn, 1)")))])
 
 (define_insn "nop"
   [(const_int 0)]
@@ -9244,10 +9302,11 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
                                   gen_rtx_SYMBOL_REF (SImode,
                                                       \"$$sh_func_adrs\"));
 }"
-  [(set_attr "type" "multi")
+  [(set_attr "type" "sh_func_adrs")
    (set (attr "length")
-       (plus (symbol_ref "pa_attr_length_millicode_call (insn)")
-             (const_int 20)))])
+       (cond [(and (const_int 0) (eq (const_int 0) (pc))) (const_int 28)]
+             (plus (symbol_ref "pa_attr_length_millicode_call (insn)")
+                   (const_int 20))))])
 
 ;; On the PA, the PIC register is call clobbered, so it must
 ;; be saved & restored around calls by the caller.  If the call
diff --git a/gcc/config/pa/t-linux b/gcc/config/pa/t-linux
new file mode 100644 (file)
index 0000000..f9f2b0a
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,hppa-linux-gnu)
index 29dd18d..72377f9 100644 (file)
 {
   if (MEM_P (op))
     {
+      if (! volatile_ok && MEM_VOLATILE_P (op))
+       return 0;
       if (mode == DFmode)
        mode = V2DFmode;
       else if (mode == DImode)
        mode = V2DImode;
       else
-       gcc_unreachable ();        
+       gcc_unreachable ();
+      return memory_address_addr_space_p (mode, XEXP (op, 0),
+                                         MEM_ADDR_SPACE (op));
     }
   return input_operand (op, mode);
 })
index 50f7e84..6804731 100644 (file)
@@ -1,7 +1,7 @@
 /* Subroutines used for code generation on IBM RS/6000.
    Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
    2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-   2012
+   2012, 2013
    Free Software Foundation, Inc.
    Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
 
@@ -2646,7 +2646,7 @@ rs6000_option_override_internal (bool global_init_p)
 #endif
 #ifdef OS_MISSING_ALTIVEC
   if (OS_MISSING_ALTIVEC)
-    set_masks &= ~MASK_ALTIVEC;
+    set_masks &= ~(MASK_ALTIVEC | MASK_VSX);
 #endif
 
   /* Don't override by the processor default if given explicitly.  */
@@ -3753,7 +3753,8 @@ rs6000_builtin_vectorized_libmass (tree fndecl, tree type_out, tree type_in)
          bdecl = builtin_decl_implicit (fn);
          suffix = "d2";                                /* pow -> powd2 */
          if (el_mode != DFmode
-             || n != 2)
+             || n != 2
+             || !bdecl)
            return NULL_TREE;
          break;
 
@@ -3790,7 +3791,8 @@ rs6000_builtin_vectorized_libmass (tree fndecl, tree type_out, tree type_in)
          bdecl = builtin_decl_implicit (fn);
          suffix = "4";                                 /* powf -> powf4 */
          if (el_mode != SFmode
-             || n != 4)
+             || n != 4
+             || !bdecl)
            return NULL_TREE;
          break;
 
@@ -3803,6 +3805,9 @@ rs6000_builtin_vectorized_libmass (tree fndecl, tree type_out, tree type_in)
 
   gcc_assert (suffix != NULL);
   bname = IDENTIFIER_POINTER (DECL_NAME (bdecl));
+  if (!bname)
+    return NULL_TREE;
+
   strcpy (name, bname + sizeof ("__builtin_") - 1);
   strcat (name, suffix);
 
@@ -17503,8 +17508,9 @@ rs6000_savres_strategy (rs6000_stack_t *info,
      static chain is rarely used anyway.  FPRs are saved w.r.t the stack
      pointer on Darwin.  */
   if (using_static_chain_p)
-    strategy |= (DEFAULT_ABI == ABI_DARWIN ? 0 : SAVE_INLINE_FPRS)
-               | SAVE_INLINE_GPRS;
+    strategy |= ((DEFAULT_ABI == ABI_DARWIN
+                 ? 0 : SAVE_INLINE_FPRS | REST_INLINE_FPRS)
+                | SAVE_INLINE_GPRS);
 
   /* If we are going to use store multiple, then don't even bother
      with the out-of-line routines, since the store-multiple
index f0780c6..181c9cd 100644 (file)
 ;; the constant into an FP register, since it will probably be used there.
 ;; The "??" is a kludge until we can figure out a more reasonable way
 ;; of handling these non-offsettable values.
+
+;; The move constraints are ordered to prefer floating point registers before
+;; general purpose registers to avoid doing a store and a load to get the value
+;; into a floating point register when it is needed for a floating point
+;; operation.  Prefer traditional floating point registers over VSX registers,
+;; since the D-form version of the memory instructions does not need a GPR for
+;; reloading.
+
 (define_insn "*movdf_hardfloat32"
-  [(set (match_operand:DF 0 "nonimmediate_operand" "=!r,??r,m,ws,?wa,ws,?wa,Z,?Z,d,d,m,wa,!r,!r,!r")
-       (match_operand:DF 1 "input_operand" "r,m,r,ws,wa,Z,Z,ws,wa,d,m,d,j,G,H,F"))]
+  [(set (match_operand:DF 0 "nonimmediate_operand" "=m,d,d,ws,?wa,Z,?Z,ws,?wa,wa,Y,??r,!r,!r,!r,!r")
+       (match_operand:DF 1 "input_operand" "d,m,d,Z,Z,ws,wa,ws,wa,j,r,Y,r,G,H,F"))]
   "! TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT 
    && (gpc_reg_operand (operands[0], DFmode)
        || gpc_reg_operand (operands[1], DFmode))"
-  "*
-{
-  switch (which_alternative)
-    {
-    default:
-      gcc_unreachable ();
-    case 0:
-    case 1:
-    case 2:
-      return \"#\";
-    case 3:
-    case 4:
-      return \"xxlor %x0,%x1,%x1\";
-    case 5:
-    case 6:
-      return \"lxsd%U1x %x0,%y1\";
-    case 7:
-    case 8:
-      return \"stxsd%U0x %x1,%y0\";
-    case 9:
-      return \"fmr %0,%1\";
-    case 10:
-      return \"lfd%U1%X1 %0,%1\";
-    case 11:
-      return \"stfd%U0%X0 %1,%0\";
-    case 12:
-      return \"xxlxor %x0,%x0,%x0\";
-    case 13:
-    case 14:
-    case 15:
-      return \"#\";
-    }
-}"
-  [(set_attr "type" "two,load,store,fp,fp,fpload,fpload,fpstore,fpstore,fp,fpload,fpstore,vecsimple,*,*,*")
-   (set_attr "length" "8,16,16,4,4,4,4,4,4,4,4,4,4,8,12,16")])
+  "@
+   stfd%U0%X0 %1,%0
+   lfd%U1%X1 %0,%1
+   fmr %0,%1
+   lxsd%U1x %x0,%y1
+   lxsd%U1x %x0,%y1
+   stxsd%U0x %x1,%y0
+   stxsd%U0x %x1,%y0
+   xxlor %x0,%x1,%x1
+   xxlor %x0,%x1,%x1
+   xxlxor %x0,%x0,%x0
+   #
+   #
+   #
+   #
+   #
+   #"
+  [(set_attr "type" "fpstore,fpload,fp,fpload,fpload,fpstore,fpstore,vecsimple,vecsimple,vecsimple,store,load,two,fp,fp,*")
+   (set_attr "length" "4,4,4,4,4,4,4,4,4,4,8,8,8,8,12,16")])
 
 (define_insn "*movdf_softfloat32"
   [(set (match_operand:DF 0 "nonimmediate_operand" "=r,r,m,r,r,r")
 ; ld/std require word-aligned displacements -> 'Y' constraint.
 ; List Y->r and r->Y before r->r for reload.
 (define_insn "*movdf_hardfloat64"
-  [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,ws,?wa,ws,?wa,Z,?Z,d,d,m,wa,*c*l,!r,*h,!r,!r,!r")
-       (match_operand:DF 1 "input_operand" "r,Y,r,ws,wa,Z,Z,ws,wa,d,m,d,j,r,h,0,G,H,F"))]
+  [(set (match_operand:DF 0 "nonimmediate_operand" "=m,d,d,Y,??r,!r,ws,?wa,Z,?Z,ws,?wa,wa,*c*l,!r,*h,!r,!r,!r")
+       (match_operand:DF 1 "input_operand" "d,m,d,r,Y,r,Z,Z,ws,wa,ws,wa,j,r,h,0,G,H,F"))]
   "TARGET_POWERPC64 && !TARGET_MFPGPR && TARGET_HARD_FLOAT && TARGET_FPRS 
    && TARGET_DOUBLE_FLOAT
    && (gpc_reg_operand (operands[0], DFmode)
        || gpc_reg_operand (operands[1], DFmode))"
   "@
+   stfd%U0%X0 %1,%0
+   lfd%U1%X1 %0,%1
+   fmr %0,%1
    std%U0%X0 %1,%0
    ld%U1%X1 %0,%1
    mr %0,%1
-   xxlor %x0,%x1,%x1
-   xxlor %x0,%x1,%x1
    lxsd%U1x %x0,%y1
    lxsd%U1x %x0,%y1
    stxsd%U0x %x1,%y0
    stxsd%U0x %x1,%y0
-   fmr %0,%1
-   lfd%U1%X1 %0,%1
-   stfd%U0%X0 %1,%0
+   xxlor %x0,%x1,%x1
+   xxlor %x0,%x1,%x1
    xxlxor %x0,%x0,%x0
    mt%0 %1
    mf%1 %0
-   {cror 0,0,0|nop}
+   nop
    #
    #
    #"
-  [(set_attr "type" "store,load,*,fp,fp,fpload,fpload,fpstore,fpstore,fp,fpload,fpstore,vecsimple,mtjmpr,mfjmpr,*,*,*,*")
+  [(set_attr "type" "fpstore,fpload,fp,store,load,*,fpload,fpload,fpstore,fpstore,vecsimple,vecsimple,vecsimple,mtjmpr,mfjmpr,*,*,*,*")
    (set_attr "length" "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,12,16")])
 
 (define_insn "*movdf_softfloat64"
index 913bbbd..8e92d0b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2006, 2008, 2011, 2012 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
-                         msoft-float=mcpu?403 \
-                         msoft-float=mcpu?405 \
-                         msoft-float=mcpu?440 \
-                         msoft-float=mcpu?464 \
-                         msoft-float=mcpu?476 \
-                         msoft-float=mcpu?ec603e \
-                         msoft-float=mcpu?801 \
-                         msoft-float=mcpu?821 \
-                         msoft-float=mcpu?823 \
-                         msoft-float=mcpu?860
+SOFT_FLOAT_CPUS = e300c2 401 403 405 440 464 476 ec603e 801 821 823 860
+MULTILIB_MATCHES_FLOAT = $(foreach cpu, $(SOFT_FLOAT_CPUS), msoft-float=mcpu?$(cpu))
 
 # Build the libraries for both hard and soft floating point by default
 
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
new file mode 100644 (file)
index 0000000..017a293
--- /dev/null
@@ -0,0 +1,9 @@
+# do not define the multiarch name if configured for a soft-float cpu
+# or soft-float.
+ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
+ifneq (,$(findstring spe,$(target)))
+MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring rs6000/e500-double.h, $(tm_file_list)),,v1)
+else
+MULTIARCH_DIRNAME = powerpc-linux-gnu
+endif
+endif
index 6420431..f7eb91e 100644 (file)
@@ -31,5 +31,7 @@ MULTILIB_DIRNAMES       = 64 32 nof
 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_OSDIRNAMES    = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES    += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+MULTILIB_OSDIRNAMES    += nof
 MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
index d6e250f..0454f5b 100644 (file)
@@ -1579,6 +1579,7 @@ s390_option_override (void)
       break;
     case PROCESSOR_2097_Z10:
       s390_cost = &z10_cost;
+      break;
     case PROCESSOR_2817_Z196:
       s390_cost = &z196_cost;
       break;
index ede76a2..cc6ab36 100644 (file)
@@ -7,4 +7,5 @@
 
 MULTILIB_OPTIONS = m64/m31
 MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
index a5c2734..3dad514 100644 (file)
@@ -40,7 +40,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
-  (TARGET_CPU_DEFAULT | MASK_USERMODE | TARGET_ENDIAN_DEFAULT \
+  (TARGET_CPU_DEFAULT | TARGET_ENDIAN_DEFAULT \
    | TARGET_OPT_DEFAULT | MASK_SOFT_ATOMIC)
 
 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
@@ -135,3 +135,13 @@ along with GCC; see the file COPYING3.  If not see
 /* Install the __sync libcalls.  */
 #undef TARGET_INIT_LIBFUNCS
 #define TARGET_INIT_LIBFUNCS  sh_init_sync_libfuncs
+
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS                                     \
+  do                                                                   \
+    {                                                                  \
+      /* Set -musermode if it hasn't been specified.  */               \
+      if (global_options_set.x_TARGET_USERMODE == 0)                   \
+       TARGET_USERMODE = true;                                         \
+    }                                                                  \
+  while (0)
index f5a820b..7add00e 100644 (file)
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
-  (TARGET_CPU_DEFAULT | MASK_USERMODE | TARGET_ENDIAN_DEFAULT)
+  (TARGET_CPU_DEFAULT | TARGET_ENDIAN_DEFAULT)
 
 /* Define because we use the label and we do not need them.  */
 #define NO_PROFILE_COUNTERS 1
@@ -96,3 +96,13 @@ while (0)
 #define SH_DIV_STRATEGY_DEFAULT SH_DIV_CALL2
 #undef SH_DIV_STR_FOR_SIZE
 #define SH_DIV_STR_FOR_SIZE "call2"
+
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS                                     \
+  do                                                                   \
+    {                                                                  \
+      /* Set -musermode if it hasn't been specified.  */               \
+      if (global_options_set.x_TARGET_USERMODE == 0)                   \
+       TARGET_USERMODE = true;                                         \
+    }                                                                  \
+  while (0)
index f828ed4..1c7233f 100644 (file)
@@ -682,11 +682,11 @@ sh_option_override (void)
       if (! strcmp (sh_div_str, "call-div1"))
        sh_div_strategy = SH_DIV_CALL_DIV1;
       else if (! strcmp (sh_div_str, "call-fp")
-              && (TARGET_FPU_DOUBLE
-                  || (TARGET_HARD_SH4 && TARGET_SH2E)
+              && (TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY
                   || (TARGET_SHCOMPACT && TARGET_FPU_ANY)))
        sh_div_strategy = SH_DIV_CALL_FP;
-      else if (! strcmp (sh_div_str, "call-table") && TARGET_SH2)
+      else if (! strcmp (sh_div_str, "call-table")
+              && (TARGET_SH3 || TARGET_SH2A))
        sh_div_strategy = SH_DIV_CALL_TABLE;
       else
        /* Pick one that makes most sense for the target in general.
@@ -706,8 +706,6 @@ sh_option_override (void)
          sh_div_strategy = SH_DIV_CALL_FP;
         /* SH1 .. SH3 cores often go into small-footprint systems, so
           default to the smallest implementation available.  */
-       else if (TARGET_SH2)    /* ??? EXPERIMENTAL */
-         sh_div_strategy = SH_DIV_CALL_TABLE;
        else
          sh_div_strategy = SH_DIV_CALL_DIV1;
     }
index 10e87f8..8b7dd1d 100644 (file)
@@ -208,14 +208,16 @@ do { \
                                  | MASK_SH2 | MASK_SH1)
 #define SELECT_SH2A_NOFPU        (MASK_HARD_SH2A | MASK_SH2 | MASK_SH1)
 #define SELECT_SH2A_SINGLE_ONLY  (MASK_SH_E | MASK_HARD_SH2A | MASK_SH2 \
-                                 | MASK_SH1 | MASK_FPU_SINGLE)
+                                 | MASK_SH1 | MASK_FPU_SINGLE \
+                                 | MASK_FPU_SINGLE_ONLY)
 #define SELECT_SH2A_SINGLE       (MASK_SH_E | MASK_HARD_SH2A \
                                  | MASK_FPU_SINGLE | MASK_HARD_SH2A_DOUBLE \
                                  | MASK_SH2 | MASK_SH1)
 #define SELECT_SH3               (MASK_SH3 | SELECT_SH2)
 #define SELECT_SH3E              (MASK_SH_E | MASK_FPU_SINGLE | SELECT_SH3)
 #define SELECT_SH4_NOFPU         (MASK_HARD_SH4 | SELECT_SH3)
-#define SELECT_SH4_SINGLE_ONLY   (MASK_HARD_SH4 | SELECT_SH3E)
+#define SELECT_SH4_SINGLE_ONLY   (MASK_HARD_SH4 | SELECT_SH3E \
+                                 | MASK_FPU_SINGLE_ONLY)
 #define SELECT_SH4               (MASK_SH4 | MASK_SH_E | MASK_HARD_SH4 \
                                  | SELECT_SH3)
 #define SELECT_SH4_SINGLE        (MASK_FPU_SINGLE | SELECT_SH4)
@@ -282,7 +284,8 @@ do { \
 /* Reset all target-selection flags.  */
 #define MASK_ARCH (MASK_SH1 | MASK_SH2 | MASK_SH3 | MASK_SH_E | MASK_SH4 \
                   | MASK_HARD_SH2A | MASK_HARD_SH2A_DOUBLE | MASK_SH4A \
-                  | MASK_HARD_SH4 | MASK_FPU_SINGLE | MASK_SH5)
+                  | MASK_HARD_SH4 | MASK_FPU_SINGLE | MASK_SH5 \
+                  | MASK_FPU_SINGLE_ONLY)
 
 /* This defaults us to big-endian.  */
 #ifndef TARGET_ENDIAN_DEFAULT
index 2d72d70..cbe0b2c 100644 (file)
    (clobber (reg:SI PR_REG))
    (clobber (reg:SI R4_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "TARGET_SH1 && (! TARGET_SH4 || TARGET_DIVIDE_CALL_DIV1)"
+  "TARGET_SH1 && TARGET_DIVIDE_CALL_DIV1"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "needs_delay_slot" "yes")])
    (clobber (reg:SI R5_REG))
    (use (reg:PSI FPSCR_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "TARGET_SH4 && ! TARGET_FPU_SINGLE"
+  "TARGET_FPU_DOUBLE && ! TARGET_FPU_SINGLE"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "fp_mode" "double")
    (clobber (reg:SI R4_REG))
    (clobber (reg:SI R5_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "(TARGET_HARD_SH4 || TARGET_SHCOMPACT) && TARGET_FPU_SINGLE"
+  "(TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE || TARGET_SHCOMPACT)
+   && TARGET_FPU_SINGLE"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "needs_delay_slot" "yes")])
    (clobber (reg:SI R2_REG))
    (clobber (reg:SI R3_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "TARGET_SH1 && (! TARGET_SH4 || TARGET_DIVIDE_CALL_DIV1)"
+  "TARGET_SH1 && TARGET_DIVIDE_CALL_DIV1"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "needs_delay_slot" "yes")])
    (clobber (reg:DF DR2_REG))
    (use (reg:PSI FPSCR_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "TARGET_SH4 && ! TARGET_FPU_SINGLE"
+  "TARGET_FPU_DOUBLE && ! TARGET_FPU_SINGLE"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "fp_mode" "double")
    (clobber (reg:DF DR2_REG))
    (clobber (reg:SI R2_REG))
    (use (match_operand:SI 1 "arith_reg_operand" "r"))]
-  "(TARGET_HARD_SH4 || TARGET_SHCOMPACT) && TARGET_FPU_SINGLE"
+  "(TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE || TARGET_SHCOMPACT)
+   && TARGET_FPU_SINGLE"
   "jsr @%1%#"
   [(set_attr "type" "sfunc")
    (set_attr "needs_delay_slot" "yes")])
index bf3f64d..0389fce 100644 (file)
@@ -25,6 +25,10 @@ Mask(SH_E)
 ;; Set if the default precision of th FPU is single.
 Mask(FPU_SINGLE)
 
+;; Set if the a double-precision FPU is present but is restricted to
+;; single precision usage only.
+Mask(FPU_SINGLE_ONLY)
+
 ;; Set if we should generate code using type 2A insns.
 Mask(HARD_SH2A)
 
@@ -332,7 +336,7 @@ Target RejectNegative Joined UInteger Var(sh_multcost) Init(-1)
 Cost to assume for a multiply insn
 
 musermode
-Target Report RejectNegative Mask(USERMODE)
+Target Report RejectNegative Var(TARGET_USERMODE)
 Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode.
 
 ;; We might want to enable this by default for TARGET_HARD_SH4, because
index 1d305ee..320fe0b 100644 (file)
@@ -37,7 +37,7 @@ MULTILIB_MATCHES = $(shell \
   for abi in m1,m2,m3,m4-nofpu,m4-100-nofpu,m4-200-nofpu,m4-400,m4-500,m4-340,m4-300-nofpu,m4al,m4a-nofpu \
              m1,m2,m2a-nofpu \
              m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only \
-             m2e,m2a-single-only \
+             m2a-single,m2a-single-only \
              m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \
              m4,m4-100,m4-200,m4-300,m4a \
              m5-32media,m5-compact,m5-32media \
index ba2ec35..90dfd89 100644 (file)
@@ -136,9 +136,9 @@ along with GCC; see the file COPYING3.  If not see
 #undef CPP_CPU64_DEFAULT_SPEC
 #define CPP_CPU64_DEFAULT_SPEC ""
 #undef ASM_CPU32_DEFAULT_SPEC
-#define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb"
+#define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus" AS_NIAGARA3_FLAG
 #undef ASM_CPU64_DEFAULT_SPEC
-#define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG "b"
+#define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_NIAGARA3_FLAG
 #undef ASM_CPU_DEFAULT_SPEC
 #define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC
 #endif
index 15f1adc..37fab67 100644 (file)
@@ -10949,26 +10949,26 @@ sparc_emit_membar_for_model (enum memmodel model,
 
   if (before_after & 1)
     {
-      if (model == MEMMODEL_ACQUIRE
-          || model == MEMMODEL_ACQ_REL
-          || model == MEMMODEL_SEQ_CST)
+      if (model == MEMMODEL_RELEASE
+         || model == MEMMODEL_ACQ_REL
+         || model == MEMMODEL_SEQ_CST)
        {
          if (load_store & 1)
-           mm |= LoadLoad | LoadStore;
+           mm |= LoadLoad | StoreLoad;
          if (load_store & 2)
-           mm |= StoreLoad | StoreStore;
+           mm |= LoadStore | StoreStore;
        }
     }
   if (before_after & 2)
     {
-      if (model == MEMMODEL_RELEASE
+      if (model == MEMMODEL_ACQUIRE
          || model == MEMMODEL_ACQ_REL
          || model == MEMMODEL_SEQ_CST)
        {
          if (load_store & 1)
-           mm |= LoadLoad | StoreLoad;
+           mm |= LoadLoad | LoadStore;
          if (load_store & 2)
-           mm |= LoadStore | StoreStore;
+           mm |= StoreLoad | StoreStore;
        }
     }
 
index a1919b4..f11c8b9 100644 (file)
@@ -329,6 +329,8 @@ extern enum cmodel sparc_cmodel;
 %{mcpu=sparclite86x:-Asparclite} \
 %{mcpu=f930:-Asparclite} %{mcpu=f934:-Asparclite} \
 %{mcpu=v8:-Av8} \
+%{mcpu=supersparc:-Av8} \
+%{mcpu=hypersparc:-Av8} \
 %{mcpu=leon:-Av8} \
 %{mv8plus:-Av8plus} \
 %{mcpu=v9:-Av9} \
@@ -1742,10 +1744,10 @@ extern int sparc_indent_opcode;
 #define TARGET_SUN_TLS TARGET_TLS
 #define TARGET_GNU_TLS 0
 
-#ifndef HAVE_AS_FMAF_HPC_VIS3
-#define AS_NIAGARA3_FLAG "b"
-#else
+#ifdef HAVE_AS_FMAF_HPC_VIS3
 #define AS_NIAGARA3_FLAG "d"
+#else
+#define AS_NIAGARA3_FLAG "b"
 #endif
 
 /* The number of Pmode words for the setjmp buffer.  */
index 4787d51..8a1bab0 100644 (file)
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:SI 1 "register_operand" "r")))
-       (match_operand:QI 0 "register_operand" "=r"))]
+       (match_operand:QI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH32"
   "stb\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:DI 1 "register_operand" "r")))
-       (match_operand:QI 0 "register_operand" "=r"))]
+       (match_operand:QI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH64"
   "stb\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:SI 1 "register_operand" "r")))
-       (match_operand:HI 0 "register_operand" "=r"))]
+       (match_operand:HI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH32"
   "sth\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:DI 1 "register_operand" "r")))
-       (match_operand:HI 0 "register_operand" "=r"))]
+       (match_operand:HI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH64"
   "sth\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:SI 1 "register_operand" "r")))
-       (match_operand:SI 0 "register_operand" "=r"))]
+       (match_operand:SI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH32"
   "st\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:DI 1 "register_operand" "r")))
-       (match_operand:SI 0 "register_operand" "=r"))]
+       (match_operand:SI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH64"
   "stw\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
                                     (match_operand 3 "tld_symbolic_operand" "")]
                                    UNSPEC_TLSLDO)
                         (match_operand:DI 1 "register_operand" "r")))
-       (match_operand:DI 0 "register_operand" "=r"))]
+       (match_operand:DI 0 "register_operand" "r"))]
   "TARGET_TLS && TARGET_ARCH64"
   "stx\t%0, [%1 + %2], %%tldo_add(%3)"
   [(set_attr "type" "store")])
index d07d572..7bb4f87 100644 (file)
@@ -35,8 +35,7 @@
 
 (define_expand "membar"
   [(set (match_dup 1)
-       (unspec:BLK [(match_dup 1)
-                    (match_operand:SI 0 "const_int_operand")]
+       (unspec:BLK [(match_dup 1) (match_operand:SI 0 "const_int_operand")]
                    UNSPEC_MEMBAR))]
   "TARGET_V8 || TARGET_V9"
 {
@@ -66,7 +65,7 @@
   "stbar"
   [(set_attr "type" "multi")])
 
-;; For V8, LDSTUB has the effect of membar #StoreLoad
+;; For V8, LDSTUB has the effect of membar #StoreLoad.
 (define_insn "*membar_storeload"
   [(set (match_operand:BLK 0 "" "")
        (unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))]
   [(set_attr "type" "load,fpload")])
 
 (define_expand "atomic_store<mode>"
-  [(match_operand:I 0 "register_operand" "")
-   (match_operand:I 1 "memory_operand" "")
+  [(match_operand:I 0 "memory_operand" "")
+   (match_operand:I 1 "register_operand" "")
    (match_operand:SI 2 "const_int_operand" "")]
   ""
 {
diff --git a/gcc/config/sparc/t-linux b/gcc/config/sparc/t-linux
new file mode 100644 (file)
index 0000000..bb8fc29
--- /dev/null
@@ -0,0 +1 @@
+MULTIARCH_DIRNAME = $(call if_multiarch,sparc-linux-gnu)
index d9dfad6..5c5569e 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004,
-# 2006, 2010, 2011 Free Software Foundation, Inc.
+# 2006, 2010, 2011, 2012 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
@@ -26,4 +26,5 @@
 
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
+MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
diff --git a/gcc/config/sparc/t-rtems b/gcc/config/sparc/t-rtems
new file mode 100644 (file)
index 0000000..4a01e1e
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+#
+
+MULTILIB_OPTIONS = msoft-float mcpu=v8
+MULTILIB_DIRNAMES = soft v8
+MULTILIB_MATCHES = msoft-float=mno-fpu
diff --git a/gcc/config/sparc/t-rtems-64 b/gcc/config/sparc/t-rtems-64
new file mode 100644 (file)
index 0000000..d6a6e3e
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+#
+
+MULTILIB_OPTIONS = msoft-float
+MULTILIB_DIRNAMES = soft
+MULTILIB_MATCHES = msoft-float=mno-fpu
index 49067ae..1206d5e 100644 (file)
@@ -194,6 +194,7 @@ enum tilegx_builtin
   TILEGX_INSN_SHRU,
   TILEGX_INSN_SHRUX,
   TILEGX_INSN_SHUFFLEBYTES,
+  TILEGX_INSN_SHUFFLEBYTES1,
   TILEGX_INSN_ST,
   TILEGX_INSN_ST1,
   TILEGX_INSN_ST2,
index 424027f..81e015d 100644 (file)
@@ -1352,14 +1352,16 @@ expand_set_cint64_one_inst (rtx dest_reg,
     }
   else if (!three_wide_only)
     {
-      rtx imm_op = GEN_INT (val);
-
-      if (satisfies_constraint_J (imm_op)
-         || satisfies_constraint_K (imm_op)
-         || satisfies_constraint_N (imm_op)
-         || satisfies_constraint_P (imm_op))
+      /* Test for the following constraints: J, K, N, P.  We avoid
+        generating an rtx and using existing predicates because we
+        can be testing and rejecting a lot of constants, and GEN_INT
+        is O(N).  */
+      if ((val >= -32768 && val <= 65535)
+         || ((val == (val & 0xFF) * 0x0101010101010101LL))
+         || (val == ((trunc_int_for_mode (val, QImode) & 0xFFFF)
+                     * 0x0001000100010001LL)))
        {
-         emit_move_insn (dest_reg, imm_op);
+         emit_move_insn (dest_reg, GEN_INT (val));
          return true;
        }
     }
@@ -2842,6 +2844,7 @@ static struct tile_builtin_info tilegx_builtin_info[TILEGX_BUILTIN_max] = {
   { CODE_FOR_lshrdi3,                   NULL }, /* shru */
   { CODE_FOR_lshrsi3,                   NULL }, /* shrux */
   { CODE_FOR_insn_shufflebytes,         NULL }, /* shufflebytes */
+  { CODE_FOR_insn_shufflebytes1,        NULL }, /* shufflebytes1 */
   { CODE_FOR_insn_st,                   NULL }, /* st */
   { CODE_FOR_insn_st1,                  NULL }, /* st1 */
   { CODE_FOR_insn_st2,                  NULL }, /* st2 */
@@ -3170,6 +3173,7 @@ static const struct tilegx_builtin_def tilegx_builtins[] = {
   { "__insn_shrux",              TILEGX_INSN_SHRUX,              true,  "iii"  },
   { "__insn_shruxi",             TILEGX_INSN_SHRUX,              true,  "iii"  },
   { "__insn_shufflebytes",       TILEGX_INSN_SHUFFLEBYTES,       true,  "llll" },
+  { "__insn_shufflebytes1",      TILEGX_INSN_SHUFFLEBYTES1,      true,  "lll"  },
   { "__insn_st",                 TILEGX_INSN_ST,                 false, "vpl"  },
   { "__insn_st1",                TILEGX_INSN_ST1,                false, "vpl"  },
   { "__insn_st2",                TILEGX_INSN_ST2,                false, "vpl"  },
@@ -3944,11 +3948,10 @@ tilegx_expand_prologue (void)
 
        if (r == NULL_RTX)
          {
-           rtx p = compute_frame_addr (offset, &next_scratch_regno);
-           r = gen_rtx_REG (Pmode, next_scratch_regno--);
-           reg_save_addr[which_scratch] = r;
-
-           emit_insn (gen_rtx_SET (VOIDmode, r, p));
+           int prev_scratch_regno = next_scratch_regno;
+           r = compute_frame_addr (offset, &next_scratch_regno);
+           if (prev_scratch_regno != next_scratch_regno)
+             reg_save_addr[which_scratch] = r;
          }
        else
          {
@@ -4735,13 +4738,8 @@ tilegx_reorg (void)
 int
 tilegx_asm_preferred_eh_data_format (int code ATTRIBUTE_UNUSED, int global)
 {
-  if (flag_pic)
-    {
-      int type = TARGET_32BIT ? DW_EH_PE_sdata4 : DW_EH_PE_sdata8;
-      return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | type;
-    }
-  else
-    return DW_EH_PE_absptr;
+  int type = TARGET_32BIT ? DW_EH_PE_sdata4 : DW_EH_PE_sdata8;
+  return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | type;
 }
 
 
index 081ecc1..2e97aff 100644 (file)
@@ -285,6 +285,8 @@ enum reg_class
 #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
   ((OFFSET) = tilegx_initial_elimination_offset((FROM),(TO)))
 
+#define PROFILE_BEFORE_PROLOGUE 1
+
 #define FUNCTION_PROFILER(FILE, LABELNO) \
   tilegx_function_profiler (FILE, LABELNO)
 
@@ -444,7 +446,7 @@ enum reg_class
     {                                                          \
       char label[256];                                         \
       ASM_GENERATE_INTERNAL_LABEL (label, "L", (VALUE));       \
-      fprintf (FILE, "\t%s ",                                  \
+      fprintf (FILE, "%s ",                                    \
                integer_asm_op (GET_MODE_SIZE (Pmode), TRUE));  \
       assemble_name (FILE, label);                             \
       fprintf (FILE, "\n");                                    \
@@ -456,7 +458,7 @@ enum reg_class
     {                                                          \
       char label[256];                                         \
       ASM_GENERATE_INTERNAL_LABEL (label, "L", (VALUE));       \
-      fprintf (FILE, "\t%s ",                                  \
+      fprintf (FILE, "%s ",                                    \
                integer_asm_op (GET_MODE_SIZE (Pmode), TRUE));  \
       assemble_name (FILE, label);                             \
       ASM_GENERATE_INTERNAL_LABEL (label, "L", (REL));         \
index 048fe3a..5a16fec 100644 (file)
   "@
    jr\t%r0
    j\t%p0"
-  [(set_attr "type" "X1,X1")])
+  [(set_attr "type" "Y1,X1")])
 
 (define_expand "sibcall_value"
   [(parallel [(set (match_operand 0 "" "")
   "@
    jr\t%r1
    j\t%p1"
-  [(set_attr "type" "X1,X1")])
+  [(set_attr "type" "Y1,X1")])
 
 (define_insn "jump"
   [(set (pc) (label_ref (match_operand 0 "" "")))]
   "shufflebytes\t%0, %r2, %r3"
   [(set_attr "type" "X0")])
 
+(define_insn "insn_shufflebytes1"
+  [(set (match_operand:DI 0 "register_operand" "=r")
+        (unspec:DI [(match_operand:DI 1 "reg_or_0_operand" "rO")
+                    (match_operand:DI 2 "reg_or_0_operand" "rO")]
+                   UNSPEC_INSN_SHUFFLEBYTES))]
+  ""
+  "shufflebytes\t%0, %r1, %r2"
+  [(set_attr "type" "X0")])
+
 ;; stores
 
 (define_expand "insn_st"
 ;; insn_v1mz
 ;; insn_v2mnz
 ;; insn_v2mz
-(define_insn "insn_mnz_<mode>"
-  [(set (match_operand:VEC48MODE 0 "register_operand" "=r")
-       (if_then_else:VEC48MODE
-         (ne:VEC48MODE
-         (match_operand:VEC48MODE 1 "reg_or_0_operand" "rO")
-         (const_int 0))
-         (match_operand:VEC48MODE 2 "reg_or_0_operand" "rO")
-         (const_int 0)))]
-  ""
-  "v<n>mnz\t%0, %r1, %r2"
+(define_insn "insn_mnz_v8qi"
+  [(set (match_operand:V8QI 0 "register_operand" "=r")
+       (if_then_else:V8QI
+         (ne:V8QI
+         (match_operand:V8QI 1 "reg_or_0_operand" "rO")
+         (const_vector:V8QI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+         (match_operand:V8QI 2 "reg_or_0_operand" "rO")
+        (const_vector:V8QI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])))]
+  ""
+  "v1mnz\t%0, %r1, %r2"
   [(set_attr "type" "X01")])
 
-(define_expand "insn_v<n>mnz"
+(define_expand "insn_v1mnz"
   [(set (match_operand:DI 0 "register_operand" "")
-       (if_then_else:VEC48MODE
-         (ne:VEC48MODE
+       (if_then_else:V8QI
+         (ne:V8QI
          (match_operand:DI 1 "reg_or_0_operand" "")
-         (const_int 0))
+         (const_vector:V8QI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)])
+         )
          (match_operand:DI 2 "reg_or_0_operand" "")
-         (const_int 0)))]
+        (const_vector:V8QI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])))]
   ""
 {
-  tilegx_expand_builtin_vector_binop (gen_insn_mnz_<mode>, <MODE>mode,
-                                      operands[0], <MODE>mode, operands[1],
+  tilegx_expand_builtin_vector_binop (gen_insn_mnz_v8qi, V8QImode,
+                                      operands[0], V8QImode, operands[1],
                                      operands[2], true);
   DONE;
 })
 
-(define_insn "insn_mz_<mode>"
-  [(set (match_operand:VEC48MODE 0 "register_operand" "=r")
-       (if_then_else:VEC48MODE
-         (ne:VEC48MODE
-         (match_operand:VEC48MODE 1 "reg_or_0_operand" "rO")
-         (const_int 0))
-         (const_int 0)
-         (match_operand:VEC48MODE 2 "reg_or_0_operand" "rO")))]
+(define_insn "insn_mz_v8qi"
+  [(set (match_operand:V8QI 0 "register_operand" "=r")
+       (if_then_else:V8QI
+         (ne:V8QI
+         (match_operand:V8QI 1 "reg_or_0_operand" "rO")
+         (const_vector:V8QI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+        (const_vector:V8QI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])
+         (match_operand:V8QI 2 "reg_or_0_operand" "rO")))]
+  ""
+  "v1mz\t%0, %r1, %r2"
+  [(set_attr "type" "X01")])
+
+(define_expand "insn_v1mz"
+  [(set (match_operand:DI 0 "register_operand" "")
+       (if_then_else:V8QI
+         (ne:V8QI
+         (match_operand:DI 1 "reg_or_0_operand" "")
+         (const_vector:V8QI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+        (const_vector:V8QI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)])
+         (match_operand:DI 2 "reg_or_0_operand" "")))]
   ""
-  "v<n>mz\t%0, %r1, %r2"
+{
+  tilegx_expand_builtin_vector_binop (gen_insn_mz_v8qi, V8QImode,
+                                      operands[0], V8QImode, operands[1],
+                                     operands[2], true);
+  DONE;
+})
+
+(define_insn "insn_mnz_v4hi"
+  [(set (match_operand:V4HI 0 "register_operand" "=r")
+       (if_then_else:V4HI
+         (ne:V4HI
+         (match_operand:V4HI 1 "reg_or_0_operand" "rO")
+         (const_vector:V4HI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+         (match_operand:V4HI 2 "reg_or_0_operand" "rO")
+        (const_vector:V4HI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])))]
+  ""
+  "v2mnz\t%0, %r1, %r2"
+  [(set_attr "type" "X01")])
+
+(define_expand "insn_v2mnz"
+  [(set (match_operand:DI 0 "register_operand" "")
+       (if_then_else:V4HI
+         (ne:V4HI
+         (match_operand:DI 1 "reg_or_0_operand" "")
+         (const_vector:V4HI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+         (match_operand:DI 2 "reg_or_0_operand" "")
+        (const_vector:V4HI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])))]
+  ""
+{
+  tilegx_expand_builtin_vector_binop (gen_insn_mnz_v4hi, V4HImode,
+                                      operands[0], V4HImode, operands[1],
+                                     operands[2], true);
+  DONE;
+})
+
+(define_insn "insn_mz_v4hi"
+  [(set (match_operand:V4HI 0 "register_operand" "=r")
+       (if_then_else:V4HI
+         (ne:V4HI
+         (match_operand:V4HI 1 "reg_or_0_operand" "rO")
+         (const_vector:V4HI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+        (const_vector:V4HI [(const_int 0) (const_int 0)
+                            (const_int 0) (const_int 0)])
+         (match_operand:V4HI 2 "reg_or_0_operand" "rO")))]
+  ""
+  "v2mz\t%0, %r1, %r2"
   [(set_attr "type" "X01")])
-(define_expand "insn_v<n>mz"
+
+(define_expand "insn_v2mz"
   [(set (match_operand:DI 0 "register_operand" "")
-       (if_then_else:VEC48MODE
-         (ne:VEC48MODE
+       (if_then_else:V4HI
+         (ne:V4HI
          (match_operand:DI 1 "reg_or_0_operand" "")
-         (const_int 0))
-         (const_int 0)
+         (const_vector:V4HI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)]))
+        (const_vector:V4HI [(const_int 0) (const_int 0)
+                             (const_int 0) (const_int 0)])
          (match_operand:DI 2 "reg_or_0_operand" "")))]
   ""
 {
-  tilegx_expand_builtin_vector_binop (gen_insn_mz_<mode>, <MODE>mode,
-                                      operands[0], <MODE>mode, operands[1],
+  tilegx_expand_builtin_vector_binop (gen_insn_mz_v4hi, V4HImode,
+                                      operands[0], V4HImode, operands[1],
                                      operands[2], true);
   DONE;
 })
 
 (define_expand "insn_v1mulu"
   [(match_operand:DI 0 "register_operand" "")
-   (match_operand:DI 1 "reg_or_0_operand" "")
-   (match_operand:DI 2 "reg_or_0_operand" "")]
+   (match_operand:DI 1 "register_operand" "")
+   (match_operand:DI 2 "register_operand" "")]
   ""
 {
   tilegx_expand_builtin_vector_binop (gen_vec_widen_umult_lo_v8qi, V4HImode,
 
 (define_expand "insn_v1mulus"
   [(match_operand:DI 0 "register_operand" "")
-   (match_operand:DI 1 "reg_or_0_operand" "")
-   (match_operand:DI 2 "reg_or_0_operand" "")]
+   (match_operand:DI 1 "register_operand" "")
+   (match_operand:DI 2 "register_operand" "")]
   ""
 {
   tilegx_expand_builtin_vector_binop (gen_vec_widen_usmult_lo_v8qi, V4HImode,
 
 (define_expand "insn_v2muls"
   [(match_operand:DI 0 "register_operand" "")
-   (match_operand:DI 1 "reg_or_0_operand" "")
-   (match_operand:DI 2 "reg_or_0_operand" "")]
+   (match_operand:DI 1 "register_operand" "")
+   (match_operand:DI 2 "register_operand" "")]
   ""
 {
   tilegx_expand_builtin_vector_binop (gen_vec_widen_smult_lo_v4qi, V2SImode,
index 7cdb555..c2507c2 100644 (file)
@@ -4340,10 +4340,7 @@ tilepro_reorg (void)
 int
 tilepro_asm_preferred_eh_data_format (int code ATTRIBUTE_UNUSED, int global)
 {
-  if (flag_pic)
-    return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
-  else
-    return DW_EH_PE_absptr;
+  return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
 }
 
 
index 930612d..88a0826 100644 (file)
@@ -268,6 +268,8 @@ enum reg_class
 #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
   ((OFFSET) = tilepro_initial_elimination_offset((FROM),(TO)))
 
+#define PROFILE_BEFORE_PROLOGUE 1
+
 #define FUNCTION_PROFILER(FILE, LABELNO) \
   tilepro_function_profiler (FILE, LABELNO)
 
index 52cc6b6..91adc79 100755 (executable)
@@ -764,6 +764,9 @@ SYSROOT_CFLAGS_FOR_TARGET
 enable_shared
 enable_fixed_point
 enable_decimal_float
+with_float
+with_cpu
+enable_multiarch
 enable_multilib
 ENABLE_BUILD_WITH_CXX
 coverage_flags
@@ -875,6 +878,7 @@ enable_gather_detailed_mem_stats
 enable_build_with_cxx
 with_stabs
 enable_multilib
+enable_multiarch
 enable___cxa_atexit
 enable_decimal_float
 enable_fixed_point
@@ -1576,6 +1580,7 @@ Optional Features:
                           enable detailed memory allocation stats gathering
   --enable-build-with-cxx build with C++ compiler instead of C compiler
   --enable-multilib       enable library support for multiple ABIs
+  --enable-multiarch      enable support for multiarch paths
   --enable-__cxa_atexit   enable __cxa_atexit for C++
   --enable-decimal-float={no,yes,bid,dpd}
                        enable decimal float extension to C.  Selecting 'bid'
@@ -7030,6 +7035,37 @@ fi
 
 
 
+# Determine whether or not multiarch is enabled.
+# Check whether --enable-multiarch was given.
+if test "${enable_multiarch+set}" = set; then :
+  enableval=$enable_multiarch; case "${enableval}" in
+yes|no|auto) enable_multiarch=$enableval;;
+*) as_fn_error "bad value ${enableval} given for --enable-multiarch option" "$LINENO" 5 ;;
+esac
+else
+  enable_multiarch=auto
+fi
+
+if test x${enable_multiarch} = xauto; then
+  if test x${with_native_system_header_dir} != x; then
+    ma_msg_suffix=", disabled auto check (configured with --native-system-header-dir)"
+    enable_multiarch=no
+  fi
+  if test x$host != x$target && test "x$with_sysroot" = x; then
+    ma_msg_suffix=", disabled auto check (cross build configured without --with-sysroot)"
+    enable_multiarch=no
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for multiarch configuration" >&5
+$as_echo_n "checking for multiarch configuration... " >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_multiarch$ma_msg_suffix" >&5
+$as_echo "$enable_multiarch$ma_msg_suffix" >&6; }
+
+# needed for setting the multiarch name for soft-float/hard-float ABIs
+
+
+
 # Enable __cxa_atexit for C++.
 # Check whether --enable-__cxa_atexit was given.
 if test "${enable___cxa_atexit+set}" = set; then :
@@ -18010,7 +18046,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18013 "configure"
+#line 18049 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18116,7 +18152,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18119 "configure"
+#line 18155 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -23858,6 +23894,12 @@ elif test x$gcc_cv_ld != x; then
       gcc_cv_ld_static_dynamic=yes
   else
     case "$target" in
+      # AIX ld uses -b flags
+      *-*-aix4.[23]* | *-*-aix[5-9]*)
+       gcc_cv_ld_static_dynamic=yes
+       gcc_cv_ld_static_option="-bstatic"
+       gcc_cv_ld_dynamic_option="-bdynamic"
+       ;;
       # Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
       alpha*-dec-osf*)
         gcc_cv_ld_static_dynamic=yes
@@ -26530,7 +26572,9 @@ if test "${gcc_cv_ld_no_dot_syms+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   gcc_cv_ld_no_dot_syms=no
-    if test $in_tree_ld = yes ; then
+    if test x"$ld_is_gold" = xyes; then
+      gcc_cv_ld_no_dot_syms=yes
+    elif test $in_tree_ld = yes ; then
       if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2; then
         gcc_cv_ld_no_dot_syms=yes
       fi
@@ -26574,7 +26618,9 @@ if test "${gcc_cv_ld_large_toc+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   gcc_cv_ld_large_toc=no
-    if test $in_tree_ld = yes ; then
+    if test x"$ld_is_gold" = xyes; then
+      gcc_cv_ld_large_toc=yes
+    elif test $in_tree_ld = yes ; then
       if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then
         gcc_cv_ld_large_toc=yes
       fi
index 2d1876f..1d41895 100644 (file)
@@ -623,6 +623,32 @@ AC_ARG_ENABLE(multilib,
 [], [enable_multilib=yes])
 AC_SUBST(enable_multilib)
 
+# Determine whether or not multiarch is enabled.
+AC_ARG_ENABLE(multiarch,
+[AS_HELP_STRING([--enable-multiarch],
+               [enable support for multiarch paths])],
+[case "${enableval}" in
+yes|no|auto) enable_multiarch=$enableval;;
+*) AC_MSG_ERROR(bad value ${enableval} given for --enable-multiarch option) ;;
+esac], [enable_multiarch=auto])
+if test x${enable_multiarch} = xauto; then
+  if test x${with_native_system_header_dir} != x; then
+    ma_msg_suffix=", disabled auto check (configured with --native-system-header-dir)"
+    enable_multiarch=no
+  fi
+  if test x$host != x$target && test "x$with_sysroot" = x; then
+    ma_msg_suffix=", disabled auto check (cross build configured without --with-sysroot)"
+    enable_multiarch=no
+  fi
+fi
+AC_MSG_CHECKING(for multiarch configuration)
+AC_SUBST(enable_multiarch)
+AC_MSG_RESULT($enable_multiarch$ma_msg_suffix)
+
+# needed for setting the multiarch name for soft-float/hard-float ABIs
+AC_SUBST(with_cpu)
+AC_SUBST(with_float)
+
 # Enable __cxa_atexit for C++.
 AC_ARG_ENABLE(__cxa_atexit,
 [AS_HELP_STRING([--enable-__cxa_atexit], [enable __cxa_atexit for C++])],
@@ -3318,6 +3344,12 @@ elif test x$gcc_cv_ld != x; then
       gcc_cv_ld_static_dynamic=yes
   else
     case "$target" in
+      # AIX ld uses -b flags
+      *-*-aix4.[[23]]* | *-*-aix[[5-9]]*)
+       gcc_cv_ld_static_dynamic=yes
+       gcc_cv_ld_static_option="-bstatic"
+       gcc_cv_ld_dynamic_option="-bdynamic"
+       ;;
       # Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
       alpha*-dec-osf*)
         gcc_cv_ld_static_dynamic=yes
@@ -4459,7 +4491,9 @@ case "$target:$tm_file" in
     AC_CACHE_CHECK(linker support for omitting dot symbols,
     gcc_cv_ld_no_dot_syms,
     [gcc_cv_ld_no_dot_syms=no
-    if test $in_tree_ld = yes ; then
+    if test x"$ld_is_gold" = xyes; then
+      gcc_cv_ld_no_dot_syms=yes
+    elif test $in_tree_ld = yes ; then
       if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2; then
         gcc_cv_ld_no_dot_syms=yes
       fi
@@ -4496,7 +4530,9 @@ EOF
     AC_CACHE_CHECK(linker large toc support,
     gcc_cv_ld_large_toc,
     [gcc_cv_ld_large_toc=no
-    if test $in_tree_ld = yes ; then
+    if test x"$ld_is_gold" = xyes; then
+      gcc_cv_ld_large_toc=yes
+    elif test $in_tree_ld = yes ; then
       if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then
         gcc_cv_ld_large_toc=yes
       fi
index 1c836d3..14da63e 100644 (file)
@@ -1,3 +1,366 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/56819
+       * tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
+       from args to new_args.
+       (strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
+       r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
+
+2013-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56794
+       * parser.c (cp_parser_range_for): Don't try to do auto deduction
+       in a template if the type of the range is incomplete.
+
+2013-03-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56774
+       PR c++/35722
+       * pt.c (unify_pack_expansion): Fix indexing.
+
+2013-03-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54277
+       * semantics.c (lambda_capture_field_type): Don't build a
+       magic decltype for pointer types.
+       (lambda_proxy_type): Likewise.
+       (finish_non_static_data_member): Get the quals from
+       the object.
+
+2013-03-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56646
+       * parser.c (cp_parser_late_return_type_opt): Save and restore
+       current_class_ptr/ref.
+
+2013-03-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56614
+       * decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
+
+2013-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56403
+       * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead
+       of CLASS_TYPE_P.
+
+2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/56534
+       * parser.c (cp_parser_elaborated_type_specifier): Don't call
+       check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
+       * decl.c (check_elaborated_type_specifier): Tidy.
+
+2013-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56543
+       * tree.c (strip_typedefs): Don't copy args if they are NULL.
+
+2013-02-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/40405
+       * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
+       if we got the wrong number of template parms.
+
+       PR c++/56395
+       * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
+       args.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56241
+       * init.c (build_vec_init): Don't append NULL values into new_vec.
+       (build_zero_init_1): Don't push anything into v if recursive call
+       returned NULL_TREE.
+       (build_value_init_noctor): Don't push anything into v if
+       build_value_init call returned NULL_TREE.
+
+       PR c++/56239
+       * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
+       (cp_parser_tokens_start_cast_expression): ... this.  Change parameter
+       to cp_parser *, call cp_lexer_peek_token first.  For CPP_OPEN_PAREN,
+       return true only if 2nd token isn't CPP_CLOSE_PAREN.
+       (cp_parser_cast_expression): Adjust caller.
+
+       PR c++/56237
+       * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
+       only if DECL_DISCRIMINATOR_SET_P (t) rather than just
+       DECL_LANG_SPECIFIC (t).
+
+2013-02-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54276
+       * semantics.c (finish_id_expression): Also return the identifier
+       for an outer local static.
+
+       PR c++/52026
+       * semantics.c (finish_id_expression): In a template, return
+       the identifier for a constant variable.
+
+       PR c++/55710
+       * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
+       TREE_USED.
+
+       PR c++/56135
+       * pt.c (tsubst_copy_and_build): Don't forget any new
+       captures that arose from use of dependent names.
+
+2013-02-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56291
+       * semantics.c (sort_constexpr_mem_initializers): Handle
+       vptr out of order.
+
+2013-02-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56268
+       * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
+       maybe_instantiate_noexcept.
+
+2013-02-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56247
+       * pt.c (eq_specializations): Set comparing_specializations.
+       * tree.c (cp_tree_equal): Check it.
+       * cp-tree.h: Declare it.
+
+2013-02-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54122
+       * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
+       METHOD_TYPE.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55652
+       * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
+       if noex is NULL.
+
+       2012-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54207
+       * except.c (build_noexcept_spec): Avoid direct comparison
+       with boolean_true_node or boolean_false_node, instead use
+       operand_equal_p and/or INTEGER_CST check.
+       * pt.c (tsubst_exception_specification): Likewise.
+       * typeck2.c (merge_exception_specifiers): Likewise.
+
+       2012-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55542
+       * pt.c (make_ith_pack_parameter_name): Return NULL if
+       name is NULL.
+       (tsubst_decl): Call make_ith_pack_parameter_name even if
+       DECL_NAME is NULL.
+
+       2012-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54046
+       * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
+       * cp-objcp-common.c (cxx_block_may_fallthru): New function.
+       * cp-tree.h (cxx_block_may_fallthru): New prototype.
+
+2013-01-25  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56104
+       * typeck.c (get_member_function_from_ptrfunc): Don't fold
+       POINTER_PLUS_EXPR.
+
+2013-01-22  Jason Merrill  <jason@redhat.com>
+
+       * call.c (type_has_extended_temps): Fix C++ism.
+
+       PR c++/53650
+       * call.c (type_has_extended_temps): New.
+       * cp-tree.h: Declare it.
+       * decl.c (check_initializer): Use build_aggr_init for arrays
+       if it is false.
+       * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
+
+       PR c++/56071
+       * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
+
+2013-01-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/56059
+       * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
+       template args count.
+
+2013-01-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55893
+       * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
+       needs destruction.
+
+2013-01-08  Joel Brobecker  <brobecker@adacore.com>
+
+       * parser.c (cp_parser_initializer_list): Move declaration
+       of variable non_const to start of lexical block.
+
+2013-01-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55877
+       * decl.c (reset_type_linkage, bt_reset_linkage): New.
+       (grokdeclarator): Use reset_type_linkage.
+       * name-lookup.c (binding_table_foreach): Handle null table.
+       * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
+
+2013-01-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55419
+       PR c++/55753
+       * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
+       TREE_CONSTANT.
+
+       PR c++/55842
+       * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
+
+       PR c++/55856
+       * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
+
+2013-01-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54325
+       * call.c (build_new_method_call_1): Don't use build_value_init for
+       user-provided default constructors.
+
+       PR c++/55032
+       PR c++/55245
+       * tree.c (build_cplus_array_type): Copy layout information
+       to main variant if necessary.
+
+2012-12-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55724
+       * pt.c (type_unification_real): Re-combine post-deduction loops.
+
+2012-12-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54883
+       * decl2.c (min_vis_r): Handle anon visibility for enums.
+
+2012-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55643
+       * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
+
+2012-12-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/55419
+       * tree.c (build_target_expr): Don't set TREE_CONSTANT.
+
+2012-12-07  Matthias Klose  <doko@ubuntu.com>
+
+       * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
+
+2012-12-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/54325
+       * tree.c (build_aggr_init_expr): Don't check for abstract class.
+       (build_cplus_new): Check here instead.
+
+       PR c++/55058
+       * pt.c (tsubst): Keep the quals when looking through a typedef.
+
+       PR c++/55249
+       * tree.c (build_vec_init_elt): Use the type of the initializer.
+
+       PR c++/54744
+       * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
+
+       PR c++/54947
+       * parser.c (cp_parser_initializer_list): Don't require an
+       expression in [] to be constant until we know it's a C99
+       designator.
+
+       PR c++/55015
+       PR c++/53821
+       * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
+       * decl.c (start_preparsed_function): Make local class methods comdat
+       in templates, too.
+
+2012-11-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/53137
+       * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
+       (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
+       (instantiate_class_template_1): Not here.
+
+       PR c++/53862
+       * pt.c (tsubst_arg_types): Add "end" parameter.
+       (check_undeduced_parms): Use it.
+
+       PR c++/53039
+       * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
+       cp_tree_equal.
+
+       * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
+       (struct template_parm_index_s): Remove num_siblings.
+       * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
+       (fixup_template_type_parm_type): Remove.
+       (build_template_parm_index): Remove num_siblings parm.
+       (process_template_parm): Likewise.
+       * parser.c (cp_parser_template_parameter_list): Adjust.
+       * tree.c (cp_tree_equal): Don't compare num_siblings.
+       * typeck.c (comp_template_parms_position): Likewise.
+
+       PR c++/50852
+       PR c++/53039
+       * tree.c (strip_typedefs_expr): New.
+       * cp-tree.h: Declare it.
+       * pt.c (convert_template_argument, unify): Use it.
+       * parser.c (cp_parser_template_declaration_after_export): Don't call
+       fixup_template_parms.
+
+2012-11-29  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/53912
+       * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
+       (dump_vtable): Likewise.
+
+2012-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/55446
+       * init.c (build_vec_init): Do not early return error_mark_mode
+       when integer_all_onesp (maxindex).
+
+2012-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54988
+       * decl2.c (cplus_decl_attributes): Don't return early
+       if attributes is NULL.
+
+2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/54984
+       * init.c (build_new): Don't turn a null *init into a pointer to
+       empty vector orig_init.
+
+2012-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54858
+       * tree.c (cp_tree_equal): Handle FIELD_DECL.
+
+2012-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54777
+       * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
+       not ignoring the second operand, pass the original second operand
+       and not one with stripped nops to cxx_eval_constant_expression.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 648d003..f49851d 100644 (file)
@@ -7218,6 +7218,9 @@ build_new_method_call_1 (tree instance, tree fns, VEC(tree,gc) **args,
         build_special_member_call.  */
       if (CONSTRUCTOR_NELTS (init_list) == 0
          && TYPE_HAS_DEFAULT_CONSTRUCTOR (basetype)
+         /* For a user-provided default constructor, use the normal
+            mechanisms so that protected access works.  */
+         && !type_has_user_provided_default_constructor (basetype)
          && !processing_template_decl)
        init = build_value_init (basetype, complain);
 
@@ -8832,6 +8835,29 @@ extend_ref_init_temps (tree decl, tree init, VEC(tree,gc) **cleanups)
   return init;
 }
 
+/* Returns true iff an initializer for TYPE could contain temporaries that
+   need to be extended because they are bound to references or
+   std::initializer_list.  */
+
+bool
+type_has_extended_temps (tree type)
+{
+  type = strip_array_types (type);
+  if (TREE_CODE (type) == REFERENCE_TYPE)
+    return true;
+  if (CLASS_TYPE_P (type))
+    {
+      tree f;
+      if (is_std_init_list (type))
+       return true;
+      for (f = next_initializable_field (TYPE_FIELDS (type));
+          f; f = next_initializable_field (DECL_CHAIN (f)))
+       if (type_has_extended_temps (TREE_TYPE (f)))
+         return true;
+    }
+  return false;
+}
+
 /* Returns true iff TYPE is some variant of std::initializer_list.  */
 
 bool
index 633bff3..ce7798a 100644 (file)
@@ -7536,9 +7536,9 @@ dump_class_hierarchy_r (FILE *stream,
   int i;
 
   indented = maybe_indent_hierarchy (stream, indent, 0);
-  fprintf (stream, "%s (0x%lx) ",
+  fprintf (stream, "%s (0x" HOST_WIDE_INT_PRINT_HEX ") ",
           type_as_string (BINFO_TYPE (binfo), TFF_PLAIN_IDENTIFIER),
-          (unsigned long) binfo);
+          (HOST_WIDE_INT) (uintptr_t) binfo);
   if (binfo != igo)
     {
       fprintf (stream, "alternative-path\n");
@@ -7560,10 +7560,10 @@ dump_class_hierarchy_r (FILE *stream,
   if (BINFO_PRIMARY_P (binfo))
     {
       indented = maybe_indent_hierarchy (stream, indent + 3, indented);
-      fprintf (stream, " primary-for %s (0x%lx)",
+      fprintf (stream, " primary-for %s (0x" HOST_WIDE_INT_PRINT_HEX ")",
               type_as_string (BINFO_TYPE (BINFO_INHERITANCE_CHAIN (binfo)),
                               TFF_PLAIN_IDENTIFIER),
-              (unsigned long)BINFO_INHERITANCE_CHAIN (binfo));
+              (HOST_WIDE_INT) (uintptr_t) BINFO_INHERITANCE_CHAIN (binfo));
     }
   if (BINFO_LOST_PRIMARY_P (binfo))
     {
@@ -7696,7 +7696,8 @@ dump_vtable (tree t, tree binfo, tree vtable)
       if (ctor_vtbl_p)
        {
          if (!BINFO_VIRTUAL_P (binfo))
-           fprintf (stream, " (0x%lx instance)", (unsigned long)binfo);
+           fprintf (stream, " (0x" HOST_WIDE_INT_PRINT_HEX " instance)",
+                    (HOST_WIDE_INT) (uintptr_t) binfo);
          fprintf (stream, " in %s", type_as_string (t, TFF_PLAIN_IDENTIFIER));
        }
       fprintf (stream, "\n");
index a957a03..3782333 100644 (file)
@@ -227,6 +227,25 @@ init_shadowed_var_for_decl (void)
                                           tree_decl_map_eq, 0);
 }
 
+/* Return true if stmt can fall thru.  Used by block_may_fallthru
+   default case.  */
+
+bool
+cxx_block_may_fallthru (const_tree stmt)
+{
+  switch (TREE_CODE (stmt))
+    {
+    case EXPR_STMT:
+      return block_may_fallthru (EXPR_STMT_EXPR (stmt));
+
+    case THROW_EXPR:
+      return false;
+
+    default:
+      return true;
+    }
+}
+
 void
 cp_common_init_ts (void)
 {
index c668ad8..e2b56ec 100644 (file)
@@ -94,6 +94,8 @@ extern void cp_common_init_ts (void);
 #define LANG_HOOKS_TYPE_HASH_EQ        cxx_type_hash_eq
 #undef LANG_HOOKS_MISSING_NORETURN_OK_P
 #define LANG_HOOKS_MISSING_NORETURN_OK_P cp_missing_noreturn_ok_p
+#undef LANG_HOOKS_BLOCK_MAY_FALLTHRU
+#define LANG_HOOKS_BLOCK_MAY_FALLTHRU cxx_block_may_fallthru
 
 /* Attribute hooks.  */
 #undef LANG_HOOKS_COMMON_ATTRIBUTE_TABLE
index 3126963..0c1601b 100644 (file)
@@ -248,7 +248,6 @@ struct GTY(()) template_parm_index_s {
   int index;
   int level;
   int orig_level;
-  int num_siblings;
   tree decl;
 };
 typedef struct template_parm_index_s template_parm_index;
@@ -646,8 +645,9 @@ enum cp_lambda_default_capture_mode_type {
 #define LAMBDA_EXPR_CAPTURE_LIST(NODE) \
   (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->capture_list)
 
-/* During parsing of the lambda, the node in the capture-list that holds
-   the 'this' capture.  */
+/* During parsing of the lambda-introducer, the node in the capture-list
+   that holds the 'this' capture.  During parsing of the body, the
+   capture proxy for that node.  */
 #define LAMBDA_EXPR_THIS_CAPTURE(NODE) \
   (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->this_capture)
 
@@ -4205,6 +4205,10 @@ extern GTY(()) tree integer_two_node;
    function, two inside the body of a function in a local class, etc.)  */
 extern int function_depth;
 
+/* Nonzero if we are inside eq_specializations, which affects comparison of
+   PARM_DECLs in cp_tree_equal.  */
+extern int comparing_specializations;
+
 /* In parser.c.  */
 
 /* Nonzero if we are parsing an unevaluated operand: an operand to
@@ -4515,9 +4519,6 @@ enum overload_flags { NO_SPECIAL = 0, DTOR_FLAG, TYPENAME_FLAG };
        ((template_parm_index*)TEMPLATE_PARM_INDEX_CHECK (NODE))
 #define TEMPLATE_PARM_IDX(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->index)
 #define TEMPLATE_PARM_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->level)
-/* The Number of sibling parms this template parm has.  */
-#define TEMPLATE_PARM_NUM_SIBLINGS(NODE) \
-  (TEMPLATE_PARM_INDEX_CAST (NODE)->num_siblings)
 #define TEMPLATE_PARM_DESCENDANTS(NODE) (TREE_CHAIN (NODE))
 #define TEMPLATE_PARM_ORIG_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->orig_level)
 #define TEMPLATE_PARM_DECL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->decl)
@@ -4892,6 +4893,7 @@ extern tree initialize_reference          (tree, tree, int,
                                                 tsubst_flags_t);
 extern tree extend_ref_init_temps              (tree, tree, VEC(tree,gc)**);
 extern tree make_temporary_var_for_ref_to_temp (tree, tree);
+extern bool type_has_extended_temps            (tree);
 extern tree strip_top_quals                    (tree);
 extern bool reference_related_p                        (tree, tree);
 extern tree perform_implicit_conversion                (tree, tree, tsubst_flags_t);
@@ -5288,9 +5290,8 @@ extern void append_type_to_template_for_access_check (tree, tree, tree,
 extern tree splice_late_return_type            (tree, tree);
 extern bool is_auto                            (const_tree);
 extern tree process_template_parm              (tree, location_t, tree, 
-                                                bool, bool, unsigned);
+                                                bool, bool);
 extern tree end_template_parm_list             (tree);
-void fixup_template_parms (void);
 extern void end_template_decl                  (void);
 extern tree maybe_update_decl_type             (tree, tree);
 extern bool check_default_tmpl_args             (tree, tree, int, int, int);
@@ -5663,6 +5664,7 @@ extern bool type_has_nontrivial_copy_init (const_tree);
 extern bool class_tmpl_impl_spec_p             (const_tree);
 extern int zero_init_p                         (const_tree);
 extern tree strip_typedefs                     (tree);
+extern tree strip_typedefs_expr                        (tree);
 extern tree copy_binfo                         (tree, tree, tree,
                                                 tree *, int);
 extern int member_p                            (const_tree);
@@ -5920,6 +5922,7 @@ extern bool cp_var_mod_type_p                     (tree, tree);
 extern void cxx_initialize_diagnostics         (diagnostic_context *);
 extern int cxx_types_compatible_p              (tree, tree);
 extern void init_shadowed_var_for_decl         (void);
+extern bool cxx_block_may_fallthru             (const_tree);
 
 /* in cp-gimplify.c */
 extern int cp_gimplify_expr                    (tree *, gimple_seq *,
index 2379489..db0c233 100644 (file)
@@ -917,7 +917,7 @@ push_local_name (tree decl)
          if (!DECL_LANG_SPECIFIC (decl))
            retrofit_lang_decl (decl);
          DECL_LANG_SPECIFIC (decl)->u.base.u2sel = 1;
-         if (DECL_LANG_SPECIFIC (t))
+         if (DECL_DISCRIMINATOR_SET_P (t))
            DECL_DISCRIMINATOR (decl) = DECL_DISCRIMINATOR (t) + 1;
          else
            DECL_DISCRIMINATOR (decl) = 1;
@@ -5556,7 +5556,9 @@ check_initializer (tree decl, tree init, int flags, VEC(tree,gc) **cleanups)
       if ((type_build_ctor_call (type) || CLASS_TYPE_P (type))
          && !(flags & LOOKUP_ALREADY_DIGESTED)
          && !(init && BRACE_ENCLOSED_INITIALIZER_P (init)
-              && CP_AGGREGATE_TYPE_P (type)))
+              && CP_AGGREGATE_TYPE_P (type)
+              && (CLASS_TYPE_P (type)
+                  || type_has_extended_temps (type))))
        {
          init_code = build_aggr_init_full_exprs (decl, init, flags);
 
@@ -6318,6 +6320,10 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p,
            }
          else if (was_readonly)
            TREE_READONLY (decl) = 1;
+
+         /* Likewise if it needs destruction.  */
+         if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type))
+           TREE_READONLY (decl) = 0;
        }
 
       make_rtl_for_nonlocal_decl (decl, init, asmspec);
@@ -8300,6 +8306,23 @@ check_var_type (tree identifier, tree type)
   return type;
 }
 
+/* Functions for adjusting the visibility of a tagged type and its nested
+   types when it gets a name for linkage purposes from a typedef.  */
+
+static void bt_reset_linkage (binding_entry, void *);
+static void
+reset_type_linkage (tree type)
+{
+  set_linkage_according_to_type (type, TYPE_MAIN_DECL (type));
+  if (CLASS_TYPE_P (type))
+    binding_table_foreach (CLASSTYPE_NESTED_UTDS (type), bt_reset_linkage, NULL);
+}
+static void
+bt_reset_linkage (binding_entry b, void *data ATTRIBUTE_UNUSED)
+{
+  reset_type_linkage (b->type);
+}
+
 /* Given declspecs and a declarator (abstract or otherwise), determine
    the name and type of the object declared and construct a DECL node
    for it.
@@ -9798,8 +9821,7 @@ grokdeclarator (const cp_declarator *declarator,
              = TYPE_IDENTIFIER (type);
 
          /* Adjust linkage now that we aren't anonymous anymore.  */
-         set_linkage_according_to_type (type, TYPE_MAIN_DECL (type));
-         determine_visibility (TYPE_MAIN_DECL (type));
+         reset_type_linkage (type);
 
          /* FIXME remangle member functions; member functions of a
             type with external linkage have external linkage.  */
@@ -10514,9 +10536,8 @@ static tree
 local_variable_p_walkfn (tree *tp, int *walk_subtrees,
                         void *data ATTRIBUTE_UNUSED)
 {
-  /* Check DECL_NAME to avoid including temporaries.  We don't check
-     DECL_ARTIFICIAL because we do want to complain about 'this'.  */
-  if (local_variable_p (*tp) && DECL_NAME (*tp))
+  if (local_variable_p (*tp)
+      && (!DECL_ARTIFICIAL (*tp) || DECL_NAME (*tp) == this_identifier))
     return *tp;
   else if (TYPE_P (*tp))
     *walk_subtrees = 0;
@@ -11439,9 +11460,6 @@ check_elaborated_type_specifier (enum tag_types tag_code,
 {
   tree type;
 
-  if (decl == error_mark_node)
-    return error_mark_node;
-
   /* In the case of:
 
        struct S { struct S *p; };
@@ -12928,10 +12946,9 @@ start_preparsed_function (tree decl1, tree attrs, int flags)
       if (DECL_NOT_REALLY_EXTERN (decl1))
        DECL_EXTERNAL (decl1) = 0;
 
-      if (ctx != NULL_TREE && DECL_DECLARED_INLINE_P (ctx)
-         && TREE_PUBLIC (ctx))
+      if (ctx != NULL_TREE && vague_linkage_p (ctx))
        /* This is a function in a local class in an extern inline
-          function.  */
+          or template function.  */
        comdat_linkage (decl1);
     }
   /* If this function belongs to an interface, it is public.
index bdc962a..f23062b 100644 (file)
@@ -1302,8 +1302,7 @@ void
 cplus_decl_attributes (tree *decl, tree attributes, int flags)
 {
   if (*decl == NULL_TREE || *decl == void_type_node
-      || *decl == error_mark_node
-      || attributes == NULL_TREE)
+      || *decl == error_mark_node)
     return;
 
   if (processing_template_decl)
@@ -1312,8 +1311,6 @@ cplus_decl_attributes (tree *decl, tree attributes, int flags)
        return;
 
       save_template_attributes (&attributes, decl);
-      if (attributes == NULL_TREE)
-       return;
     }
 
   cp_check_const_attributes (attributes);
@@ -1932,16 +1929,15 @@ min_vis_r (tree *tp, int *walk_subtrees, void *data)
     {
       *walk_subtrees = 0;
     }
-  else if (CLASS_TYPE_P (*tp))
+  else if (TAGGED_TYPE_P (*tp)
+          && !TREE_PUBLIC (TYPE_MAIN_DECL (*tp)))
     {
-      if (!TREE_PUBLIC (TYPE_MAIN_DECL (*tp)))
-       {
-         *vis_p = VISIBILITY_ANON;
-         return *tp;
-       }
-      else if (CLASSTYPE_VISIBILITY (*tp) > *vis_p)
-       *vis_p = CLASSTYPE_VISIBILITY (*tp);
+      *vis_p = VISIBILITY_ANON;
+      return *tp;
     }
+  else if (CLASS_TYPE_P (*tp)
+          && CLASSTYPE_VISIBILITY (*tp) > *vis_p)
+    *vis_p = CLASSTYPE_VISIBILITY (*tp);
   return NULL;
 }
 
index c56dc2c..f7a1c7e 100644 (file)
@@ -1302,15 +1302,21 @@ build_noexcept_spec (tree expr, int complain)
                                                LOOKUP_NORMAL);
       expr = cxx_constant_value (expr);
     }
-  if (expr == boolean_true_node)
-    return noexcept_true_spec;
-  else if (expr == boolean_false_node)
-    return noexcept_false_spec;
+  if (TREE_CODE (expr) == INTEGER_CST)
+    {
+      if (operand_equal_p (expr, boolean_true_node, 0))
+       return noexcept_true_spec;
+      else
+       {
+         gcc_checking_assert (operand_equal_p (expr, boolean_false_node, 0));
+         return noexcept_false_spec;
+       }
+    }
   else if (expr == error_mark_node)
     return error_mark_node;
   else
     {
-      gcc_assert (processing_template_decl || expr == error_mark_node
+      gcc_assert (processing_template_decl
                  || TREE_CODE (expr) == DEFERRED_NOEXCEPT);
       return build_tree_list (expr, NULL_TREE);
     }
index ede4725..c521e7d 100644 (file)
@@ -131,6 +131,7 @@ mark_exp_read (tree exp)
     CASE_CONVERT:
     case ADDR_EXPR:
     case INDIRECT_REF:
+    case FLOAT_EXPR:
       mark_exp_read (TREE_OPERAND (exp, 0));
       break;
     case COMPOUND_EXPR:
index fe5d040..bb0e618 100644 (file)
@@ -182,7 +182,7 @@ build_zero_init_1 (tree type, tree nelts, bool static_storage_p,
     init = convert (type, nullptr_node);
   else if (SCALAR_TYPE_P (type))
     init = convert (type, integer_zero_node);
-  else if (CLASS_TYPE_P (type))
+  else if (RECORD_OR_UNION_CODE_P (TREE_CODE (type)))
     {
       tree field;
       VEC(constructor_elt,gc) *v = NULL;
@@ -254,21 +254,23 @@ build_zero_init_1 (tree type, tree nelts, bool static_storage_p,
         have an upper bound of -1.  */
       if (!tree_int_cst_equal (max_index, integer_minus_one_node))
        {
-         constructor_elt *ce;
-
-         v = VEC_alloc (constructor_elt, gc, 1);
-         ce = VEC_quick_push (constructor_elt, v, NULL);
+         constructor_elt ce;
 
          /* If this is a one element array, we just use a regular init.  */
          if (tree_int_cst_equal (size_zero_node, max_index))
-           ce->index = size_zero_node;
+           ce.index = size_zero_node;
          else
-           ce->index = build2 (RANGE_EXPR, sizetype, size_zero_node,
-                               max_index);
+           ce.index = build2 (RANGE_EXPR, sizetype, size_zero_node,
+                              max_index);
 
-         ce->value = build_zero_init_1 (TREE_TYPE (type),
-                                        /*nelts=*/NULL_TREE,
-                                        static_storage_p, NULL_TREE);
+         ce.value = build_zero_init_1 (TREE_TYPE (type),
+                                       /*nelts=*/NULL_TREE,
+                                       static_storage_p, NULL_TREE);
+         if (ce.value)
+           {
+             v = VEC_alloc (constructor_elt, gc, 1);
+             *VEC_quick_push (constructor_elt, v, NULL) = ce;
+           }
        }
 
       /* Build a constructor to contain the initializations.  */
@@ -449,28 +451,31 @@ build_value_init_noctor (tree type, tsubst_flags_t complain)
         have an upper bound of -1.  */
       if (!tree_int_cst_equal (max_index, integer_minus_one_node))
        {
-         constructor_elt *ce;
-
-         v = VEC_alloc (constructor_elt, gc, 1);
-         ce = VEC_quick_push (constructor_elt, v, NULL);
+         constructor_elt ce;
 
          /* If this is a one element array, we just use a regular init.  */
          if (tree_int_cst_equal (size_zero_node, max_index))
-           ce->index = size_zero_node;
+           ce.index = size_zero_node;
          else
-           ce->index = build2 (RANGE_EXPR, sizetype, size_zero_node,
-                               max_index);
+           ce.index = build2 (RANGE_EXPR, sizetype, size_zero_node,
+                              max_index);
 
-         ce->value = build_value_init (TREE_TYPE (type), complain);
+         ce.value = build_value_init (TREE_TYPE (type), complain);
 
-         if (ce->value == error_mark_node)
-           return error_mark_node;
+         if (ce.value)
+           {
+             if (ce.value == error_mark_node)
+               return error_mark_node;
+
+             v = VEC_alloc (constructor_elt, gc, 1);
+             *VEC_quick_push (constructor_elt, v, NULL) = ce;
 
-         /* We shouldn't have gotten here for anything that would need
-            non-trivial initialization, and gimplify_init_ctor_preeval
-            would need to be fixed to allow it.  */
-         gcc_assert (TREE_CODE (ce->value) != TARGET_EXPR
-                     && TREE_CODE (ce->value) != AGGR_INIT_EXPR);
+             /* We shouldn't have gotten here for anything that would need
+                non-trivial initialization, and gimplify_init_ctor_preeval
+                would need to be fixed to allow it.  */
+             gcc_assert (TREE_CODE (ce.value) != TARGET_EXPR
+                         && TREE_CODE (ce.value) != AGGR_INIT_EXPR);
+           }
        }
 
       /* Build a constructor to contain the initializations.  */
@@ -2794,7 +2799,8 @@ build_new (VEC(tree,gc) **placement, tree type, tree nelts,
 
       orig_placement = make_tree_vector_copy (*placement);
       orig_nelts = nelts;
-      orig_init = make_tree_vector_copy (*init);
+      if (*init)
+       orig_init = make_tree_vector_copy (*init);
 
       make_args_non_dependent (*placement);
       if (nelts)
@@ -3150,8 +3156,7 @@ build_vec_init (tree base, tree maxindex, tree init,
   if (TREE_CODE (atype) == ARRAY_TYPE && TYPE_DOMAIN (atype))
     maxindex = array_type_nelts (atype);
 
-  if (maxindex == NULL_TREE || maxindex == error_mark_node
-      || integer_all_onesp (maxindex))
+  if (maxindex == NULL_TREE || maxindex == error_mark_node)
     return error_mark_node;
 
   if (explicit_value_init_p)
@@ -3335,9 +3340,12 @@ build_vec_init (tree base, tree maxindex, tree init,
              else
                {
                  if (do_static_init)
-                   CONSTRUCTOR_APPEND_ELT (new_vec, field,
-                                           build_zero_init (TREE_TYPE (e),
-                                                            NULL_TREE, true));
+                   {
+                     tree value = build_zero_init (TREE_TYPE (e), NULL_TREE,
+                                                   true);
+                     if (value)
+                       CONSTRUCTOR_APPEND_ELT (new_vec, field, value);
+                   }
                  saw_non_const = true;
                }
            }
@@ -3501,7 +3509,9 @@ build_vec_init (tree base, tree maxindex, tree init,
       if (TREE_CODE (type) == ARRAY_TYPE)
        m = cp_build_binary_op (input_location,
                                MULT_EXPR, m,
-                               array_type_nelts_total (type),
+                               /* Force signed arithmetic.  */
+                               convert (TREE_TYPE (m),
+                                        array_type_nelts_total (type)),
                                complain);
 
       finish_cleanup_try_block (try_block);
index 78589af..565d396 100644 (file)
@@ -251,9 +251,13 @@ binding_table_find (binding_table table, tree name)
 void
 binding_table_foreach (binding_table table, bt_foreach_proc proc, void *data)
 {
-  const size_t chain_count = table->chain_count;
+  size_t chain_count;
   size_t i;
 
+  if (!table)
+    return;
+
+  chain_count = table->chain_count;
   for (i = 0; i < chain_count; ++i)
     {
       binding_entry entry = table->chain[i];
index a7018d4..f5c60d3 100644 (file)
@@ -7010,8 +7010,9 @@ cp_parser_delete_expression (cp_parser* parser)
    otherwise.  */
 
 static bool
-cp_parser_token_starts_cast_expression (cp_token *token)
+cp_parser_tokens_start_cast_expression (cp_parser *parser)
 {
+  cp_token *token = cp_lexer_peek_token (parser->lexer);
   switch (token->type)
     {
     case CPP_COMMA:
@@ -7052,6 +7053,12 @@ cp_parser_token_starts_cast_expression (cp_token *token)
     case CPP_EOF:
       return false;
 
+    case CPP_OPEN_PAREN:
+      /* In ((type ()) () the last () isn't a valid cast-expression,
+        so the whole must be parsed as postfix-expression.  */
+      return cp_lexer_peek_nth_token (parser->lexer, 2)->type
+            != CPP_CLOSE_PAREN;
+
       /* '[' may start a primary-expression in obj-c++.  */
     case CPP_OPEN_SQUARE:
       return c_dialect_objc ();
@@ -7144,8 +7151,7 @@ cp_parser_cast_expression (cp_parser *parser, bool address_p, bool cast_p,
         parenthesized ctor such as `(T ())' that looks like a cast to
         function returning T.  */
       if (!cp_parser_error_occurred (parser)
-         && cp_parser_token_starts_cast_expression (cp_lexer_peek_token
-                                                    (parser->lexer)))
+         && cp_parser_tokens_start_cast_expression (parser))
        {
          cp_parser_parse_definitely (parser);
          expr = cp_parser_cast_expression (parser,
@@ -9358,7 +9364,10 @@ cp_parser_range_for (cp_parser *parser, tree scope, tree init, tree range_decl)
        range_expr = error_mark_node;
       stmt = begin_range_for_stmt (scope, init);
       finish_range_for_decl (stmt, range_decl, range_expr);
-      if (!type_dependent_expression_p (range_expr)
+      if (range_expr != error_mark_node
+         && !type_dependent_expression_p (range_expr)
+         /* The length of an array might be dependent.  */
+         && COMPLETE_TYPE_P (TREE_TYPE (range_expr))
          /* do_auto_deduction doesn't mess with template init-lists.  */
          && !BRACE_ENCLOSED_INITIALIZER_P (range_expr))
        do_range_for_auto_deduction (range_decl, range_expr);
@@ -11967,8 +11976,7 @@ cp_parser_template_parameter_list (cp_parser* parser)
                                                parm_loc,
                                                parameter,
                                                is_non_type,
-                                               is_parameter_pack,
-                                               0);
+                                               is_parameter_pack);
       else
        {
          tree err_parm = build_tree_list (parameter, parameter);
@@ -14030,12 +14038,14 @@ cp_parser_elaborated_type_specifier (cp_parser* parser,
                                   typename_type,
                                   /*complain=*/tf_error);
       /* If the `typename' keyword is in effect and DECL is not a type
-        decl. Then type is non existant.   */
+        decl, then type is non existent.   */
       else if (tag_type == typename_type && TREE_CODE (decl) != TYPE_DECL)
-        type = NULL_TREE
-      else 
-       type = check_elaborated_type_specifier (tag_type, decl,
+        ; 
+      else if (TREE_CODE (decl) == TYPE_DECL)
+        type = check_elaborated_type_specifier (tag_type, decl,
                                                /*allow_template_p=*/true);
+      else if (decl == error_mark_node)
+       type = error_mark_node; 
     }
 
   if (!type)
@@ -16692,17 +16702,21 @@ cp_parser_late_return_type_opt (cp_parser* parser, cp_cv_quals quals)
   /* Consume the ->.  */
   cp_lexer_consume_token (parser->lexer);
 
+  tree save_ccp = current_class_ptr;
+  tree save_ccr = current_class_ref;
   if (quals >= 0)
     {
       /* DR 1207: 'this' is in scope in the trailing return type.  */
-      gcc_assert (current_class_ptr == NULL_TREE);
       inject_this_parameter (current_class_type, quals);
     }
 
   type = cp_parser_trailing_type_id (parser);
 
   if (quals >= 0)
-    current_class_ptr = current_class_ref = NULL_TREE;
+    {
+      current_class_ptr = save_ccp;
+      current_class_ref = save_ccr;
+    }
 
   return type;
 }
@@ -17665,13 +17679,17 @@ cp_parser_initializer_list (cp_parser* parser, bool* non_constant_p)
               && cp_lexer_next_token_is (parser->lexer, CPP_OPEN_SQUARE))
        {
          /* In C++11, [ could start a lambda-introducer.  */
+         bool non_const = false;
+
          cp_parser_parse_tentatively (parser);
          cp_lexer_consume_token (parser->lexer);
-         designator = cp_parser_constant_expression (parser, false, NULL);
+         designator = cp_parser_constant_expression (parser, true, &non_const);
          cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE);
          cp_parser_require (parser, CPP_EQ, RT_EQ);
          if (!cp_parser_parse_definitely (parser))
            designator = NULL_TREE;
+         else if (non_const)
+           require_potential_rvalue_constant_expression (designator);
        }
       else
        designator = NULL_TREE;
@@ -21134,7 +21152,6 @@ cp_parser_template_declaration_after_export (cp_parser* parser, bool member_p)
     {
       /* Parse the template parameters.  */
       parameter_list = cp_parser_template_parameter_list (parser);
-      fixup_template_parms ();
     }
 
   /* Get the deferred access checks from the parameter list.  These
index 0c51239..783a8ee 100644 (file)
@@ -148,7 +148,7 @@ static tree convert_template_argument (tree, tree, tree,
 static int for_each_template_parm (tree, tree_fn_t, void*,
                                   struct pointer_set_t*, bool);
 static tree expand_template_argument_pack (tree);
-static tree build_template_parm_index (int, int, int, int, tree, tree);
+static tree build_template_parm_index (int, int, int, tree, tree);
 static bool inline_needs_template_parms (tree);
 static void push_inline_template_parms_recursive (tree, int);
 static tree retrieve_local_specialization (tree);
@@ -172,7 +172,7 @@ static tree tsubst_template_parms (tree, tree, tsubst_flags_t);
 static void regenerate_decl_from_template (tree, tree);
 static tree most_specialized_class (tree, tree, tsubst_flags_t);
 static tree tsubst_aggr_type (tree, tree, tsubst_flags_t, tree, int);
-static tree tsubst_arg_types (tree, tree, tsubst_flags_t, tree);
+static tree tsubst_arg_types (tree, tree, tree, tsubst_flags_t, tree);
 static tree tsubst_function_type (tree, tree, tsubst_flags_t, tree);
 static bool check_specialization_scope (void);
 static tree process_partial_specialization (tree);
@@ -205,8 +205,6 @@ static tree listify_autos (tree, tree);
 static tree template_parm_to_arg (tree t);
 static bool arg_from_parm_pack_p (tree, tree);
 static tree current_template_args (void);
-static tree fixup_template_type_parm_type (tree, int);
-static tree fixup_template_parm_index (tree, tree, int);
 static tree tsubst_template_parm (tree, tree, tsubst_flags_t);
 
 /* Make the current scope suitable for access checking when we are
@@ -1461,14 +1459,21 @@ register_specialization (tree spec, tree tmpl, tree args, bool is_friend,
 /* Returns true iff two spec_entry nodes are equivalent.  Only compares the
    TMPL and ARGS members, ignores SPEC.  */
 
+int comparing_specializations;
+
 static int
 eq_specializations (const void *p1, const void *p2)
 {
   const spec_entry *e1 = (const spec_entry *)p1;
   const spec_entry *e2 = (const spec_entry *)p2;
+  int equal;
+
+  ++comparing_specializations;
+  equal = (e1->tmpl == e2->tmpl
+          && comp_template_args (e1->args, e2->args));
+  --comparing_specializations;
 
-  return (e1->tmpl == e2->tmpl
-         && comp_template_args (e1->args, e2->args));
+  return equal;
 }
 
 /* Returns a hash for a template TMPL and template arguments ARGS.  */
@@ -2863,6 +2868,8 @@ make_ith_pack_parameter_name (tree name, int i)
   char* newname;
   int newname_len;
 
+  if (name == NULL_TREE)
+    return name;
   snprintf (numbuf, NUMBUF_LEN, "%i", i);
   newname_len = IDENTIFIER_LENGTH (name)
                + strlen (numbuf) + 2;
@@ -3430,14 +3437,12 @@ check_template_shadow (tree decl)
 }
 
 /* Return a new TEMPLATE_PARM_INDEX with the indicated INDEX, LEVEL,
-   ORIG_LEVEL, DECL, and TYPE.  NUM_SIBLINGS is the total number of
-   template parameters.  */
+   ORIG_LEVEL, DECL, and TYPE.  */
 
 static tree
 build_template_parm_index (int index,
                           int level,
                           int orig_level,
-                          int num_siblings,
                           tree decl,
                           tree type)
 {
@@ -3445,7 +3450,6 @@ build_template_parm_index (int index,
   TEMPLATE_PARM_IDX (t) = index;
   TEMPLATE_PARM_LEVEL (t) = level;
   TEMPLATE_PARM_ORIG_LEVEL (t) = orig_level;
-  TEMPLATE_PARM_NUM_SIBLINGS (t) = num_siblings;
   TEMPLATE_PARM_DECL (t) = decl;
   TREE_TYPE (t) = type;
   TREE_CONSTANT (t) = TREE_CONSTANT (decl);
@@ -3511,7 +3515,6 @@ reduce_template_parm_level (tree index, tree type, int levels, tree args,
       t = build_template_parm_index (TEMPLATE_PARM_IDX (index),
                                     TEMPLATE_PARM_LEVEL (index) - levels,
                                     TEMPLATE_PARM_ORIG_LEVEL (index),
-                                    TEMPLATE_PARM_NUM_SIBLINGS (index),
                                     decl, type);
       TEMPLATE_PARM_DESCENDANTS (index) = t;
       TEMPLATE_PARM_PARAMETER_PACK (t) 
@@ -3539,8 +3542,7 @@ reduce_template_parm_level (tree index, tree type, int levels, tree args,
 
 tree
 process_template_parm (tree list, location_t parm_loc, tree parm,
-                      bool is_non_type, bool is_parameter_pack,
-                      unsigned num_template_parms)
+                      bool is_non_type, bool is_parameter_pack)
 {
   tree decl = 0;
   tree defval;
@@ -3615,7 +3617,6 @@ process_template_parm (tree list, location_t parm_loc, tree parm,
       DECL_INITIAL (parm) = DECL_INITIAL (decl)
        = build_template_parm_index (idx, processing_template_decl,
                                     processing_template_decl,
-                                    num_template_parms,
                                     decl, TREE_TYPE (parm));
 
       TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm)) 
@@ -3649,7 +3650,6 @@ process_template_parm (tree list, location_t parm_loc, tree parm,
       TEMPLATE_TYPE_PARM_INDEX (t)
        = build_template_parm_index (idx, processing_template_decl,
                                     processing_template_decl,
-                                    num_template_parms,
                                     decl, TREE_TYPE (parm));
       TEMPLATE_TYPE_PARAMETER_PACK (t) = is_parameter_pack;
       TYPE_CANONICAL (t) = canonical_type_parameter (t);
@@ -3689,305 +3689,6 @@ end_template_parm_list (tree parms)
   return saved_parmlist;
 }
 
-/* Create a new type almost identical to TYPE but which has the
-   following differences:
-
-     1/ T has a new TEMPLATE_PARM_INDEX that carries the new number of
-     template sibling parameters of T.
-
-     2/ T has a new canonical type that matches the new number
-     of sibling parms.
-
-     3/ From now on, T is going to be what lookups referring to the
-     name of TYPE will return. No lookup should return TYPE anymore.
-
-   NUM_PARMS is the new number of sibling parms TYPE belongs to.
-
-   This is a subroutine of fixup_template_parms.  */
-
-static tree
-fixup_template_type_parm_type (tree type, int num_parms)
-{
-  tree orig_idx = TEMPLATE_TYPE_PARM_INDEX (type), idx;
-  tree t;
-  /* This is the decl which name is inserted into the symbol table for
-     the template parm type. So whenever we lookup the type name, this
-     is the DECL we get.  */
-  tree decl;
-
-  /* Do not fix up the type twice.  */
-  if (orig_idx && TEMPLATE_PARM_NUM_SIBLINGS (orig_idx) != 0)
-    return type;
-
-  t = copy_type (type);
-  decl = TYPE_NAME (t);
-
-  TYPE_MAIN_VARIANT (t) = t;
-  TYPE_NEXT_VARIANT (t)= NULL_TREE;
-  TYPE_POINTER_TO (t) = 0;
-  TYPE_REFERENCE_TO (t) = 0;
-
-  idx = build_template_parm_index (TEMPLATE_PARM_IDX (orig_idx),
-                                  TEMPLATE_PARM_LEVEL (orig_idx),
-                                  TEMPLATE_PARM_ORIG_LEVEL (orig_idx),
-                                  num_parms,
-                                  decl, t);
-  TEMPLATE_PARM_DESCENDANTS (idx) = TEMPLATE_PARM_DESCENDANTS (orig_idx);
-  TEMPLATE_PARM_PARAMETER_PACK (idx) = TEMPLATE_PARM_PARAMETER_PACK (orig_idx);
-  TEMPLATE_TYPE_PARM_INDEX (t) = idx;
-
-  TYPE_STUB_DECL (t) = decl;
-  TEMPLATE_TYPE_DECL (t) = decl;
-  if (TREE_CODE (type) == TEMPLATE_TEMPLATE_PARM)
-    TREE_TYPE (DECL_TEMPLATE_RESULT  (decl)) = t;
-
-  /* Update the type associated to the type name stored in the symbol
-     table. Now, whenever the type name is looked up, the resulting
-     type is properly fixed up.  */
-  TREE_TYPE (decl) = t;
-
-  TYPE_CANONICAL (t) = canonical_type_parameter (t);
-
-  return t;
-}
-
-/* Create and return a new TEMPLATE_PARM_INDEX that is almost
-   identical to I, but that is fixed up as to:
-
-   1/ carry the number of sibling parms (NUM_PARMS) of the template
-   parm represented by I.
-
-   2/ replace all references to template parm types declared before I
-   (in the same template parm list as I) by references to template
-   parm types contained in ARGS. ARGS should contain the list of
-   template parms that have been fixed up so far, in a form suitable
-   to be passed to tsubst.
-
-   This is a subroutine of fixup_template_parms.  */
-
-static tree
-fixup_template_parm_index (tree i, tree args, int num_parms)
-{
-  tree index, decl, type;
-
-  if (i == NULL_TREE
-      || TREE_CODE (i) != TEMPLATE_PARM_INDEX
-      /* Do not fix up the index twice.  */
-      || (TEMPLATE_PARM_NUM_SIBLINGS (i) != 0))
-    return i;
-
-  decl = TEMPLATE_PARM_DECL (i);
-  type = TREE_TYPE (decl);
-
-  index = build_template_parm_index (TEMPLATE_PARM_IDX (i),
-                                    TEMPLATE_PARM_LEVEL (i),
-                                    TEMPLATE_PARM_ORIG_LEVEL (i),
-                                    num_parms,
-                                    decl, type);
-
-  TEMPLATE_PARM_DESCENDANTS (index) = TEMPLATE_PARM_DESCENDANTS (i);
-  TEMPLATE_PARM_PARAMETER_PACK (index) = TEMPLATE_PARM_PARAMETER_PACK (i);
-
-  type = tsubst (type, args, tf_none, NULL_TREE);
-  
-  TREE_TYPE (decl) = type;
-  TREE_TYPE (index) = type;
-
-  return index;
-}
-
-/* 
-   This is a subroutine of fixup_template_parms.
-
-   It computes the canonical type of the type of the template
-   parameter PARM_DESC and update all references to that type so that
-   they use the newly computed canonical type. No access check is
-   performed during the fixup. PARM_DESC is a TREE_LIST which
-   TREE_VALUE is the template parameter and its TREE_PURPOSE is the
-   default argument of the template parm if any. IDX is the index of
-   the template parameter, starting at 0. NUM_PARMS is the number of
-   template parameters in the set PARM_DESC belongs to. ARGLIST is a
-   TREE_VEC containing the full set of template parameters in a form
-   suitable to be passed to substs functions as their ARGS
-   argument. This is what current_template_args returns for a given
-   template. The innermost vector of args in ARGLIST is the set of
-   template parms that have been fixed up so far. This function adds
-   the fixed up parameter into that vector.  */
-
-static void
-fixup_template_parm (tree parm_desc,
-                    int idx,
-                    int num_parms,
-                    tree arglist)
-{
-  tree parm = TREE_VALUE (parm_desc);
-  tree fixedup_args = INNERMOST_TEMPLATE_ARGS (arglist);
-
-  push_deferring_access_checks (dk_no_check);
-
-  if (TREE_CODE (parm) == TYPE_DECL)
-    {
-      /* PARM is a template type parameter. Fix up its type, add
-        the fixed-up template parm to the vector of fixed-up
-        template parms so far, and substitute the fixed-up
-        template parms into the default argument of this
-        parameter.  */
-      tree t =
-       fixup_template_type_parm_type (TREE_TYPE (parm), num_parms);
-      TREE_TYPE (parm) = t;
-
-      TREE_VEC_ELT (fixedup_args, idx) = template_parm_to_arg (parm_desc);
-    }
-  else if (TREE_CODE (parm) == TEMPLATE_DECL)
-    {
-      /* PARM is a template template parameter. This is going to
-        be interesting.  */
-      tree tparms, targs, innermost_args, t;
-      int j;
-
-      /* First, fix up the parms of the template template parm
-        because the parms are involved in defining the new canonical
-        type of the template template parm.  */
-
-      /* So we need to substitute the template parm types that have
-        been fixed up so far into the template parms of this template
-        template parm. E.g, consider this:
-
-        template<class T, template<T u> class TT> class S;
-
-        In this case we want to substitute T into the
-        template parameters of TT.
-
-        So let's walk the template parms of PARM here, and
-        tsubst ARGLIST into into each of the template
-        parms.   */
-
-      /* For this substitution we need to build the full set of
-        template parameters and use that as arguments for the
-        tsubsting function.  */
-      tparms = INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (parm));
-
-      /* This will contain the innermost parms of PARM into which
-        we have substituted so far.  */
-      innermost_args = make_tree_vec (TREE_VEC_LENGTH (tparms));
-      targs = add_to_template_args (arglist, innermost_args);
-      for (j = 0; j < TREE_VEC_LENGTH (tparms); ++j)
-       {
-         tree parameter;
-
-         parameter = TREE_VEC_ELT (tparms, j);
-
-         /* INNERMOST_ARGS needs to have at least the same number
-            of elements as the index PARAMETER, ortherwise
-            tsubsting into PARAMETER will result in partially
-            instantiating it, reducing its tempate parm
-            level. Let's tactically fill INNERMOST_ARGS for that
-            purpose.  */
-         TREE_VEC_ELT (innermost_args, j) =
-           template_parm_to_arg (parameter);
-
-         fixup_template_parm (parameter, j,
-                              TREE_VEC_LENGTH (tparms),
-                              targs);
-       }
-
-      /* Now fix up the type of the template template parm.  */
-
-      t = fixup_template_type_parm_type (TREE_TYPE (parm), num_parms);
-      TREE_TYPE (parm) = t;
-
-      TREE_VEC_ELT (fixedup_args, idx) =
-       template_parm_to_arg (parm_desc);
-    }
-  else if (TREE_CODE (parm) == PARM_DECL)
-    {
-      /* PARM is a non-type template parameter. We need to:
-
-       * Fix up its TEMPLATE_PARM_INDEX to make it carry the
-       proper number of sibling parameters.
-
-       * Make lookups of the template parameter return a reference
-       to the fixed-up index. No lookup should return references
-       to the former index anymore.
-
-       * Substitute the template parms that got fixed up so far
-
-       * into the type of PARM.  */
-
-      tree index = DECL_INITIAL (parm);
-
-      /* PUSHED_DECL is the decl added to the symbol table with
-        the name of the parameter. E,g:
-            
-        template<class T, T u> //#0
-        auto my_function(T t) -> decltype(u); //#1
-
-        Here, when looking up u at //#1, we get the decl of u
-        resulting from the declaration in #0. This is what
-        PUSHED_DECL is. We need to replace the reference to the
-        old TEMPLATE_PARM_INDEX carried by PUSHED_DECL by the
-        fixed-up TEMPLATE_PARM_INDEX.  */
-      tree pushed_decl = TEMPLATE_PARM_DECL (index);
-
-      /* Let's fix up the TEMPLATE_PARM_INDEX then. Note that we must
-        fixup the type of PUSHED_DECL as well and luckily
-        fixup_template_parm_index does it for us too.  */
-      tree fixed_up_index =
-       fixup_template_parm_index (index, arglist, num_parms);
-
-      DECL_INITIAL (pushed_decl) = DECL_INITIAL (parm) = fixed_up_index;
-
-      /* Add this fixed up PARM to the template parms we've fixed
-        up so far and use that to substitute the fixed-up
-        template parms into the type of PARM.  */
-      TREE_VEC_ELT (fixedup_args, idx) =
-       template_parm_to_arg (parm_desc);
-      TREE_TYPE (parm) = tsubst (TREE_TYPE (parm), arglist,
-                                tf_none, NULL_TREE);
-    }
-
-  TREE_PURPOSE (parm_desc) =
-    tsubst_template_arg (TREE_PURPOSE (parm_desc),
-                        arglist, tf_none, parm);
-
-  pop_deferring_access_checks ();
-}
-
-/* Walk the current template parms and properly compute the canonical
-   types of the dependent types created during
-   cp_parser_template_parameter_list.  */
-
-void
-fixup_template_parms (void)
-{
-  tree arglist;
-  tree parameter_vec;
-  tree fixedup_args;
-  int i, num_parms;
-
-  parameter_vec = INNERMOST_TEMPLATE_PARMS (current_template_parms);
-  if (parameter_vec == NULL_TREE)
-    return;
-
-  num_parms = TREE_VEC_LENGTH (parameter_vec);
-
-  /* This vector contains the current innermost template parms that
-     have been fixed up so far.  The form of FIXEDUP_ARGS is suitable
-     to be passed to tsubst* functions as their ARGS argument.  */
-  fixedup_args = make_tree_vec (num_parms);
-
-  /* This vector contains the full set of template parms in a form
-     suitable to be passed to substs functions as their ARGS
-     argument.  */
-  arglist = current_template_args ();
-  arglist = add_outermost_template_args (arglist, fixedup_args);
-
-  /* Let's do the proper fixup now.  */
-  for (i = 0; i < num_parms; ++i)
-    fixup_template_parm (TREE_VEC_ELT (parameter_vec, i),
-                        i, num_parms, arglist);
-}
-
 /* end_template_decl is called after a template declaration is seen.  */
 
 void
@@ -4091,34 +3792,13 @@ arg_from_parm_pack_p (tree arg_pack, tree parm_pack)
     {
       tree expansion = TREE_VEC_ELT (ARGUMENT_PACK_ARGS (arg_pack), 0);
       tree pattern = PACK_EXPANSION_PATTERN (expansion);
-      /* So we have an argument_pack<P...>.  We want to test if P
-        is actually PARM_PACK.  We will not use cp_tree_equal to
-        test P and PARM_PACK because during type fixup (by
-        fixup_template_parm) P can be a pre-fixup version of a
-        type and PARM_PACK be its post-fixup version.
-        cp_tree_equal would consider them as different even
-        though we would want to consider them compatible for our
-        precise purpose here.
-
-        Thus we are going to consider that P and PARM_PACK are
-        compatible if they have the same DECL.  */
-      if ((/* If ARG_PACK is a type parameter pack named by the
-             same DECL as parm_pack ...  */
-          (TYPE_P (pattern)
-           && TYPE_P (parm_pack)
-           && TYPE_NAME (pattern) == TYPE_NAME (parm_pack))
-          /* ... or if PARM_PACK is a non-type parameter named by the
-             same DECL as ARG_PACK.  Note that PARM_PACK being a
-             non-type parameter means it's either a PARM_DECL or a
-             TEMPLATE_PARM_INDEX.  */
-          || (TREE_CODE (pattern) == TEMPLATE_PARM_INDEX
-              && ((TREE_CODE (parm_pack) == PARM_DECL
-                   && (TEMPLATE_PARM_DECL (pattern)
-                       == TEMPLATE_PARM_DECL (DECL_INITIAL (parm_pack))))
-                  || (TREE_CODE (parm_pack) == TEMPLATE_PARM_INDEX
-                      && (TEMPLATE_PARM_DECL (pattern)
-                          == TEMPLATE_PARM_DECL (parm_pack))))))
-         && template_parameter_pack_p (pattern))
+      if ((TYPE_P (pattern) && same_type_p (pattern, parm_pack))
+         || (!TYPE_P (pattern) && cp_tree_equal (parm_pack, pattern)))
+       /* The argument pack that the parameter maps to is just an
+          expansion of the parameter itself, such as one would
+          find in the implicit typedef of a class inside the
+          class itself.  Consider this parameter "unsubstituted",
+          so that we will maintain the outer pack expansion.  */
        return true;
     }
   return false;
@@ -5060,6 +4740,8 @@ push_template_decl_real (tree decl, bool is_friend)
                  error ("got %d template parameters for %q#T",
                         TREE_VEC_LENGTH (a), current);
                error ("  but %d required", TREE_VEC_LENGTH (t));
+               /* Avoid crash in import_export_decl.  */
+               DECL_INTERFACE_KNOWN (decl) = 1;
                return error_mark_node;
              }
 
@@ -6609,7 +6291,7 @@ convert_template_argument (tree parm,
           argument specification is valid.  */
        val = convert_nontype_argument (t, orig_arg, complain);
       else
-       val = orig_arg;
+       val = strip_typedefs_expr (orig_arg);
 
       if (val == NULL_TREE)
        val = error_mark_node;
@@ -9195,13 +8877,8 @@ instantiate_class_template_1 (tree type)
              LAMBDA_EXPR_RETURN_TYPE (lambda) = NULL_TREE;
            }
 
-         LAMBDA_EXPR_THIS_CAPTURE (lambda)
-           = lookup_field_1 (type, get_identifier ("__this"), false);
-
          instantiate_decl (decl, false, false);
          maybe_add_lambda_conv_op (type);
-
-         LAMBDA_EXPR_THIS_CAPTURE (lambda) = NULL_TREE;
        }
       else
        gcc_assert (errorcount);
@@ -10498,10 +10175,9 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
                 /* Get the Ith type.  */
                 type = TREE_VEC_ELT (expanded_types, i);
 
-                if (DECL_NAME (r))
-                  /* Rename the parameter to include the index.  */
-                  DECL_NAME (r) =
-                    make_ith_pack_parameter_name (DECL_NAME (r), i);
+               /* Rename the parameter to include the index.  */
+               DECL_NAME (r)
+                 = make_ith_pack_parameter_name (DECL_NAME (r), i);
               }
             else if (!type)
               /* We're dealing with a normal parameter.  */
@@ -10867,11 +10543,14 @@ tsubst_decl (tree t, tree args, tsubst_flags_t complain)
   return r;
 }
 
-/* Substitute into the ARG_TYPES of a function type.  */
+/* Substitute into the ARG_TYPES of a function type.
+   If END is a TREE_CHAIN, leave it and any following types
+   un-substituted.  */
 
 static tree
 tsubst_arg_types (tree arg_types,
                  tree args,
+                 tree end,
                  tsubst_flags_t complain,
                  tree in_decl)
 {
@@ -10881,11 +10560,11 @@ tsubst_arg_types (tree arg_types,
   tree expanded_args = NULL_TREE;
   tree default_arg;
 
-  if (!arg_types || arg_types == void_list_node)
+  if (!arg_types || arg_types == void_list_node || arg_types == end)
     return arg_types;
 
   remaining_arg_types = tsubst_arg_types (TREE_CHAIN (arg_types),
-                                         args, complain, in_decl);
+                                         args, end, complain, in_decl);
   if (remaining_arg_types == error_mark_node)
     return error_mark_node;
 
@@ -11010,7 +10689,7 @@ tsubst_function_type (tree t,
     }
 
   /* Substitute the argument types.  */
-  arg_types = tsubst_arg_types (TYPE_ARG_TYPES (t), args,
+  arg_types = tsubst_arg_types (TYPE_ARG_TYPES (t), args, NULL_TREE,
                                complain, in_decl);
   if (arg_types == error_mark_node)
     return error_mark_node;
@@ -11067,7 +10746,7 @@ tsubst_exception_specification (tree fntype,
     {
       /* A noexcept-specifier.  */
       tree expr = TREE_PURPOSE (specs);
-      if (expr == boolean_true_node || expr == boolean_false_node)
+      if (TREE_CODE (expr) == INTEGER_CST)
        new_specs = expr;
       else if (defer_ok)
        {
@@ -11239,8 +10918,13 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
          return r;
        }
       else
-       /* We don't have an instantiation yet, so drop the typedef.  */
-       t = DECL_ORIGINAL_TYPE (decl);
+       {
+         /* We don't have an instantiation yet, so drop the typedef.  */
+         int quals = cp_type_quals (t);
+         t = DECL_ORIGINAL_TYPE (decl);
+         t = cp_build_qualified_type_real (t, quals,
+                                           complain | tf_ignore_bad_quals);
+       }
     }
 
   if (type
@@ -12930,6 +12614,12 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl,
                else if (is_capture_proxy (DECL_EXPR_DECL (t)))
                  {
                    DECL_CONTEXT (decl) = current_function_decl;
+                   if (DECL_NAME (decl) == this_identifier)
+                     {
+                       tree lam = DECL_CONTEXT (current_function_decl);
+                       lam = CLASSTYPE_LAMBDA_EXPR (lam);
+                       LAMBDA_EXPR_THIS_CAPTURE (lam) = decl;
+                     }
                    insert_capture_proxy (decl);
                  }
                else
@@ -14428,9 +14118,12 @@ tsubst_copy_and_build (tree t,
        complete_type (type);
 
        /* The capture list refers to closure members, so this needs to
-          wait until after we finish instantiating the type.  */
+          wait until after we finish instantiating the type.  Also keep
+          any captures that may have been added during instantiation.  */
        LAMBDA_EXPR_CAPTURE_LIST (r)
-         = RECUR (LAMBDA_EXPR_CAPTURE_LIST (t));
+         = chainon (RECUR (LAMBDA_EXPR_CAPTURE_LIST (t)),
+                    LAMBDA_EXPR_CAPTURE_LIST (r));
+       LAMBDA_EXPR_THIS_CAPTURE (r) = NULL_TREE;
 
        return build_lambda_object (r);
       }
@@ -14438,10 +14131,8 @@ tsubst_copy_and_build (tree t,
     case TARGET_EXPR:
       /* We can get here for a constant initializer of non-dependent type.
          FIXME stop folding in cp_parser_initializer_clause.  */
-      gcc_assert (TREE_CONSTANT (t));
       {
        tree r = get_target_expr (RECUR (TARGET_EXPR_INITIAL (t)));
-       TREE_CONSTANT (r) = true;
        return r;
       }
 
@@ -15388,13 +15079,19 @@ type_unification_real (tree tparms,
                                 ? tf_warning_or_error
                                 : tf_none);
 
-      /* Check to see if we need another pass before we start clearing
-        ARGUMENT_PACK_INCOMPLETE_P.  */
       for (i = 0; i < ntparms; i++)
        {
          tree targ = TREE_VEC_ELT (targs, i);
          tree tparm = TREE_VEC_ELT (tparms, i);
 
+         /* Clear the "incomplete" flags on all argument packs now so that
+            substituting them into later default arguments works.  */
+         if (targ && ARGUMENT_PACK_P (targ))
+            {
+              ARGUMENT_PACK_INCOMPLETE_P (targ) = 0;
+              ARGUMENT_PACK_EXPLICIT_ARGS (targ) = NULL_TREE;
+            }
+
          if (targ || tparm == error_mark_node)
            continue;
          tparm = TREE_VALUE (tparm);
@@ -15407,24 +15104,6 @@ type_unification_real (tree tparms,
              && uses_template_parms (TREE_TYPE (tparm))
              && !saw_undeduced++)
            goto again;
-       }
-
-      for (i = 0; i < ntparms; i++)
-       {
-         tree targ = TREE_VEC_ELT (targs, i);
-         tree tparm = TREE_VEC_ELT (tparms, i);
-
-         /* Clear the "incomplete" flags on all argument packs now so that
-            substituting them into later default arguments works.  */
-         if (targ && ARGUMENT_PACK_P (targ))
-            {
-              ARGUMENT_PACK_INCOMPLETE_P (targ) = 0;
-              ARGUMENT_PACK_EXPLICIT_ARGS (targ) = NULL_TREE;
-            }
-
-         if (targ || tparm == error_mark_node)
-           continue;
-         tparm = TREE_VALUE (tparm);
 
          /* Core issue #226 (C++0x) [temp.deduct]:
 
@@ -16048,10 +15727,10 @@ unify_pack_expansion (tree tparms, tree targs, tree packed_parms,
           arg = NULL_TREE;
           if (TREE_VALUE (pack)
               && (pargs = ARGUMENT_PACK_EXPLICIT_ARGS (TREE_VALUE (pack)))
-              && (i < TREE_VEC_LENGTH (pargs)))
+              && (i - start < TREE_VEC_LENGTH (pargs)))
             {
               any_explicit = true;
-              arg = TREE_VEC_ELT (pargs, i);
+              arg = TREE_VEC_ELT (pargs, i - start);
             }
           TMPL_ARG (targs, level, idx) = arg;
         }
@@ -16592,6 +16271,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict,
          && !TEMPLATE_PARM_PARAMETER_PACK (parm))
        return unify_parameter_pack_mismatch (explain_p, parm, arg);
 
+      arg = strip_typedefs_expr (arg);
       TREE_VEC_ELT (INNERMOST_TEMPLATE_ARGS (targs), idx) = arg;
       return unify_success (explain_p);
 
@@ -17079,12 +16759,9 @@ check_undeduced_parms (tree targs, tree args, tree end)
       }
   if (found)
     {
-      for (; args != end; args = TREE_CHAIN (args))
-       {
-         tree substed = tsubst (TREE_VALUE (args), targs, tf_none, NULL_TREE);
-         if (substed == error_mark_node)
-           return true;
-       }
+      tree substed = tsubst_arg_types (args, targs, end, tf_none, NULL_TREE);
+      if (substed == error_mark_node)
+       return true;
     }
   return false;
 }
@@ -18421,12 +18098,14 @@ maybe_instantiate_noexcept (tree fn)
       if (push_tinst_level (fn))
        {
          push_access_scope (fn);
+         push_deferring_access_checks (dk_no_deferred);
          input_location = DECL_SOURCE_LOCATION (fn);
          noex = tsubst_copy_and_build (DEFERRED_NOEXCEPT_PATTERN (noex),
                                        DEFERRED_NOEXCEPT_ARGS (noex),
                                        tf_warning_or_error, fn,
                                        /*function_p=*/false,
                                        /*integral_constant_expression_p=*/true);
+         pop_deferring_access_checks ();
          pop_access_scope (fn);
          pop_tinst_level ();
          spec = build_noexcept_spec (noex, tf_warning_or_error);
@@ -20132,7 +19811,16 @@ resolve_typename_type (tree type, bool only_current_p)
   /* If the SCOPE is itself a TYPENAME_TYPE, then we need to resolve
      it first before we can figure out what NAME refers to.  */
   if (TREE_CODE (scope) == TYPENAME_TYPE)
-    scope = resolve_typename_type (scope, only_current_p);
+    {
+      if (TYPENAME_IS_RESOLVING_P (scope))
+       /* Given a class template A with a dependent base with nested type C,
+          typedef typename A::C::C C will land us here, as trying to resolve
+          the initial A::C leads to the local C typedef, which leads back to
+          A::C::C.  So we break the recursion now.  */
+       return type;
+      else
+       scope = resolve_typename_type (scope, only_current_p);
+    }
   /* If we don't know what SCOPE refers to, then we cannot resolve the
      TYPENAME_TYPE.  */
   if (TREE_CODE (scope) == TYPENAME_TYPE)
@@ -20325,7 +20013,7 @@ make_auto (void)
   TYPE_STUB_DECL (au) = TYPE_NAME (au);
   TEMPLATE_TYPE_PARM_INDEX (au) = build_template_parm_index
     (0, processing_template_decl + 1, processing_template_decl + 1,
-     0, TYPE_NAME (au), NULL_TREE);
+     TYPE_NAME (au), NULL_TREE);
   TYPE_CANONICAL (au) = canonical_type_parameter (au);
   DECL_ARTIFICIAL (TYPE_NAME (au)) = 1;
   SET_DECL_TEMPLATE_PARM_P (TYPE_NAME (au));
index a64c5b7..8735c8c 100644 (file)
@@ -1570,9 +1570,7 @@ finish_non_static_data_member (tree decl, tree object, tree qualifying_scope)
       else
        {
          /* Set the cv qualifiers.  */
-         int quals = (current_class_ref
-                      ? cp_type_quals (TREE_TYPE (current_class_ref))
-                      : TYPE_UNQUALIFIED);
+         int quals = cp_type_quals (TREE_TYPE (object));
 
          if (DECL_MUTABLE_P (decl))
            quals &= ~TYPE_QUAL_CONST;
@@ -2822,18 +2820,26 @@ baselink_for_fns (tree fns)
   return build_baselink (cl, cl, fns, /*optype=*/NULL_TREE);
 }
 
-/* Returns true iff DECL is an automatic variable from a function outside
+/* Returns true iff DECL is a variable from a function outside
    the current one.  */
 
 static bool
-outer_automatic_var_p (tree decl)
+outer_var_p (tree decl)
 {
   return ((TREE_CODE (decl) == VAR_DECL || TREE_CODE (decl) == PARM_DECL)
          && DECL_FUNCTION_SCOPE_P (decl)
-         && !TREE_STATIC (decl)
          && DECL_CONTEXT (decl) != current_function_decl);
 }
 
+/* As above, but also checks that DECL is automatic.  */
+
+static bool
+outer_automatic_var_p (tree decl)
+{
+  return (outer_var_p (decl)
+         && !TREE_STATIC (decl));
+}
+
 /* ID_EXPRESSION is a representation of parsed, but unprocessed,
    id-expression.  (See cp_parser_id_expression for details.)  SCOPE,
    if non-NULL, is the type or namespace used to explicitly qualify
@@ -2940,9 +2946,18 @@ finish_id_expression (tree id_expression,
 
       /* Disallow uses of local variables from containing functions, except
         within lambda-expressions.  */
-      if (outer_automatic_var_p (decl)
+      if (!outer_var_p (decl)
          /* It's not a use (3.2) if we're in an unevaluated context.  */
-         && !cp_unevaluated_operand)
+         || cp_unevaluated_operand)
+       /* OK.  */;
+      else if (TREE_STATIC (decl))
+       {
+         if (processing_template_decl)
+           /* For a use of an outer static var, return the identifier so
+              that we'll look it up again in the instantiation.  */
+           return id_expression;
+       }
+      else
        {
          tree context = DECL_CONTEXT (decl);
          tree containing_function = current_function_decl;
@@ -2961,7 +2976,14 @@ finish_id_expression (tree id_expression,
 
             FIXME update for final resolution of core issue 696.  */
          if (decl_constant_var_p (decl))
-           return integral_constant_value (decl);
+           {
+             if (processing_template_decl)
+               /* In a template, the constant value may not be in a usable
+                  form, so look it up again at instantiation time.  */
+               return id_expression;
+             else
+               return integral_constant_value (decl);
+           }
 
          /* If we are in a lambda function, we can move out until we hit
             1. the context,
@@ -5351,6 +5373,7 @@ classtype_has_nothrow_assign_or_copy_p (tree type, bool assign_p)
       else if (copy_fn_p (fn) <= 0)
        continue;
 
+      maybe_instantiate_noexcept (fn);
       if (!TYPE_NOTHROW_P (TREE_TYPE (fn)))
        return false;
     }
@@ -5392,7 +5415,8 @@ trait_expr_value (cp_trait_kind kind, tree type1, tree type2)
       return (trait_expr_value (CPTK_HAS_TRIVIAL_CONSTRUCTOR, type1, type2) 
              || (CLASS_TYPE_P (type1)
                  && (t = locate_ctor (type1))
-                 && TYPE_NOTHROW_P (TREE_TYPE (t))));
+                 && (maybe_instantiate_noexcept (t),
+                     TYPE_NOTHROW_P (TREE_TYPE (t)))));
 
     case CPTK_HAS_TRIVIAL_CONSTRUCTOR:
       type1 = strip_array_types (type1);
@@ -5785,15 +5809,19 @@ build_data_member_initialization (tree t, VEC(constructor_elt,gc) **vec)
       member = TREE_OPERAND (t, 0);
       init = unshare_expr (TREE_OPERAND (t, 1));
     }
-  else
+  else if (TREE_CODE (t) == CALL_EXPR)
     {
-      gcc_assert (TREE_CODE (t) == CALL_EXPR);
       member = CALL_EXPR_ARG (t, 0);
       /* We don't use build_cplus_new here because it complains about
         abstract bases.  Leaving the call unwrapped means that it has the
         wrong type, but cxx_eval_constant_expression doesn't care.  */
       init = unshare_expr (t);
     }
+  else if (TREE_CODE (t) == DECL_EXPR)
+    /* Declaring a temporary, don't add it to the CONSTRUCTOR.  */
+    return true;
+  else
+    gcc_unreachable ();
   if (TREE_CODE (member) == INDIRECT_REF)
     member = TREE_OPERAND (member, 0);
   if (TREE_CODE (member) == NOP_EXPR)
@@ -5879,31 +5907,38 @@ check_constexpr_ctor_body (tree last, tree list)
 /* VEC is a vector of constructor elements built up for the base and member
    initializers of a constructor for TYPE.  They need to be in increasing
    offset order, which they might not be yet if TYPE has a primary base
-   which is not first in the base-clause.  */
+   which is not first in the base-clause or a vptr and at least one base
+   all of which are non-primary.  */
 
 static VEC(constructor_elt,gc) *
 sort_constexpr_mem_initializers (tree type, VEC(constructor_elt,gc) *vec)
 {
   tree pri = CLASSTYPE_PRIMARY_BINFO (type);
+  tree field_type;
   constructor_elt elt;
   int i;
 
-  if (pri == NULL_TREE
-      || pri == BINFO_BASE_BINFO (TYPE_BINFO (type), 0))
+  if (pri)
+    field_type = BINFO_TYPE (pri);
+  else if (TYPE_CONTAINS_VPTR_P (type))
+    field_type = vtbl_ptr_type_node;
+  else
     return vec;
 
-  /* Find the element for the primary base and move it to the beginning of
-     the vec.  */
-  pri = BINFO_TYPE (pri);
-  for (i = 1; ; ++i)
-    if (TREE_TYPE (VEC_index (constructor_elt, vec, i)->index) == pri)
+  /* Find the element for the primary base or vptr and move it to the
+     beginning of the vec.  */
+  for (i = 0; ; ++i)
+    if (TREE_TYPE (VEC_index (constructor_elt, vec, i)->index) == field_type)
       break;
 
-  elt = *VEC_index (constructor_elt, vec, i);
-  for (; i > 0; --i)
-    VEC_replace (constructor_elt, vec, i,
-                VEC_index (constructor_elt, vec, i-1));
-  VEC_replace (constructor_elt, vec, 0, &elt);
+  if (i > 0)
+    {
+      elt = *VEC_index (constructor_elt, vec, i);
+      for (; i > 0; --i)
+       VEC_replace (constructor_elt, vec, i,
+                    VEC_index (constructor_elt, vec, i-1));
+      VEC_replace (constructor_elt, vec, 0, &elt);
+    }
   return vec;
 }
 
@@ -7682,6 +7717,7 @@ cxx_eval_constant_expression (const constexpr_call *call, tree t,
            /* Check that the LHS is constant and then discard it.  */
            cxx_eval_constant_expression (call, op0, allow_non_constant,
                                          false, non_constant_p);
+           op1 = TREE_OPERAND (t, 1);
            r = cxx_eval_constant_expression (call, op1, allow_non_constant,
                                              addr, non_constant_p);
          }
@@ -8777,7 +8813,8 @@ tree
 lambda_capture_field_type (tree expr)
 {
   tree type;
-  if (type_dependent_expression_p (expr))
+  if (type_dependent_expression_p (expr)
+      && !(TREE_TYPE (expr) && TREE_CODE (TREE_TYPE (expr)) == POINTER_TYPE))
     {
       type = cxx_make_type (DECLTYPE_TYPE);
       DECLTYPE_TYPE_EXPR (type) = expr;
@@ -8982,7 +9019,8 @@ lambda_proxy_type (tree ref)
   if (REFERENCE_REF_P (ref))
     ref = TREE_OPERAND (ref, 0);
   type = TREE_TYPE (ref);
-  if (!dependent_type_p (type))
+  if (!dependent_type_p (type)
+      || (type && TREE_CODE (type) == POINTER_TYPE))
     return type;
   type = cxx_make_type (DECLTYPE_TYPE);
   DECLTYPE_TYPE_EXPR (type) = ref;
@@ -9310,6 +9348,8 @@ maybe_add_lambda_conv_op (tree type)
   DECL_NOT_REALLY_EXTERN (fn) = 1;
   DECL_DECLARED_INLINE_P (fn) = 1;
   DECL_ARGUMENTS (fn) = build_this_parm (fntype, TYPE_QUAL_CONST);
+  if (nested)
+    DECL_INTERFACE_KNOWN (fn) = 1;
 
   add_method (type, fn, NULL_TREE);
 
@@ -9340,6 +9380,8 @@ maybe_add_lambda_conv_op (tree type)
   DECL_ARGUMENTS (fn) = copy_list (DECL_CHAIN (DECL_ARGUMENTS (callop)));
   for (arg = DECL_ARGUMENTS (fn); arg; arg = DECL_CHAIN (arg))
     DECL_CONTEXT (arg) = fn;
+  if (nested)
+    DECL_INTERFACE_KNOWN (fn) = 1;
 
   add_method (type, fn, NULL_TREE);
 
@@ -9392,6 +9434,8 @@ maybe_add_lambda_conv_op (tree type)
   body = begin_function_body ();
   compound_stmt = begin_compound_stmt (0);
 
+  /* decl_needed_p needs to see that it's used.  */
+  TREE_USED (statfn) = 1;
   finish_return_stmt (decay_conversion (statfn));
 
   finish_compound_stmt (compound_stmt);
index de9e0f6..f5a4385 100644 (file)
@@ -1,7 +1,7 @@
 /* Language-dependent node constructors for parse phase of GNU compiler.
    Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+   2012 Free Software Foundation, Inc.
    Hacked by Michael Tiemann (tiemann@cygnus.com)
 
 This file is part of GCC.
@@ -143,9 +143,7 @@ lvalue_kind (const_tree ref)
     case ARRAY_REF:
     case PARM_DECL:
     case RESULT_DECL:
-      if (TREE_CODE (TREE_TYPE (ref)) != METHOD_TYPE)
-       return clk_ordinary;
-      break;
+      return clk_ordinary;
 
       /* A scope ref in a template, left as SCOPE_REF to support later
         access checking.  */
@@ -318,8 +316,6 @@ build_target_expr (tree decl, tree value, tsubst_flags_t complain)
      side-effects, then the optimizer should be able to get rid of
      whatever code is generated anyhow.  */
   TREE_SIDE_EFFECTS (t) = 1;
-  if (literal_type_p (type))
-    TREE_CONSTANT (t) = TREE_CONSTANT (value);
 
   return t;
 }
@@ -396,18 +392,14 @@ build_aggr_init_array (tree return_type, tree fn, tree slot, int nargs,
    callable.  */
 
 tree
-build_aggr_init_expr (tree type, tree init, tsubst_flags_t complain)
+build_aggr_init_expr (tree type, tree init,
+                     tsubst_flags_t complain ATTRIBUTE_UNUSED)
 {
   tree fn;
   tree slot;
   tree rval;
   int is_ctor;
 
-  /* Make sure that we're not trying to create an instance of an
-     abstract class.  */
-  if (abstract_virtuals_error_sfinae (NULL_TREE, type, complain))
-    return error_mark_node;
-
   if (TREE_CODE (init) == CALL_EXPR)
     fn = CALL_EXPR_FN (init);
   else if (TREE_CODE (init) == AGGR_INIT_EXPR)
@@ -466,6 +458,11 @@ build_cplus_new (tree type, tree init, tsubst_flags_t complain)
   tree rval = build_aggr_init_expr (type, init, complain);
   tree slot;
 
+  /* Make sure that we're not trying to create an instance of an
+     abstract class.  */
+  if (abstract_virtuals_error_sfinae (NULL_TREE, type, complain))
+    return error_mark_node;
+
   if (TREE_CODE (rval) == AGGR_INIT_EXPR)
     slot = AGGR_INIT_EXPR_SLOT (rval);
   else if (TREE_CODE (rval) == CALL_EXPR
@@ -513,7 +510,8 @@ build_vec_init_elt (tree type, tree init, tsubst_flags_t complain)
   argvec = make_tree_vector ();
   if (init)
     {
-      tree dummy = build_dummy_object (inner_type);
+      tree init_type = strip_array_types (TREE_TYPE (init));
+      tree dummy = build_dummy_object (init_type);
       if (!real_lvalue_p (init))
        dummy = move (dummy);
       VEC_quick_push (tree, argvec, dummy);
@@ -734,6 +732,7 @@ tree
 build_cplus_array_type (tree elt_type, tree index_type)
 {
   tree t;
+  bool needs_ctor, needs_dtor;
 
   if (elt_type == error_mark_node || index_type == error_mark_node)
     return error_mark_node;
@@ -799,6 +798,15 @@ build_cplus_array_type (tree elt_type, tree index_type)
       t = build_array_type (elt_type, index_type);
     }
 
+  /* Push these needs up so that initialization takes place
+     more easily.  */
+  needs_ctor
+    = TYPE_NEEDS_CONSTRUCTING (TYPE_MAIN_VARIANT (elt_type));
+  TYPE_NEEDS_CONSTRUCTING (t) = needs_ctor;
+  needs_dtor
+    = TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TYPE_MAIN_VARIANT (elt_type));
+  TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) = needs_dtor;
+
   /* We want TYPE_MAIN_VARIANT of an array to strip cv-quals from the
      element type as well, so fix it up if needed.  */
   if (elt_type != TYPE_MAIN_VARIANT (elt_type))
@@ -808,18 +816,34 @@ build_cplus_array_type (tree elt_type, tree index_type)
 
       if (TYPE_MAIN_VARIANT (t) != m)
        {
+         if (COMPLETE_TYPE_P (t) && !COMPLETE_TYPE_P (m))
+           {
+             /* m was built before the element type was complete, so we
+                also need to copy the layout info from t.  */
+             tree size = TYPE_SIZE (t);
+             tree size_unit = TYPE_SIZE_UNIT (t);
+             unsigned int align = TYPE_ALIGN (t);
+             unsigned int user_align = TYPE_USER_ALIGN (t);
+             enum machine_mode mode = TYPE_MODE (t);
+             tree var;
+             for (var = m; var; var = TYPE_NEXT_VARIANT (var))
+               {
+                 TYPE_SIZE (var) = size;
+                 TYPE_SIZE_UNIT (var) = size_unit;
+                 TYPE_ALIGN (var) = align;
+                 TYPE_USER_ALIGN (var) = user_align;
+                 SET_TYPE_MODE (var, mode);
+                 TYPE_NEEDS_CONSTRUCTING (var) = needs_ctor;
+                 TYPE_HAS_NONTRIVIAL_DESTRUCTOR (var) = needs_dtor;
+               }
+           }
+
          TYPE_MAIN_VARIANT (t) = m;
          TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (m);
          TYPE_NEXT_VARIANT (m) = t;
        }
     }
 
-  /* Push these needs up so that initialization takes place
-     more easily.  */
-  TYPE_NEEDS_CONSTRUCTING (t)
-    = TYPE_NEEDS_CONSTRUCTING (TYPE_MAIN_VARIANT (elt_type));
-  TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t)
-    = TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TYPE_MAIN_VARIANT (elt_type));
   return t;
 }
 
@@ -1097,7 +1121,7 @@ cv_unqualified (tree type)
     * If T is a type that needs structural equality
       its TYPE_CANONICAL (T) will be NULL.
     * TYPE_CANONICAL (T) desn't carry type attributes
-      and looses template parameter names.   */
+      and loses template parameter names.   */
 
 tree
 strip_typedefs (tree t)
@@ -1183,9 +1207,51 @@ strip_typedefs (tree t)
       }
       break;
     case TYPENAME_TYPE:
-      result = make_typename_type (strip_typedefs (TYPE_CONTEXT (t)),
-                                  TYPENAME_TYPE_FULLNAME (t),
-                                  typename_type, tf_none);
+      {
+       tree fullname = TYPENAME_TYPE_FULLNAME (t);
+       if (TREE_CODE (fullname) == TEMPLATE_ID_EXPR
+           && TREE_OPERAND (fullname, 1))
+         {
+           tree args = TREE_OPERAND (fullname, 1);
+           tree new_args = copy_node (args);
+           bool changed = false;
+           int i;
+           for (i = 0; i < TREE_VEC_LENGTH (args); ++i)
+             {
+               tree arg = TREE_VEC_ELT (args, i);
+               tree strip_arg;
+               if (TYPE_P (arg))
+                 strip_arg = strip_typedefs (arg);
+               else
+                 strip_arg = strip_typedefs_expr (arg);
+               TREE_VEC_ELT (new_args, i) = strip_arg;
+               if (strip_arg != arg)
+                 changed = true;
+             }
+           if (changed)
+             {
+               NON_DEFAULT_TEMPLATE_ARGS_COUNT (new_args)
+                 = NON_DEFAULT_TEMPLATE_ARGS_COUNT (args);
+               fullname
+                 = lookup_template_function (TREE_OPERAND (fullname, 0),
+                                             new_args);
+             }
+           else
+             ggc_free (new_args);
+         }
+       result = make_typename_type (strip_typedefs (TYPE_CONTEXT (t)),
+                                    fullname, typename_type, tf_none);
+      }
+      break;
+    case DECLTYPE_TYPE:
+      result = strip_typedefs_expr (DECLTYPE_TYPE_EXPR (t));
+      if (result == DECLTYPE_TYPE_EXPR (t))
+       return t;
+      else
+       result = (finish_decltype_type
+                 (result,
+                  DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P (t),
+                  tf_none));
       break;
     default:
       break;
@@ -1208,6 +1274,188 @@ strip_typedefs (tree t)
   return cp_build_qualified_type (result, cp_type_quals (t));
 }
 
+/* Like strip_typedefs above, but works on expressions, so that in
+
+   template<class T> struct A
+   {
+     typedef T TT;
+     B<sizeof(TT)> b;
+   };
+
+   sizeof(TT) is replaced by sizeof(T).  */
+
+tree
+strip_typedefs_expr (tree t)
+{
+  unsigned i,n;
+  tree r, type, *ops;
+  enum tree_code code;
+
+  if (t == NULL_TREE || t == error_mark_node)
+    return t;
+
+  if (DECL_P (t) || CONSTANT_CLASS_P (t))
+    return t;
+
+  /* Some expressions have type operands, so let's handle types here rather
+     than check TYPE_P in multiple places below.  */
+  if (TYPE_P (t))
+    return strip_typedefs (t);
+
+  code = TREE_CODE (t);
+  switch (code)
+    {
+    case IDENTIFIER_NODE:
+    case TEMPLATE_PARM_INDEX:
+    case OVERLOAD:
+    case BASELINK:
+    case ARGUMENT_PACK_SELECT:
+      return t;
+
+    case TRAIT_EXPR:
+      {
+       tree type1 = strip_typedefs (TRAIT_EXPR_TYPE1 (t));
+       tree type2 = strip_typedefs (TRAIT_EXPR_TYPE2 (t));
+       if (type1 == TRAIT_EXPR_TYPE1 (t)
+           && type2 == TRAIT_EXPR_TYPE2 (t))
+         return t;
+       r = copy_node (t);
+       TRAIT_EXPR_TYPE1 (t) = type1;
+       TRAIT_EXPR_TYPE2 (t) = type2;
+       return r;
+      }
+
+    case TREE_LIST:
+      {
+       VEC(tree,gc) *vec = make_tree_vector ();
+       bool changed = false;
+       tree it;
+       for (it = t; it; it = TREE_CHAIN (it))
+         {
+           tree val = strip_typedefs_expr (TREE_VALUE (t));
+           VEC_safe_push (tree, gc, vec, val);
+           if (val != TREE_VALUE (t))
+             changed = true;
+           gcc_assert (TREE_PURPOSE (it) == NULL_TREE);
+         }
+       if (changed)
+         {
+           r = NULL_TREE;
+           FOR_EACH_VEC_ELT_REVERSE (tree, vec, i, it)
+             r = tree_cons (NULL_TREE, it, r);
+         }
+       else
+         r = t;
+       release_tree_vector (vec);
+       return r;
+      }
+
+    case TREE_VEC:
+      {
+       bool changed = false;
+       VEC(tree,gc)* vec = make_tree_vector ();
+       n = TREE_VEC_LENGTH (t);
+       VEC_reserve (tree, gc, vec, n);
+       for (i = 0; i < n; ++i)
+         {
+           tree op = strip_typedefs_expr (TREE_VEC_ELT (t, i));
+           VEC_quick_push (tree, vec, op);
+           if (op != TREE_VEC_ELT (t, i))
+             changed = true;
+         }
+       if (changed)
+         {
+           r = copy_node (t);
+           for (i = 0; i < n; ++i)
+             TREE_VEC_ELT (r, i) = VEC_index (tree, vec, i);
+           NON_DEFAULT_TEMPLATE_ARGS_COUNT (r)
+             = NON_DEFAULT_TEMPLATE_ARGS_COUNT (t);
+         }
+       else
+         r = t;
+       release_tree_vector (vec);
+       return r;
+      }
+
+    case CONSTRUCTOR:
+      {
+       bool changed = false;
+       VEC(constructor_elt,gc) *vec
+         = VEC_copy (constructor_elt, gc, CONSTRUCTOR_ELTS (t));
+       n = CONSTRUCTOR_NELTS (t);
+       type = strip_typedefs (TREE_TYPE (t));
+       for (i = 0; i < n; ++i)
+         {
+           constructor_elt *e = VEC_index (constructor_elt, vec, i);
+           tree op = strip_typedefs_expr (e->value);
+           if (op != e->value)
+             {
+               changed = true;
+               e->value = op;
+             }
+           gcc_checking_assert (e->index == strip_typedefs_expr (e->index));
+         }
+
+       if (!changed && type == TREE_TYPE (t))
+         {
+           VEC_free (constructor_elt, gc, vec);
+           return t;
+         }
+       else
+         {
+           r = copy_node (t);
+           TREE_TYPE (r) = type;
+           CONSTRUCTOR_ELTS (r) = vec;
+           return r;
+         }
+      }
+
+    case LAMBDA_EXPR:
+      gcc_unreachable ();
+
+    default:
+      break;
+    }
+
+  gcc_assert (EXPR_P (t));
+
+  n = TREE_OPERAND_LENGTH (t);
+  ops = XALLOCAVEC (tree, n);
+  type = TREE_TYPE (t);
+
+  switch (code)
+    {
+    CASE_CONVERT:
+    case IMPLICIT_CONV_EXPR:
+    case DYNAMIC_CAST_EXPR:
+    case STATIC_CAST_EXPR:
+    case CONST_CAST_EXPR:
+    case REINTERPRET_CAST_EXPR:
+    case CAST_EXPR:
+    case NEW_EXPR:
+      type = strip_typedefs (type);
+      /* fallthrough */
+
+    default:
+      for (i = 0; i < n; ++i)
+       ops[i] = strip_typedefs_expr (TREE_OPERAND (t, i));
+      break;
+    }
+
+  /* If nothing changed, return t.  */
+  for (i = 0; i < n; ++i)
+    if (ops[i] != TREE_OPERAND (t, i))
+      break;
+  if (i == n && type == TREE_TYPE (t))
+    return t;
+
+  r = copy_node (t);
+  TREE_TYPE (r) = type;
+  for (i = 0; i < n; ++i)
+    TREE_OPERAND (r, i) = ops[i];
+  return r;
+}
+
 /* Makes a copy of BINFO and TYPE, which is to be inherited into a
    graph dominated by T.  If BINFO is NULL, TYPE is a dependent base,
    and we do a shallow copy.  If BINFO is non-NULL, we do a deep copy.
@@ -2181,7 +2429,7 @@ decl_anon_ns_mem_p (const_tree decl)
       /* Classes and namespaces inside anonymous namespaces have
          TREE_PUBLIC == 0, so we can shortcut the search.  */
       else if (TYPE_P (decl))
-       return (TREE_PUBLIC (TYPE_NAME (decl)) == 0);
+       return (TREE_PUBLIC (TYPE_MAIN_DECL (decl)) == 0);
       else if (TREE_CODE (decl) == NAMESPACE_DECL)
        return (TREE_PUBLIC (decl) == 0);
       else
@@ -2353,6 +2601,13 @@ cp_tree_equal (tree t1, tree t2)
         with an out-of-class definition of the function, but can also come
         up for expressions that involve 'this' in a member function
         template.  */
+
+      if (comparing_specializations)
+       /* When comparing hash table entries, only an exact match is
+          good enough; we don't want to replace 'this' with the
+          version from another function.  */
+       return false;
+
       if (same_type_p (TREE_TYPE (t1), TREE_TYPE (t2)))
        {
          if (DECL_ARTIFICIAL (t1) ^ DECL_ARTIFICIAL (t2))
@@ -2366,6 +2621,7 @@ cp_tree_equal (tree t1, tree t2)
 
     case VAR_DECL:
     case CONST_DECL:
+    case FIELD_DECL:
     case FUNCTION_DECL:
     case TEMPLATE_DECL:
     case IDENTIFIER_NODE:
@@ -2380,9 +2636,6 @@ cp_tree_equal (tree t1, tree t2)
                                BASELINK_FUNCTIONS (t2)));
 
     case TEMPLATE_PARM_INDEX:
-      if (TEMPLATE_PARM_NUM_SIBLINGS (t1)
-         != TEMPLATE_PARM_NUM_SIBLINGS (t2))
-       return false;
       return (TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2)
              && TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2)
              && (TEMPLATE_PARM_PARAMETER_PACK (t1)
index 96b7d4e..c404c81 100644 (file)
@@ -1137,12 +1137,6 @@ comp_template_parms_position (tree t1, tree t2)
   index1 = TEMPLATE_TYPE_PARM_INDEX (TYPE_MAIN_VARIANT (t1));
   index2 = TEMPLATE_TYPE_PARM_INDEX (TYPE_MAIN_VARIANT (t2));
 
-  /* If T1 and T2 belong to template parm lists of different size,
-     let's assume they are different.  */
-  if (TEMPLATE_PARM_NUM_SIBLINGS (index1)
-      != TEMPLATE_PARM_NUM_SIBLINGS (index2))
-    return false;
-
   /* Then compare their relative position.  */
   if (TEMPLATE_PARM_IDX (index1) != TEMPLATE_PARM_IDX (index2)
       || TEMPLATE_PARM_LEVEL (index1) != TEMPLATE_PARM_LEVEL (index2)
@@ -3125,7 +3119,8 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function)
            return error_mark_node;
        }
       /* ...and then the delta in the PMF.  */
-      instance_ptr = fold_build_pointer_plus (instance_ptr, delta);
+      instance_ptr = build2 (POINTER_PLUS_EXPR, TREE_TYPE (instance_ptr),
+                            instance_ptr, fold_convert (sizetype, delta));
 
       /* Hand back the adjusted 'this' argument to our caller.  */
       *instance_ptrptr = instance_ptr;
index f9ac28b..ce6de16 100644 (file)
@@ -1855,7 +1855,7 @@ merge_exception_specifiers (tree list, tree add, tree fn)
       /* If ADD is a deferred noexcept, we must have been called from
         process_subob_fn.  For implicitly declared functions, we build up
         a list of functions to consider at instantiation time.  */
-      if (noex == boolean_true_node)
+      if (noex && operand_equal_p (noex, boolean_true_node, 0))
        noex = NULL_TREE;
       gcc_assert (fn && (!noex || is_overloaded_fn (noex)));
       noex = build_overload (fn, noex);
index 927083e..99c4c88 100644 (file)
@@ -63,6 +63,7 @@ const struct default_include cpp_include_defaults[]
 #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
@@ -90,6 +91,7 @@ const struct default_include cpp_include_defaults[]
 #endif
 #ifdef NATIVE_SYSTEM_HEADER_DIR
     /* /usr/include comes dead last.  */
+    { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
     { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
 #endif
     { 0, 0, 0, 0, 0, 0 }
index 657c4ab..93f7f88 100644 (file)
@@ -1,6 +1,6 @@
 /* CPP Library.
    Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+   1999, 2000, 2003, 2004, 2006, 2007, 2012 Free Software Foundation, Inc.
    Contributed by Per Bothner, 1994-95.
    Based on CCCP program by Paul Rubin, June 1986
    Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -43,9 +43,11 @@ struct default_include
                                   C++.  */
   const char add_sysroot;      /* FNAME should be prefixed by
                                   cpp_SYSROOT.  */
-  const char multilib;         /* FNAME should have the multilib path
-                                  specified with -imultilib
-                                  appended.  */
+  const char multilib;         /* FNAME should have appended
+                                  - the multilib path specified with -imultilib
+                                    when set to 1,
+                                  - the multiarch path specified with
+                                    -imultiarch, when set to 2.  */
 };
 
 extern const struct default_include cpp_include_defaults[];
index 6424bb1..0904ee6 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -2555,7 +2555,7 @@ hash_rtx_cb (const_rtx x, enum machine_mode mode,
    Store 1 in DO_NOT_RECORD_P if any subexpression is volatile.
 
    If HASH_ARG_IN_MEMORY_P is not NULL, store 1 in it if X contains
-   a MEM rtx which does not have the RTX_UNCHANGING_P bit set.
+   a MEM rtx which does not have the MEM_READONLY_P flag set.
 
    Note that cse_insn knows that the hash code of a MEM expression
    is just (int) MEM plus the hash code of the address.  */
@@ -2571,7 +2571,7 @@ hash_rtx (const_rtx x, enum machine_mode mode, int *do_not_record_p,
 /* Hash an rtx X for cse via hash_rtx.
    Stores 1 in do_not_record if any subexpression is volatile.
    Stores 1 in hash_arg_in_memory if X contains a mem rtx which
-   does not have the RTX_UNCHANGING_P bit set.  */
+   does not have the MEM_READONLY_P flag set.  */
 
 static inline unsigned
 canon_hash (rtx x, enum machine_mode mode)
index 1ec6e5e..e32b152 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "AOT-COMPILE 1"
-.TH AOT-COMPILE 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH AOT-COMPILE 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 8328e74..5a06f94 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "CPP 1"
-.TH CPP 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH CPP 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 6f6eaa1..39be69f 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/cpp.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/doc/cpp.texi.
+This is doc/cpp.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/doc/cpp.texi.
 
 Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -5501,79 +5501,79 @@ Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1109
-Node: Overview\7f3841
-Node: Character sets\7f6674
-Ref: Character sets-Footnote-1\7f8857
-Node: Initial processing\7f9038
-Ref: trigraphs\7f10597
-Node: Tokenization\7f14799
-Ref: Tokenization-Footnote-1\7f21935
-Node: The preprocessing language\7f22046
-Node: Header Files\7f24924
-Node: Include Syntax\7f26840
-Node: Include Operation\7f28477
-Node: Search Path\7f30325
-Node: Once-Only Headers\7f33515
-Node: Alternatives to Wrapper #ifndef\7f35174
-Node: Computed Includes\7f36917
-Node: Wrapper Headers\7f40075
-Node: System Headers\7f42501
-Node: Macros\7f44551
-Node: Object-like Macros\7f45692
-Node: Function-like Macros\7f49282
-Node: Macro Arguments\7f50898
-Node: Stringification\7f55043
-Node: Concatenation\7f58249
-Node: Variadic Macros\7f61357
-Node: Predefined Macros\7f66144
-Node: Standard Predefined Macros\7f66732
-Node: Common Predefined Macros\7f72669
-Node: System-specific Predefined Macros\7f90184
-Node: C++ Named Operators\7f92205
-Node: Undefining and Redefining Macros\7f93169
-Node: Directives Within Macro Arguments\7f95273
-Node: Macro Pitfalls\7f96821
-Node: Misnesting\7f97354
-Node: Operator Precedence Problems\7f98466
-Node: Swallowing the Semicolon\7f100332
-Node: Duplication of Side Effects\7f102355
-Node: Self-Referential Macros\7f104538
-Node: Argument Prescan\7f106947
-Node: Newlines in Arguments\7f110701
-Node: Conditionals\7f111652
-Node: Conditional Uses\7f113482
-Node: Conditional Syntax\7f114840
-Node: Ifdef\7f115160
-Node: If\7f118321
-Node: Defined\7f120625
-Node: Else\7f121908
-Node: Elif\7f122478
-Node: Deleted Code\7f123767
-Node: Diagnostics\7f125014
-Node: Line Control\7f126631
-Node: Pragmas\7f130435
-Node: Other Directives\7f134752
-Node: Preprocessor Output\7f135802
-Node: Traditional Mode\7f139003
-Node: Traditional lexical analysis\7f140061
-Node: Traditional macros\7f142564
-Node: Traditional miscellany\7f146366
-Node: Traditional warnings\7f147363
-Node: Implementation Details\7f149560
-Node: Implementation-defined behavior\7f150181
-Ref: Identifier characters\7f150933
-Node: Implementation limits\7f154011
-Node: Obsolete Features\7f156685
-Node: Differences from previous versions\7f159573
-Node: Invocation\7f163781
-Ref: Wtrigraphs\7f168233
-Ref: dashMF\7f173008
-Ref: fdollars-in-identifiers\7f182739
-Node: Environment Variables\7f192420
-Node: GNU Free Documentation License\7f195386
-Node: Index of Directives\7f220550
-Node: Option Index\7f222484
-Node: Concept Index\7f228814
+Node: Top\7f1123
+Node: Overview\7f3855
+Node: Character sets\7f6688
+Ref: Character sets-Footnote-1\7f8871
+Node: Initial processing\7f9052
+Ref: trigraphs\7f10611
+Node: Tokenization\7f14813
+Ref: Tokenization-Footnote-1\7f21949
+Node: The preprocessing language\7f22060
+Node: Header Files\7f24938
+Node: Include Syntax\7f26854
+Node: Include Operation\7f28491
+Node: Search Path\7f30339
+Node: Once-Only Headers\7f33529
+Node: Alternatives to Wrapper #ifndef\7f35188
+Node: Computed Includes\7f36931
+Node: Wrapper Headers\7f40089
+Node: System Headers\7f42515
+Node: Macros\7f44565
+Node: Object-like Macros\7f45706
+Node: Function-like Macros\7f49296
+Node: Macro Arguments\7f50912
+Node: Stringification\7f55057
+Node: Concatenation\7f58263
+Node: Variadic Macros\7f61371
+Node: Predefined Macros\7f66158
+Node: Standard Predefined Macros\7f66746
+Node: Common Predefined Macros\7f72683
+Node: System-specific Predefined Macros\7f90198
+Node: C++ Named Operators\7f92219
+Node: Undefining and Redefining Macros\7f93183
+Node: Directives Within Macro Arguments\7f95287
+Node: Macro Pitfalls\7f96835
+Node: Misnesting\7f97368
+Node: Operator Precedence Problems\7f98480
+Node: Swallowing the Semicolon\7f100346
+Node: Duplication of Side Effects\7f102369
+Node: Self-Referential Macros\7f104552
+Node: Argument Prescan\7f106961
+Node: Newlines in Arguments\7f110715
+Node: Conditionals\7f111666
+Node: Conditional Uses\7f113496
+Node: Conditional Syntax\7f114854
+Node: Ifdef\7f115174
+Node: If\7f118335
+Node: Defined\7f120639
+Node: Else\7f121922
+Node: Elif\7f122492
+Node: Deleted Code\7f123781
+Node: Diagnostics\7f125028
+Node: Line Control\7f126645
+Node: Pragmas\7f130449
+Node: Other Directives\7f134766
+Node: Preprocessor Output\7f135816
+Node: Traditional Mode\7f139017
+Node: Traditional lexical analysis\7f140075
+Node: Traditional macros\7f142578
+Node: Traditional miscellany\7f146380
+Node: Traditional warnings\7f147377
+Node: Implementation Details\7f149574
+Node: Implementation-defined behavior\7f150195
+Ref: Identifier characters\7f150947
+Node: Implementation limits\7f154025
+Node: Obsolete Features\7f156699
+Node: Differences from previous versions\7f159587
+Node: Invocation\7f163795
+Ref: Wtrigraphs\7f168247
+Ref: dashMF\7f173022
+Ref: fdollars-in-identifiers\7f182753
+Node: Environment Variables\7f192434
+Node: GNU Free Documentation License\7f195400
+Node: Index of Directives\7f220564
+Node: Option Index\7f222498
+Node: Concept Index\7f228828
 \1f
 End Tag Table
index 01b348d..05a6c1a 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/cppinternals.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/doc/cppinternals.texi.
+This is doc/cppinternals.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/doc/cppinternals.texi.
 
 INFO-DIR-SECTION Software development
 START-INFO-DIR-ENTRY
@@ -1020,17 +1020,17 @@ Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f971
-Node: Conventions\7f2656
-Node: Lexer\7f3598
-Ref: Invalid identifiers\7f11511
-Ref: Lexing a line\7f13460
-Node: Hash Nodes\7f18233
-Node: Macro Expansion\7f21112
-Node: Token Spacing\7f30059
-Node: Line Numbering\7f35919
-Node: Guard Macros\7f40004
-Node: Files\7f44795
-Node: Concept Index\7f48261
+Node: Top\7f985
+Node: Conventions\7f2670
+Node: Lexer\7f3612
+Ref: Invalid identifiers\7f11525
+Ref: Lexing a line\7f13474
+Node: Hash Nodes\7f18247
+Node: Macro Expansion\7f21126
+Node: Token Spacing\7f30073
+Node: Line Numbering\7f35933
+Node: Guard Macros\7f40018
+Node: Files\7f44809
+Node: Concept Index\7f48275
 \1f
 End Tag Table
index 205d870..a1b66a2 100644 (file)
@@ -803,7 +803,7 @@ Replacement:      [    ]    @{    @}    #    \    ^    |    ~
 Enable special code to work around file systems which only permit very
 short file names, such as MS-DOS@.
 
-@itemx --help
+@item --help
 @itemx --target-help
 @opindex help
 @opindex target-help
index 27a9e4f..0887946 100644 (file)
@@ -1274,7 +1274,7 @@ RAM using the lower two bytes as RAM address.
 If the high bit of the address is clear, data is read from flash
 with @code{RAMPZ} set according to the high byte of the address.
 
-Objects in this address space will be located in @code{.progmem.data}.
+Objects in this address space will be located in @code{.progmemx.data}.
 @end table
 
 @b{Example}
@@ -1332,7 +1332,7 @@ locates data in flash but
 accesses to these data will read from generic address space, i.e.@:
 from RAM,
 so that you need special accessors like @code{pgm_read_byte}
-from @w{@uref{http://nongnu.org/avr-libc/user-manual,AVR-LibC}}
+from @w{@uref{http://nongnu.org/avr-libc/user-manual/,AVR-LibC}}
 together with attribute @code{progmem}.
 
 @b{Limitations and caveats}
@@ -4822,7 +4822,7 @@ of the data but not how this data is accessed.
 In order to read data located with the @code{progmem} attribute
 (inline) assembler must be used.
 @example
-/* Use custom macros from @w{@uref{http://nongnu.org/avr-libc/user-manual,AVR-LibC}} */
+/* Use custom macros from @w{@uref{http://nongnu.org/avr-libc/user-manual/,AVR-LibC}} */
 #include <avr/pgmspace.h> 
 
 /* Locate var in flash memory */
@@ -10136,11 +10136,11 @@ v32qi __builtin_ia32_mpsadbw256 (v32qi,v32qi,v32qi,int)
 v32qi __builtin_ia32_pabsb256 (v32qi)
 v16hi __builtin_ia32_pabsw256 (v16hi)
 v8si __builtin_ia32_pabsd256 (v8si)
-v16hi builtin_ia32_packssdw256 (v8si,v8si)
+v16hi __builtin_ia32_packssdw256 (v8si,v8si)
 v32qi __builtin_ia32_packsswb256 (v16hi,v16hi)
 v16hi __builtin_ia32_packusdw256 (v8si,v8si)
 v32qi __builtin_ia32_packuswb256 (v16hi,v16hi)
-v32qi__builtin_ia32_paddb256 (v32qi,v32qi)
+v32qi __builtin_ia32_paddb256 (v32qi,v32qi)
 v16hi __builtin_ia32_paddw256 (v16hi,v16hi)
 v8si __builtin_ia32_paddd256 (v8si,v8si)
 v4di __builtin_ia32_paddq256 (v4di,v4di)
@@ -10151,7 +10151,7 @@ v16hi __builtin_ia32_paddusw256 (v16hi,v16hi)
 v4di __builtin_ia32_palignr256 (v4di,v4di,int)
 v4di __builtin_ia32_andsi256 (v4di,v4di)
 v4di __builtin_ia32_andnotsi256 (v4di,v4di)
-v32qi__builtin_ia32_pavgb256 (v32qi,v32qi)
+v32qi __builtin_ia32_pavgb256 (v32qi,v32qi)
 v16hi __builtin_ia32_pavgw256 (v16hi,v16hi)
 v32qi __builtin_ia32_pblendvb256 (v32qi,v32qi,v32qi)
 v16hi __builtin_ia32_pblendw256 (v16hi,v16hi,int)
index 31674f9..a684b20 100644 (file)
@@ -1,5 +1,5 @@
 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-@c 1999, 2000, 2001, 2003, 2004, 2005, 2008, 2011
+@c 1999, 2000, 2001, 2003, 2004, 2005, 2008, 2011, 2012
 @c Free Software Foundation, Inc.
 @c This is part of the GCC manual.
 @c For copying conditions, see the file gcc.texi.
@@ -93,6 +93,12 @@ Write one element in @code{MULTILIB_DIRNAMES} for each element in
 default value will be @code{MULTILIB_OPTIONS}, with all slashes treated
 as spaces.
 
+@code{MULTILIB_DIRNAMES} describes the multilib directories using GCC
+conventions and is applied to directories that are part of the GCC
+installation.  When multilib-enabled, the compiler will add a
+subdirectory of the form @var{prefix}/@var{multilib} before each
+directory in the search path for libraries and crt files.
+
 For example, if @code{MULTILIB_OPTIONS} is set to @samp{m68000/m68020
 msoft-float}, then the default value of @code{MULTILIB_DIRNAMES} is
 @samp{m68000 m68020 msoft-float}.  You may specify a different value if
@@ -129,6 +135,60 @@ compiler.  In that case, set @code{MULTILIB_EXTRA_OPTS} to be the list
 of options to be used for all builds.  If you set this, you should
 probably set @code{CRTSTUFF_T_CFLAGS} to a dash followed by it.
 
+@findex MULTILIB_OSDIRNAMES
+@item MULTILIB_OSDIRNAMES
+If @code{MULTILIB_OPTIONS} is used, this variable specifies 
+a list of subdirectory names, that are used to modify the search
+path depending on the chosen multilib.  Unlike @code{MULTILIB_DIRNAMES},
+@code{MULTILIB_OSDIRNAMES} describes the multilib directories using
+operating systems conventions, and is applied to the directories such as
+@code{lib} or those in the @env{LIBRARY_PATH} environment variable.
+The format is either the same as of
+@code{MULTILIB_DIRNAMES}, or a set of mappings.  When it is the same
+as @code{MULTILIB_DIRNAMES}, it describes the multilib directories
+using operating system conventions, rather than GCC conventions.  When it is a set
+of mappings of the form @var{gccdir}=@var{osdir}, the left side gives
+the GCC convention and the right gives the equivalent OS defined
+location.  If the @var{osdir} part begins with a @samp{!},
+GCC will not search in the non-multilib directory and use
+exclusively the multilib directory.  Otherwise, the compiler will
+examine the search path for libraries and crt files twice; the first
+time it will add @var{multilib} to each directory in the search path,
+the second it will not.
+
+For configurations that support both multilib and multiarch,
+@code{MULTILIB_OSDIRNAMES} also encodes the multiarch name, thus
+subsuming @code{MULTIARCH_DIRNAME}.  The multiarch name is appended to
+each directory name, separated by a colon (e.g.
+@samp{../lib32:i386-linux-gnu}).
+
+Each multiarch subdirectory will be searched before the corresponding OS
+multilib directory, for example @samp{/lib/i386-linux-gnu} before
+@samp{/lib/../lib32}.  The multiarch name will also be used to modify the
+system header search path, as explained for @code{MULTIARCH_DIRNAME}.
+
+@findex MULTIARCH_DIRNAME
+@item MULTIARCH_DIRNAME
+This variable specifies the multiarch name for configurations that are
+multiarch-enabled but not multilibbed configurations.
+
+The multiarch name is used to augment the search path for libraries, crt
+files and system header files with additional locations.  The compiler
+will add a multiarch subdirectory of the form
+@var{prefix}/@var{multiarch} before each directory in the library and
+crt search path.  It will also add two directories
+@code{LOCAL_INCLUDE_DIR}/@var{multiarch} and
+@code{NATIVE_SYSTEM_HEADER_DIR}/@var{multiarch}) to the system header
+search path, respectively before @code{LOCAL_INCLUDE_DIR} and
+@code{NATIVE_SYSTEM_HEADER_DIR}.
+
+@code{MULTIARCH_DIRNAME} is not used for configurations that support
+both multilib and multiarch.  In that case, multiarch names are encoded
+in @code{MULTILIB_OSDIRNAMES} instead.
+
+More documentation about multiarch can be found at
+@uref{http://wiki.debian.org/Multiarch}.
+
 @findex SPECS
 @item SPECS
 Unfortunately, setting @code{MULTILIB_EXTRA_OPTS} is not enough, since
index 905ab75..252616e 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "FSF-FUNDING 7"
-.TH FSF-FUNDING 7 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH FSF-FUNDING 7 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 fsf\-funding \- Funding Free Software
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-.SS "Funding Free Software"
+.Sh "Funding Free Software"
 .IX Subsection "Funding Free Software"
 If you want to have more free software a few years from now, it makes
 sense for you to help encourage people to contribute funds for its
index d8f47c2..e3ea0e6 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GCC 1"
-.TH GCC 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GCC 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -180,7 +188,7 @@ these have both positive and negative forms; the negative form of
 only one of these two forms, whichever one is not the default.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
-.SS "Option Summary"
+.Sh "Option Summary"
 .IX Subsection "Option Summary"
 Here is a summary of all the options, grouped by type.  Explanations are
 in the following sections.
@@ -633,7 +641,7 @@ in the following sections.
 \&\fB\-mincoming\-stack\-boundary=\fR\fInum\fR 
 \&\fB\-mcld \-mcx16 \-msahf \-mmovbe \-mcrc32 
 \&\-mrecip \-mrecip=\fR\fIopt\fR 
-\&\fB\-mvzeroupper 
+\&\fB\-mvzeroupper \-mprefer\-avx128 
 \&\-mmmx  \-msse  \-msse2 \-msse3 \-mssse3 \-msse4.1 \-msse4.2 \-msse4 \-mavx 
 \&\-mavx2 \-maes \-mpclmul \-mfsgsbase \-mrdrnd \-mf16c \-mfma 
 \&\-msse4a \-m3dnow \-mpopcnt \-mabm \-mbmi \-mtbm \-mfma4 \-mxop \-mlzcnt 
@@ -910,7 +918,6 @@ See \s-1RS/6000\s0 and PowerPC Options.
 \&\-mfaster\-structs  \-mno\-faster\-structs  \-mflat  \-mno\-flat 
 \&\-mfpu  \-mno\-fpu  \-mhard\-float  \-msoft\-float 
 \&\-mhard\-quad\-float  \-msoft\-quad\-float 
-\&\-mlittle\-endian 
 \&\-mstack\-bias  \-mno\-stack\-bias 
 \&\-munaligned\-doubles  \-mno\-unaligned\-doubles 
 \&\-mv8plus  \-mno\-v8plus  \-mvis  \-mno\-vis 
@@ -995,7 +1002,7 @@ See S/390 and zSeries Options.
 \&\-fleading\-underscore  \-ftls\-model=\fR\fImodel\fR 
 \&\fB\-ftrapv  \-fwrapv  \-fbounds\-check 
 \&\-fvisibility \-fstrict\-volatile\-bitfields\fR
-.SS "Options Controlling the Kind of Output"
+.Sh "Options Controlling the Kind of Output"
 .IX Subsection "Options Controlling the Kind of Output"
 Compilation can involve up to four stages: preprocessing, compilation
 proper, assembly and linking, always in that order.  \s-1GCC\s0 is capable of
@@ -1447,7 +1454,7 @@ option in either single or double quotes.  Any character (including a
 backslash) may be included by prefixing the character to be included
 with a backslash.  The \fIfile\fR may itself contain additional
 @\fIfile\fR options; any such options will be processed recursively.
-.SS "Compiling \*(C+ Programs"
+.Sh "Compiling \*(C+ Programs"
 .IX Subsection "Compiling  Programs"
 \&\*(C+ source files conventionally use one of the suffixes \fB.C\fR,
 \&\fB.cc\fR, \fB.cpp\fR, \fB.CPP\fR, \fB.c++\fR, \fB.cp\fR, or
@@ -1471,7 +1478,7 @@ When you compile \*(C+ programs, you may specify many of the same
 command-line options that you use for compiling programs in any
 language; or command-line options meaningful for C and related
 languages; or options that are meaningful only for \*(C+ programs.
-.SS "Options Controlling C Dialect"
+.Sh "Options Controlling C Dialect"
 .IX Subsection "Options Controlling C Dialect"
 The following options control the dialect of C (or languages derived
 from C, such as \*(C+, Objective-C and Objective\-\*(C+) that the compiler
@@ -1840,7 +1847,7 @@ These options control whether a bit-field is signed or unsigned, when the
 declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*(C'\fR.  By
 default, such a bit-field is signed, because this is consistent: the
 basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types.
-.SS "Options Controlling \*(C+ Dialect"
+.Sh "Options Controlling \*(C+ Dialect"
 .IX Subsection "Options Controlling  Dialect"
 This section describes the command-line options that are only meaningful
 for \*(C+ programs; but you can also use most of the \s-1GNU\s0 compiler options
@@ -2473,7 +2480,7 @@ unsignedness, but the standard mandates the current behavior.
 .Sp
 In this example, G++ will synthesize a default \fBA& operator =
 (const A&);\fR, while cfront will use the user-defined \fBoperator =\fR.
-.SS "Options Controlling Objective-C and Objective\-\*(C+ Dialects"
+.Sh "Options Controlling Objective-C and Objective\-\*(C+ Dialects"
 .IX Subsection "Options Controlling Objective-C and Objective- Dialects"
 (\s-1NOTE:\s0 This manual does not describe the Objective-C and Objective\-\*(C+
 languages themselves.
@@ -2670,7 +2677,7 @@ that methods and selectors must be declared before being used.
 .IX Item "-print-objc-runtime-info"
 Generate C header describing the largest structure that is passed by
 value, if any.
-.SS "Options to Control Diagnostic Messages Formatting"
+.Sh "Options to Control Diagnostic Messages Formatting"
 .IX Subsection "Options to Control Diagnostic Messages Formatting"
 Traditionally, diagnostic messages have been formatted irrespective of
 the output device's aspect (e.g. its width, ...).  The options described
@@ -2706,7 +2713,7 @@ By default, each diagnostic emitted includes text indicating the
 command-line option that directly controls the diagnostic (if such an
 option is known to the diagnostic machinery).  Specifying the
 \&\fB\-fno\-diagnostics\-show\-option\fR flag suppresses that behavior.
-.SS "Options to Request or Suppress Warnings"
+.Sh "Options to Request or Suppress Warnings"
 .IX Subsection "Options to Request or Suppress Warnings"
 Warnings are diagnostic messages that report constructions that
 are not inherently erroneous but that are risky or suggest there
@@ -4192,7 +4199,7 @@ a suffix.  When used together with \fB\-Wsystem\-headers\fR it will
 warn about such constants in system header files.  This can be useful
 when preparing code to use with the \f(CW\*(C`FLOAT_CONST_DECIMAL64\*(C'\fR pragma
 from the decimal floating-point extension to C99.
-.SS "Options for Debugging Your Program or \s-1GCC\s0"
+.Sh "Options for Debugging Your Program or \s-1GCC\s0"
 .IX Subsection "Options for Debugging Your Program or GCC"
 \&\s-1GCC\s0 has various special options that are used for debugging
 either your program or \s-1GCC:\s0
@@ -5442,6 +5449,10 @@ usually just \fI.\fR, if \s-1OS\s0 libraries are present in \fIlib\fIsuffix\fI\f
 sibling directories this prints e.g. \fI../lib64\fR, \fI../lib\fR or
 \&\fI../lib32\fR, or if \s-1OS\s0 libraries are present in \fIlib/\fIsubdir\fI\fR
 subdirectories it prints e.g. \fIamd64\fR, \fIsparcv9\fR or \fIev6\fR.
+.IP "\fB\-print\-multiarch\fR" 4
+.IX Item "-print-multiarch"
+Print the path to \s-1OS\s0 libraries for the selected multiarch,
+relative to some \fIlib\fR subdirectory.
 .IP "\fB\-print\-prog\-name=\fR\fIprogram\fR" 4
 .IX Item "-print-prog-name=program"
 Like \fB\-print\-file\-name\fR, but searches for a program such as \fBcpp\fR.
@@ -5501,7 +5512,7 @@ not actually used in your program (but is declared).  More often,
 however, this results in a significant amount of wasted space.
 With this option, \s-1GCC\s0 will avoid producing debug symbol output
 for types that are nowhere used in the source file being compiled.
-.SS "Options That Control Optimization"
+.Sh "Options That Control Optimization"
 .IX Subsection "Options That Control Optimization"
 These options control various sorts of optimizations.
 .PP
@@ -8522,7 +8533,7 @@ heuristics used by default if has non zero value.
 .RE
 .RS 4
 .RE
-.SS "Options Controlling the Preprocessor"
+.Sh "Options Controlling the Preprocessor"
 .IX Subsection "Options Controlling the Preprocessor"
 These options control the C preprocessor, which is run on each C source
 file before actual compilation.
@@ -9305,7 +9316,7 @@ header file is printed with \fB...x\fR and a valid one with \fB...!\fR .
 .PD
 Print out \s-1GNU\s0 \s-1CPP\s0's version number.  With one dash, proceed to
 preprocess as normal.  With two dashes, exit immediately.
-.SS "Passing Options to the Assembler"
+.Sh "Passing Options to the Assembler"
 .IX Subsection "Passing Options to the Assembler"
 You can pass options to the assembler.
 .IP "\fB\-Wa,\fR\fIoption\fR" 4
@@ -9320,7 +9331,7 @@ recognize.
 .Sp
 If you want to pass an option that takes an argument, you must use
 \&\fB\-Xassembler\fR twice, once for the option and once for the argument.
-.SS "Options for Linking"
+.Sh "Options for Linking"
 .IX Subsection "Options for Linking"
 These options come into play when the compiler links object files into
 an executable output file.  They are meaningless if the compiler is
@@ -9537,7 +9548,7 @@ linker.  When using the \s-1GNU\s0 linker, you can also get the same effect with
 Pretend the symbol \fIsymbol\fR is undefined, to force linking of
 library modules to define it.  You can use \fB\-u\fR multiple times with
 different symbols to force loading of additional library modules.
-.SS "Options for Directory Search"
+.Sh "Options for Directory Search"
 .IX Subsection "Options for Directory Search"
 These options specify directories to search for header files, for
 libraries and for parts of the compiler:
@@ -9664,13 +9675,13 @@ by default, but it is often satisfactory.
 \&\fB\-I\-\fR does not inhibit the use of the standard system directories
 for header files.  Thus, \fB\-I\-\fR and \fB\-nostdinc\fR are
 independent.
-.SS "Specifying Target Machine and Compiler Version"
+.Sh "Specifying Target Machine and Compiler Version"
 .IX Subsection "Specifying Target Machine and Compiler Version"
 The usual way to run \s-1GCC\s0 is to run the executable called \fBgcc\fR, or
 \&\fImachine\fR\fB\-gcc\fR when cross-compiling, or
 \&\fImachine\fR\fB\-gcc\-\fR\fIversion\fR to run a version other than the
 one that was installed last.
-.SS "Hardware Models and Configurations"
+.Sh "Hardware Models and Configurations"
 .IX Subsection "Hardware Models and Configurations"
 Each target machine types can have its own
 special options, starting with \fB\-m\fR, to choose among various
@@ -10182,9 +10193,6 @@ defined.
 .IX Item "-mmcu=mcu"
 Specify Atmel \s-1AVR\s0 instruction set architectures (\s-1ISA\s0) or \s-1MCU\s0 type.
 .Sp
-For a complete list of \fImcu\fR values that are supported by \fBavr-gcc\fR,
-see the compiler output when called with the \fB\-\-help=target\fR
-command line option.
 The default for this option is@tie{}\f(CW\*(C`avr2\*(C'\fR.
 .Sp
 \&\s-1GCC\s0 supports the following \s-1AVR\s0 devices and ISAs:
@@ -10193,23 +10201,23 @@ The default for this option is@tie{}\f(CW\*(C`avr2\*(C'\fR.
 .el .IP "\f(CWavr2\fR" 4
 .IX Item "avr2"
 \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR,
-\&\f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR,
-\&\f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR,
-\&\f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR, \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR,
+\&\f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR,
+\&\f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR,
+\&\f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR.
 .ie n .IP """avr25""" 4
 .el .IP "\f(CWavr25\fR" 4
 .IX Item "avr25"
 \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with
 the \f(CW\*(C`MOVW\*(C'\fR instruction.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at86rf401\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR,
-\&\f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR,
-\&\f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR,
-\&\f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR,
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR,
+\&\f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR,
+\&\f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR,
+\&\f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR,
 \&\f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR,
 \&\f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR,
 \&\f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR,
-\&\f(CW\*(C`attiny88\*(C'\fR.
+\&\f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR.
 .ie n .IP """avr3""" 4
 .el .IP "\f(CWavr3\fR" 4
 .IX Item "avr3"
@@ -10219,61 +10227,62 @@ the \f(CW\*(C`MOVW\*(C'\fR instruction.
 .el .IP "\f(CWavr31\fR" 4
 .IX Item "avr31"
 \&\*(L"Classic\*(R" devices with 128@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at43usb320\*(C'\fR, \f(CW\*(C`atmega103\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega103\*(C'\fR, \f(CW\*(C`at43usb320\*(C'\fR.
 .ie n .IP """avr35""" 4
 .el .IP "\f(CWavr35\fR" 4
 .IX Item "avr35"
 \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program
 memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90usb162\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR,
-\&\f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR,
-\&\f(CW\*(C`attiny167\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR,
+\&\f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR,
+\&\f(CW\*(C`at90usb82\*(C'\fR.
 .ie n .IP """avr4""" 4
 .el .IP "\f(CWavr4\fR" 4
 .IX Item "avr4"
 \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR,
-\&\f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR, \f(CW\*(C`atmega48\*(C'\fR,
-\&\f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR,
-\&\f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR,
-\&\f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR,
+\&\f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR,
+\&\f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR,
+\&\f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR,
+\&\f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR,
+\&\f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR.
 .ie n .IP """avr5""" 4
 .el .IP "\f(CWavr5\fR" 4
 .IX Item "avr5"
 \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR,
-\&\f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR,
-\&\f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`atmega16\*(C'\fR,
-\&\f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR,
-\&\f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR,
-\&\f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR,
-\&\f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR,
-\&\f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR,
-\&\f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR,
-\&\f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR,
-\&\f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR,
-\&\f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR,
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR,
+\&\f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR,
+\&\f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR,
+\&\f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR,
+\&\f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR,
+\&\f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR,
+\&\f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR,
+\&\f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR,
+\&\f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR,
+\&\f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR,
+\&\f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR,
+\&\f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR,
 \&\f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR,
-\&\f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR,
-\&\f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR,
-\&\f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR,
-\&\f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR,
-\&\f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR,
-\&\f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR,
-\&\f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR,
-\&\f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR,
-\&\f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR,
-\&\f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR,
-\&\f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR,
-\&\f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR,
+\&\f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR,
+\&\f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR,
+\&\f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR,
+\&\f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR,
+\&\f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR,
+\&\f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR,
+\&\f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR,
+\&\f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR,
+\&\f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR,
+\&\f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR,
+\&\f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR,
+\&\f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR,
 \&\f(CW\*(C`m3000\*(C'\fR.
 .ie n .IP """avr51""" 4
 .el .IP "\f(CWavr51\fR" 4
 .IX Item "avr51"
 \&\*(L"Enhanced\*(R" devices with 128@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90can128\*(C'\fR, \f(CW\*(C`at90usb1286\*(C'\fR,
-\&\f(CW\*(C`at90usb1287\*(C'\fR, \f(CW\*(C`atmega128\*(C'\fR, \f(CW\*(C`atmega1280\*(C'\fR,
-\&\f(CW\*(C`atmega1281\*(C'\fR, \f(CW\*(C`atmega1284p\*(C'\fR, \f(CW\*(C`atmega128rfa1\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega128\*(C'\fR, \f(CW\*(C`atmega128rfa1\*(C'\fR,
+\&\f(CW\*(C`atmega1280\*(C'\fR, \f(CW\*(C`atmega1281\*(C'\fR, \f(CW\*(C`atmega1284p\*(C'\fR,
+\&\f(CW\*(C`at90can128\*(C'\fR, \f(CW\*(C`at90usb1286\*(C'\fR, \f(CW\*(C`at90usb1287\*(C'\fR.
 .ie n .IP """avr6""" 4
 .el .IP "\f(CWavr6\fR" 4
 .IX Item "avr6"
@@ -10318,8 +10327,8 @@ more than 64@tie{}KiB of \s-1RAM\s0.
 .IX Item "avr1"
 This \s-1ISA\s0 is implemented by the minimal \s-1AVR\s0 core and supported for
 assembler only.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90s1200\*(C'\fR, \f(CW\*(C`attiny11\*(C'\fR, \f(CW\*(C`attiny12\*(C'\fR,
-\&\f(CW\*(C`attiny15\*(C'\fR, \f(CW\*(C`attiny28\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny11\*(C'\fR, \f(CW\*(C`attiny12\*(C'\fR, \f(CW\*(C`attiny15\*(C'\fR,
+\&\f(CW\*(C`attiny28\*(C'\fR, \f(CW\*(C`at90s1200\*(C'\fR.
 .RE
 .RS 4
 .RE
@@ -10374,10 +10383,12 @@ Relaxing must be turned on if linker stubs are needed, see the
 section on \f(CW\*(C`EIND\*(C'\fR and linker stubs below.
 .IP "\fB\-mshort\-calls\fR" 4
 .IX Item "-mshort-calls"
+This option has been deprecated and will be removed in \s-1GCC\s0 4.8.
+See \f(CW\*(C`\-mrelax\*(C'\fR for a replacement.
+.Sp
 Use \f(CW\*(C`RCALL\*(C'\fR/\f(CW\*(C`RJMP\*(C'\fR instructions even on devices with
 16@tie{}KiB or more of program memory, i.e. on devices that
 have the \f(CW\*(C`CALL\*(C'\fR and \f(CW\*(C`JMP\*(C'\fR instructions.
-See also the \f(CW\*(C`\-mrelax\*(C'\fR command line option.
 .IP "\fB\-msp8\fR" 4
 .IX Item "-msp8"
 Treat the stack pointer register as an 8\-bit register,
@@ -10461,7 +10472,7 @@ points to.
 The startup code from libgcc never sets \f(CW\*(C`EIND\*(C'\fR.
 Notice that startup code is a blend of code from libgcc and AVR-LibC.
 For the impact of AVR-LibC on \f(CW\*(C`EIND\*(C'\fR, see the
-AVR-LibC\ user\ manual (\f(CW\*(C`http://nongnu.org/avr\-libc/user\-manual\*(C'\fR).
+AVR-LibC\ user\ manual (\f(CW\*(C`http://nongnu.org/avr\-libc/user\-manual/\*(C'\fR).
 .IP "\(bu" 4
 It is legitimate for user-specific startup code to set up \f(CW\*(C`EIND\*(C'\fR
 early, for example by means of initialization code located in
@@ -10597,6 +10608,24 @@ triggered by the \f(CW\*(C`\-mmcu=\*(C'\fR command-line option.
 .PP
 For even more AVR-specific built-in macros see
 \&\fB\s-1AVR\s0 Named Address Spaces\fR and \fB\s-1AVR\s0 Built-in Functions\fR.
+.ie n .IP """_\|_AVR_ARCH_\|_""" 4
+.el .IP "\f(CW_\|_AVR_ARCH_\|_\fR" 4
+.IX Item "__AVR_ARCH__"
+Build-in macro that resolves to a decimal number that identifies the
+architecture and depends on the \f(CW\*(C`\-mmcu=\f(CImcu\f(CW\*(C'\fR option.
+Possible values are:
+.Sp
+\&\f(CW2\fR, \f(CW25\fR, \f(CW3\fR, \f(CW31\fR, \f(CW35\fR,
+\&\f(CW4\fR, \f(CW5\fR, \f(CW51\fR, \f(CW6\fR, \f(CW102\fR, \f(CW104\fR,
+\&\f(CW105\fR, \f(CW106\fR, \f(CW107\fR
+.Sp
+for \fImcu\fR=\f(CW\*(C`avr2\*(C'\fR, \f(CW\*(C`avr25\*(C'\fR, \f(CW\*(C`avr3\*(C'\fR,
+\&\f(CW\*(C`avr31\*(C'\fR, \f(CW\*(C`avr35\*(C'\fR, \f(CW\*(C`avr4\*(C'\fR, \f(CW\*(C`avr5\*(C'\fR, \f(CW\*(C`avr51\*(C'\fR,
+\&\f(CW\*(C`avr6\*(C'\fR, \f(CW\*(C`avrxmega2\*(C'\fR, \f(CW\*(C`avrxmega4\*(C'\fR, \f(CW\*(C`avrxmega5\*(C'\fR,
+\&\f(CW\*(C`avrxmega6\*(C'\fR, \f(CW\*(C`avrxmega7\*(C'\fR, respectively.
+If \fImcu\fR specifies a device, this built-in macro is set
+accordingly. For example, with \f(CW\*(C`\-mmcu=atmega8\*(C'\fR the macro will be
+defined to \f(CW4\fR.
 .ie n .IP """_\|_AVR_\f(CIDevice\f(CW_\|_""" 4
 .el .IP "\f(CW_\|_AVR_\f(CIDevice\f(CW_\|_\fR" 4
 .IX Item "__AVR_Device__"
@@ -10610,6 +10639,13 @@ the scheme \f(CW\*(C`_\|_AVR_\f(CIDevice\f(CW_\|_\*(C'\fR where \fIDevice\fR is
 the device name as from the \s-1AVR\s0 user manual. The difference between
 \&\fIDevice\fR in the built-in macro and \fIdevice\fR in
 \&\f(CW\*(C`\-mmcu=\f(CIdevice\f(CW\*(C'\fR is that the latter is always lowercase.
+.Sp
+If \fIdevice\fR is not a device but only a core architecture like
+\&\f(CW\*(C`avr51\*(C'\fR, this macro will not be defined.
+.ie n .IP """_\|_AVR_XMEGA_\|_""" 4
+.el .IP "\f(CW_\|_AVR_XMEGA_\|_\fR" 4
+.IX Item "__AVR_XMEGA__"
+The device/architecture belongs to the \s-1XMEGA\s0 family of devices.
 .ie n .IP """_\|_AVR_HAVE_ELPM_\|_""" 4
 .el .IP "\f(CW_\|_AVR_HAVE_ELPM_\|_\fR" 4
 .IX Item "__AVR_HAVE_ELPM__"
@@ -12816,6 +12852,10 @@ This option instructs \s-1GCC\s0 to emit a \f(CW\*(C`vzeroupper\*(C'\fR instruct
 before a transfer of control flow out of the function to minimize
 \&\s-1AVX\s0 to \s-1SSE\s0 transition penalty as well as remove unnecessary zeroupper
 intrinsics.
+.IP "\fB\-mprefer\-avx128\fR" 4
+.IX Item "-mprefer-avx128"
+This option instructs \s-1GCC\s0 to use 128\-bit \s-1AVX\s0 instructions instead of
+256\-bit \s-1AVX\s0 instructions in the auto-vectorizer.
 .IP "\fB\-mcx16\fR" 4
 .IX Item "-mcx16"
 This option will enable \s-1GCC\s0 to use \s-1CMPXCHG16B\s0 instruction in generated code.
@@ -16979,43 +17019,99 @@ This is the default when the target is \f(CW\*(C`sh\-*\-linux*\*(C'\fR.
 Set the cost to assume for a multiply insn.
 .IP "\fB\-mdiv=\fR\fIstrategy\fR" 4
 .IX Item "-mdiv=strategy"
-Set the division strategy to use for SHmedia code.  \fIstrategy\fR must be
-one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call,
-inv:call2, inv:fp .
-\&\*(L"fp\*(R" performs the operation in floating point.  This has a very high latency,
+Set the division strategy to be used for integer division operations.
+For SHmedia \fIstrategy\fR can be one of:
+.RS 4
+.IP "\fBfp\fR" 4
+.IX Item "fp"
+Performs the operation in floating point.  This has a very high latency,
 but needs only a few instructions, so it might be a good choice if
 your code has enough easily-exploitable \s-1ILP\s0 to allow the compiler to
 schedule the floating-point instructions together with other instructions.
 Division by zero causes a floating-point exception.
-\&\*(L"inv\*(R" uses integer operations to calculate the inverse of the divisor,
+.IP "\fBinv\fR" 4
+.IX Item "inv"
+Uses integer operations to calculate the inverse of the divisor,
 and then multiplies the dividend with the inverse.  This strategy allows
-cse and hoisting of the inverse calculation.  Division by zero calculates
+\&\s-1CSE\s0 and hoisting of the inverse calculation.  Division by zero calculates
 an unspecified result, but does not trap.
-\&\*(L"inv:minlat\*(R" is a variant of \*(L"inv\*(R" where if no cse / hoisting opportunities
+.IP "\fBinv:minlat\fR" 4
+.IX Item "inv:minlat"
+A variant of \fBinv\fR where, if no \s-1CSE\s0 or hoisting opportunities
 have been found, or if the entire operation has been hoisted to the same
 place, the last stages of the inverse calculation are intertwined with the
 final multiply to reduce the overall latency, at the expense of using a few
 more instructions, and thus offering fewer scheduling opportunities with
 other code.
-\&\*(L"call\*(R" calls a library function that usually implements the inv:minlat
+.IP "\fBcall\fR" 4
+.IX Item "call"
+Calls a library function that usually implements the \fBinv:minlat\fR
 strategy.
-This gives high code density for m5\-*media\-nofpu compilations.
-\&\*(L"call2\*(R" uses a different entry point of the same library function, where it
+This gives high code density for \f(CW\*(C`m5\-*media\-nofpu\*(C'\fR compilations.
+.IP "\fBcall2\fR" 4
+.IX Item "call2"
+Uses a different entry point of the same library function, where it
 assumes that a pointer to a lookup table has already been set up, which
-exposes the pointer load to cse / code hoisting optimizations.
-\&\*(L"inv:call\*(R", \*(L"inv:call2\*(R" and \*(L"inv:fp\*(R" all use the \*(L"inv\*(R" algorithm for initial
-code generation, but if the code stays unoptimized, revert to the \*(L"call\*(R",
-\&\*(L"call2\*(R", or \*(L"fp\*(R" strategies, respectively.  Note that the
+exposes the pointer load to \s-1CSE\s0 and code hoisting optimizations.
+.IP "\fBinv:call\fR" 4
+.IX Item "inv:call"
+.PD 0
+.IP "\fBinv:call2\fR" 4
+.IX Item "inv:call2"
+.IP "\fBinv:fp\fR" 4
+.IX Item "inv:fp"
+.PD
+Use the \fBinv\fR algorithm for initial
+code generation, but if the code stays unoptimized, revert to the \fBcall\fR,
+\&\fBcall2\fR, or \fBfp\fR strategies, respectively.  Note that the
 potentially-trapping side effect of division by zero is carried by a
 separate instruction, so it is possible that all the integer instructions
 are hoisted out, but the marker for the side effect stays where it is.
-A recombination to fp operations or a call is not possible in that case.
-\&\*(L"inv20u\*(R" and \*(L"inv20l\*(R" are variants of the \*(L"inv:minlat\*(R" strategy.  In the case
-that the inverse calculation was nor separated from the multiply, they speed
-up division where the dividend fits into 20 bits (plus sign where applicable),
+A recombination to floating-point operations or a call is not possible
+in that case.
+.IP "\fBinv20u\fR" 4
+.IX Item "inv20u"
+.PD 0
+.IP "\fBinv20l\fR" 4
+.IX Item "inv20l"
+.PD
+Variants of the \fBinv:minlat\fR strategy.  In the case
+that the inverse calculation is not separated from the multiply, they speed
+up division where the dividend fits into 20 bits (plus sign where applicable)
 by inserting a test to skip a number of operations in this case; this test
-slows down the case of larger dividends.  inv20u assumes the case of a such
-a small dividend to be unlikely, and inv20l assumes it to be likely.
+slows down the case of larger dividends.  \fBinv20u\fR assumes the case of a such
+a small dividend to be unlikely, and \fBinv20l\fR assumes it to be likely.
+.RE
+.RS 4
+.Sp
+For targets other than SHmedia \fIstrategy\fR can be one of:
+.IP "\fBcall\-div1\fR" 4
+.IX Item "call-div1"
+Calls a library function that uses the single-step division instruction
+\&\f(CW\*(C`div1\*(C'\fR to perform the operation.  Division by zero calculates an
+unspecified result and does not trap.  This is the default except for \s-1SH4\s0,
+\&\s-1SH2A\s0 and SHcompact.
+.IP "\fBcall-fp\fR" 4
+.IX Item "call-fp"
+Calls a library function that performs the operation in double precision
+floating point.  Division by zero causes a floating-point exception.  This is
+the default for SHcompact with \s-1FPU\s0.  Specifying this for targets that do not
+have a double precision \s-1FPU\s0 will default to \f(CW\*(C`call\-div1\*(C'\fR.
+.IP "\fBcall-table\fR" 4
+.IX Item "call-table"
+Calls a library function that uses a lookup table for small divisors and
+the \f(CW\*(C`div1\*(C'\fR instruction with case distinction for larger divisors.  Division
+by zero calculates an unspecified result and does not trap.  This is the default
+for \s-1SH4\s0.  Specifying this for targets that do not have dynamic shift
+instructions will default to \f(CW\*(C`call\-div1\*(C'\fR.
+.RE
+.RS 4
+.Sp
+When a division strategy has not been specified the default strategy will be
+selected based on the current target.  For \s-1SH2A\s0 the default strategy is to
+use the \f(CW\*(C`divs\*(C'\fR and \f(CW\*(C`divu\*(C'\fR instructions instead of library function
+calls.
+.RE
 .IP "\fB\-maccumulate\-outgoing\-args\fR" 4
 .IX Item "-maccumulate-outgoing-args"
 Reserve space once for outgoing arguments in the function prologue rather
@@ -17395,10 +17491,6 @@ processor (which corresponds to erratum #13 of the \s-1AT697E\s0 processor).
 .PP
 These \fB\-m\fR options are supported in addition to the above
 on \s-1SPARC\-V9\s0 processors in 64\-bit environments:
-.IP "\fB\-mlittle\-endian\fR" 4
-.IX Item "-mlittle-endian"
-Generate code for a processor running in little-endian mode.  It is only
-available for a few configurations and most notably not on Solaris and Linux.
 .IP "\fB\-m32\fR" 4
 .IX Item "-m32"
 .PD 0
@@ -17932,7 +18024,7 @@ every cross-file call, not just those that really will be out of range.
 .IX Subsection "zSeries Options"
 .PP
 These are listed under
-.SS "Options for Code Generation Conventions"
+.Sh "Options for Code Generation Conventions"
 .IX Subsection "Options for Code Generation Conventions"
 These machine-independent options control the interface conventions
 used in code generation.
index d4e30c2..d868b22 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GC-ANALYZE 1"
-.TH GC-ANALYZE 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GC-ANALYZE 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index d8f47c2..e3ea0e6 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GCC 1"
-.TH GCC 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GCC 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -180,7 +188,7 @@ these have both positive and negative forms; the negative form of
 only one of these two forms, whichever one is not the default.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
-.SS "Option Summary"
+.Sh "Option Summary"
 .IX Subsection "Option Summary"
 Here is a summary of all the options, grouped by type.  Explanations are
 in the following sections.
@@ -633,7 +641,7 @@ in the following sections.
 \&\fB\-mincoming\-stack\-boundary=\fR\fInum\fR 
 \&\fB\-mcld \-mcx16 \-msahf \-mmovbe \-mcrc32 
 \&\-mrecip \-mrecip=\fR\fIopt\fR 
-\&\fB\-mvzeroupper 
+\&\fB\-mvzeroupper \-mprefer\-avx128 
 \&\-mmmx  \-msse  \-msse2 \-msse3 \-mssse3 \-msse4.1 \-msse4.2 \-msse4 \-mavx 
 \&\-mavx2 \-maes \-mpclmul \-mfsgsbase \-mrdrnd \-mf16c \-mfma 
 \&\-msse4a \-m3dnow \-mpopcnt \-mabm \-mbmi \-mtbm \-mfma4 \-mxop \-mlzcnt 
@@ -910,7 +918,6 @@ See \s-1RS/6000\s0 and PowerPC Options.
 \&\-mfaster\-structs  \-mno\-faster\-structs  \-mflat  \-mno\-flat 
 \&\-mfpu  \-mno\-fpu  \-mhard\-float  \-msoft\-float 
 \&\-mhard\-quad\-float  \-msoft\-quad\-float 
-\&\-mlittle\-endian 
 \&\-mstack\-bias  \-mno\-stack\-bias 
 \&\-munaligned\-doubles  \-mno\-unaligned\-doubles 
 \&\-mv8plus  \-mno\-v8plus  \-mvis  \-mno\-vis 
@@ -995,7 +1002,7 @@ See S/390 and zSeries Options.
 \&\-fleading\-underscore  \-ftls\-model=\fR\fImodel\fR 
 \&\fB\-ftrapv  \-fwrapv  \-fbounds\-check 
 \&\-fvisibility \-fstrict\-volatile\-bitfields\fR
-.SS "Options Controlling the Kind of Output"
+.Sh "Options Controlling the Kind of Output"
 .IX Subsection "Options Controlling the Kind of Output"
 Compilation can involve up to four stages: preprocessing, compilation
 proper, assembly and linking, always in that order.  \s-1GCC\s0 is capable of
@@ -1447,7 +1454,7 @@ option in either single or double quotes.  Any character (including a
 backslash) may be included by prefixing the character to be included
 with a backslash.  The \fIfile\fR may itself contain additional
 @\fIfile\fR options; any such options will be processed recursively.
-.SS "Compiling \*(C+ Programs"
+.Sh "Compiling \*(C+ Programs"
 .IX Subsection "Compiling  Programs"
 \&\*(C+ source files conventionally use one of the suffixes \fB.C\fR,
 \&\fB.cc\fR, \fB.cpp\fR, \fB.CPP\fR, \fB.c++\fR, \fB.cp\fR, or
@@ -1471,7 +1478,7 @@ When you compile \*(C+ programs, you may specify many of the same
 command-line options that you use for compiling programs in any
 language; or command-line options meaningful for C and related
 languages; or options that are meaningful only for \*(C+ programs.
-.SS "Options Controlling C Dialect"
+.Sh "Options Controlling C Dialect"
 .IX Subsection "Options Controlling C Dialect"
 The following options control the dialect of C (or languages derived
 from C, such as \*(C+, Objective-C and Objective\-\*(C+) that the compiler
@@ -1840,7 +1847,7 @@ These options control whether a bit-field is signed or unsigned, when the
 declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*(C'\fR.  By
 default, such a bit-field is signed, because this is consistent: the
 basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types.
-.SS "Options Controlling \*(C+ Dialect"
+.Sh "Options Controlling \*(C+ Dialect"
 .IX Subsection "Options Controlling  Dialect"
 This section describes the command-line options that are only meaningful
 for \*(C+ programs; but you can also use most of the \s-1GNU\s0 compiler options
@@ -2473,7 +2480,7 @@ unsignedness, but the standard mandates the current behavior.
 .Sp
 In this example, G++ will synthesize a default \fBA& operator =
 (const A&);\fR, while cfront will use the user-defined \fBoperator =\fR.
-.SS "Options Controlling Objective-C and Objective\-\*(C+ Dialects"
+.Sh "Options Controlling Objective-C and Objective\-\*(C+ Dialects"
 .IX Subsection "Options Controlling Objective-C and Objective- Dialects"
 (\s-1NOTE:\s0 This manual does not describe the Objective-C and Objective\-\*(C+
 languages themselves.
@@ -2670,7 +2677,7 @@ that methods and selectors must be declared before being used.
 .IX Item "-print-objc-runtime-info"
 Generate C header describing the largest structure that is passed by
 value, if any.
-.SS "Options to Control Diagnostic Messages Formatting"
+.Sh "Options to Control Diagnostic Messages Formatting"
 .IX Subsection "Options to Control Diagnostic Messages Formatting"
 Traditionally, diagnostic messages have been formatted irrespective of
 the output device's aspect (e.g. its width, ...).  The options described
@@ -2706,7 +2713,7 @@ By default, each diagnostic emitted includes text indicating the
 command-line option that directly controls the diagnostic (if such an
 option is known to the diagnostic machinery).  Specifying the
 \&\fB\-fno\-diagnostics\-show\-option\fR flag suppresses that behavior.
-.SS "Options to Request or Suppress Warnings"
+.Sh "Options to Request or Suppress Warnings"
 .IX Subsection "Options to Request or Suppress Warnings"
 Warnings are diagnostic messages that report constructions that
 are not inherently erroneous but that are risky or suggest there
@@ -4192,7 +4199,7 @@ a suffix.  When used together with \fB\-Wsystem\-headers\fR it will
 warn about such constants in system header files.  This can be useful
 when preparing code to use with the \f(CW\*(C`FLOAT_CONST_DECIMAL64\*(C'\fR pragma
 from the decimal floating-point extension to C99.
-.SS "Options for Debugging Your Program or \s-1GCC\s0"
+.Sh "Options for Debugging Your Program or \s-1GCC\s0"
 .IX Subsection "Options for Debugging Your Program or GCC"
 \&\s-1GCC\s0 has various special options that are used for debugging
 either your program or \s-1GCC:\s0
@@ -5442,6 +5449,10 @@ usually just \fI.\fR, if \s-1OS\s0 libraries are present in \fIlib\fIsuffix\fI\f
 sibling directories this prints e.g. \fI../lib64\fR, \fI../lib\fR or
 \&\fI../lib32\fR, or if \s-1OS\s0 libraries are present in \fIlib/\fIsubdir\fI\fR
 subdirectories it prints e.g. \fIamd64\fR, \fIsparcv9\fR or \fIev6\fR.
+.IP "\fB\-print\-multiarch\fR" 4
+.IX Item "-print-multiarch"
+Print the path to \s-1OS\s0 libraries for the selected multiarch,
+relative to some \fIlib\fR subdirectory.
 .IP "\fB\-print\-prog\-name=\fR\fIprogram\fR" 4
 .IX Item "-print-prog-name=program"
 Like \fB\-print\-file\-name\fR, but searches for a program such as \fBcpp\fR.
@@ -5501,7 +5512,7 @@ not actually used in your program (but is declared).  More often,
 however, this results in a significant amount of wasted space.
 With this option, \s-1GCC\s0 will avoid producing debug symbol output
 for types that are nowhere used in the source file being compiled.
-.SS "Options That Control Optimization"
+.Sh "Options That Control Optimization"
 .IX Subsection "Options That Control Optimization"
 These options control various sorts of optimizations.
 .PP
@@ -8522,7 +8533,7 @@ heuristics used by default if has non zero value.
 .RE
 .RS 4
 .RE
-.SS "Options Controlling the Preprocessor"
+.Sh "Options Controlling the Preprocessor"
 .IX Subsection "Options Controlling the Preprocessor"
 These options control the C preprocessor, which is run on each C source
 file before actual compilation.
@@ -9305,7 +9316,7 @@ header file is printed with \fB...x\fR and a valid one with \fB...!\fR .
 .PD
 Print out \s-1GNU\s0 \s-1CPP\s0's version number.  With one dash, proceed to
 preprocess as normal.  With two dashes, exit immediately.
-.SS "Passing Options to the Assembler"
+.Sh "Passing Options to the Assembler"
 .IX Subsection "Passing Options to the Assembler"
 You can pass options to the assembler.
 .IP "\fB\-Wa,\fR\fIoption\fR" 4
@@ -9320,7 +9331,7 @@ recognize.
 .Sp
 If you want to pass an option that takes an argument, you must use
 \&\fB\-Xassembler\fR twice, once for the option and once for the argument.
-.SS "Options for Linking"
+.Sh "Options for Linking"
 .IX Subsection "Options for Linking"
 These options come into play when the compiler links object files into
 an executable output file.  They are meaningless if the compiler is
@@ -9537,7 +9548,7 @@ linker.  When using the \s-1GNU\s0 linker, you can also get the same effect with
 Pretend the symbol \fIsymbol\fR is undefined, to force linking of
 library modules to define it.  You can use \fB\-u\fR multiple times with
 different symbols to force loading of additional library modules.
-.SS "Options for Directory Search"
+.Sh "Options for Directory Search"
 .IX Subsection "Options for Directory Search"
 These options specify directories to search for header files, for
 libraries and for parts of the compiler:
@@ -9664,13 +9675,13 @@ by default, but it is often satisfactory.
 \&\fB\-I\-\fR does not inhibit the use of the standard system directories
 for header files.  Thus, \fB\-I\-\fR and \fB\-nostdinc\fR are
 independent.
-.SS "Specifying Target Machine and Compiler Version"
+.Sh "Specifying Target Machine and Compiler Version"
 .IX Subsection "Specifying Target Machine and Compiler Version"
 The usual way to run \s-1GCC\s0 is to run the executable called \fBgcc\fR, or
 \&\fImachine\fR\fB\-gcc\fR when cross-compiling, or
 \&\fImachine\fR\fB\-gcc\-\fR\fIversion\fR to run a version other than the
 one that was installed last.
-.SS "Hardware Models and Configurations"
+.Sh "Hardware Models and Configurations"
 .IX Subsection "Hardware Models and Configurations"
 Each target machine types can have its own
 special options, starting with \fB\-m\fR, to choose among various
@@ -10182,9 +10193,6 @@ defined.
 .IX Item "-mmcu=mcu"
 Specify Atmel \s-1AVR\s0 instruction set architectures (\s-1ISA\s0) or \s-1MCU\s0 type.
 .Sp
-For a complete list of \fImcu\fR values that are supported by \fBavr-gcc\fR,
-see the compiler output when called with the \fB\-\-help=target\fR
-command line option.
 The default for this option is@tie{}\f(CW\*(C`avr2\*(C'\fR.
 .Sp
 \&\s-1GCC\s0 supports the following \s-1AVR\s0 devices and ISAs:
@@ -10193,23 +10201,23 @@ The default for this option is@tie{}\f(CW\*(C`avr2\*(C'\fR.
 .el .IP "\f(CWavr2\fR" 4
 .IX Item "avr2"
 \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90c8534\*(C'\fR, \f(CW\*(C`at90s2313\*(C'\fR,
-\&\f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR, \f(CW\*(C`at90s2343\*(C'\fR,
-\&\f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR, \f(CW\*(C`at90s4434\*(C'\fR,
-\&\f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR, \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny22\*(C'\fR, \f(CW\*(C`attiny26\*(C'\fR, \f(CW\*(C`at90c8534\*(C'\fR,
+\&\f(CW\*(C`at90s2313\*(C'\fR, \f(CW\*(C`at90s2323\*(C'\fR, \f(CW\*(C`at90s2333\*(C'\fR,
+\&\f(CW\*(C`at90s2343\*(C'\fR, \f(CW\*(C`at90s4414\*(C'\fR, \f(CW\*(C`at90s4433\*(C'\fR,
+\&\f(CW\*(C`at90s4434\*(C'\fR, \f(CW\*(C`at90s8515\*(C'\fR, \f(CW\*(C`at90s8535\*(C'\fR.
 .ie n .IP """avr25""" 4
 .el .IP "\f(CWavr25\fR" 4
 .IX Item "avr25"
 \&\*(L"Classic\*(R" devices with up to 8@tie{}KiB of program memory and with
 the \f(CW\*(C`MOVW\*(C'\fR instruction.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at86rf401\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR,
-\&\f(CW\*(C`attiny13a\*(C'\fR, \f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR,
-\&\f(CW\*(C`attiny24\*(C'\fR, \f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR,
-\&\f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR,
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`attiny13\*(C'\fR, \f(CW\*(C`attiny13a\*(C'\fR,
+\&\f(CW\*(C`attiny2313\*(C'\fR, \f(CW\*(C`attiny2313a\*(C'\fR, \f(CW\*(C`attiny24\*(C'\fR,
+\&\f(CW\*(C`attiny24a\*(C'\fR, \f(CW\*(C`attiny25\*(C'\fR, \f(CW\*(C`attiny261\*(C'\fR,
+\&\f(CW\*(C`attiny261a\*(C'\fR, \f(CW\*(C`attiny43u\*(C'\fR, \f(CW\*(C`attiny4313\*(C'\fR,
 \&\f(CW\*(C`attiny44\*(C'\fR, \f(CW\*(C`attiny44a\*(C'\fR, \f(CW\*(C`attiny45\*(C'\fR, \f(CW\*(C`attiny461\*(C'\fR,
 \&\f(CW\*(C`attiny461a\*(C'\fR, \f(CW\*(C`attiny48\*(C'\fR, \f(CW\*(C`attiny84\*(C'\fR, \f(CW\*(C`attiny84a\*(C'\fR,
 \&\f(CW\*(C`attiny85\*(C'\fR, \f(CW\*(C`attiny861\*(C'\fR, \f(CW\*(C`attiny861a\*(C'\fR, \f(CW\*(C`attiny87\*(C'\fR,
-\&\f(CW\*(C`attiny88\*(C'\fR.
+\&\f(CW\*(C`attiny88\*(C'\fR, \f(CW\*(C`at86rf401\*(C'\fR.
 .ie n .IP """avr3""" 4
 .el .IP "\f(CWavr3\fR" 4
 .IX Item "avr3"
@@ -10219,61 +10227,62 @@ the \f(CW\*(C`MOVW\*(C'\fR instruction.
 .el .IP "\f(CWavr31\fR" 4
 .IX Item "avr31"
 \&\*(L"Classic\*(R" devices with 128@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at43usb320\*(C'\fR, \f(CW\*(C`atmega103\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega103\*(C'\fR, \f(CW\*(C`at43usb320\*(C'\fR.
 .ie n .IP """avr35""" 4
 .el .IP "\f(CWavr35\fR" 4
 .IX Item "avr35"
 \&\*(L"Classic\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program
 memory and with the \f(CW\*(C`MOVW\*(C'\fR instruction.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90usb162\*(C'\fR, \f(CW\*(C`at90usb82\*(C'\fR,
-\&\f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR, \f(CW\*(C`atmega8u2\*(C'\fR,
-\&\f(CW\*(C`attiny167\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16u2\*(C'\fR, \f(CW\*(C`atmega32u2\*(C'\fR,
+\&\f(CW\*(C`atmega8u2\*(C'\fR, \f(CW\*(C`attiny167\*(C'\fR, \f(CW\*(C`at90usb162\*(C'\fR,
+\&\f(CW\*(C`at90usb82\*(C'\fR.
 .ie n .IP """avr4""" 4
 .el .IP "\f(CWavr4\fR" 4
 .IX Item "avr4"
 \&\*(L"Enhanced\*(R" devices with up to 8@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR,
-\&\f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR, \f(CW\*(C`atmega48\*(C'\fR,
-\&\f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR,
-\&\f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR,
-\&\f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR,
+\&\f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR,
+\&\f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR,
+\&\f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR,
+\&\f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR,
+\&\f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR.
 .ie n .IP """avr5""" 4
 .el .IP "\f(CWavr5\fR" 4
 .IX Item "avr5"
 \&\*(L"Enhanced\*(R" devices with 16@tie{}KiB up to 64@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR,
-\&\f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR,
-\&\f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`atmega16\*(C'\fR,
-\&\f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR,
-\&\f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR,
-\&\f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR,
-\&\f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR,
-\&\f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR,
-\&\f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR,
-\&\f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR,
-\&\f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR,
-\&\f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR,
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR,
+\&\f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR,
+\&\f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR,
+\&\f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR,
+\&\f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR,
+\&\f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR,
+\&\f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR,
+\&\f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR,
+\&\f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR,
+\&\f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR,
+\&\f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR,
+\&\f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR,
 \&\f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR,
-\&\f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR,
-\&\f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR,
-\&\f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR,
-\&\f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR,
-\&\f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR,
-\&\f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR,
-\&\f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR,
-\&\f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR,
-\&\f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR,
-\&\f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR,
-\&\f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR,
-\&\f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR,
+\&\f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR,
+\&\f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR,
+\&\f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR,
+\&\f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR,
+\&\f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR,
+\&\f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR,
+\&\f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR,
+\&\f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR,
+\&\f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR,
+\&\f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR,
+\&\f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR,
+\&\f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR,
 \&\f(CW\*(C`m3000\*(C'\fR.
 .ie n .IP """avr51""" 4
 .el .IP "\f(CWavr51\fR" 4
 .IX Item "avr51"
 \&\*(L"Enhanced\*(R" devices with 128@tie{}KiB of program memory.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90can128\*(C'\fR, \f(CW\*(C`at90usb1286\*(C'\fR,
-\&\f(CW\*(C`at90usb1287\*(C'\fR, \f(CW\*(C`atmega128\*(C'\fR, \f(CW\*(C`atmega1280\*(C'\fR,
-\&\f(CW\*(C`atmega1281\*(C'\fR, \f(CW\*(C`atmega1284p\*(C'\fR, \f(CW\*(C`atmega128rfa1\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`atmega128\*(C'\fR, \f(CW\*(C`atmega128rfa1\*(C'\fR,
+\&\f(CW\*(C`atmega1280\*(C'\fR, \f(CW\*(C`atmega1281\*(C'\fR, \f(CW\*(C`atmega1284p\*(C'\fR,
+\&\f(CW\*(C`at90can128\*(C'\fR, \f(CW\*(C`at90usb1286\*(C'\fR, \f(CW\*(C`at90usb1287\*(C'\fR.
 .ie n .IP """avr6""" 4
 .el .IP "\f(CWavr6\fR" 4
 .IX Item "avr6"
@@ -10318,8 +10327,8 @@ more than 64@tie{}KiB of \s-1RAM\s0.
 .IX Item "avr1"
 This \s-1ISA\s0 is implemented by the minimal \s-1AVR\s0 core and supported for
 assembler only.
-\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`at90s1200\*(C'\fR, \f(CW\*(C`attiny11\*(C'\fR, \f(CW\*(C`attiny12\*(C'\fR,
-\&\f(CW\*(C`attiny15\*(C'\fR, \f(CW\*(C`attiny28\*(C'\fR.
+\&\fImcu\fR\f(CW@tie\fR{}= \f(CW\*(C`attiny11\*(C'\fR, \f(CW\*(C`attiny12\*(C'\fR, \f(CW\*(C`attiny15\*(C'\fR,
+\&\f(CW\*(C`attiny28\*(C'\fR, \f(CW\*(C`at90s1200\*(C'\fR.
 .RE
 .RS 4
 .RE
@@ -10374,10 +10383,12 @@ Relaxing must be turned on if linker stubs are needed, see the
 section on \f(CW\*(C`EIND\*(C'\fR and linker stubs below.
 .IP "\fB\-mshort\-calls\fR" 4
 .IX Item "-mshort-calls"
+This option has been deprecated and will be removed in \s-1GCC\s0 4.8.
+See \f(CW\*(C`\-mrelax\*(C'\fR for a replacement.
+.Sp
 Use \f(CW\*(C`RCALL\*(C'\fR/\f(CW\*(C`RJMP\*(C'\fR instructions even on devices with
 16@tie{}KiB or more of program memory, i.e. on devices that
 have the \f(CW\*(C`CALL\*(C'\fR and \f(CW\*(C`JMP\*(C'\fR instructions.
-See also the \f(CW\*(C`\-mrelax\*(C'\fR command line option.
 .IP "\fB\-msp8\fR" 4
 .IX Item "-msp8"
 Treat the stack pointer register as an 8\-bit register,
@@ -10461,7 +10472,7 @@ points to.
 The startup code from libgcc never sets \f(CW\*(C`EIND\*(C'\fR.
 Notice that startup code is a blend of code from libgcc and AVR-LibC.
 For the impact of AVR-LibC on \f(CW\*(C`EIND\*(C'\fR, see the
-AVR-LibC\ user\ manual (\f(CW\*(C`http://nongnu.org/avr\-libc/user\-manual\*(C'\fR).
+AVR-LibC\ user\ manual (\f(CW\*(C`http://nongnu.org/avr\-libc/user\-manual/\*(C'\fR).
 .IP "\(bu" 4
 It is legitimate for user-specific startup code to set up \f(CW\*(C`EIND\*(C'\fR
 early, for example by means of initialization code located in
@@ -10597,6 +10608,24 @@ triggered by the \f(CW\*(C`\-mmcu=\*(C'\fR command-line option.
 .PP
 For even more AVR-specific built-in macros see
 \&\fB\s-1AVR\s0 Named Address Spaces\fR and \fB\s-1AVR\s0 Built-in Functions\fR.
+.ie n .IP """_\|_AVR_ARCH_\|_""" 4
+.el .IP "\f(CW_\|_AVR_ARCH_\|_\fR" 4
+.IX Item "__AVR_ARCH__"
+Build-in macro that resolves to a decimal number that identifies the
+architecture and depends on the \f(CW\*(C`\-mmcu=\f(CImcu\f(CW\*(C'\fR option.
+Possible values are:
+.Sp
+\&\f(CW2\fR, \f(CW25\fR, \f(CW3\fR, \f(CW31\fR, \f(CW35\fR,
+\&\f(CW4\fR, \f(CW5\fR, \f(CW51\fR, \f(CW6\fR, \f(CW102\fR, \f(CW104\fR,
+\&\f(CW105\fR, \f(CW106\fR, \f(CW107\fR
+.Sp
+for \fImcu\fR=\f(CW\*(C`avr2\*(C'\fR, \f(CW\*(C`avr25\*(C'\fR, \f(CW\*(C`avr3\*(C'\fR,
+\&\f(CW\*(C`avr31\*(C'\fR, \f(CW\*(C`avr35\*(C'\fR, \f(CW\*(C`avr4\*(C'\fR, \f(CW\*(C`avr5\*(C'\fR, \f(CW\*(C`avr51\*(C'\fR,
+\&\f(CW\*(C`avr6\*(C'\fR, \f(CW\*(C`avrxmega2\*(C'\fR, \f(CW\*(C`avrxmega4\*(C'\fR, \f(CW\*(C`avrxmega5\*(C'\fR,
+\&\f(CW\*(C`avrxmega6\*(C'\fR, \f(CW\*(C`avrxmega7\*(C'\fR, respectively.
+If \fImcu\fR specifies a device, this built-in macro is set
+accordingly. For example, with \f(CW\*(C`\-mmcu=atmega8\*(C'\fR the macro will be
+defined to \f(CW4\fR.
 .ie n .IP """_\|_AVR_\f(CIDevice\f(CW_\|_""" 4
 .el .IP "\f(CW_\|_AVR_\f(CIDevice\f(CW_\|_\fR" 4
 .IX Item "__AVR_Device__"
@@ -10610,6 +10639,13 @@ the scheme \f(CW\*(C`_\|_AVR_\f(CIDevice\f(CW_\|_\*(C'\fR where \fIDevice\fR is
 the device name as from the \s-1AVR\s0 user manual. The difference between
 \&\fIDevice\fR in the built-in macro and \fIdevice\fR in
 \&\f(CW\*(C`\-mmcu=\f(CIdevice\f(CW\*(C'\fR is that the latter is always lowercase.
+.Sp
+If \fIdevice\fR is not a device but only a core architecture like
+\&\f(CW\*(C`avr51\*(C'\fR, this macro will not be defined.
+.ie n .IP """_\|_AVR_XMEGA_\|_""" 4
+.el .IP "\f(CW_\|_AVR_XMEGA_\|_\fR" 4
+.IX Item "__AVR_XMEGA__"
+The device/architecture belongs to the \s-1XMEGA\s0 family of devices.
 .ie n .IP """_\|_AVR_HAVE_ELPM_\|_""" 4
 .el .IP "\f(CW_\|_AVR_HAVE_ELPM_\|_\fR" 4
 .IX Item "__AVR_HAVE_ELPM__"
@@ -12816,6 +12852,10 @@ This option instructs \s-1GCC\s0 to emit a \f(CW\*(C`vzeroupper\*(C'\fR instruct
 before a transfer of control flow out of the function to minimize
 \&\s-1AVX\s0 to \s-1SSE\s0 transition penalty as well as remove unnecessary zeroupper
 intrinsics.
+.IP "\fB\-mprefer\-avx128\fR" 4
+.IX Item "-mprefer-avx128"
+This option instructs \s-1GCC\s0 to use 128\-bit \s-1AVX\s0 instructions instead of
+256\-bit \s-1AVX\s0 instructions in the auto-vectorizer.
 .IP "\fB\-mcx16\fR" 4
 .IX Item "-mcx16"
 This option will enable \s-1GCC\s0 to use \s-1CMPXCHG16B\s0 instruction in generated code.
@@ -16979,43 +17019,99 @@ This is the default when the target is \f(CW\*(C`sh\-*\-linux*\*(C'\fR.
 Set the cost to assume for a multiply insn.
 .IP "\fB\-mdiv=\fR\fIstrategy\fR" 4
 .IX Item "-mdiv=strategy"
-Set the division strategy to use for SHmedia code.  \fIstrategy\fR must be
-one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call,
-inv:call2, inv:fp .
-\&\*(L"fp\*(R" performs the operation in floating point.  This has a very high latency,
+Set the division strategy to be used for integer division operations.
+For SHmedia \fIstrategy\fR can be one of:
+.RS 4
+.IP "\fBfp\fR" 4
+.IX Item "fp"
+Performs the operation in floating point.  This has a very high latency,
 but needs only a few instructions, so it might be a good choice if
 your code has enough easily-exploitable \s-1ILP\s0 to allow the compiler to
 schedule the floating-point instructions together with other instructions.
 Division by zero causes a floating-point exception.
-\&\*(L"inv\*(R" uses integer operations to calculate the inverse of the divisor,
+.IP "\fBinv\fR" 4
+.IX Item "inv"
+Uses integer operations to calculate the inverse of the divisor,
 and then multiplies the dividend with the inverse.  This strategy allows
-cse and hoisting of the inverse calculation.  Division by zero calculates
+\&\s-1CSE\s0 and hoisting of the inverse calculation.  Division by zero calculates
 an unspecified result, but does not trap.
-\&\*(L"inv:minlat\*(R" is a variant of \*(L"inv\*(R" where if no cse / hoisting opportunities
+.IP "\fBinv:minlat\fR" 4
+.IX Item "inv:minlat"
+A variant of \fBinv\fR where, if no \s-1CSE\s0 or hoisting opportunities
 have been found, or if the entire operation has been hoisted to the same
 place, the last stages of the inverse calculation are intertwined with the
 final multiply to reduce the overall latency, at the expense of using a few
 more instructions, and thus offering fewer scheduling opportunities with
 other code.
-\&\*(L"call\*(R" calls a library function that usually implements the inv:minlat
+.IP "\fBcall\fR" 4
+.IX Item "call"
+Calls a library function that usually implements the \fBinv:minlat\fR
 strategy.
-This gives high code density for m5\-*media\-nofpu compilations.
-\&\*(L"call2\*(R" uses a different entry point of the same library function, where it
+This gives high code density for \f(CW\*(C`m5\-*media\-nofpu\*(C'\fR compilations.
+.IP "\fBcall2\fR" 4
+.IX Item "call2"
+Uses a different entry point of the same library function, where it
 assumes that a pointer to a lookup table has already been set up, which
-exposes the pointer load to cse / code hoisting optimizations.
-\&\*(L"inv:call\*(R", \*(L"inv:call2\*(R" and \*(L"inv:fp\*(R" all use the \*(L"inv\*(R" algorithm for initial
-code generation, but if the code stays unoptimized, revert to the \*(L"call\*(R",
-\&\*(L"call2\*(R", or \*(L"fp\*(R" strategies, respectively.  Note that the
+exposes the pointer load to \s-1CSE\s0 and code hoisting optimizations.
+.IP "\fBinv:call\fR" 4
+.IX Item "inv:call"
+.PD 0
+.IP "\fBinv:call2\fR" 4
+.IX Item "inv:call2"
+.IP "\fBinv:fp\fR" 4
+.IX Item "inv:fp"
+.PD
+Use the \fBinv\fR algorithm for initial
+code generation, but if the code stays unoptimized, revert to the \fBcall\fR,
+\&\fBcall2\fR, or \fBfp\fR strategies, respectively.  Note that the
 potentially-trapping side effect of division by zero is carried by a
 separate instruction, so it is possible that all the integer instructions
 are hoisted out, but the marker for the side effect stays where it is.
-A recombination to fp operations or a call is not possible in that case.
-\&\*(L"inv20u\*(R" and \*(L"inv20l\*(R" are variants of the \*(L"inv:minlat\*(R" strategy.  In the case
-that the inverse calculation was nor separated from the multiply, they speed
-up division where the dividend fits into 20 bits (plus sign where applicable),
+A recombination to floating-point operations or a call is not possible
+in that case.
+.IP "\fBinv20u\fR" 4
+.IX Item "inv20u"
+.PD 0
+.IP "\fBinv20l\fR" 4
+.IX Item "inv20l"
+.PD
+Variants of the \fBinv:minlat\fR strategy.  In the case
+that the inverse calculation is not separated from the multiply, they speed
+up division where the dividend fits into 20 bits (plus sign where applicable)
 by inserting a test to skip a number of operations in this case; this test
-slows down the case of larger dividends.  inv20u assumes the case of a such
-a small dividend to be unlikely, and inv20l assumes it to be likely.
+slows down the case of larger dividends.  \fBinv20u\fR assumes the case of a such
+a small dividend to be unlikely, and \fBinv20l\fR assumes it to be likely.
+.RE
+.RS 4
+.Sp
+For targets other than SHmedia \fIstrategy\fR can be one of:
+.IP "\fBcall\-div1\fR" 4
+.IX Item "call-div1"
+Calls a library function that uses the single-step division instruction
+\&\f(CW\*(C`div1\*(C'\fR to perform the operation.  Division by zero calculates an
+unspecified result and does not trap.  This is the default except for \s-1SH4\s0,
+\&\s-1SH2A\s0 and SHcompact.
+.IP "\fBcall-fp\fR" 4
+.IX Item "call-fp"
+Calls a library function that performs the operation in double precision
+floating point.  Division by zero causes a floating-point exception.  This is
+the default for SHcompact with \s-1FPU\s0.  Specifying this for targets that do not
+have a double precision \s-1FPU\s0 will default to \f(CW\*(C`call\-div1\*(C'\fR.
+.IP "\fBcall-table\fR" 4
+.IX Item "call-table"
+Calls a library function that uses a lookup table for small divisors and
+the \f(CW\*(C`div1\*(C'\fR instruction with case distinction for larger divisors.  Division
+by zero calculates an unspecified result and does not trap.  This is the default
+for \s-1SH4\s0.  Specifying this for targets that do not have dynamic shift
+instructions will default to \f(CW\*(C`call\-div1\*(C'\fR.
+.RE
+.RS 4
+.Sp
+When a division strategy has not been specified the default strategy will be
+selected based on the current target.  For \s-1SH2A\s0 the default strategy is to
+use the \f(CW\*(C`divs\*(C'\fR and \f(CW\*(C`divu\*(C'\fR instructions instead of library function
+calls.
+.RE
 .IP "\fB\-maccumulate\-outgoing\-args\fR" 4
 .IX Item "-maccumulate-outgoing-args"
 Reserve space once for outgoing arguments in the function prologue rather
@@ -17395,10 +17491,6 @@ processor (which corresponds to erratum #13 of the \s-1AT697E\s0 processor).
 .PP
 These \fB\-m\fR options are supported in addition to the above
 on \s-1SPARC\-V9\s0 processors in 64\-bit environments:
-.IP "\fB\-mlittle\-endian\fR" 4
-.IX Item "-mlittle-endian"
-Generate code for a processor running in little-endian mode.  It is only
-available for a few configurations and most notably not on Solaris and Linux.
 .IP "\fB\-m32\fR" 4
 .IX Item "-m32"
 .PD 0
@@ -17932,7 +18024,7 @@ every cross-file call, not just those that really will be out of range.
 .IX Subsection "zSeries Options"
 .PP
 These are listed under
-.SS "Options for Code Generation Conventions"
+.Sh "Options for Code Generation Conventions"
 .IX Subsection "Options for Code Generation Conventions"
 These machine-independent options control the interface conventions
 used in code generation.
index 8e7931b..f672303 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/gcc.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/doc/gcc.texi.
+This is doc/gcc.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/doc/gcc.texi.
 
 Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -61,7 +61,7 @@ Introduction
 
 This manual documents how to use the GNU compilers, as well as their
 features and incompatibilities, and how to report bugs.  It corresponds
-to the compilers (GCC) version 4.7.2.  The internals of the GNU
+to the compilers (GCC) version 4.7.3.  The internals of the GNU
 compilers, including how to port them to new targets and some
 information about how to write front ends for new languages, are
 documented in a separate manual.  *Note Introduction: (gccint)Top.
@@ -929,7 +929,7 @@ _Machine Dependent Options_
           -mincoming-stack-boundary=NUM
           -mcld -mcx16 -msahf -mmovbe -mcrc32
           -mrecip -mrecip=OPT
-          -mvzeroupper
+          -mvzeroupper -mprefer-avx128
           -mmmx  -msse  -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx
           -mavx2 -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma
           -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt
@@ -1205,7 +1205,6 @@ _Machine Dependent Options_
           -mfaster-structs  -mno-faster-structs  -mflat  -mno-flat
           -mfpu  -mno-fpu  -mhard-float  -msoft-float
           -mhard-quad-float  -msoft-quad-float
-          -mlittle-endian
           -mstack-bias  -mno-stack-bias
           -munaligned-doubles  -mno-unaligned-doubles
           -mv8plus  -mno-v8plus  -mvis  -mno-vis
@@ -5606,6 +5605,10 @@ program or GCC:
      or if OS libraries are present in `lib/SUBDIR' subdirectories it
      prints e.g. `amd64', `sparcv9' or `ev6'.
 
+`-print-multiarch'
+     Print the path to OS libraries for the selected multiarch,
+     relative to some `lib' subdirectory.
+
 `-print-prog-name=PROGRAM'
      Like `-print-file-name', but searches for a program such as `cpp'.
 
@@ -10852,27 +10855,26 @@ File: gcc.info,  Node: AVR Options,  Next: Blackfin Options,  Prev: ARM Options,
 `-mmcu=MCU'
      Specify Atmel AVR instruction set architectures (ISA) or MCU type.
 
-     For a complete list of MCU values that are supported by `avr-gcc',
-     see the compiler output when called with the `--help=target'
-     command line option.  The default for this option is `avr2'.
+     The default for this option is `avr2'.
 
      GCC supports the following AVR devices and ISAs:
 
     `avr2'
           "Classic" devices with up to 8 KiB of program memory.
-          MCU = `at90c8534', `at90s2313', `at90s2323', `at90s2333',
-          `at90s2343', `at90s4414', `at90s4433', `at90s4434',
-          `at90s8515', `at90s8535', `attiny22', `attiny26'.
+          MCU = `attiny22', `attiny26', `at90c8534', `at90s2313',
+          `at90s2323', `at90s2333', `at90s2343', `at90s4414',
+          `at90s4433', `at90s4434', `at90s8515', `at90s8535'.
 
     `avr25'
           "Classic" devices with up to 8 KiB of program memory and with
           the `MOVW' instruction.
-          MCU = `at86rf401', `ata6289', `attiny13', `attiny13a',
-          `attiny2313', `attiny2313a', `attiny24', `attiny24a',
-          `attiny25', `attiny261', `attiny261a', `attiny4313',
-          `attiny43u', `attiny44', `attiny44a', `attiny45', `attiny461',
+          MCU = `ata6289', `attiny13', `attiny13a', `attiny2313',
+          `attiny2313a', `attiny24', `attiny24a', `attiny25',
+          `attiny261', `attiny261a', `attiny43u', `attiny4313',
+          `attiny44', `attiny44a', `attiny45', `attiny461',
           `attiny461a', `attiny48', `attiny84', `attiny84a',
-          `attiny85', `attiny861', `attiny861a', `attiny87', `attiny88'.
+          `attiny85', `attiny861', `attiny861a', `attiny87',
+          `attiny88', `at86rf401'.
 
     `avr3'
           "Classic" devices with 16 KiB up to 64 KiB of  program memory.
@@ -10880,49 +10882,48 @@ File: gcc.info,  Node: AVR Options,  Next: Blackfin Options,  Prev: ARM Options,
 
     `avr31'
           "Classic" devices with 128 KiB of program memory.
-          MCU = `at43usb320', `atmega103'.
+          MCU = `atmega103', `at43usb320'.
 
     `avr35'
           "Classic" devices with 16 KiB up to 64 KiB of program memory
           and with the `MOVW' instruction.
-          MCU = `at90usb162', `at90usb82', `atmega16u2', `atmega32u2',
-          `atmega8u2', `attiny167'.
+          MCU = `atmega16u2', `atmega32u2', `atmega8u2', `attiny167',
+          `at90usb162', `at90usb82'.
 
     `avr4'
           "Enhanced" devices with up to 8 KiB of program memory.
-          MCU = `at90pwm1', `at90pwm2', `at90pwm2b', `at90pwm3',
-          `at90pwm3b', `at90pwm81', `atmega48', `atmega48a',
-          `atmega48p', `atmega8', `atmega8515', `atmega8535',
-          `atmega88', `atmega88a', `atmega88p', `atmega88pa',
-          `atmega8hva'.
+          MCU = `atmega48', `atmega48a', `atmega48p', `atmega8',
+          `atmega8hva', `atmega8515', `atmega8535', `atmega88',
+          `atmega88a', `atmega88p', `atmega88pa', `at90pwm1',
+          `at90pwm2', `at90pwm2b', `at90pwm3', `at90pwm3b', `at90pwm81'.
 
     `avr5'
           "Enhanced" devices with 16 KiB up to 64 KiB of program memory.
-          MCU = `at90can32', `at90can64', `at90pwm216', `at90pwm316',
-          `at90scr100', `at90usb646', `at90usb647', `at94k', `atmega16',
-          `atmega161', `atmega162', `atmega163', `atmega164a',
-          `atmega164p', `atmega165', `atmega165a', `atmega165p',
-          `atmega168', `atmega168a', `atmega168p', `atmega169',
-          `atmega169a', `atmega169p', `atmega169pa', `atmega16a',
-          `atmega16hva', `atmega16hva2', `atmega16hvb', `atmega16m1',
-          `atmega16u4', `atmega32', `atmega323', `atmega324a',
-          `atmega324p', `atmega324pa', `atmega325', `atmega3250',
-          `atmega3250a', `atmega3250p', `atmega325a', `atmega325p',
-          `atmega328', `atmega328p', `atmega329', `atmega3290',
-          `atmega3290a', `atmega3290p', `atmega329a', `atmega329p',
-          `atmega329pa', `atmega32c1', `atmega32hvb', `atmega32m1',
-          `atmega32u4', `atmega32u6', `atmega406', `atmega64',
+          MCU = `atmega16', `atmega16a', `atmega16hva', `atmega16hva2',
+          `atmega16hvb', `atmega16m1', `atmega16u4', `atmega161',
+          `atmega162', `atmega163', `atmega164a', `atmega164p',
+          `atmega165', `atmega165a', `atmega165p', `atmega168',
+          `atmega168a', `atmega168p', `atmega169', `atmega169a',
+          `atmega169p', `atmega169pa', `atmega32', `atmega32c1',
+          `atmega32hvb', `atmega32m1', `atmega32u4', `atmega32u6',
+          `atmega323', `atmega324a', `atmega324p', `atmega324pa',
+          `atmega325', `atmega325a', `atmega325p', `atmega3250',
+          `atmega3250a', `atmega3250p', `atmega328', `atmega328p',
+          `atmega329', `atmega329a', `atmega329p', `atmega329pa',
+          `atmega3290', `atmega3290a', `atmega3290p', `atmega406',
+          `atmega64', `atmega64c1', `atmega64hve', `atmega64m1',
           `atmega640', `atmega644', `atmega644a', `atmega644p',
-          `atmega644pa', `atmega645', `atmega6450', `atmega6450a',
-          `atmega6450p', `atmega645a', `atmega645p', `atmega649',
-          `atmega6490', `atmega649a', `atmega649p', `atmega64c1',
-          `atmega64hve', `atmega64m1', `m3000'.
+          `atmega644pa', `atmega645', `atmega645a', `atmega645p',
+          `atmega6450', `atmega6450a', `atmega6450p', `atmega649',
+          `atmega649a', `atmega649p', `atmega6490', `at90can32',
+          `at90can64', `at90pwm216', `at90pwm316', `at90scr100',
+          `at90usb646', `at90usb647', `at94k', `m3000'.
 
     `avr51'
           "Enhanced" devices with 128 KiB of program memory.
-          MCU = `at90can128', `at90usb1286', `at90usb1287',
-          `atmega128', `atmega1280', `atmega1281', `atmega1284p',
-          `atmega128rfa1'.
+          MCU = `atmega128', `atmega128rfa1', `atmega1280',
+          `atmega1281', `atmega1284p', `at90can128', `at90usb1286',
+          `at90usb1287'.
 
     `avr6'
           "Enhanced" devices with 3-byte PC, i.e. with more than
@@ -10959,8 +10960,8 @@ File: gcc.info,  Node: AVR Options,  Next: Blackfin Options,  Prev: ARM Options,
     `avr1'
           This ISA is implemented by the minimal AVR core and supported
           for assembler only.
-          MCU = `at90s1200', `attiny11', `attiny12', `attiny15',
-          `attiny28'.
+          MCU = `attiny11', `attiny12', `attiny15', `attiny28',
+          `at90s1200'.
 
 
 `-maccumulate-args'
@@ -11012,9 +11013,12 @@ File: gcc.info,  Node: AVR Options,  Next: Blackfin Options,  Prev: ARM Options,
      section on `EIND' and linker stubs below.
 
 `-mshort-calls'
+     This option has been deprecated and will be removed in GCC 4.8.
+     See `-mrelax' for a replacement.
+
      Use `RCALL'/`RJMP' instructions even on devices with 16 KiB or
      more of program memory, i.e. on devices that have the `CALL' and
-     `JMP' instructions.  See also the `-mrelax' command line option.
+     `JMP' instructions.
 
 `-msp8'
      Treat the stack pointer register as an 8-bit register, i.e. assume
@@ -11092,7 +11096,7 @@ the compiler and are subject to some limitations:
    * The startup code from libgcc never sets `EIND'.  Notice that
      startup code is a blend of code from libgcc and AVR-LibC.  For the
      impact of AVR-LibC on `EIND', see the
-     AVR-LibC user manual (http://nongnu.org/avr-libc/user-manual).
+     AVR-LibC user manual (http://nongnu.org/avr-libc/user-manual/).
 
    * It is legitimate for user-specific startup code to set up `EIND'
      early, for example by means of initialization code located in
@@ -11205,6 +11209,20 @@ by the `-mmcu=' command-line option.
  For even more AVR-specific built-in macros see *note AVR Named Address
 Spaces:: and *note AVR Built-in Functions::.
 
+`__AVR_ARCH__'
+     Build-in macro that resolves to a decimal number that identifies
+     the architecture and depends on the `-mmcu=MCU' option.  Possible
+     values are:
+
+     `2', `25', `3', `31', `35', `4', `5', `51', `6', `102', `104',
+     `105', `106', `107'
+
+     for MCU=`avr2', `avr25', `avr3', `avr31', `avr35', `avr4', `avr5',
+     `avr51', `avr6', `avrxmega2', `avrxmega4', `avrxmega5',
+     `avrxmega6', `avrxmega7', respectively.  If MCU specifies a
+     device, this built-in macro is set accordingly. For example, with
+     `-mmcu=atmega8' the macro will be defined to `4'.
+
 `__AVR_DEVICE__'
      Setting `-mmcu=DEVICE' defines this built-in macro which reflects
      the device's name. For example, `-mmcu=atmega8' defines the
@@ -11216,6 +11234,12 @@ Spaces:: and *note AVR Built-in Functions::.
      difference between DEVICE in the built-in macro and DEVICE in
      `-mmcu=DEVICE' is that the latter is always lowercase.
 
+     If DEVICE is not a device but only a core architecture like
+     `avr51', this macro will not be defined.
+
+`__AVR_XMEGA__'
+     The device/architecture belongs to the XMEGA family of devices.
+
 `__AVR_HAVE_ELPM__'
      The device has the the `ELPM' instruction.
 
@@ -13233,6 +13257,10 @@ computers:
      AVX to SSE transition penalty as well as remove unnecessary
      zeroupper intrinsics.
 
+`-mprefer-avx128'
+     This option instructs GCC to use 128-bit AVX instructions instead
+     of 256-bit AVX instructions in the auto-vectorizer.
+
 `-mcx16'
      This option will enable GCC to use CMPXCHG16B instruction in
      generated code.  CMPXCHG16B allows for atomic operations on
@@ -16920,45 +16948,96 @@ These `-m' options are defined for the SH implementations:
      Set the cost to assume for a multiply insn.
 
 `-mdiv=STRATEGY'
-     Set the division strategy to use for SHmedia code.  STRATEGY must
-     be one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l,
-     inv:call, inv:call2, inv:fp .  "fp" performs the operation in
-     floating point.  This has a very high latency, but needs only a
-     few instructions, so it might be a good choice if your code has
-     enough easily-exploitable ILP to allow the compiler to schedule
-     the floating-point instructions together with other instructions.
-     Division by zero causes a floating-point exception.  "inv" uses
-     integer operations to calculate the inverse of the divisor, and
-     then multiplies the dividend with the inverse.  This strategy
-     allows cse and hoisting of the inverse calculation.  Division by
-     zero calculates an unspecified result, but does not trap.
-     "inv:minlat" is a variant of "inv" where if no cse / hoisting
-     opportunities have been found, or if the entire operation has been
-     hoisted to the same place, the last stages of the inverse
-     calculation are intertwined with the final multiply to reduce the
-     overall latency, at the expense of using a few more instructions,
-     and thus offering fewer scheduling opportunities with other code.
-     "call" calls a library function that usually implements the
-     inv:minlat strategy.  This gives high code density for
-     m5-*media-nofpu compilations.  "call2" uses a different entry
-     point of the same library function, where it assumes that a
-     pointer to a lookup table has already been set up, which exposes
-     the pointer load to cse / code hoisting optimizations.
-     "inv:call", "inv:call2" and "inv:fp" all use the "inv" algorithm
-     for initial code generation, but if the code stays unoptimized,
-     revert to the "call", "call2", or "fp" strategies, respectively.
-     Note that the potentially-trapping side effect of division by zero
-     is carried by a separate instruction, so it is possible that all
-     the integer instructions are hoisted out, but the marker for the
-     side effect stays where it is.  A recombination to fp operations
-     or a call is not possible in that case.  "inv20u" and "inv20l" are
-     variants of the "inv:minlat" strategy.  In the case that the
-     inverse calculation was nor separated from the multiply, they speed
-     up division where the dividend fits into 20 bits (plus sign where
-     applicable), by inserting a test to skip a number of operations in
-     this case; this test slows down the case of larger dividends.
-     inv20u assumes the case of a such a small dividend to be unlikely,
-     and inv20l assumes it to be likely.
+     Set the division strategy to be used for integer division
+     operations.  For SHmedia STRATEGY can be one of:
+
+    `fp'
+          Performs the operation in floating point.  This has a very
+          high latency, but needs only a few instructions, so it might
+          be a good choice if your code has enough easily-exploitable
+          ILP to allow the compiler to schedule the floating-point
+          instructions together with other instructions.  Division by
+          zero causes a floating-point exception.
+
+    `inv'
+          Uses integer operations to calculate the inverse of the
+          divisor, and then multiplies the dividend with the inverse.
+          This strategy allows CSE and hoisting of the inverse
+          calculation.  Division by zero calculates an unspecified
+          result, but does not trap.
+
+    `inv:minlat'
+          A variant of `inv' where, if no CSE or hoisting opportunities
+          have been found, or if the entire operation has been hoisted
+          to the same place, the last stages of the inverse calculation
+          are intertwined with the final multiply to reduce the overall
+          latency, at the expense of using a few more instructions, and
+          thus offering fewer scheduling opportunities with other code.
+
+    `call'
+          Calls a library function that usually implements the
+          `inv:minlat' strategy.  This gives high code density for
+          `m5-*media-nofpu' compilations.
+
+    `call2'
+          Uses a different entry point of the same library function,
+          where it assumes that a pointer to a lookup table has already
+          been set up, which exposes the pointer load to CSE and code
+          hoisting optimizations.
+
+    `inv:call'
+    `inv:call2'
+    `inv:fp'
+          Use the `inv' algorithm for initial code generation, but if
+          the code stays unoptimized, revert to the `call', `call2', or
+          `fp' strategies, respectively.  Note that the
+          potentially-trapping side effect of division by zero is
+          carried by a separate instruction, so it is possible that all
+          the integer instructions are hoisted out, but the marker for
+          the side effect stays where it is.  A recombination to
+          floating-point operations or a call is not possible in that
+          case.
+
+    `inv20u'
+    `inv20l'
+          Variants of the `inv:minlat' strategy.  In the case that the
+          inverse calculation is not separated from the multiply, they
+          speed up division where the dividend fits into 20 bits (plus
+          sign where applicable) by inserting a test to skip a number
+          of operations in this case; this test slows down the case of
+          larger dividends.  `inv20u' assumes the case of a such a
+          small dividend to be unlikely, and `inv20l' assumes it to be
+          likely.
+
+
+     For targets other than SHmedia STRATEGY can be one of:
+
+    `call-div1'
+          Calls a library function that uses the single-step division
+          instruction `div1' to perform the operation.  Division by
+          zero calculates an unspecified result and does not trap.
+          This is the default except for SH4, SH2A and SHcompact.
+
+    `call-fp'
+          Calls a library function that performs the operation in
+          double precision floating point.  Division by zero causes a
+          floating-point exception.  This is the default for SHcompact
+          with FPU.  Specifying this for targets that do not have a
+          double precision FPU will default to `call-div1'.
+
+    `call-table'
+          Calls a library function that uses a lookup table for small
+          divisors and the `div1' instruction with case distinction for
+          larger divisors.  Division by zero calculates an unspecified
+          result and does not trap.  This is the default for SH4.
+          Specifying this for targets that do not have dynamic shift
+          instructions will default to `call-div1'.
+
+
+     When a division strategy has not been specified the default
+     strategy will be selected based on the current target.  For SH2A
+     the default strategy is to use the `divs' and `divu' instructions
+     instead of library function calls.
 
 `-maccumulate-outgoing-args'
      Reserve space once for outgoing arguments in the function prologue
@@ -17322,11 +17401,6 @@ These `-m' options are supported on the SPARC:
  These `-m' options are supported in addition to the above on SPARC-V9
 processors in 64-bit environments:
 
-`-mlittle-endian'
-     Generate code for a processor running in little-endian mode.  It
-     is only available for a few configurations and most notably not on
-     Solaris and Linux.
-
 `-m32'
 `-m64'
      Generate code for a 32-bit or 64-bit environment.  The 32-bit
@@ -20411,7 +20485,7 @@ instructions to access this data without using (inline) assembler code.
      address is clear, data is read from flash with `RAMPZ' set
      according to the high byte of the address.
 
-     Objects in this address space will be located in `.progmem.data'.
+     Objects in this address space will be located in `.progmemx.data'.
 
  Example
 
@@ -20462,7 +20536,7 @@ not:
  Notice that attribute *note `progmem': AVR Variable Attributes.
 locates data in flash but accesses to these data will read from generic
 address space, i.e.  from RAM, so that you need special accessors like
-`pgm_read_byte' from AVR-LibC (http://nongnu.org/avr-libc/user-manual)
+`pgm_read_byte' from AVR-LibC (http://nongnu.org/avr-libc/user-manual/)
 together with attribute `progmem'.
 
  Limitations and caveats
@@ -23551,7 +23625,7 @@ attributes.
 
      In order to read data located with the `progmem' attribute
      (inline) assembler must be used.
-          /* Use custom macros from AVR-LibC (http://nongnu.org/avr-libc/user-manual) */
+          /* Use custom macros from AVR-LibC (http://nongnu.org/avr-libc/user-manual/) */
           #include <avr/pgmspace.h>
 
           /* Locate var in flash memory */
@@ -36053,11 +36127,11 @@ All of them generate the machine instruction that is part of the name.
      v32qi __builtin_ia32_pabsb256 (v32qi)
      v16hi __builtin_ia32_pabsw256 (v16hi)
      v8si __builtin_ia32_pabsd256 (v8si)
-     v16hi builtin_ia32_packssdw256 (v8si,v8si)
+     v16hi __builtin_ia32_packssdw256 (v8si,v8si)
      v32qi __builtin_ia32_packsswb256 (v16hi,v16hi)
      v16hi __builtin_ia32_packusdw256 (v8si,v8si)
      v32qi __builtin_ia32_packuswb256 (v16hi,v16hi)
-     v32qi__builtin_ia32_paddb256 (v32qi,v32qi)
+     v32qi __builtin_ia32_paddb256 (v32qi,v32qi)
      v16hi __builtin_ia32_paddw256 (v16hi,v16hi)
      v8si __builtin_ia32_paddd256 (v8si,v8si)
      v4di __builtin_ia32_paddq256 (v4di,v4di)
@@ -36068,7 +36142,7 @@ All of them generate the machine instruction that is part of the name.
      v4di __builtin_ia32_palignr256 (v4di,v4di,int)
      v4di __builtin_ia32_andsi256 (v4di,v4di)
      v4di __builtin_ia32_andnotsi256 (v4di,v4di)
-     v32qi__builtin_ia32_pavgb256 (v32qi,v32qi)
+     v32qi __builtin_ia32_pavgb256 (v32qi,v32qi)
      v16hi __builtin_ia32_pavgw256 (v16hi,v16hi)
      v32qi __builtin_ia32_pblendvb256 (v32qi,v32qi,v32qi)
      v16hi __builtin_ia32_pblendw256 (v16hi,v16hi,int)
@@ -46837,7 +46911,7 @@ look up both forms.
 * -fno-keep-inline-dllexport:            Optimize Options.   (line  310)
 * -mcpu:                                 RX Options.         (line   30)
 * 8bit-idiv:                             i386 and x86-64 Options.
-                                                             (line  728)
+                                                             (line  732)
 * A:                                     Preprocessor Options.
                                                              (line  579)
 * all_load:                              Darwin Options.     (line  112)
@@ -46851,9 +46925,9 @@ look up both forms.
 * arch_errors_fatal:                     Darwin Options.     (line  116)
 * aux-info:                              C Dialect Options.  (line  153)
 * avx256-split-unaligned-load:           i386 and x86-64 Options.
-                                                             (line  737)
+                                                             (line  741)
 * avx256-split-unaligned-store:          i386 and x86-64 Options.
-                                                             (line  737)
+                                                             (line  741)
 * B:                                     Directory Options.  (line   46)
 * Bdynamic:                              VxWorks Options.    (line   22)
 * bind_at_load:                          Darwin Options.     (line  120)
@@ -46889,9 +46963,9 @@ look up both forms.
 * dp:                                    Debugging Options.  (line  727)
 * dU:                                    Preprocessor Options.
                                                              (line  624)
-* dumpmachine:                           Debugging Options.  (line 1214)
-* dumpspecs:                             Debugging Options.  (line 1222)
-* dumpversion:                           Debugging Options.  (line 1218)
+* dumpmachine:                           Debugging Options.  (line 1218)
+* dumpspecs:                             Debugging Options.  (line 1226)
+* dumpversion:                           Debugging Options.  (line 1222)
 * dv:                                    Debugging Options.  (line  736)
 * dx:                                    Debugging Options.  (line  741)
 * dylib_file:                            Darwin Options.     (line  199)
@@ -47077,7 +47151,7 @@ look up both forms.
 * fearly-inlining:                       Optimize Options.   (line  267)
 * feliminate-dwarf2-dups:                Debugging Options.  (line  216)
 * feliminate-unused-debug-symbols:       Debugging Options.  (line   52)
-* feliminate-unused-debug-types:         Debugging Options.  (line 1226)
+* feliminate-unused-debug-types:         Debugging Options.  (line 1230)
 * fenable-:                              Debugging Options.  (line  445)
 * fexceptions:                           Code Gen Options.   (line   33)
 * fexcess-precision:                     Optimize Options.   (line 1840)
@@ -47551,11 +47625,11 @@ look up both forms.
                                                              (line   87)
 * m32 <1>:                               TILEPro Options.    (line   13)
 * m32 <2>:                               TILE-Gx Options.    (line   14)
-* m32 <3>:                               SPARC Options.      (line  243)
+* m32 <3>:                               SPARC Options.      (line  238)
 * m32 <4>:                               RS/6000 and PowerPC Options.
                                                              (line  266)
 * m32:                                   i386 and x86-64 Options.
-                                                             (line  746)
+                                                             (line  750)
 * m32-bit:                               CRIS Options.       (line   64)
 * m32bit-doubles:                        RX Options.         (line   10)
 * m32r:                                  M32R/D Options.     (line   15)
@@ -47583,13 +47657,13 @@ look up both forms.
 * m5307:                                 M680x0 Options.     (line  163)
 * m5407:                                 M680x0 Options.     (line  167)
 * m64 <1>:                               TILE-Gx Options.    (line   14)
-* m64 <2>:                               SPARC Options.      (line  243)
+* m64 <2>:                               SPARC Options.      (line  238)
 * m64 <3>:                               S/390 and zSeries Options.
                                                              (line   87)
 * m64 <4>:                               RS/6000 and PowerPC Options.
                                                              (line  266)
 * m64:                                   i386 and x86-64 Options.
-                                                             (line  746)
+                                                             (line  750)
 * m64bit-doubles:                        RX Options.         (line   10)
 * m68000:                                M680x0 Options.     (line   94)
 * m68010:                                M680x0 Options.     (line  102)
@@ -47606,7 +47680,7 @@ look up both forms.
 * mabi <1>:                              RS/6000 and PowerPC Options.
                                                              (line  578)
 * mabi <2>:                              i386 and x86-64 Options.
-                                                             (line  635)
+                                                             (line  639)
 * mabi:                                  ARM Options.        (line   10)
 * mabi=32:                               MIPS Options.       (line  131)
 * mabi=64:                               MIPS Options.       (line  131)
@@ -47630,12 +47704,12 @@ look up both forms.
 * mac0:                                  PDP-11 Options.     (line   16)
 * macc-4:                                FRV Options.        (line  113)
 * macc-8:                                FRV Options.        (line  116)
-* maccumulate-args:                      AVR Options.        (line  121)
-* maccumulate-outgoing-args <1>:         SH Options.         (line  212)
+* maccumulate-args:                      AVR Options.        (line  119)
+* maccumulate-outgoing-args <1>:         SH Options.         (line  263)
 * maccumulate-outgoing-args:             i386 and x86-64 Options.
-                                                             (line  658)
+                                                             (line  662)
 * maddress-space-conversion:             SPU Options.        (line   63)
-* madjust-unroll:                        SH Options.         (line  232)
+* madjust-unroll:                        SH Options.         (line  283)
 * mads:                                  RS/6000 and PowerPC Options.
                                                              (line  621)
 * maix-struct-return:                    RS/6000 and PowerPC Options.
@@ -47719,10 +47793,10 @@ look up both forms.
                                                              (line  692)
 * mbranch-cheap:                         PDP-11 Options.     (line   65)
 * mbranch-cost <1>:                      MIPS Options.       (line  619)
-* mbranch-cost <2>:                      AVR Options.        (line  136)
+* mbranch-cost <2>:                      AVR Options.        (line  134)
 * mbranch-cost:                          Adapteva Epiphany Options.
                                                              (line   19)
-* mbranch-cost=NUM:                      SH Options.         (line  280)
+* mbranch-cost=NUM:                      SH Options.         (line  331)
 * mbranch-cost=NUMBER:                   M32R/D Options.     (line   82)
 * mbranch-expensive:                     PDP-11 Options.     (line   61)
 * mbranch-hints:                         SPU Options.        (line   27)
@@ -47744,7 +47818,7 @@ look up both forms.
                                                              (line  555)
 * mcall-netbsd:                          RS/6000 and PowerPC Options.
                                                              (line  563)
-* mcall-prologues:                       AVR Options.        (line  141)
+* mcall-prologues:                       AVR Options.        (line  139)
 * mcall-sysv:                            RS/6000 and PowerPC Options.
                                                              (line  537)
 * mcall-sysv-eabi:                       RS/6000 and PowerPC Options.
@@ -47754,7 +47828,7 @@ look up both forms.
 * mcallee-super-interworking:            ARM Options.        (line  276)
 * mcaller-super-interworking:            ARM Options.        (line  283)
 * mcallgraph-data:                       MCore Options.      (line   31)
-* mcbranchdi:                            SH Options.         (line  286)
+* mcbranchdi:                            SH Options.         (line  337)
 * mcc-init:                              CRIS Options.       (line   41)
 * mcfv4e:                                M680x0 Options.     (line  171)
 * mcheck-zero-division:                  MIPS Options.       (line  427)
@@ -47763,26 +47837,26 @@ look up both forms.
 * mcld:                                  i386 and x86-64 Options.
                                                              (line  528)
 * mclip:                                 MeP Options.        (line   35)
-* mcmodel:                               SPARC Options.      (line  248)
+* mcmodel:                               SPARC Options.      (line  243)
 * mcmodel=kernel:                        i386 and x86-64 Options.
-                                                             (line  770)
+                                                             (line  774)
 * mcmodel=large <1>:                     RS/6000 and PowerPC Options.
                                                              (line  185)
 * mcmodel=large:                         i386 and x86-64 Options.
-                                                             (line  782)
+                                                             (line  786)
 * mcmodel=medium <1>:                    RS/6000 and PowerPC Options.
                                                              (line  181)
 * mcmodel=medium:                        i386 and x86-64 Options.
-                                                             (line  775)
+                                                             (line  779)
 * mcmodel=small <1>:                     RS/6000 and PowerPC Options.
                                                              (line  177)
 * mcmodel=small:                         i386 and x86-64 Options.
-                                                             (line  764)
+                                                             (line  768)
 * mcmove:                                Adapteva Epiphany Options.
                                                              (line   24)
 * mcmpb:                                 RS/6000 and PowerPC Options.
                                                              (line   33)
-* mcmpeqdi:                              SH Options.         (line  289)
+* mcmpeqdi:                              SH Options.         (line  340)
 * mcode-readable:                        MIPS Options.       (line  387)
 * mcond-exec:                            FRV Options.        (line  152)
 * mcond-move:                            FRV Options.        (line  128)
@@ -47817,10 +47891,10 @@ look up both forms.
 * mcr16c:                                CR16 Options.       (line   14)
 * mcr16cplus:                            CR16 Options.       (line   14)
 * mcrc32:                                i386 and x86-64 Options.
-                                                             (line  571)
+                                                             (line  575)
 * mcsync-anomaly:                        Blackfin Options.   (line   56)
 * mcx16:                                 i386 and x86-64 Options.
-                                                             (line  548)
+                                                             (line  552)
 * MD:                                    Preprocessor Options.
                                                              (line  262)
 * mdalign:                               SH Options.         (line   80)
@@ -47844,7 +47918,7 @@ look up both forms.
 * mdivide-breaks:                        MIPS Options.       (line  433)
 * mdivide-enabled:                       LM32 Options.       (line   12)
 * mdivide-traps:                         MIPS Options.       (line  433)
-* mdivsi3_libfunc=NAME:                  SH Options.         (line  218)
+* mdivsi3_libfunc=NAME:                  SH Options.         (line  269)
 * mdll:                                  i386 and x86-64 Windows Options.
                                                              (line   16)
 * mdlmzb:                                RS/6000 and PowerPC Options.
@@ -47893,7 +47967,7 @@ look up both forms.
 * mfaster-structs:                       SPARC Options.      (line   84)
 * mfdpic:                                FRV Options.        (line   56)
 * mfentry:                               i386 and x86-64 Options.
-                                                             (line  721)
+                                                             (line  725)
 * mfix:                                  DEC Alpha Options.  (line  171)
 * mfix-24k:                              MIPS Options.       (line  484)
 * mfix-and-continue:                     Darwin Options.     (line  106)
@@ -47907,7 +47981,7 @@ look up both forms.
 * mfix-vr4130:                           MIPS Options.       (line  536)
 * mfixed-cc:                             FRV Options.        (line   28)
 * mfixed-range <1>:                      SPU Options.        (line   47)
-* mfixed-range <2>:                      SH Options.         (line  225)
+* mfixed-range <2>:                      SH Options.         (line  276)
 * mfixed-range <3>:                      IA-64 Options.      (line  105)
 * mfixed-range:                          HPPA Options.       (line   58)
 * mflat:                                 SPARC Options.      (line   20)
@@ -47953,7 +48027,7 @@ look up both forms.
 * mfull-toc:                             RS/6000 and PowerPC Options.
                                                              (line  277)
 * mfused-madd <1>:                       Xtensa Options.     (line   19)
-* mfused-madd <2>:                       SH Options.         (line  293)
+* mfused-madd <2>:                       SH Options.         (line  344)
 * mfused-madd <3>:                       S/390 and zSeries Options.
                                                              (line  137)
 * mfused-madd <4>:                       RS/6000 and PowerPC Options.
@@ -47967,7 +48041,7 @@ look up both forms.
 * mgas:                                  DEC Alpha Options.  (line  159)
 * mgen-cell-microcode:                   RS/6000 and PowerPC Options.
                                                              (line  202)
-* mgettrcost=NUMBER:                     SH Options.         (line  247)
+* mgettrcost=NUMBER:                     SH Options.         (line  298)
 * mglibc:                                GNU/Linux Options.  (line    9)
 * mgnu:                                  VAX Options.        (line   13)
 * mgnu-as:                               IA-64 Options.      (line   18)
@@ -48014,9 +48088,9 @@ look up both forms.
 * mimpure-text:                          Solaris 2 Options.  (line    9)
 * mincoming-stack-boundary:              i386 and x86-64 Options.
                                                              (line  426)
-* mindexed-addressing:                   SH Options.         (line  237)
+* mindexed-addressing:                   SH Options.         (line  288)
 * minline-all-stringops:                 i386 and x86-64 Options.
-                                                             (line  679)
+                                                             (line  683)
 * minline-float-divide-max-throughput:   IA-64 Options.      (line   58)
 * minline-float-divide-min-latency:      IA-64 Options.      (line   54)
 * minline-ic_invalidate:                 SH Options.         (line  127)
@@ -48027,7 +48101,7 @@ look up both forms.
 * minline-sqrt-max-throughput:           IA-64 Options.      (line   80)
 * minline-sqrt-min-latency:              IA-64 Options.      (line   76)
 * minline-stringops-dynamically:         i386 and x86-64 Options.
-                                                             (line  686)
+                                                             (line  690)
 * minsert-sched-nops:                    RS/6000 and PowerPC Options.
                                                              (line  525)
 * mint-register:                         RX Options.         (line  101)
@@ -48035,9 +48109,9 @@ look up both forms.
 * mint32 <1>:                            PDP-11 Options.     (line   44)
 * mint32 <2>:                            H8/300 Options.     (line   28)
 * mint32:                                CR16 Options.       (line   22)
-* mint8:                                 AVR Options.        (line  145)
+* mint8:                                 AVR Options.        (line  143)
 * minterlink-mips16:                     MIPS Options.       (line  118)
-* minvalid-symbols:                      SH Options.         (line  270)
+* minvalid-symbols:                      SH Options.         (line  321)
 * mio-volatile:                          MeP Options.        (line   74)
 * mips1:                                 MIPS Options.       (line   78)
 * mips16:                                MIPS Options.       (line  103)
@@ -48073,12 +48147,11 @@ look up both forms.
 * mlinux:                                CRIS Options.       (line   91)
 * mlittle:                               RS/6000 and PowerPC Options.
                                                              (line  486)
-* mlittle-endian <1>:                    SPARC Options.      (line  237)
-* mlittle-endian <2>:                    RS/6000 and PowerPC Options.
+* mlittle-endian <1>:                    RS/6000 and PowerPC Options.
                                                              (line  486)
-* mlittle-endian <3>:                    MCore Options.      (line   39)
-* mlittle-endian <4>:                    IA-64 Options.      (line   13)
-* mlittle-endian <5>:                    C6X Options.        (line   16)
+* mlittle-endian <2>:                    MCore Options.      (line   39)
+* mlittle-endian <3>:                    IA-64 Options.      (line   13)
+* mlittle-endian <4>:                    C6X Options.        (line   16)
 * mlittle-endian:                        ARM Options.        (line   58)
 * mlittle-endian-data:                   RX Options.         (line   42)
 * mliw:                                  MN10300 Options.    (line   54)
@@ -48123,7 +48196,7 @@ look up both forms.
 * mmemcpy <1>:                           MIPS Options.       (line  448)
 * mmemcpy:                               MicroBlaze Options. (line   13)
 * mmemory-latency:                       DEC Alpha Options.  (line  276)
-* mmemory-model:                         SPARC Options.      (line  276)
+* mmemory-model:                         SPARC Options.      (line  271)
 * mmfcrf:                                RS/6000 and PowerPC Options.
                                                              (line   33)
 * mmfpgpr:                               RS/6000 and PowerPC Options.
@@ -48137,7 +48210,7 @@ look up both forms.
 * mmodel=medium:                         M32R/D Options.     (line   27)
 * mmodel=small:                          M32R/D Options.     (line   18)
 * mmovbe:                                i386 and x86-64 Options.
-                                                             (line  567)
+                                                             (line  571)
 * mmt:                                   MIPS Options.       (line  291)
 * mmul:                                  RL78 Options.       (line   13)
 * mmul-bug-workaround:                   CRIS Options.       (line   31)
@@ -48171,7 +48244,7 @@ look up both forms.
 * mno-align-int:                         M680x0 Options.     (line  266)
 * mno-align-loops:                       M32R/D Options.     (line   76)
 * mno-align-stringops:                   i386 and x86-64 Options.
-                                                             (line  674)
+                                                             (line  678)
 * mno-altivec:                           RS/6000 and PowerPC Options.
                                                              (line  191)
 * mno-am33:                              MN10300 Options.    (line   20)
@@ -48272,7 +48345,7 @@ look up both forms.
 * mno-int16:                             PDP-11 Options.     (line   44)
 * mno-int32:                             PDP-11 Options.     (line   40)
 * mno-interlink-mips16:                  MIPS Options.       (line  118)
-* mno-interrupts:                        AVR Options.        (line  151)
+* mno-interrupts:                        AVR Options.        (line  149)
 * mno-isel:                              RS/6000 and PowerPC Options.
                                                              (line  220)
 * mno-knuthdiv:                          MMIX Options.       (line   33)
@@ -48354,9 +48427,9 @@ look up both forms.
 * mno-prototype:                         RS/6000 and PowerPC Options.
                                                              (line  600)
 * mno-push-args:                         i386 and x86-64 Options.
-                                                             (line  651)
+                                                             (line  655)
 * mno-red-zone:                          i386 and x86-64 Options.
-                                                             (line  756)
+                                                             (line  760)
 * mno-register-names:                    IA-64 Options.      (line   37)
 * mno-regnames:                          RS/6000 and PowerPC Options.
                                                              (line  706)
@@ -48403,7 +48476,7 @@ look up both forms.
 * mno-sse:                               i386 and x86-64 Options.
                                                              (line  504)
 * mno-stack-align:                       CRIS Options.       (line   55)
-* mno-stack-bias:                        SPARC Options.      (line  300)
+* mno-stack-bias:                        SPARC Options.      (line  295)
 * mno-strict-align <1>:                  RS/6000 and PowerPC Options.
                                                              (line  455)
 * mno-strict-align:                      M680x0 Options.     (line  286)
@@ -48458,7 +48531,7 @@ look up both forms.
 * mold-mnemonics:                        RS/6000 and PowerPC Options.
                                                              (line  104)
 * momit-leaf-frame-pointer <1>:          i386 and x86-64 Options.
-                                                             (line  698)
+                                                             (line  702)
 * momit-leaf-frame-pointer:              Blackfin Options.   (line   40)
 * mone-byte-bool:                        Darwin Options.     (line   92)
 * moptimize-membar:                      FRV Options.        (line  201)
@@ -48510,34 +48583,36 @@ look up both forms.
                                                              (line   33)
 * mpowerpc64:                            RS/6000 and PowerPC Options.
                                                              (line   33)
+* mprefer-avx128:                        i386 and x86-64 Options.
+                                                             (line  548)
 * mprefer-short-insn-regs:               Adapteva Epiphany Options.
                                                              (line   13)
 * mprefergot:                            SH Options.         (line  158)
 * mpreferred-stack-boundary:             i386 and x86-64 Options.
                                                              (line  421)
-* mpretend-cmove:                        SH Options.         (line  299)
+* mpretend-cmove:                        SH Options.         (line  350)
 * mprioritize-restricted-insns:          RS/6000 and PowerPC Options.
                                                              (line  509)
 * mprolog-function:                      V850 Options.       (line   23)
 * mprologue-epilogue:                    CRIS Options.       (line   71)
 * mprototype:                            RS/6000 and PowerPC Options.
                                                              (line  600)
-* mpt-fixed:                             SH Options.         (line  251)
+* mpt-fixed:                             SH Options.         (line  302)
 * mpush-args:                            i386 and x86-64 Options.
-                                                             (line  651)
+                                                             (line  655)
 * MQ:                                    Preprocessor Options.
                                                              (line  253)
 * mr10k-cache-barrier:                   MIPS Options.       (line  548)
 * mrecip <1>:                            RS/6000 and PowerPC Options.
                                                              (line  757)
 * mrecip:                                i386 and x86-64 Options.
-                                                             (line  577)
+                                                             (line  581)
 * mrecip-precision:                      RS/6000 and PowerPC Options.
                                                              (line  793)
 * mrecip=opt <1>:                        RS/6000 and PowerPC Options.
                                                              (line  770)
 * mrecip=opt:                            i386 and x86-64 Options.
-                                                             (line  599)
+                                                             (line  603)
 * mregister-names:                       IA-64 Options.      (line   37)
 * mregnames:                             RS/6000 and PowerPC Options.
                                                              (line  706)
@@ -48547,7 +48622,7 @@ look up both forms.
 * mrelax <2>:                            RX Options.         (line   96)
 * mrelax <3>:                            MN10300 Options.    (line   46)
 * mrelax <4>:                            H8/300 Options.     (line    9)
-* mrelax:                                AVR Options.        (line  155)
+* mrelax:                                AVR Options.        (line  153)
 * mrelax-immediate:                      MCore Options.      (line   19)
 * mrelax-pic-calls:                      MIPS Options.       (line  673)
 * mrelocatable:                          RS/6000 and PowerPC Options.
@@ -48568,7 +48643,7 @@ look up both forms.
 * msafe-dma:                             SPU Options.        (line   17)
 * msafe-hints:                           SPU Options.        (line  107)
 * msahf:                                 i386 and x86-64 Options.
-                                                             (line  557)
+                                                             (line  561)
 * msatur:                                MeP Options.        (line  105)
 * msave-acc-in-interrupts:               RX Options.         (line  110)
 * msave-toc-indirect:                    RS/6000 and PowerPC Options.
@@ -48625,7 +48700,7 @@ look up both forms.
 * msetlb:                                MN10300 Options.    (line   64)
 * mshared-library-id:                    Blackfin Options.   (line   99)
 * mshort:                                M680x0 Options.     (line  219)
-* mshort-calls:                          AVR Options.        (line  169)
+* mshort-calls:                          AVR Options.        (line  167)
 * msign-extend-enabled:                  LM32 Options.       (line   18)
 * msim <1>:                              Xstormy16 Options.  (line    9)
 * msim <2>:                              RX Options.         (line   72)
@@ -48676,7 +48751,7 @@ look up both forms.
 * msoft-float <10>:                      FRV Options.        (line   22)
 * msoft-float:                           DEC Alpha Options.  (line   10)
 * msoft-quad-float:                      SPARC Options.      (line   58)
-* msp8:                                  AVR Options.        (line  174)
+* msp8:                                  AVR Options.        (line  175)
 * mspace <1>:                            V850 Options.       (line   30)
 * mspace:                                SH Options.         (line  155)
 * mspe:                                  RS/6000 and PowerPC Options.
@@ -48688,11 +48763,11 @@ look up both forms.
 * msse:                                  i386 and x86-64 Options.
                                                              (line  504)
 * msse2avx:                              i386 and x86-64 Options.
-                                                             (line  716)
+                                                             (line  720)
 * msseregparm:                           i386 and x86-64 Options.
                                                              (line  369)
 * mstack-align:                          CRIS Options.       (line   55)
-* mstack-bias:                           SPARC Options.      (line  300)
+* mstack-bias:                           SPARC Options.      (line  295)
 * mstack-check-l1:                       Blackfin Options.   (line   73)
 * mstack-guard:                          S/390 and zSeries Options.
                                                              (line  156)
@@ -48707,11 +48782,11 @@ look up both forms.
 * mstrict-align <1>:                     RS/6000 and PowerPC Options.
                                                              (line  455)
 * mstrict-align:                         M680x0 Options.     (line  286)
-* mstrict-X:                             AVR Options.        (line  187)
+* mstrict-X:                             AVR Options.        (line  188)
 * mstring:                               RS/6000 and PowerPC Options.
                                                              (line  391)
 * mstringop-strategy=ALG:                i386 and x86-64 Options.
-                                                             (line  690)
+                                                             (line  694)
 * mstructure-size-boundary:              ARM Options.        (line  171)
 * msvr4-struct-return:                   RS/6000 and PowerPC Options.
                                                              (line  574)
@@ -48726,18 +48801,18 @@ look up both forms.
 * mthread:                               i386 and x86-64 Windows Options.
                                                              (line   26)
 * mthreads:                              i386 and x86-64 Options.
-                                                             (line  666)
+                                                             (line  670)
 * mthumb:                                ARM Options.        (line  258)
 * mthumb-interwork:                      ARM Options.        (line   25)
-* mtiny-stack:                           AVR Options.        (line  201)
+* mtiny-stack:                           AVR Options.        (line  202)
 * mtiny=:                                MeP Options.        (line  125)
 * mtls:                                  FRV Options.        (line   75)
 * mTLS:                                  FRV Options.        (line   72)
 * mtls-dialect <1>:                      i386 and x86-64 Options.
-                                                             (line  644)
+                                                             (line  648)
 * mtls-dialect:                          ARM Options.        (line  299)
 * mtls-direct-seg-refs:                  i386 and x86-64 Options.
-                                                             (line  706)
+                                                             (line  710)
 * mtls-markers:                          RS/6000 and PowerPC Options.
                                                              (line  745)
 * mtls-size:                             IA-64 Options.      (line  112)
@@ -48795,7 +48870,7 @@ look up both forms.
 * mveclibabi <1>:                        RS/6000 and PowerPC Options.
                                                              (line  802)
 * mveclibabi:                            i386 and x86-64 Options.
-                                                             (line  614)
+                                                             (line  618)
 * mvect8-ret-in-mem:                     i386 and x86-64 Options.
                                                              (line  379)
 * mvis:                                  SPARC Options.      (line  194)
@@ -48830,7 +48905,7 @@ look up both forms.
 * mword-relocations:                     ARM Options.        (line  310)
 * mwords-little-endian:                  ARM Options.        (line   66)
 * mx32:                                  i386 and x86-64 Options.
-                                                             (line  746)
+                                                             (line  750)
 * mxgot <1>:                             MIPS Options.       (line  192)
 * mxgot:                                 M680x0 Options.     (line  318)
 * mxilinx-fpu:                           RS/6000 and PowerPC Options.
@@ -48910,16 +48985,17 @@ look up both forms.
 * prebind:                               Darwin Options.     (line  199)
 * prebind_all_twolevel_modules:          Darwin Options.     (line  199)
 * print-file-name:                       Debugging Options.  (line 1151)
-* print-libgcc-file-name:                Debugging Options.  (line 1181)
+* print-libgcc-file-name:                Debugging Options.  (line 1185)
 * print-multi-directory:                 Debugging Options.  (line 1157)
 * print-multi-lib:                       Debugging Options.  (line 1162)
 * print-multi-os-directory:              Debugging Options.  (line 1169)
+* print-multiarch:                       Debugging Options.  (line 1178)
 * print-objc-runtime-info:               Objective-C and Objective-C++ Dialect Options.
                                                              (line  203)
-* print-prog-name:                       Debugging Options.  (line 1178)
-* print-search-dirs:                     Debugging Options.  (line 1189)
-* print-sysroot:                         Debugging Options.  (line 1202)
-* print-sysroot-headers-suffix:          Debugging Options.  (line 1209)
+* print-prog-name:                       Debugging Options.  (line 1182)
+* print-search-dirs:                     Debugging Options.  (line 1193)
+* print-sysroot:                         Debugging Options.  (line 1206)
+* print-sysroot-headers-suffix:          Debugging Options.  (line 1213)
 * private_bundle:                        Darwin Options.     (line  199)
 * pthread <1>:                           Solaris 2 Options.  (line   31)
 * pthread:                               RS/6000 and PowerPC Options.
@@ -49989,7 +50065,7 @@ Keyword Index
 * earlyclobber operand:                  Modifiers.          (line   25)
 * eight bit data on the H8/300, H8/300H, and H8S: Function Attributes.
                                                              (line  347)
-* EIND:                                  AVR Options.        (line  206)
+* EIND:                                  AVR Options.        (line  207)
 * empty structures:                      Empty Structures.   (line    6)
 * environment variables:                 Environment Variables.
                                                              (line    6)
@@ -50631,10 +50707,10 @@ Keyword Index
 * R fixed-suffix:                        Fixed-Point.        (line    6)
 * r fixed-suffix:                        Fixed-Point.        (line    6)
 * r in constraint:                       Simple Constraints. (line   66)
-* RAMPD:                                 AVR Options.        (line  322)
-* RAMPX:                                 AVR Options.        (line  322)
-* RAMPY:                                 AVR Options.        (line  322)
-* RAMPZ:                                 AVR Options.        (line  322)
+* RAMPD:                                 AVR Options.        (line  323)
+* RAMPX:                                 AVR Options.        (line  323)
+* RAMPY:                                 AVR Options.        (line  323)
+* RAMPZ:                                 AVR Options.        (line  323)
 * ranges in case statements:             Case Ranges.        (line    6)
 * read-only strings:                     Incompatibilities.  (line    9)
 * register variable after longjmp:       Global Reg Vars.    (line   66)
@@ -51078,300 +51154,300 @@ Keyword Index
 
 \1f
 Tag Table:
-Node: Top\7f2086
-Node: G++ and GCC\7f3852
-Node: Standards\7f5921
-Node: Invoking GCC\7f18418
-Node: Option Summary\7f22169
-Node: Overall Options\7f60567
-Node: Invoking G++\7f74845
-Node: C Dialect Options\7f76368
-Node: C++ Dialect Options\7f92128
-Node: Objective-C and Objective-C++ Dialect Options\7f118568
-Node: Language Independent Options\7f129108
-Node: Warning Options\7f131230
-Node: Debugging Options\7f197758
-Node: Optimize Options\7f249232
-Ref: Type-punning\7f305921
-Node: Preprocessor Options\7f383015
-Ref: Wtrigraphs\7f387112
-Ref: dashMF\7f391860
-Ref: fdollars-in-identifiers\7f402724
-Node: Assembler Options\7f412803
-Node: Link Options\7f413507
-Ref: Link Options-Footnote-1\7f423847
-Node: Directory Options\7f424181
-Node: Spec Files\7f430458
-Node: Target Options\7f451986
-Node: Submodel Options\7f452385
-Node: Adapteva Epiphany Options\7f454072
-Node: ARM Options\7f460005
-Node: AVR Options\7f476327
-Node: Blackfin Options\7f494871
-Node: C6X Options\7f502823
-Node: CRIS Options\7f504365
-Node: CR16 Options\7f508102
-Node: Darwin Options\7f509011
-Node: DEC Alpha Options\7f516503
-Node: DEC Alpha/VMS Options\7f528400
-Node: FR30 Options\7f528977
-Node: FRV Options\7f529551
-Node: GNU/Linux Options\7f536270
-Node: H8/300 Options\7f537531
-Node: HPPA Options\7f538598
-Node: i386 and x86-64 Options\7f548087
-Node: i386 and x86-64 Windows Options\7f581586
-Node: IA-64 Options\7f584134
-Node: IA-64/VMS Options\7f592152
-Node: LM32 Options\7f592708
-Node: M32C Options\7f593237
-Node: M32R/D Options\7f594527
-Node: M680x0 Options\7f598114
-Node: MCore Options\7f612117
-Node: MeP Options\7f613618
-Node: MicroBlaze Options\7f617591
-Node: MIPS Options\7f620162
-Node: MMIX Options\7f648299
-Node: MN10300 Options\7f650781
-Node: PDP-11 Options\7f653329
-Node: picoChip Options\7f655023
-Node: PowerPC Options\7f657220
-Node: RL78 Options\7f657441
-Node: RS/6000 and PowerPC Options\7f658103
-Node: RX Options\7f695810
-Node: S/390 and zSeries Options\7f702876
-Node: Score Options\7f710808
-Node: SH Options\7f711636
-Node: Solaris 2 Options\7f724283
-Node: SPARC Options\7f725518
-Node: SPU Options\7f738131
-Node: System V Options\7f743132
-Node: TILE-Gx Options\7f743958
-Node: TILEPro Options\7f744504
-Node: V850 Options\7f745008
-Node: VAX Options\7f748633
-Node: VxWorks Options\7f749181
-Node: x86-64 Options\7f750336
-Node: Xstormy16 Options\7f750554
-Node: Xtensa Options\7f750843
-Node: zSeries Options\7f755177
-Node: Code Gen Options\7f755373
-Node: Environment Variables\7f781908
-Node: Precompiled Headers\7f790000
-Node: C Implementation\7f796199
-Node: Translation implementation\7f797862
-Node: Environment implementation\7f798436
-Node: Identifiers implementation\7f798986
-Node: Characters implementation\7f800040
-Node: Integers implementation\7f802846
-Node: Floating point implementation\7f804671
-Node: Arrays and pointers implementation\7f807600
-Ref: Arrays and pointers implementation-Footnote-1\7f809035
-Node: Hints implementation\7f809159
-Node: Structures unions enumerations and bit-fields implementation\7f810625
-Node: Qualifiers implementation\7f812611
-Node: Declarators implementation\7f814383
-Node: Statements implementation\7f814725
-Node: Preprocessing directives implementation\7f815052
-Node: Library functions implementation\7f817157
-Node: Architecture implementation\7f817797
-Node: Locale-specific behavior implementation\7f818500
-Node: C++ Implementation\7f818805
-Node: Conditionally-supported behavior\7f820085
-Node: Exception handling\7f820595
-Node: C Extensions\7f821004
-Node: Statement Exprs\7f825915
-Node: Local Labels\7f830428
-Node: Labels as Values\7f833407
-Ref: Labels as Values-Footnote-1\7f835816
-Node: Nested Functions\7f835999
-Node: Constructing Calls\7f839932
-Node: Typeof\7f844663
-Node: Conditionals\7f847978
-Node: __int128\7f848869
-Node: Long Long\7f849389
-Node: Complex\7f850891
-Node: Floating Types\7f853462
-Node: Half-Precision\7f854600
-Node: Decimal Float\7f856782
-Node: Hex Floats\7f858649
-Node: Fixed-Point\7f859690
-Node: Named Address Spaces\7f862984
-Ref: AVR Named Address Spaces\7f863678
-Node: Zero Length\7f869046
-Node: Empty Structures\7f872333
-Node: Variable Length\7f872749
-Node: Variadic Macros\7f875402
-Node: Escaped Newlines\7f877784
-Node: Subscripting\7f878623
-Node: Pointer Arith\7f879346
-Node: Initializers\7f879914
-Node: Compound Literals\7f880410
-Node: Designated Inits\7f883772
-Node: Case Ranges\7f887427
-Node: Cast to Union\7f888110
-Node: Mixed Declarations\7f889206
-Node: Function Attributes\7f889712
-Node: Attribute Syntax\7f973889
-Node: Function Prototypes\7f984335
-Node: C++ Comments\7f986116
-Node: Dollar Signs\7f986635
-Node: Character Escapes\7f987100
-Node: Variable Attributes\7f987394
-Ref: AVR Variable Attributes\7f1001093
-Ref: MeP Variable Attributes\7f1003773
-Ref: i386 Variable Attributes\7f1005734
-Node: Type Attributes\7f1011427
-Ref: MeP Type Attributes\7f1025168
-Ref: i386 Type Attributes\7f1025442
-Ref: PowerPC Type Attributes\7f1026282
-Ref: SPU Type Attributes\7f1027144
-Node: Alignment\7f1027435
-Node: Inline\7f1028809
-Node: Volatiles\7f1033793
-Node: Extended Asm\7f1036688
-Ref: Example of asm with clobbered asm reg\7f1042777
-Ref: Extended asm with goto\7f1052544
-Node: Constraints\7f1060279
-Node: Simple Constraints\7f1061363
-Node: Multi-Alternative\7f1068684
-Node: Modifiers\7f1070401
-Node: Machine Constraints\7f1073295
-Node: Asm Labels\7f1120683
-Node: Explicit Reg Vars\7f1122359
-Node: Global Reg Vars\7f1123967
-Node: Local Reg Vars\7f1128517
-Node: Alternate Keywords\7f1130958
-Node: Incomplete Enums\7f1132444
-Node: Function Names\7f1133201
-Node: Return Address\7f1135363
-Node: Vector Extensions\7f1138916
-Node: Offsetof\7f1145095
-Node: __sync Builtins\7f1145909
-Node: __atomic Builtins\7f1151314
-Node: Object Size Checking\7f1162524
-Node: Other Builtins\7f1167954
-Node: Target Builtins\7f1196411
-Node: Alpha Built-in Functions\7f1197454
-Node: ARM iWMMXt Built-in Functions\7f1200453
-Node: ARM NEON Intrinsics\7f1207172
-Node: AVR Built-in Functions\7f1413367
-Node: Blackfin Built-in Functions\7f1416438
-Node: FR-V Built-in Functions\7f1417055
-Node: Argument Types\7f1417914
-Node: Directly-mapped Integer Functions\7f1419670
-Node: Directly-mapped Media Functions\7f1420752
-Node: Raw read/write Functions\7f1427784
-Node: Other Built-in Functions\7f1428696
-Node: X86 Built-in Functions\7f1429885
-Node: MIPS DSP Built-in Functions\7f1484704
-Node: MIPS Paired-Single Support\7f1497207
-Node: MIPS Loongson Built-in Functions\7f1498708
-Node: Paired-Single Arithmetic\7f1505228
-Node: Paired-Single Built-in Functions\7f1506176
-Node: MIPS-3D Built-in Functions\7f1508848
-Node: picoChip Built-in Functions\7f1514225
-Node: Other MIPS Built-in Functions\7f1515591
-Node: PowerPC AltiVec/VSX Built-in Functions\7f1516115
-Node: RX Built-in Functions\7f1626773
-Node: SPARC VIS Built-in Functions\7f1630783
-Node: SPU Built-in Functions\7f1636387
-Node: TI C6X Built-in Functions\7f1638203
-Node: TILE-Gx Built-in Functions\7f1639227
-Node: TILEPro Built-in Functions\7f1640347
-Node: Target Format Checks\7f1641418
-Node: Solaris Format Checks\7f1641850
-Node: Darwin Format Checks\7f1642276
-Node: Pragmas\7f1643103
-Node: ARM Pragmas\7f1643813
-Node: M32C Pragmas\7f1644416
-Node: MeP Pragmas\7f1645490
-Node: RS/6000 and PowerPC Pragmas\7f1647559
-Node: Darwin Pragmas\7f1648300
-Node: Solaris Pragmas\7f1649367
-Node: Symbol-Renaming Pragmas\7f1650528
-Node: Structure-Packing Pragmas\7f1653162
-Node: Weak Pragmas\7f1654812
-Node: Diagnostic Pragmas\7f1655546
-Node: Visibility Pragmas\7f1658574
-Node: Push/Pop Macro Pragmas\7f1659326
-Node: Function Specific Option Pragmas\7f1660299
-Node: Unnamed Fields\7f1662563
-Node: Thread-Local\7f1664801
-Node: C99 Thread-Local Edits\7f1666908
-Node: C++98 Thread-Local Edits\7f1668920
-Node: Binary constants\7f1672365
-Node: C++ Extensions\7f1673036
-Node: C++ Volatiles\7f1674684
-Node: Restricted Pointers\7f1677044
-Node: Vague Linkage\7f1678642
-Node: C++ Interface\7f1682304
-Ref: C++ Interface-Footnote-1\7f1686601
-Node: Template Instantiation\7f1686738
-Node: Bound member functions\7f1693750
-Node: C++ Attributes\7f1695293
-Node: Namespace Association\7f1696951
-Node: Type Traits\7f1698365
-Node: Java Exceptions\7f1704850
-Node: Deprecated Features\7f1706247
-Node: Backwards Compatibility\7f1709212
-Node: Objective-C\7f1710570
-Node: GNU Objective-C runtime API\7f1711179
-Node: Modern GNU Objective-C runtime API\7f1712186
-Node: Traditional GNU Objective-C runtime API\7f1714623
-Node: Executing code before main\7f1715351
-Node: What you can and what you cannot do in +load\7f1718089
-Node: Type encoding\7f1720479
-Node: Legacy type encoding\7f1725555
-Node: @encode\7f1726646
-Node: Method signatures\7f1727187
-Node: Garbage Collection\7f1729182
-Node: Constant string objects\7f1731871
-Node: compatibility_alias\7f1734379
-Node: Exceptions\7f1735101
-Node: Synchronization\7f1737812
-Node: Fast enumeration\7f1738996
-Node: Using fast enumeration\7f1739308
-Node: c99-like fast enumeration syntax\7f1740519
-Node: Fast enumeration details\7f1741222
-Node: Fast enumeration protocol\7f1743563
-Node: Messaging with the GNU Objective-C runtime\7f1746715
-Node: Dynamically registering methods\7f1748086
-Node: Forwarding hook\7f1749777
-Node: Compatibility\7f1752816
-Node: Gcov\7f1759383
-Node: Gcov Intro\7f1759916
-Node: Invoking Gcov\7f1762634
-Node: Gcov and Optimization\7f1775545
-Node: Gcov Data Files\7f1778200
-Node: Cross-profiling\7f1779340
-Node: Trouble\7f1781191
-Node: Actual Bugs\7f1782676
-Node: Cross-Compiler Problems\7f1783132
-Node: Interoperation\7f1783552
-Node: Incompatibilities\7f1790689
-Node: Fixed Headers\7f1798840
-Node: Standard Libraries\7f1800503
-Node: Disappointments\7f1801875
-Node: C++ Misunderstandings\7f1806233
-Node: Static Definitions\7f1807044
-Node: Name lookup\7f1808097
-Ref: Name lookup-Footnote-1\7f1812875
-Node: Temporaries\7f1813062
-Node: Copy Assignment\7f1815038
-Node: Non-bugs\7f1816845
-Node: Warnings and Errors\7f1827352
-Node: Bugs\7f1829116
-Node: Bug Criteria\7f1829680
-Node: Bug Reporting\7f1831890
-Node: Service\7f1832111
-Node: Contributing\7f1832930
-Node: Funding\7f1833670
-Node: GNU Project\7f1836159
-Node: Copying\7f1836805
-Node: GNU Free Documentation License\7f1874333
-Node: Contributors\7f1899470
-Node: Option Index\7f1936872
-Node: Keyword Index\7f2120736
+Node: Top\7f2100
+Node: G++ and GCC\7f3866
+Node: Standards\7f5935
+Node: Invoking GCC\7f18432
+Node: Option Summary\7f22183
+Node: Overall Options\7f60571
+Node: Invoking G++\7f74849
+Node: C Dialect Options\7f76372
+Node: C++ Dialect Options\7f92132
+Node: Objective-C and Objective-C++ Dialect Options\7f118572
+Node: Language Independent Options\7f129112
+Node: Warning Options\7f131234
+Node: Debugging Options\7f197762
+Node: Optimize Options\7f249362
+Ref: Type-punning\7f306051
+Node: Preprocessor Options\7f383145
+Ref: Wtrigraphs\7f387242
+Ref: dashMF\7f391990
+Ref: fdollars-in-identifiers\7f402854
+Node: Assembler Options\7f412933
+Node: Link Options\7f413637
+Ref: Link Options-Footnote-1\7f423977
+Node: Directory Options\7f424311
+Node: Spec Files\7f430588
+Node: Target Options\7f452116
+Node: Submodel Options\7f452515
+Node: Adapteva Epiphany Options\7f454202
+Node: ARM Options\7f460135
+Node: AVR Options\7f476457
+Node: Blackfin Options\7f495696
+Node: C6X Options\7f503648
+Node: CRIS Options\7f505190
+Node: CR16 Options\7f508927
+Node: Darwin Options\7f509836
+Node: DEC Alpha Options\7f517328
+Node: DEC Alpha/VMS Options\7f529225
+Node: FR30 Options\7f529802
+Node: FRV Options\7f530376
+Node: GNU/Linux Options\7f537095
+Node: H8/300 Options\7f538356
+Node: HPPA Options\7f539423
+Node: i386 and x86-64 Options\7f548912
+Node: i386 and x86-64 Windows Options\7f582558
+Node: IA-64 Options\7f585106
+Node: IA-64/VMS Options\7f593124
+Node: LM32 Options\7f593680
+Node: M32C Options\7f594209
+Node: M32R/D Options\7f595499
+Node: M680x0 Options\7f599086
+Node: MCore Options\7f613089
+Node: MeP Options\7f614590
+Node: MicroBlaze Options\7f618563
+Node: MIPS Options\7f621134
+Node: MMIX Options\7f649271
+Node: MN10300 Options\7f651753
+Node: PDP-11 Options\7f654301
+Node: picoChip Options\7f655995
+Node: PowerPC Options\7f658192
+Node: RL78 Options\7f658413
+Node: RS/6000 and PowerPC Options\7f659075
+Node: RX Options\7f696782
+Node: S/390 and zSeries Options\7f703848
+Node: Score Options\7f711780
+Node: SH Options\7f712608
+Node: Solaris 2 Options\7f726843
+Node: SPARC Options\7f728078
+Node: SPU Options\7f740506
+Node: System V Options\7f745507
+Node: TILE-Gx Options\7f746333
+Node: TILEPro Options\7f746879
+Node: V850 Options\7f747383
+Node: VAX Options\7f751008
+Node: VxWorks Options\7f751556
+Node: x86-64 Options\7f752711
+Node: Xstormy16 Options\7f752929
+Node: Xtensa Options\7f753218
+Node: zSeries Options\7f757552
+Node: Code Gen Options\7f757748
+Node: Environment Variables\7f784283
+Node: Precompiled Headers\7f792375
+Node: C Implementation\7f798574
+Node: Translation implementation\7f800237
+Node: Environment implementation\7f800811
+Node: Identifiers implementation\7f801361
+Node: Characters implementation\7f802415
+Node: Integers implementation\7f805221
+Node: Floating point implementation\7f807046
+Node: Arrays and pointers implementation\7f809975
+Ref: Arrays and pointers implementation-Footnote-1\7f811410
+Node: Hints implementation\7f811534
+Node: Structures unions enumerations and bit-fields implementation\7f813000
+Node: Qualifiers implementation\7f814986
+Node: Declarators implementation\7f816758
+Node: Statements implementation\7f817100
+Node: Preprocessing directives implementation\7f817427
+Node: Library functions implementation\7f819532
+Node: Architecture implementation\7f820172
+Node: Locale-specific behavior implementation\7f820875
+Node: C++ Implementation\7f821180
+Node: Conditionally-supported behavior\7f822460
+Node: Exception handling\7f822970
+Node: C Extensions\7f823379
+Node: Statement Exprs\7f828290
+Node: Local Labels\7f832803
+Node: Labels as Values\7f835782
+Ref: Labels as Values-Footnote-1\7f838191
+Node: Nested Functions\7f838374
+Node: Constructing Calls\7f842307
+Node: Typeof\7f847038
+Node: Conditionals\7f850353
+Node: __int128\7f851244
+Node: Long Long\7f851764
+Node: Complex\7f853266
+Node: Floating Types\7f855837
+Node: Half-Precision\7f856975
+Node: Decimal Float\7f859157
+Node: Hex Floats\7f861024
+Node: Fixed-Point\7f862065
+Node: Named Address Spaces\7f865359
+Ref: AVR Named Address Spaces\7f866053
+Node: Zero Length\7f871423
+Node: Empty Structures\7f874710
+Node: Variable Length\7f875126
+Node: Variadic Macros\7f877779
+Node: Escaped Newlines\7f880161
+Node: Subscripting\7f881000
+Node: Pointer Arith\7f881723
+Node: Initializers\7f882291
+Node: Compound Literals\7f882787
+Node: Designated Inits\7f886149
+Node: Case Ranges\7f889804
+Node: Cast to Union\7f890487
+Node: Mixed Declarations\7f891583
+Node: Function Attributes\7f892089
+Node: Attribute Syntax\7f976266
+Node: Function Prototypes\7f986712
+Node: C++ Comments\7f988493
+Node: Dollar Signs\7f989012
+Node: Character Escapes\7f989477
+Node: Variable Attributes\7f989771
+Ref: AVR Variable Attributes\7f1003470
+Ref: MeP Variable Attributes\7f1006151
+Ref: i386 Variable Attributes\7f1008112
+Node: Type Attributes\7f1013805
+Ref: MeP Type Attributes\7f1027546
+Ref: i386 Type Attributes\7f1027820
+Ref: PowerPC Type Attributes\7f1028660
+Ref: SPU Type Attributes\7f1029522
+Node: Alignment\7f1029813
+Node: Inline\7f1031187
+Node: Volatiles\7f1036171
+Node: Extended Asm\7f1039066
+Ref: Example of asm with clobbered asm reg\7f1045155
+Ref: Extended asm with goto\7f1054922
+Node: Constraints\7f1062657
+Node: Simple Constraints\7f1063741
+Node: Multi-Alternative\7f1071062
+Node: Modifiers\7f1072779
+Node: Machine Constraints\7f1075673
+Node: Asm Labels\7f1123061
+Node: Explicit Reg Vars\7f1124737
+Node: Global Reg Vars\7f1126345
+Node: Local Reg Vars\7f1130895
+Node: Alternate Keywords\7f1133336
+Node: Incomplete Enums\7f1134822
+Node: Function Names\7f1135579
+Node: Return Address\7f1137741
+Node: Vector Extensions\7f1141294
+Node: Offsetof\7f1147473
+Node: __sync Builtins\7f1148287
+Node: __atomic Builtins\7f1153692
+Node: Object Size Checking\7f1164902
+Node: Other Builtins\7f1170332
+Node: Target Builtins\7f1198789
+Node: Alpha Built-in Functions\7f1199832
+Node: ARM iWMMXt Built-in Functions\7f1202831
+Node: ARM NEON Intrinsics\7f1209550
+Node: AVR Built-in Functions\7f1415745
+Node: Blackfin Built-in Functions\7f1418816
+Node: FR-V Built-in Functions\7f1419433
+Node: Argument Types\7f1420292
+Node: Directly-mapped Integer Functions\7f1422048
+Node: Directly-mapped Media Functions\7f1423130
+Node: Raw read/write Functions\7f1430162
+Node: Other Built-in Functions\7f1431074
+Node: X86 Built-in Functions\7f1432263
+Node: MIPS DSP Built-in Functions\7f1487086
+Node: MIPS Paired-Single Support\7f1499589
+Node: MIPS Loongson Built-in Functions\7f1501090
+Node: Paired-Single Arithmetic\7f1507610
+Node: Paired-Single Built-in Functions\7f1508558
+Node: MIPS-3D Built-in Functions\7f1511230
+Node: picoChip Built-in Functions\7f1516607
+Node: Other MIPS Built-in Functions\7f1517973
+Node: PowerPC AltiVec/VSX Built-in Functions\7f1518497
+Node: RX Built-in Functions\7f1629155
+Node: SPARC VIS Built-in Functions\7f1633165
+Node: SPU Built-in Functions\7f1638769
+Node: TI C6X Built-in Functions\7f1640585
+Node: TILE-Gx Built-in Functions\7f1641609
+Node: TILEPro Built-in Functions\7f1642729
+Node: Target Format Checks\7f1643800
+Node: Solaris Format Checks\7f1644232
+Node: Darwin Format Checks\7f1644658
+Node: Pragmas\7f1645485
+Node: ARM Pragmas\7f1646195
+Node: M32C Pragmas\7f1646798
+Node: MeP Pragmas\7f1647872
+Node: RS/6000 and PowerPC Pragmas\7f1649941
+Node: Darwin Pragmas\7f1650682
+Node: Solaris Pragmas\7f1651749
+Node: Symbol-Renaming Pragmas\7f1652910
+Node: Structure-Packing Pragmas\7f1655544
+Node: Weak Pragmas\7f1657194
+Node: Diagnostic Pragmas\7f1657928
+Node: Visibility Pragmas\7f1660956
+Node: Push/Pop Macro Pragmas\7f1661708
+Node: Function Specific Option Pragmas\7f1662681
+Node: Unnamed Fields\7f1664945
+Node: Thread-Local\7f1667183
+Node: C99 Thread-Local Edits\7f1669290
+Node: C++98 Thread-Local Edits\7f1671302
+Node: Binary constants\7f1674747
+Node: C++ Extensions\7f1675418
+Node: C++ Volatiles\7f1677066
+Node: Restricted Pointers\7f1679426
+Node: Vague Linkage\7f1681024
+Node: C++ Interface\7f1684686
+Ref: C++ Interface-Footnote-1\7f1688983
+Node: Template Instantiation\7f1689120
+Node: Bound member functions\7f1696132
+Node: C++ Attributes\7f1697675
+Node: Namespace Association\7f1699333
+Node: Type Traits\7f1700747
+Node: Java Exceptions\7f1707232
+Node: Deprecated Features\7f1708629
+Node: Backwards Compatibility\7f1711594
+Node: Objective-C\7f1712952
+Node: GNU Objective-C runtime API\7f1713561
+Node: Modern GNU Objective-C runtime API\7f1714568
+Node: Traditional GNU Objective-C runtime API\7f1717005
+Node: Executing code before main\7f1717733
+Node: What you can and what you cannot do in +load\7f1720471
+Node: Type encoding\7f1722861
+Node: Legacy type encoding\7f1727937
+Node: @encode\7f1729028
+Node: Method signatures\7f1729569
+Node: Garbage Collection\7f1731564
+Node: Constant string objects\7f1734253
+Node: compatibility_alias\7f1736761
+Node: Exceptions\7f1737483
+Node: Synchronization\7f1740194
+Node: Fast enumeration\7f1741378
+Node: Using fast enumeration\7f1741690
+Node: c99-like fast enumeration syntax\7f1742901
+Node: Fast enumeration details\7f1743604
+Node: Fast enumeration protocol\7f1745945
+Node: Messaging with the GNU Objective-C runtime\7f1749097
+Node: Dynamically registering methods\7f1750468
+Node: Forwarding hook\7f1752159
+Node: Compatibility\7f1755198
+Node: Gcov\7f1761765
+Node: Gcov Intro\7f1762298
+Node: Invoking Gcov\7f1765016
+Node: Gcov and Optimization\7f1777927
+Node: Gcov Data Files\7f1780582
+Node: Cross-profiling\7f1781722
+Node: Trouble\7f1783573
+Node: Actual Bugs\7f1785058
+Node: Cross-Compiler Problems\7f1785514
+Node: Interoperation\7f1785934
+Node: Incompatibilities\7f1793071
+Node: Fixed Headers\7f1801222
+Node: Standard Libraries\7f1802885
+Node: Disappointments\7f1804257
+Node: C++ Misunderstandings\7f1808615
+Node: Static Definitions\7f1809426
+Node: Name lookup\7f1810479
+Ref: Name lookup-Footnote-1\7f1815257
+Node: Temporaries\7f1815444
+Node: Copy Assignment\7f1817420
+Node: Non-bugs\7f1819227
+Node: Warnings and Errors\7f1829734
+Node: Bugs\7f1831498
+Node: Bug Criteria\7f1832062
+Node: Bug Reporting\7f1834272
+Node: Service\7f1834493
+Node: Contributing\7f1835312
+Node: Funding\7f1836052
+Node: GNU Project\7f1838541
+Node: Copying\7f1839187
+Node: GNU Free Documentation License\7f1876715
+Node: Contributors\7f1901852
+Node: Option Index\7f1939254
+Node: Keyword Index\7f2123257
 \1f
 End Tag Table
index 10433dc..4285c40 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/gccinstall.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/doc/install.texi.
+This is doc/gccinstall.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/doc/install.texi.
 
 Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -817,6 +817,15 @@ option.
      `gnu2', which select between the original GNU dialect and the GNU
      TLS descriptor-based dialect.
 
+`--enable-multiarch'
+     Specify whether to enable or disable multiarch support.  The
+     default is to check for glibc start files in a multiarch location,
+     and enable it if the files are found.  The auto detection is
+     enabled for native builds, and for cross builds configured with
+     `--with-sysroot', and without `--with-native-system-header-dir'.
+     More documentation about multiarch can be found at
+     `http://wiki.debian.org/Multiarch'.
+
 `--disable-multilib'
      Specify that multiple target libraries to support different target
      variants, calling conventions, etc. should not be built.  The
@@ -1574,6 +1583,16 @@ The following options only apply to building cross compilers.
      This causes `__eprintf' to be omitted from `libgcc.a' on the
      assumption that it will be provided by `newlib'.
 
+`--with-avrlibc'
+     Specifies that `AVR-Libc' is being used as the target C library.
+     This causes float support functions like `__addsf3' to be omitted
+     from `libgcc.a' on the assumption that it will be provided by
+     `libm.a'.  For more technical details, cf. PR54461.  This option
+     is only supported for the AVR target.  It is not supported for
+     RTEMS configurations, which currently use newlib.  The option is
+     supported since version 4.7.2 and is the default in 4.8.0 and
+     newer.
+
 `--with-build-time-tools=DIR'
      Specifies where to find the set of target tools (assembler,
      linker, etc.)  that will be used while building GCC itself.  This
@@ -2644,7 +2663,7 @@ arm-*-eabi
 
 ARM-family processors.  Subtargets that use the ELF object format
 require GNU binutils 2.13 or newer.  Such subtargets include:
-`arm-*-netbsdelf', `arm-*-*linux-gnueabi' and `arm-*-rtemseabi'.
+`arm-*-netbsdelf', `arm-*-*linux-gnueabi*' and `arm-*-rtemseabi'.
 
 avr
 ===
@@ -3680,9 +3699,10 @@ mishandled unaligned relocations on `sparc-*-*' targets.
 sparc64-*-solaris2*
 ===================
 
-When configuring the GNU Multiple Precision Library (GMP) or the MPFR
-library, the canonical target triplet must be specified as the `build'
-parameter on the configure line.  For example on a Solaris 9 system:
+When configuring the GNU Multiple Precision Library (GMP), the MPFR
+library or the MPC library, the canonical target triplet must be
+specified as the `build' parameter on the configure line.  For example
+on a Solaris 9 system:
 
      % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
 
@@ -4579,7 +4599,7 @@ Concept Index
 * Menu:
 
 * Binaries:                              Binaries.           (line    6)
-* build_configargs:                      Configuration.      (line 1439)
+* build_configargs:                      Configuration.      (line 1458)
 * Configuration:                         Configuration.      (line    6)
 * configurations supported by GCC:       Configurations.     (line    6)
 * Downloading GCC:                       Downloading the source.
@@ -4589,7 +4609,7 @@ Concept Index
 * FDL, GNU Free Documentation License:   GNU Free Documentation License.
                                                              (line    6)
 * Host specific installation:            Specific.           (line    6)
-* host_configargs:                       Configuration.      (line 1443)
+* host_configargs:                       Configuration.      (line 1462)
 * Installing GCC: Binaries:              Binaries.           (line    6)
 * Installing GCC: Building:              Building.           (line    6)
 * Installing GCC: Configuration:         Configuration.      (line    6)
@@ -4599,100 +4619,100 @@ Concept Index
 * Specific installation notes:           Specific.           (line    6)
 * Target specific installation:          Specific.           (line    6)
 * Target specific installation notes:    Specific.           (line    6)
-* target_configargs:                     Configuration.      (line 1447)
+* target_configargs:                     Configuration.      (line 1466)
 * Testing:                               Testing.            (line    6)
 * Testsuite:                             Testing.            (line    6)
 
 
 \1f
 Tag Table:
-Node: Top\7f1963
-Node: Installing GCC\7f2521
-Node: Prerequisites\7f4036
-Node: Downloading the source\7f14260
-Node: Configuration\7f16197
-Ref: with-gnu-as\7f31203
-Ref: with-as\7f32101
-Ref: with-gnu-ld\7f33514
-Node: Building\7f79771
-Node: Testing\7f95256
-Node: Final install\7f103105
-Node: Binaries\7f108419
-Node: Specific\7f110020
-Ref: alpha-x-x\7f110526
-Ref: alpha-dec-osf51\7f111015
-Ref: amd64-x-solaris210\7f113551
-Ref: arm-x-eabi\7f113654
-Ref: avr\7f113871
-Ref: bfin\7f114511
-Ref: cr16\7f114753
-Ref: cris\7f115168
-Ref: dos\7f115984
-Ref: epiphany-x-elf\7f116307
-Ref: x-x-freebsd\7f116412
-Ref: h8300-hms\7f118249
-Ref: hppa-hp-hpux\7f118601
-Ref: hppa-hp-hpux10\7f120972
-Ref: hppa-hp-hpux11\7f121385
-Ref: x-x-linux-gnu\7f127044
-Ref: ix86-x-linux\7f127237
-Ref: ix86-x-solaris289\7f127550
-Ref: ix86-x-solaris210\7f128394
-Ref: ia64-x-linux\7f129585
-Ref: ia64-x-hpux\7f130355
-Ref: x-ibm-aix\7f130910
-Ref: iq2000-x-elf\7f137680
-Ref: lm32-x-elf\7f137820
-Ref: lm32-x-uclinux\7f137924
-Ref: m32c-x-elf\7f138052
-Ref: m32r-x-elf\7f138154
-Ref: m68k-x-x\7f138256
-Ref: m68k-x-uclinux\7f139294
-Ref: mep-x-elf\7f139540
-Ref: microblaze-x-elf\7f139650
-Ref: mips-x-x\7f139769
-Ref: mips-sgi-irix5\7f142165
-Ref: mips-sgi-irix6\7f142245
-Ref: moxie-x-elf\7f145469
-Ref: powerpc-x-x\7f145589
-Ref: powerpc-x-darwin\7f145794
-Ref: powerpc-x-elf\7f146288
-Ref: powerpc-x-linux-gnu\7f146373
-Ref: powerpc-x-netbsd\7f146468
-Ref: powerpc-x-eabisim\7f146556
-Ref: powerpc-x-eabi\7f146682
-Ref: powerpcle-x-elf\7f146758
-Ref: powerpcle-x-eabisim\7f146850
-Ref: powerpcle-x-eabi\7f146983
-Ref: rl78-x-elf\7f147066
-Ref: rx-x-elf\7f147172
-Ref: s390-x-linux\7f147371
-Ref: s390x-x-linux\7f147443
-Ref: s390x-ibm-tpf\7f147530
-Ref: x-x-solaris2\7f147661
-Ref: sparc-x-x\7f153228
-Ref: sparc-sun-solaris2\7f153730
-Ref: sparc-sun-solaris210\7f156484
-Ref: sparc-x-linux\7f156860
-Ref: sparc64-x-solaris2\7f157085
-Ref: sparcv9-x-solaris2\7f157721
-Ref: c6x-x-x\7f157808
-Ref: tilegx-*-linux\7f157899
-Ref: tilepro-*-linux\7f158018
-Ref: x-x-vxworks\7f158139
-Ref: x86-64-x-x\7f159661
-Ref: x86-64-x-solaris210\7f159989
-Ref: xtensa-x-elf\7f160651
-Ref: xtensa-x-linux\7f161322
-Ref: windows\7f161663
-Ref: x-x-cygwin\7f163600
-Ref: x-x-interix\7f164153
-Ref: x-x-mingw32\7f164462
-Ref: older\7f164688
-Ref: elf\7f166805
-Node: Old\7f167063
-Node: Configurations\7f170200
-Node: GNU Free Documentation License\7f173741
-Node: Concept Index\7f198888
+Node: Top\7f1977
+Node: Installing GCC\7f2535
+Node: Prerequisites\7f4050
+Node: Downloading the source\7f14274
+Node: Configuration\7f16211
+Ref: with-gnu-as\7f31217
+Ref: with-as\7f32115
+Ref: with-gnu-ld\7f33528
+Node: Building\7f80760
+Node: Testing\7f96245
+Node: Final install\7f104094
+Node: Binaries\7f109408
+Node: Specific\7f111009
+Ref: alpha-x-x\7f111515
+Ref: alpha-dec-osf51\7f112004
+Ref: amd64-x-solaris210\7f114540
+Ref: arm-x-eabi\7f114643
+Ref: avr\7f114861
+Ref: bfin\7f115501
+Ref: cr16\7f115743
+Ref: cris\7f116158
+Ref: dos\7f116974
+Ref: epiphany-x-elf\7f117297
+Ref: x-x-freebsd\7f117402
+Ref: h8300-hms\7f119239
+Ref: hppa-hp-hpux\7f119591
+Ref: hppa-hp-hpux10\7f121962
+Ref: hppa-hp-hpux11\7f122375
+Ref: x-x-linux-gnu\7f128034
+Ref: ix86-x-linux\7f128227
+Ref: ix86-x-solaris289\7f128540
+Ref: ix86-x-solaris210\7f129384
+Ref: ia64-x-linux\7f130575
+Ref: ia64-x-hpux\7f131345
+Ref: x-ibm-aix\7f131900
+Ref: iq2000-x-elf\7f138670
+Ref: lm32-x-elf\7f138810
+Ref: lm32-x-uclinux\7f138914
+Ref: m32c-x-elf\7f139042
+Ref: m32r-x-elf\7f139144
+Ref: m68k-x-x\7f139246
+Ref: m68k-x-uclinux\7f140284
+Ref: mep-x-elf\7f140530
+Ref: microblaze-x-elf\7f140640
+Ref: mips-x-x\7f140759
+Ref: mips-sgi-irix5\7f143155
+Ref: mips-sgi-irix6\7f143235
+Ref: moxie-x-elf\7f146459
+Ref: powerpc-x-x\7f146579
+Ref: powerpc-x-darwin\7f146784
+Ref: powerpc-x-elf\7f147278
+Ref: powerpc-x-linux-gnu\7f147363
+Ref: powerpc-x-netbsd\7f147458
+Ref: powerpc-x-eabisim\7f147546
+Ref: powerpc-x-eabi\7f147672
+Ref: powerpcle-x-elf\7f147748
+Ref: powerpcle-x-eabisim\7f147840
+Ref: powerpcle-x-eabi\7f147973
+Ref: rl78-x-elf\7f148056
+Ref: rx-x-elf\7f148162
+Ref: s390-x-linux\7f148361
+Ref: s390x-x-linux\7f148433
+Ref: s390x-ibm-tpf\7f148520
+Ref: x-x-solaris2\7f148651
+Ref: sparc-x-x\7f154218
+Ref: sparc-sun-solaris2\7f154720
+Ref: sparc-sun-solaris210\7f157474
+Ref: sparc-x-linux\7f157850
+Ref: sparc64-x-solaris2\7f158075
+Ref: sparcv9-x-solaris2\7f158728
+Ref: c6x-x-x\7f158815
+Ref: tilegx-*-linux\7f158906
+Ref: tilepro-*-linux\7f159025
+Ref: x-x-vxworks\7f159146
+Ref: x86-64-x-x\7f160668
+Ref: x86-64-x-solaris210\7f160996
+Ref: xtensa-x-elf\7f161658
+Ref: xtensa-x-linux\7f162329
+Ref: windows\7f162670
+Ref: x-x-cygwin\7f164607
+Ref: x-x-interix\7f165160
+Ref: x-x-mingw32\7f165469
+Ref: older\7f165695
+Ref: elf\7f167812
+Node: Old\7f168070
+Node: Configurations\7f171207
+Node: GNU Free Documentation License\7f174748
+Node: Concept Index\7f199895
 \1f
 End Tag Table
index 189244d..d2ea8e5 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/gccint.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/doc/gccint.texi.
+This is doc/gccint.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/doc/gccint.texi.
 
 Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free
@@ -61,7 +61,7 @@ Introduction
 This manual documents the internals of the GNU compilers, including how
 to port them to new targets and some information about how to write
 front ends for new languages.  It corresponds to the compilers
-(GCC) version 4.7.2.  The use of the GNU compilers is documented in a
+(GCC) version 4.7.3.  The use of the GNU compilers is documented in a
 separate manual.  *Note Introduction: (gcc)Top.
 
  This manual is mainly a reference manual rather than a tutorial.  It
@@ -37189,6 +37189,12 @@ Target makefile fragments can set these Makefile variables.
      default value will be `MULTILIB_OPTIONS', with all slashes treated
      as spaces.
 
+     `MULTILIB_DIRNAMES' describes the multilib directories using GCC
+     conventions and is applied to directories that are part of the GCC
+     installation.  When multilib-enabled, the compiler will add a
+     subdirectory of the form PREFIX/MULTILIB before each directory in
+     the search path for libraries and crt files.
+
      For example, if `MULTILIB_OPTIONS' is set to `m68000/m68020
      msoft-float', then the default value of `MULTILIB_DIRNAMES' is
      `m68000 m68020 msoft-float'.  You may specify a different value if
@@ -37220,6 +37226,58 @@ Target makefile fragments can set these Makefile variables.
      of options to be used for all builds.  If you set this, you should
      probably set `CRTSTUFF_T_CFLAGS' to a dash followed by it.
 
+`MULTILIB_OSDIRNAMES'
+     If `MULTILIB_OPTIONS' is used, this variable specifies a list of
+     subdirectory names, that are used to modify the search path
+     depending on the chosen multilib.  Unlike `MULTILIB_DIRNAMES',
+     `MULTILIB_OSDIRNAMES' describes the multilib directories using
+     operating systems conventions, and is applied to the directories
+     such as `lib' or those in the `LIBRARY_PATH' environment variable.
+     The format is either the same as of `MULTILIB_DIRNAMES', or a set
+     of mappings.  When it is the same as `MULTILIB_DIRNAMES', it
+     describes the multilib directories using operating system
+     conventions, rather than GCC conventions.  When it is a set of
+     mappings of the form GCCDIR=OSDIR, the left side gives the GCC
+     convention and the right gives the equivalent OS defined location.
+     If the OSDIR part begins with a `!', GCC will not search in the
+     non-multilib directory and use exclusively the multilib directory.
+     Otherwise, the compiler will examine the search path for libraries
+     and crt files twice; the first time it will add MULTILIB to each
+     directory in the search path, the second it will not.
+
+     For configurations that support both multilib and multiarch,
+     `MULTILIB_OSDIRNAMES' also encodes the multiarch name, thus
+     subsuming `MULTIARCH_DIRNAME'.  The multiarch name is appended to
+     each directory name, separated by a colon (e.g.
+     `../lib32:i386-linux-gnu').
+
+     Each multiarch subdirectory will be searched before the
+     corresponding OS multilib directory, for example
+     `/lib/i386-linux-gnu' before `/lib/../lib32'.  The multiarch name
+     will also be used to modify the system header search path, as
+     explained for `MULTIARCH_DIRNAME'.
+
+`MULTIARCH_DIRNAME'
+     This variable specifies the multiarch name for configurations that
+     are multiarch-enabled but not multilibbed configurations.
+
+     The multiarch name is used to augment the search path for
+     libraries, crt files and system header files with additional
+     locations.  The compiler will add a multiarch subdirectory of the
+     form PREFIX/MULTIARCH before each directory in the library and crt
+     search path.  It will also add two directories
+     `LOCAL_INCLUDE_DIR'/MULTIARCH and
+     `NATIVE_SYSTEM_HEADER_DIR'/MULTIARCH) to the system header search
+     path, respectively before `LOCAL_INCLUDE_DIR' and
+     `NATIVE_SYSTEM_HEADER_DIR'.
+
+     `MULTIARCH_DIRNAME' is not used for configurations that support
+     both multilib and multiarch.  In that case, multiarch names are
+     encoded in `MULTILIB_OSDIRNAMES' instead.
+
+     More documentation about multiarch can be found at
+     `http://wiki.debian.org/Multiarch'.
+
 `SPECS'
      Unfortunately, setting `MULTILIB_EXTRA_OPTS' is not enough, since
      it does not affect the build of target libraries, at least not the
@@ -46661,12 +46719,14 @@ Concept Index
                                                              (line   27)
 * MULT_EXPR:                             Unary and Binary Expressions.
                                                              (line    6)
+* MULTIARCH_DIRNAME:                     Target Fragment.    (line  120)
 * MULTILIB_DEFAULTS:                     Driver.             (line  259)
 * MULTILIB_DIRNAMES:                     Target Fragment.    (line   44)
-* MULTILIB_EXCEPTIONS:                   Target Fragment.    (line   64)
-* MULTILIB_EXTRA_OPTS:                   Target Fragment.    (line   76)
-* MULTILIB_MATCHES:                      Target Fragment.    (line   57)
+* MULTILIB_EXCEPTIONS:                   Target Fragment.    (line   70)
+* MULTILIB_EXTRA_OPTS:                   Target Fragment.    (line   82)
+* MULTILIB_MATCHES:                      Target Fragment.    (line   63)
 * MULTILIB_OPTIONS:                      Target Fragment.    (line   24)
+* MULTILIB_OSDIRNAMES:                   Target Fragment.    (line   89)
 * multiple alternative constraints:      Multi-Alternative.  (line    6)
 * MULTIPLE_SYMBOL_SPACES:                Misc.               (line  493)
 * multiplication:                        Arithmetic.         (line   92)
@@ -47313,7 +47373,7 @@ Concept Index
                                                              (line    6)
 * special:                               GTY Options.        (line  290)
 * special predicates:                    Predicates.         (line   31)
-* SPECS:                                 Target Fragment.    (line   83)
+* SPECS:                                 Target Fragment.    (line  141)
 * speed of instructions:                 Costs.              (line    6)
 * split_block:                           Maintaining the CFG.
                                                              (line  110)
@@ -48355,350 +48415,350 @@ Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f2046
-Node: Contributing\7f5134
-Node: Portability\7f5875
-Node: Interface\7f7663
-Node: Libgcc\7f10703
-Node: Integer library routines\7f12544
-Node: Soft float library routines\7f19386
-Node: Decimal float library routines\7f31323
-Node: Fixed-point fractional library routines\7f47080
-Node: Exception handling routines\7f147478
-Node: Miscellaneous routines\7f148585
-Node: Languages\7f150705
-Node: Source Tree\7f152254
-Node: Configure Terms\7f152836
-Node: Top Level\7f155794
-Node: gcc Directory\7f159106
-Node: Subdirectories\7f160056
-Node: Configuration\7f161928
-Node: Config Fragments\7f162648
-Node: System Config\7f163877
-Node: Configuration Files\7f164813
-Node: Build\7f167638
-Node: Makefile\7f168050
-Ref: Makefile-Footnote-1\7f174853
-Ref: Makefile-Footnote-2\7f174998
-Node: Library Files\7f175070
-Node: Headers\7f175632
-Node: Documentation\7f177715
-Node: Texinfo Manuals\7f178574
-Node: Man Page Generation\7f180918
-Node: Miscellaneous Docs\7f182833
-Node: Front End\7f184222
-Node: Front End Directory\7f187915
-Node: Front End Config\7f189235
-Node: Front End Makefile\7f192177
-Node: Back End\7f195959
-Node: Testsuites\7f199756
-Node: Test Idioms\7f200687
-Node: Test Directives\7f204084
-Node: Directives\7f204611
-Node: Selectors\7f214921
-Node: Effective-Target Keywords\7f216063
-Ref: arm_neon_ok\7f223296
-Ref: arm_neon_fp16_ok\7f223457
-Node: Add Options\7f232781
-Node: Require Support\7f233978
-Node: Final Actions\7f236485
-Node: Ada Tests\7f240548
-Node: C Tests\7f241880
-Node: libgcj Tests\7f246303
-Node: LTO Testing\7f247430
-Node: gcov Testing\7f249077
-Node: profopt Testing\7f252064
-Node: compat Testing\7f253779
-Node: Torture Tests\7f258019
-Node: Options\7f259636
-Node: Option file format\7f260076
-Node: Option properties\7f267066
-Node: Passes\7f279512
-Node: Parsing pass\7f280256
-Node: Gimplification pass\7f283786
-Node: Pass manager\7f285619
-Node: Tree SSA passes\7f287413
-Node: RTL passes\7f309885
-Node: RTL\7f322228
-Node: RTL Objects\7f324416
-Node: RTL Classes\7f328290
-Node: Accessors\7f333288
-Node: Special Accessors\7f335682
-Node: Flags\7f341452
-Node: Machine Modes\7f356175
-Node: Constants\7f368487
-Node: Regs and Memory\7f374516
-Node: Arithmetic\7f392417
-Node: Comparisons\7f402507
-Node: Bit-Fields\7f406799
-Node: Vector Operations\7f408351
-Node: Conversions\7f410186
-Node: RTL Declarations\7f414684
-Node: Side Effects\7f415505
-Node: Incdec\7f432105
-Node: Assembler\7f435440
-Node: Debug Information\7f436985
-Node: Insns\7f438183
-Node: Calls\7f464405
-Node: Sharing\7f466998
-Node: Reading RTL\7f470108
-Node: GENERIC\7f471100
-Node: Deficiencies\7f472973
-Node: Tree overview\7f473214
-Node: Macros and Functions\7f477341
-Node: Identifiers\7f478166
-Node: Containers\7f479777
-Node: Types\7f480934
-Node: Declarations\7f493030
-Node: Working with declarations\7f493525
-Node: Internal structure\7f499131
-Node: Current structure hierarchy\7f499515
-Node: Adding new DECL node types\7f501609
-Node: Attributes\7f505682
-Node: Expression trees\7f506927
-Node: Constant expressions\7f508680
-Node: Storage References\7f512899
-Node: Unary and Binary Expressions\7f516418
-Node: Vectors\7f535836
-Node: Statements\7f539860
-Node: Basic Statements\7f540380
-Node: Blocks\7f544887
-Node: Statement Sequences\7f546291
-Node: Empty Statements\7f546624
-Node: Jumps\7f547198
-Node: Cleanups\7f547851
-Node: OpenMP\7f549619
-Node: Functions\7f555459
-Node: Function Basics\7f555930
-Node: Function Properties\7f559615
-Node: Language-dependent trees\7f562397
-Node: C and C++ Trees\7f563283
-Node: Types for C++\7f566187
-Node: Namespaces\7f571157
-Node: Classes\7f574264
-Node: Functions for C++\7f579342
-Node: Statements for C++\7f585595
-Node: C++ Expressions\7f593643
-Node: Java Trees\7f595144
-Node: GIMPLE\7f595257
-Node: Tuple representation\7f598878
-Node: GIMPLE instruction set\7f607154
-Node: GIMPLE Exception Handling\7f608822
-Node: Temporaries\7f610736
-Ref: Temporaries-Footnote-1\7f612051
-Node: Operands\7f612114
-Node: Compound Expressions\7f612876
-Node: Compound Lvalues\7f613110
-Node: Conditional Expressions\7f613872
-Node: Logical Operators\7f614530
-Node: Manipulating GIMPLE statements\7f621287
-Node: Tuple specific accessors\7f627221
-Node: `GIMPLE_ASM'\7f628040
-Node: `GIMPLE_ASSIGN'\7f630673
-Node: `GIMPLE_BIND'\7f634779
-Node: `GIMPLE_CALL'\7f636586
-Node: `GIMPLE_CATCH'\7f640856
-Node: `GIMPLE_COND'\7f642000
-Node: `GIMPLE_DEBUG'\7f644788
-Node: `GIMPLE_EH_FILTER'\7f648171
-Node: `GIMPLE_LABEL'\7f649659
-Node: `GIMPLE_NOP'\7f650634
-Node: `GIMPLE_OMP_ATOMIC_LOAD'\7f651003
-Node: `GIMPLE_OMP_ATOMIC_STORE'\7f651913
-Node: `GIMPLE_OMP_CONTINUE'\7f652552
-Node: `GIMPLE_OMP_CRITICAL'\7f653902
-Node: `GIMPLE_OMP_FOR'\7f654839
-Node: `GIMPLE_OMP_MASTER'\7f658354
-Node: `GIMPLE_OMP_ORDERED'\7f658737
-Node: `GIMPLE_OMP_PARALLEL'\7f659137
-Node: `GIMPLE_OMP_RETURN'\7f661909
-Node: `GIMPLE_OMP_SECTION'\7f662559
-Node: `GIMPLE_OMP_SECTIONS'\7f663225
-Node: `GIMPLE_OMP_SINGLE'\7f664831
-Node: `GIMPLE_PHI'\7f665768
-Node: `GIMPLE_RESX'\7f667054
-Node: `GIMPLE_RETURN'\7f667773
-Node: `GIMPLE_SWITCH'\7f668341
-Node: `GIMPLE_TRY'\7f670479
-Node: `GIMPLE_WITH_CLEANUP_EXPR'\7f672269
-Node: GIMPLE sequences\7f673152
-Node: Sequence iterators\7f676358
-Node: Adding a new GIMPLE statement code\7f684814
-Node: Statement and operand traversals\7f686090
-Node: Tree SSA\7f688690
-Node: Annotations\7f690476
-Node: SSA Operands\7f691002
-Node: SSA\7f705533
-Node: Alias analysis\7f717824
-Node: Memory model\7f721604
-Node: Loop Analysis and Representation\7f722967
-Node: Loop representation\7f724148
-Node: Loop querying\7f731068
-Node: Loop manipulation\7f733901
-Node: LCSSA\7f736269
-Node: Scalar evolutions\7f738341
-Node: loop-iv\7f741585
-Node: Number of iterations\7f743511
-Node: Dependency analysis\7f746320
-Node: Lambda\7f752688
-Node: Omega\7f754359
-Node: Control Flow\7f755924
-Node: Basic Blocks\7f756919
-Node: Edges\7f761487
-Node: Profile information\7f770049
-Node: Maintaining the CFG\7f774735
-Node: Liveness information\7f781612
-Node: Machine Desc\7f783738
-Node: Overview\7f786206
-Node: Patterns\7f788247
-Node: Example\7f791685
-Node: RTL Template\7f793120
-Node: Output Template\7f803775
-Node: Output Statement\7f807740
-Node: Predicates\7f811702
-Node: Machine-Independent Predicates\7f814620
-Node: Defining Predicates\7f819565
-Node: Constraints\7f825530
-Node: Simple Constraints\7f827012
-Node: Multi-Alternative\7f839868
-Node: Class Preferences\7f842709
-Node: Modifiers\7f843601
-Node: Machine Constraints\7f847733
-Node: Disable Insn Alternatives\7f896216
-Node: Define Constraints\7f899109
-Node: C Constraint Interface\7f905890
-Node: Standard Names\7f909531
-Ref: shift patterns\7f932106
-Ref: prologue instruction pattern\7f973484
-Ref: window_save instruction pattern\7f973977
-Ref: epilogue instruction pattern\7f974252
-Node: Pattern Ordering\7f991355
-Node: Dependent Patterns\7f992591
-Node: Jump Patterns\7f994211
-Ref: Jump Patterns-Footnote-1\7f996355
-Node: Looping Patterns\7f996401
-Node: Insn Canonicalizations\7f1001129
-Node: Expander Definitions\7f1005720
-Node: Insn Splitting\7f1013838
-Node: Including Patterns\7f1023440
-Node: Peephole Definitions\7f1025220
-Node: define_peephole\7f1026473
-Node: define_peephole2\7f1032804
-Node: Insn Attributes\7f1035871
-Node: Defining Attributes\7f1036977
-Ref: define_enum_attr\7f1040014
-Node: Expressions\7f1041049
-Node: Tagging Insns\7f1048319
-Node: Attr Example\7f1052672
-Node: Insn Lengths\7f1055046
-Node: Constant Attributes\7f1058105
-Node: Delay Slots\7f1059274
-Node: Processor pipeline description\7f1062498
-Ref: Processor pipeline description-Footnote-1\7f1081311
-Node: Conditional Execution\7f1081633
-Node: Constant Definitions\7f1084703
-Ref: define_enum\7f1088494
-Node: Iterators\7f1088982
-Node: Mode Iterators\7f1089429
-Node: Defining Mode Iterators\7f1090407
-Node: Substitutions\7f1091901
-Node: Examples\7f1094142
-Node: Code Iterators\7f1095590
-Node: Target Macros\7f1097847
-Node: Target Structure\7f1100935
-Node: Driver\7f1103050
-Node: Run-time Target\7f1122118
-Node: Per-Function Data\7f1130902
-Node: Storage Layout\7f1133667
-Node: Type Layout\7f1159675
-Node: Registers\7f1174557
-Node: Register Basics\7f1175531
-Node: Allocation Order\7f1181036
-Node: Values in Registers\7f1183482
-Node: Leaf Functions\7f1190971
-Node: Stack Registers\7f1193829
-Node: Register Classes\7f1195101
-Node: Old Constraints\7f1223715
-Node: Stack and Calling\7f1230867
-Node: Frame Layout\7f1231401
-Node: Exception Handling\7f1242281
-Node: Stack Checking\7f1248487
-Node: Frame Registers\7f1253300
-Node: Elimination\7f1261559
-Node: Stack Arguments\7f1265788
-Node: Register Arguments\7f1272685
-Node: Scalar Return\7f1293001
-Node: Aggregate Return\7f1299087
-Node: Caller Saves\7f1303297
-Node: Function Entry\7f1304475
-Node: Profiling\7f1317103
-Node: Tail Calls\7f1318802
-Node: Stack Smashing Protection\7f1320414
-Node: Varargs\7f1322046
-Node: Trampolines\7f1328742
-Node: Library Calls\7f1334785
-Node: Addressing Modes\7f1339724
-Node: Anchored Addresses\7f1359533
-Node: Condition Code\7f1362182
-Node: CC0 Condition Codes\7f1364311
-Node: MODE_CC Condition Codes\7f1367557
-Node: Cond Exec Macros\7f1373784
-Node: Costs\7f1374761
-Node: Scheduling\7f1391179
-Node: Sections\7f1410585
-Node: PIC\7f1426283
-Node: Assembler Format\7f1428343
-Node: File Framework\7f1429481
-Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS\7f1436377
-Node: Data Output\7f1439642
-Node: Uninitialized Data\7f1447418
-Node: Label Output\7f1452429
-Node: Initialization\7f1475501
-Node: Macros for Initialization\7f1481463
-Node: Instruction Output\7f1488186
-Node: Dispatch Tables\7f1498688
-Node: Exception Region Output\7f1503066
-Node: Alignment Output\7f1509424
-Node: Debugging Info\7f1513969
-Node: All Debuggers\7f1514639
-Node: DBX Options\7f1517494
-Node: DBX Hooks\7f1522943
-Node: File Names and DBX\7f1524869
-Node: SDB and DWARF\7f1526981
-Node: VMS Debug\7f1532828
-Node: Floating Point\7f1533415
-Node: Mode Switching\7f1538238
-Node: Target Attributes\7f1542164
-Node: Emulated TLS\7f1550076
-Node: MIPS Coprocessors\7f1553466
-Node: PCH Target\7f1555035
-Node: C++ ABI\7f1556877
-Node: Named Address Spaces\7f1561669
-Node: Misc\7f1566608
-Ref: TARGET_SHIFT_TRUNCATION_MASK\7f1574036
-Node: Host Config\7f1617158
-Node: Host Common\7f1618226
-Node: Filesystem\7f1620605
-Node: Host Misc\7f1624720
-Node: Fragments\7f1627169
-Node: Target Fragment\7f1628364
-Node: Host Fragment\7f1633251
-Node: Collect2\7f1633491
-Node: Header Dirs\7f1636127
-Node: Type Information\7f1637550
-Node: GTY Options\7f1639907
-Node: GGC Roots\7f1653735
-Node: Files\7f1654455
-Node: Invoking the garbage collector\7f1657201
-Node: Troubleshooting\7f1658704
-Node: Plugins\7f1659780
-Node: LTO\7f1676658
-Node: Funding\7f1701704
-Node: GNU Project\7f1704187
-Node: Copying\7f1704836
-Node: GNU Free Documentation License\7f1742367
-Node: Contributors\7f1767507
-Node: Option Index\7f1804912
-Node: Concept Index\7f1805716
+Node: Top\7f2060
+Node: Contributing\7f5148
+Node: Portability\7f5889
+Node: Interface\7f7677
+Node: Libgcc\7f10717
+Node: Integer library routines\7f12558
+Node: Soft float library routines\7f19400
+Node: Decimal float library routines\7f31337
+Node: Fixed-point fractional library routines\7f47094
+Node: Exception handling routines\7f147492
+Node: Miscellaneous routines\7f148599
+Node: Languages\7f150719
+Node: Source Tree\7f152268
+Node: Configure Terms\7f152850
+Node: Top Level\7f155808
+Node: gcc Directory\7f159120
+Node: Subdirectories\7f160070
+Node: Configuration\7f161942
+Node: Config Fragments\7f162662
+Node: System Config\7f163891
+Node: Configuration Files\7f164827
+Node: Build\7f167652
+Node: Makefile\7f168064
+Ref: Makefile-Footnote-1\7f174867
+Ref: Makefile-Footnote-2\7f175012
+Node: Library Files\7f175084
+Node: Headers\7f175646
+Node: Documentation\7f177729
+Node: Texinfo Manuals\7f178588
+Node: Man Page Generation\7f180932
+Node: Miscellaneous Docs\7f182847
+Node: Front End\7f184236
+Node: Front End Directory\7f187929
+Node: Front End Config\7f189249
+Node: Front End Makefile\7f192191
+Node: Back End\7f195973
+Node: Testsuites\7f199770
+Node: Test Idioms\7f200701
+Node: Test Directives\7f204098
+Node: Directives\7f204625
+Node: Selectors\7f214935
+Node: Effective-Target Keywords\7f216077
+Ref: arm_neon_ok\7f223310
+Ref: arm_neon_fp16_ok\7f223471
+Node: Add Options\7f232795
+Node: Require Support\7f233992
+Node: Final Actions\7f236499
+Node: Ada Tests\7f240562
+Node: C Tests\7f241894
+Node: libgcj Tests\7f246317
+Node: LTO Testing\7f247444
+Node: gcov Testing\7f249091
+Node: profopt Testing\7f252078
+Node: compat Testing\7f253793
+Node: Torture Tests\7f258033
+Node: Options\7f259650
+Node: Option file format\7f260090
+Node: Option properties\7f267080
+Node: Passes\7f279526
+Node: Parsing pass\7f280270
+Node: Gimplification pass\7f283800
+Node: Pass manager\7f285633
+Node: Tree SSA passes\7f287427
+Node: RTL passes\7f309899
+Node: RTL\7f322242
+Node: RTL Objects\7f324430
+Node: RTL Classes\7f328304
+Node: Accessors\7f333302
+Node: Special Accessors\7f335696
+Node: Flags\7f341466
+Node: Machine Modes\7f356189
+Node: Constants\7f368501
+Node: Regs and Memory\7f374530
+Node: Arithmetic\7f392431
+Node: Comparisons\7f402521
+Node: Bit-Fields\7f406813
+Node: Vector Operations\7f408365
+Node: Conversions\7f410200
+Node: RTL Declarations\7f414698
+Node: Side Effects\7f415519
+Node: Incdec\7f432119
+Node: Assembler\7f435454
+Node: Debug Information\7f436999
+Node: Insns\7f438197
+Node: Calls\7f464419
+Node: Sharing\7f467012
+Node: Reading RTL\7f470122
+Node: GENERIC\7f471114
+Node: Deficiencies\7f472987
+Node: Tree overview\7f473228
+Node: Macros and Functions\7f477355
+Node: Identifiers\7f478180
+Node: Containers\7f479791
+Node: Types\7f480948
+Node: Declarations\7f493044
+Node: Working with declarations\7f493539
+Node: Internal structure\7f499145
+Node: Current structure hierarchy\7f499529
+Node: Adding new DECL node types\7f501623
+Node: Attributes\7f505696
+Node: Expression trees\7f506941
+Node: Constant expressions\7f508694
+Node: Storage References\7f512913
+Node: Unary and Binary Expressions\7f516432
+Node: Vectors\7f535850
+Node: Statements\7f539874
+Node: Basic Statements\7f540394
+Node: Blocks\7f544901
+Node: Statement Sequences\7f546305
+Node: Empty Statements\7f546638
+Node: Jumps\7f547212
+Node: Cleanups\7f547865
+Node: OpenMP\7f549633
+Node: Functions\7f555473
+Node: Function Basics\7f555944
+Node: Function Properties\7f559629
+Node: Language-dependent trees\7f562411
+Node: C and C++ Trees\7f563297
+Node: Types for C++\7f566201
+Node: Namespaces\7f571171
+Node: Classes\7f574278
+Node: Functions for C++\7f579356
+Node: Statements for C++\7f585609
+Node: C++ Expressions\7f593657
+Node: Java Trees\7f595158
+Node: GIMPLE\7f595271
+Node: Tuple representation\7f598892
+Node: GIMPLE instruction set\7f607168
+Node: GIMPLE Exception Handling\7f608836
+Node: Temporaries\7f610750
+Ref: Temporaries-Footnote-1\7f612065
+Node: Operands\7f612128
+Node: Compound Expressions\7f612890
+Node: Compound Lvalues\7f613124
+Node: Conditional Expressions\7f613886
+Node: Logical Operators\7f614544
+Node: Manipulating GIMPLE statements\7f621301
+Node: Tuple specific accessors\7f627235
+Node: `GIMPLE_ASM'\7f628054
+Node: `GIMPLE_ASSIGN'\7f630687
+Node: `GIMPLE_BIND'\7f634793
+Node: `GIMPLE_CALL'\7f636600
+Node: `GIMPLE_CATCH'\7f640870
+Node: `GIMPLE_COND'\7f642014
+Node: `GIMPLE_DEBUG'\7f644802
+Node: `GIMPLE_EH_FILTER'\7f648185
+Node: `GIMPLE_LABEL'\7f649673
+Node: `GIMPLE_NOP'\7f650648
+Node: `GIMPLE_OMP_ATOMIC_LOAD'\7f651017
+Node: `GIMPLE_OMP_ATOMIC_STORE'\7f651927
+Node: `GIMPLE_OMP_CONTINUE'\7f652566
+Node: `GIMPLE_OMP_CRITICAL'\7f653916
+Node: `GIMPLE_OMP_FOR'\7f654853
+Node: `GIMPLE_OMP_MASTER'\7f658368
+Node: `GIMPLE_OMP_ORDERED'\7f658751
+Node: `GIMPLE_OMP_PARALLEL'\7f659151
+Node: `GIMPLE_OMP_RETURN'\7f661923
+Node: `GIMPLE_OMP_SECTION'\7f662573
+Node: `GIMPLE_OMP_SECTIONS'\7f663239
+Node: `GIMPLE_OMP_SINGLE'\7f664845
+Node: `GIMPLE_PHI'\7f665782
+Node: `GIMPLE_RESX'\7f667068
+Node: `GIMPLE_RETURN'\7f667787
+Node: `GIMPLE_SWITCH'\7f668355
+Node: `GIMPLE_TRY'\7f670493
+Node: `GIMPLE_WITH_CLEANUP_EXPR'\7f672283
+Node: GIMPLE sequences\7f673166
+Node: Sequence iterators\7f676372
+Node: Adding a new GIMPLE statement code\7f684828
+Node: Statement and operand traversals\7f686104
+Node: Tree SSA\7f688704
+Node: Annotations\7f690490
+Node: SSA Operands\7f691016
+Node: SSA\7f705547
+Node: Alias analysis\7f717838
+Node: Memory model\7f721618
+Node: Loop Analysis and Representation\7f722981
+Node: Loop representation\7f724162
+Node: Loop querying\7f731082
+Node: Loop manipulation\7f733915
+Node: LCSSA\7f736283
+Node: Scalar evolutions\7f738355
+Node: loop-iv\7f741599
+Node: Number of iterations\7f743525
+Node: Dependency analysis\7f746334
+Node: Lambda\7f752702
+Node: Omega\7f754373
+Node: Control Flow\7f755938
+Node: Basic Blocks\7f756933
+Node: Edges\7f761501
+Node: Profile information\7f770063
+Node: Maintaining the CFG\7f774749
+Node: Liveness information\7f781626
+Node: Machine Desc\7f783752
+Node: Overview\7f786220
+Node: Patterns\7f788261
+Node: Example\7f791699
+Node: RTL Template\7f793134
+Node: Output Template\7f803789
+Node: Output Statement\7f807754
+Node: Predicates\7f811716
+Node: Machine-Independent Predicates\7f814634
+Node: Defining Predicates\7f819579
+Node: Constraints\7f825544
+Node: Simple Constraints\7f827026
+Node: Multi-Alternative\7f839882
+Node: Class Preferences\7f842723
+Node: Modifiers\7f843615
+Node: Machine Constraints\7f847747
+Node: Disable Insn Alternatives\7f896230
+Node: Define Constraints\7f899123
+Node: C Constraint Interface\7f905904
+Node: Standard Names\7f909545
+Ref: shift patterns\7f932120
+Ref: prologue instruction pattern\7f973498
+Ref: window_save instruction pattern\7f973991
+Ref: epilogue instruction pattern\7f974266
+Node: Pattern Ordering\7f991369
+Node: Dependent Patterns\7f992605
+Node: Jump Patterns\7f994225
+Ref: Jump Patterns-Footnote-1\7f996369
+Node: Looping Patterns\7f996415
+Node: Insn Canonicalizations\7f1001143
+Node: Expander Definitions\7f1005734
+Node: Insn Splitting\7f1013852
+Node: Including Patterns\7f1023454
+Node: Peephole Definitions\7f1025234
+Node: define_peephole\7f1026487
+Node: define_peephole2\7f1032818
+Node: Insn Attributes\7f1035885
+Node: Defining Attributes\7f1036991
+Ref: define_enum_attr\7f1040028
+Node: Expressions\7f1041063
+Node: Tagging Insns\7f1048333
+Node: Attr Example\7f1052686
+Node: Insn Lengths\7f1055060
+Node: Constant Attributes\7f1058119
+Node: Delay Slots\7f1059288
+Node: Processor pipeline description\7f1062512
+Ref: Processor pipeline description-Footnote-1\7f1081325
+Node: Conditional Execution\7f1081647
+Node: Constant Definitions\7f1084717
+Ref: define_enum\7f1088508
+Node: Iterators\7f1088996
+Node: Mode Iterators\7f1089443
+Node: Defining Mode Iterators\7f1090421
+Node: Substitutions\7f1091915
+Node: Examples\7f1094156
+Node: Code Iterators\7f1095604
+Node: Target Macros\7f1097861
+Node: Target Structure\7f1100949
+Node: Driver\7f1103064
+Node: Run-time Target\7f1122132
+Node: Per-Function Data\7f1130916
+Node: Storage Layout\7f1133681
+Node: Type Layout\7f1159689
+Node: Registers\7f1174571
+Node: Register Basics\7f1175545
+Node: Allocation Order\7f1181050
+Node: Values in Registers\7f1183496
+Node: Leaf Functions\7f1190985
+Node: Stack Registers\7f1193843
+Node: Register Classes\7f1195115
+Node: Old Constraints\7f1223729
+Node: Stack and Calling\7f1230881
+Node: Frame Layout\7f1231415
+Node: Exception Handling\7f1242295
+Node: Stack Checking\7f1248501
+Node: Frame Registers\7f1253314
+Node: Elimination\7f1261573
+Node: Stack Arguments\7f1265802
+Node: Register Arguments\7f1272699
+Node: Scalar Return\7f1293015
+Node: Aggregate Return\7f1299101
+Node: Caller Saves\7f1303311
+Node: Function Entry\7f1304489
+Node: Profiling\7f1317117
+Node: Tail Calls\7f1318816
+Node: Stack Smashing Protection\7f1320428
+Node: Varargs\7f1322060
+Node: Trampolines\7f1328756
+Node: Library Calls\7f1334799
+Node: Addressing Modes\7f1339738
+Node: Anchored Addresses\7f1359547
+Node: Condition Code\7f1362196
+Node: CC0 Condition Codes\7f1364325
+Node: MODE_CC Condition Codes\7f1367571
+Node: Cond Exec Macros\7f1373798
+Node: Costs\7f1374775
+Node: Scheduling\7f1391193
+Node: Sections\7f1410599
+Node: PIC\7f1426297
+Node: Assembler Format\7f1428357
+Node: File Framework\7f1429495
+Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS\7f1436391
+Node: Data Output\7f1439656
+Node: Uninitialized Data\7f1447432
+Node: Label Output\7f1452443
+Node: Initialization\7f1475515
+Node: Macros for Initialization\7f1481477
+Node: Instruction Output\7f1488200
+Node: Dispatch Tables\7f1498702
+Node: Exception Region Output\7f1503080
+Node: Alignment Output\7f1509438
+Node: Debugging Info\7f1513983
+Node: All Debuggers\7f1514653
+Node: DBX Options\7f1517508
+Node: DBX Hooks\7f1522957
+Node: File Names and DBX\7f1524883
+Node: SDB and DWARF\7f1526995
+Node: VMS Debug\7f1532842
+Node: Floating Point\7f1533429
+Node: Mode Switching\7f1538252
+Node: Target Attributes\7f1542178
+Node: Emulated TLS\7f1550090
+Node: MIPS Coprocessors\7f1553480
+Node: PCH Target\7f1555049
+Node: C++ ABI\7f1556891
+Node: Named Address Spaces\7f1561683
+Node: Misc\7f1566622
+Ref: TARGET_SHIFT_TRUNCATION_MASK\7f1574050
+Node: Host Config\7f1617172
+Node: Host Common\7f1618240
+Node: Filesystem\7f1620619
+Node: Host Misc\7f1624734
+Node: Fragments\7f1627183
+Node: Target Fragment\7f1628378
+Node: Host Fragment\7f1636328
+Node: Collect2\7f1636568
+Node: Header Dirs\7f1639204
+Node: Type Information\7f1640627
+Node: GTY Options\7f1642984
+Node: GGC Roots\7f1656812
+Node: Files\7f1657532
+Node: Invoking the garbage collector\7f1660278
+Node: Troubleshooting\7f1661781
+Node: Plugins\7f1662857
+Node: LTO\7f1679735
+Node: Funding\7f1704781
+Node: GNU Project\7f1707264
+Node: Copying\7f1707913
+Node: GNU Free Documentation License\7f1745444
+Node: Contributors\7f1770584
+Node: Option Index\7f1807989
+Node: Concept Index\7f1808793
 \1f
 End Tag Table
index 1cbe63e..d96887f 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GCJ-DBTOOL 1"
-.TH GCJ-DBTOOL 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GCJ-DBTOOL 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 1ee2c2f..eb73aee 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GCJ 1"
-.TH GCJ 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GCJ 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -147,7 +155,7 @@ of the same options as gcc.    This manual only documents the
 options specific to \fBgcj\fR.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
-.SS "Input and output files"
+.Sh "Input and output files"
 .IX Subsection "Input and output files"
 A \fBgcj\fR command is like a \fBgcc\fR command, in that it
 consists of a number of options and file names.  The following kinds
@@ -195,7 +203,7 @@ but not when using \f(CW\*(C`\-C\*(C'\fR or \f(CW\*(C`\-\-resource\*(C'\fR.
 (This is an extension beyond the what plain \fBgcc\fR allows.)
 (If more than one input file is specified, all must currently
 be \f(CW\*(C`.java\*(C'\fR files, though we hope to fix this.)
-.SS "Input Options"
+.Sh "Input Options"
 .IX Subsection "Input Options"
 \&\fBgcj\fR has options to control where it looks to find files it needs.
 For instance, \fBgcj\fR might need to load a class that is referenced
@@ -269,7 +277,7 @@ issue an error if it isn't found.
 .IX Item "-fsource=VERSION"
 This option is used to choose the source version accepted by
 \&\fBgcj\fR.  The default is \fB1.5\fR.
-.SS "Encodings"
+.Sh "Encodings"
 .IX Subsection "Encodings"
 The Java programming language uses Unicode throughout.  In an effort to
 integrate well with other locales, \fBgcj\fR allows \fI.java\fR files
@@ -292,7 +300,7 @@ to platform (since they are not standardized anywhere).  However,
 \&\fBgcj\fR implements the encoding named \fB\s-1UTF\-8\s0\fR internally, so if
 you choose to use this for your source files you can be assured that it
 will work on every host.
-.SS "Warnings"
+.Sh "Warnings"
 .IX Subsection "Warnings"
 \&\fBgcj\fR implements several warnings.  As with other generic
 \&\fBgcc\fR warnings, if an option of the form \f(CW\*(C`\-Wfoo\*(C'\fR enables a
@@ -322,7 +330,7 @@ This is the same as \fBgcc\fR's \f(CW\*(C`\-Wunused\*(C'\fR.
 .IX Item "-Wall"
 This is the same as \f(CW\*(C`\-Wredundant\-modifiers \-Wextraneous\-semicolon
 \&\-Wunused\*(C'\fR.
-.SS "Linking"
+.Sh "Linking"
 .IX Subsection "Linking"
 To turn a Java application into an executable program,
 you need to link it with the needed libraries, just as for C or \*(C+.
@@ -383,7 +391,7 @@ link time, it can omit the referred to classes.  The result is usually
 runtime. Caution must be used when using this option.  For more
 details see:
 <\fBhttp://gcc.gnu.org/wiki/Statically%20linking%20libgcj\fR>
-.SS "Code Generation"
+.Sh "Code Generation"
 .IX Subsection "Code Generation"
 In addition to the many \fBgcc\fR options controlling code generation,
 \&\fBgcj\fR has several options specific to itself.
@@ -517,7 +525,7 @@ with \f(CW\*(C`\-freduced\-reflection\*(C'\fR.
 a \f(CW\*(C`SecurityManager\*(C'\fR may not work properly.  Also calling
 \&\f(CW\*(C`Class.forName()\*(C'\fR may fail if the calling method has no
 reflection meta-data.
-.SS "Configure-time Options"
+.Sh "Configure-time Options"
 .IX Subsection "Configure-time Options"
 Some \fBgcj\fR code generations options affect the resulting \s-1ABI\s0, and
 so can only be meaningfully given when \f(CW\*(C`libgcj\*(C'\fR, the runtime
index d0d8aa5..60126bf 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/gcj.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/java/gcj.texi.
+This is doc/gcj.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/java/gcj.texi.
 
 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free
 Software Foundation, Inc.
@@ -3644,51 +3644,51 @@ Index
 
 \1f
 Tag Table:
-Node: Top\7f2801
-Node: Copying\7f4220
-Node: GNU Free Documentation License\7f41770
-Node: Invoking gcj\7f66913
-Node: Input and output files\7f67676
-Node: Input Options\7f69202
-Node: Encodings\7f72476
-Node: Warnings\7f73682
-Node: Linking\7f74795
-Node: Code Generation\7f77734
-Node: Configure-time Options\7f84514
-Node: Compatibility\7f86254
-Node: Limitations\7f86738
-Node: Extensions\7f88320
-Node: Invoking jcf-dump\7f91414
-Node: Invoking gij\7f92359
-Node: Invoking gcj-dbtool\7f95610
-Node: Invoking jv-convert\7f98076
-Node: Invoking grmic\7f99155
-Node: Invoking gc-analyze\7f100541
-Node: Invoking aot-compile\7f101982
-Node: Invoking rebuild-gcj-db\7f102931
-Node: About CNI\7f103241
-Node: Basic concepts\7f104700
-Node: Packages\7f107596
-Node: Primitive types\7f109924
-Node: Reference types\7f111602
-Node: Interfaces\7f112691
-Node: Objects and Classes\7f113602
-Node: Class Initialization\7f115797
-Node: Object allocation\7f118139
-Node: Memory allocation\7f118929
-Node: Arrays\7f119561
-Node: Methods\7f122371
-Node: Strings\7f125192
-Node: Mixing with C++\7f126696
-Node: Exception Handling\7f130167
-Node: Synchronization\7f131801
-Node: Invocation\7f133791
-Node: Reflection\7f138727
-Node: System properties\7f139188
-Node: Standard Properties\7f140065
-Node: GNU Classpath Properties\7f144497
-Node: libgcj Runtime Properties\7f145544
-Node: Resources\7f150046
-Node: Index\7f150884
+Node: Top\7f2815
+Node: Copying\7f4234
+Node: GNU Free Documentation License\7f41784
+Node: Invoking gcj\7f66927
+Node: Input and output files\7f67690
+Node: Input Options\7f69216
+Node: Encodings\7f72490
+Node: Warnings\7f73696
+Node: Linking\7f74809
+Node: Code Generation\7f77748
+Node: Configure-time Options\7f84528
+Node: Compatibility\7f86268
+Node: Limitations\7f86752
+Node: Extensions\7f88334
+Node: Invoking jcf-dump\7f91428
+Node: Invoking gij\7f92373
+Node: Invoking gcj-dbtool\7f95624
+Node: Invoking jv-convert\7f98090
+Node: Invoking grmic\7f99169
+Node: Invoking gc-analyze\7f100555
+Node: Invoking aot-compile\7f101996
+Node: Invoking rebuild-gcj-db\7f102945
+Node: About CNI\7f103255
+Node: Basic concepts\7f104714
+Node: Packages\7f107610
+Node: Primitive types\7f109938
+Node: Reference types\7f111616
+Node: Interfaces\7f112705
+Node: Objects and Classes\7f113616
+Node: Class Initialization\7f115811
+Node: Object allocation\7f118153
+Node: Memory allocation\7f118943
+Node: Arrays\7f119575
+Node: Methods\7f122385
+Node: Strings\7f125206
+Node: Mixing with C++\7f126710
+Node: Exception Handling\7f130181
+Node: Synchronization\7f131815
+Node: Invocation\7f133805
+Node: Reflection\7f138741
+Node: System properties\7f139202
+Node: Standard Properties\7f140079
+Node: GNU Classpath Properties\7f144511
+Node: libgcj Runtime Properties\7f145558
+Node: Resources\7f150060
+Node: Index\7f150898
 \1f
 End Tag Table
index 4b2d912..b14b839 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GCOV 1"
-.TH GCOV 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GCOV 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -579,7 +587,7 @@ profiling code first attempts to read in an existing \fI.gcda\fR file; if
 the file doesn't match the executable (differing number of basic block
 counts) it will ignore the contents of the file.  It then adds in the
 new execution counts and finally writes the data to the file.
-.SS "Using \fBgcov\fP with \s-1GCC\s0 Optimization"
+.Sh "Using \fBgcov\fP with \s-1GCC\s0 Optimization"
 .IX Subsection "Using gcov with GCC Optimization"
 If you plan to use \fBgcov\fR to help optimize your code, you must
 first compile your program with two special \s-1GCC\s0 options:
index 31e8855..261ea23 100644 (file)
@@ -1415,13 +1415,13 @@ generate these expressions anyhow, if it can tell that strictness does
 not matter.  The type of the operands and that of the result are
 always of @code{BOOLEAN_TYPE} or @code{INTEGER_TYPE}.
 
-@itemx POINTER_PLUS_EXPR
+@item POINTER_PLUS_EXPR
 This node represents pointer arithmetic.  The first operand is always
 a pointer/reference type.  The second operand is always an unsigned
 integer type compatible with sizetype.  This is the only binary
 arithmetic operand that can operate on pointer types.
 
-@itemx PLUS_EXPR
+@item PLUS_EXPR
 @itemx MINUS_EXPR
 @itemx MULT_EXPR
 These nodes represent various binary arithmetic operations.
index 5bd904e..b873638 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GFDL 7"
-.TH GFDL 7 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GFDL 7 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 gfdl \- GNU Free Documentation License
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-.SS "\s-1GNU\s0 Free Documentation License"
+.Sh "\s-1GNU\s0 Free Documentation License"
 .IX Subsection "GNU Free Documentation License"
-.SS "Version 1.3, 3 November 2008"
+.Sh "Version 1.3, 3 November 2008"
 .IX Subsection "Version 1.3, 3 November 2008"
 .Vb 2
 \&        Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
@@ -592,7 +600,7 @@ and (2) were thus incorporated prior to November 1, 2008.
 The operator of an \s-1MMC\s0 Site may republish an \s-1MMC\s0 contained in the site
 under CC-BY-SA on the same site at any time before August 1, 2009,
 provided the \s-1MMC\s0 is eligible for relicensing.
-.SS "\s-1ADDENDUM:\s0 How to use this License for your documents"
+.Sh "\s-1ADDENDUM:\s0 How to use this License for your documents"
 .IX Subsection "ADDENDUM: How to use this License for your documents"
 To use this License in a document you have written, include a copy of
 the License in the document and put the following copyright and
index 1cb4206..92d9633 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GFORTRAN 1"
-.TH GFORTRAN 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GFORTRAN 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -226,7 +234,7 @@ by type.  Explanations are in the following sections.
 \&\-fno\-automatic \-fno\-protect\-parens \-fno\-underscoring \-fno\-whole\-file 
 \&\-fsecond\-underscore \-fpack\-derived \-frealloc\-lhs \-frecursive 
 \&\-frepack\-arrays \-fshort\-enums \-fstack\-arrays\fR
-.SS "Options controlling Fortran dialect"
+.Sh "Options controlling Fortran dialect"
 .IX Subsection "Options controlling Fortran dialect"
 The following options control the details of the Fortran dialect
 accepted by the compiler:
@@ -408,7 +416,7 @@ that are permitted but obsolescent in later standards. \fB\-std=f2008ts\fR
 allows the Fortran 2008 standard including the additions of the 
 Technical Specification (\s-1TS\s0) 29113 on Further Interoperability of Fortran
 with C.
-.SS "Enable and customize preprocessing"
+.Sh "Enable and customize preprocessing"
 .IX Subsection "Enable and customize preprocessing"
 Preprocessor related options. See section 
 \&\fBPreprocessing and conditional compilation\fR for more detailed
@@ -596,7 +604,7 @@ by the linemarkers.
 .IX Item "-Uname"
 Cancel any previous definition of \fIname\fR, either built in or provided
 with a \fB\-D\fR option.
-.SS "Options to request or suppress errors and warnings"
+.Sh "Options to request or suppress errors and warnings"
 .IX Subsection "Options to request or suppress errors and warnings"
 Errors are diagnostic messages that report that the \s-1GNU\s0 Fortran compiler
 cannot compile the relevant piece of source code.  The compiler will
@@ -790,7 +798,7 @@ enabled by the \fB\-ffrontend\-optimize\fR option.
 Turns all warnings into errors.
 .PP
 Some of these have no effect when compiling programs written in Fortran.
-.SS "Options for debugging your program or \s-1GNU\s0 Fortran"
+.Sh "Options for debugging your program or \s-1GNU\s0 Fortran"
 .IX Subsection "Options for debugging your program or GNU Fortran"
 \&\s-1GNU\s0 Fortran has various special options that are used for debugging
 either your program or the \s-1GNU\s0 Fortran compiler.
@@ -844,7 +852,7 @@ action \fBcore\fR), the Fortran runtime library tries to output a
 backtrace of the error. \f(CW\*(C`\-fno\-backtrace\*(C'\fR disables the backtrace
 generation. This option only has influence for compilation of the
 Fortran main program.
-.SS "Options for directory search"
+.Sh "Options for directory search"
 .IX Subsection "Options for directory search"
 These options affect how \s-1GNU\s0 Fortran searches
 for files specified by the \f(CW\*(C`INCLUDE\*(C'\fR directive and where it searches
@@ -876,7 +884,7 @@ The default is the current directory.
 .IX Item "-fintrinsic-modules-path dir"
 This option specifies the location of pre-compiled intrinsic modules, if
 they are not in the default location expected by the compiler.
-.SS "Influencing the linking step"
+.Sh "Influencing the linking step"
 .IX Subsection "Influencing the linking step"
 These options come into play when the compiler links object files into an 
 executable output file. They are meaningless if the compiler is not doing 
@@ -887,7 +895,7 @@ On systems that provide \fIlibgfortran\fR as a shared and a static
 library, this option forces the use of the static version. If no
 shared version of \fIlibgfortran\fR was built when the compiler was
 configured, this option has no effect.
-.SS "Influencing runtime behavior"
+.Sh "Influencing runtime behavior"
 .IX Subsection "Influencing runtime behavior"
 These options affect the runtime behavior of programs compiled with \s-1GNU\s0 Fortran.
 .IP "\fB\-fconvert=\fR\fIconversion\fR" 4
@@ -929,7 +937,7 @@ negative in the \f(CW\*(C`SIGN\*(C'\fR intrinsic.  \fB\-fno\-sign\-zero\fR does
 print the negative sign of zero values (or values rounded to zero for I/O)
 and regards zero as positive number in the \f(CW\*(C`SIGN\*(C'\fR intrinsic for
 compatibility with Fortran 77. The default is \fB\-fsign\-zero\fR.
-.SS "Options for code generation conventions"
+.Sh "Options for code generation conventions"
 .IX Subsection "Options for code generation conventions"
 These machine-independent options control the interface conventions
 used in code generation.
index fc5dbfa..d405d04 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GIJ 1"
-.TH GIJ 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GIJ 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 7d2e0ff..0b6801c 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GPL 7"
-.TH GPL 7 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GPL 7 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 gpl \- GNU General Public License
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-.SS "\s-1GNU\s0 General Public License"
+.Sh "\s-1GNU\s0 General Public License"
 .IX Subsection "GNU General Public License"
-.SS "Version 3, 29 June 2007"
+.Sh "Version 3, 29 June 2007"
 .IX Subsection "Version 3, 29 June 2007"
 .Vb 1
 \&        Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
@@ -143,7 +151,7 @@ gpl \- GNU General Public License
 \&        Everyone is permitted to copy and distribute verbatim copies of this
 \&        license document, but changing it is not allowed.
 .Ve
-.SS "Preamble"
+.Sh "Preamble"
 .IX Subsection "Preamble"
 The \s-1GNU\s0 General Public License is a free, copyleft license for
 software and other kinds of works.
@@ -207,7 +215,7 @@ assures that patents cannot be used to render the program non-free.
 .PP
 The precise terms and conditions for copying, distribution and
 modification follow.
-.SS "\s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
+.Sh "\s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
 .IX Subsection "TERMS AND CONDITIONS"
 .IP "0. Definitions." 4
 .IX Item "0. Definitions."
@@ -770,9 +778,9 @@ reviewing courts shall apply local law that most closely approximates
 an absolute waiver of all civil liability in connection with the
 Program, unless a warranty or assumption of liability accompanies a
 copy of the Program in return for a fee.
-.SS "\s-1END\s0 \s-1OF\s0 \s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
+.Sh "\s-1END\s0 \s-1OF\s0 \s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
 .IX Subsection "END OF TERMS AND CONDITIONS"
-.SS "How to Apply These Terms to Your New Programs"
+.Sh "How to Apply These Terms to Your New Programs"
 .IX Subsection "How to Apply These Terms to Your New Programs"
 If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
index b61cbad..ea725ae 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GRMIC 1"
-.TH GRMIC 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH GRMIC 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 598873a..3c40ec1 100644 (file)
@@ -1032,6 +1032,15 @@ For ARM targets, possible values for @var{dialect} are @code{gnu} or
 @code{gnu2}, which select between the original GNU dialect and the GNU TLS
 descriptor-based dialect.
 
+@item --enable-multiarch
+Specify whether to enable or disable multiarch support.  The default is
+to check for glibc start files in a multiarch location, and enable it
+if the files are found.  The auto detection is enabled for native builds,
+and for cross builds configured with @option{--with-sysroot}, and without
+@option{--with-native-system-header-dir}.
+More documentation about multiarch can be found at
+@uref{http://wiki.debian.org/Multiarch}.
+
 @item --disable-multilib
 Specify that multiple target
 libraries to support different target variants, calling
@@ -1804,6 +1813,16 @@ being used as the target C library.  This causes @code{__eprintf} to be
 omitted from @file{libgcc.a} on the assumption that it will be provided by
 @samp{newlib}.
 
+@item --with-avrlibc
+Specifies that @samp{AVR-Libc} is
+being used as the target C library.  This causes float support
+functions like @code{__addsf3} to be omitted from @file{libgcc.a} on
+the assumption that it will be provided by @file{libm.a}.  For more
+technical details, cf. @uref{http://gcc.gnu.org/PR54461,,PR54461}.
+This option is only supported for the AVR target.  It is not supported for
+RTEMS configurations, which currently use newlib.  The option is
+supported since version 4.7.2 and is the default in 4.8.0 and newer.
+
 @item --with-build-time-tools=@var{dir}
 Specifies where to find the set of target tools (assembler, linker, etc.)
 that will be used while building GCC itself.  This option can be useful
@@ -3222,7 +3241,7 @@ This is a synonym for @samp{x86_64-*-solaris2.1[0-9]*}.
 @heading @anchor{arm-x-eabi}arm-*-eabi
 ARM-family processors.  Subtargets that use the ELF object format
 require GNU binutils 2.13 or newer.  Such subtargets include:
-@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi}
+@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi*}
 and @code{arm-*-rtemseabi}.
 
 @html
@@ -4436,9 +4455,9 @@ releases mishandled unaligned relocations on @code{sparc-*-*} targets.
 @end html
 @heading @anchor{sparc64-x-solaris2}sparc64-*-solaris2*
 
-When configuring the GNU Multiple Precision Library (GMP) or the
-MPFR library, the canonical target triplet must be specified as
-the @command{build} parameter on the configure line.  For example
+When configuring the GNU Multiple Precision Library (GMP), the MPFR
+library or the MPC library, the canonical target triplet must be specified
+as the @command{build} parameter on the configure line.  For example
 on a Solaris 9 system:
 
 @smallexample
index 8fcebf3..f989952 100644 (file)
@@ -626,7 +626,7 @@ Objective-C and Objective-C++ Dialects}.
 -mincoming-stack-boundary=@var{num} @gol
 -mcld -mcx16 -msahf -mmovbe -mcrc32 @gol
 -mrecip -mrecip=@var{opt} @gol
--mvzeroupper @gol
+-mvzeroupper -mprefer-avx128 @gol
 -mmmx  -msse  -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx @gol
 -mavx2 -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma @gol
 -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt @gol
@@ -903,7 +903,6 @@ See RS/6000 and PowerPC Options.
 -mfaster-structs  -mno-faster-structs  -mflat  -mno-flat @gol
 -mfpu  -mno-fpu  -mhard-float  -msoft-float @gol
 -mhard-quad-float  -msoft-quad-float @gol
--mlittle-endian @gol
 -mstack-bias  -mno-stack-bias @gol
 -munaligned-doubles  -mno-unaligned-doubles @gol
 -mv8plus  -mno-v8plus  -mvis  -mno-vis @gol
@@ -5179,7 +5178,7 @@ thus dbg_cnt() returns true always unless the upper bound is set by this option.
 e.g. With -fdbg-cnt=dce:10,tail_call:0
 dbg_cnt(dce) will return true only for first 10 invocations
 
-@itemx -fenable-@var{kind}-@var{pass}
+@item -fenable-@var{kind}-@var{pass}
 @itemx -fdisable-@var{kind}-@var{pass}=@var{range-list}
 @opindex fdisable-
 @opindex fenable-
@@ -5327,11 +5326,11 @@ Dump after duplicating the computed gotos.
 @option{-fdump-rtl-ce3} enable dumping after the three
 if conversion passes.
 
-@itemx -fdump-rtl-cprop_hardreg
+@item -fdump-rtl-cprop_hardreg
 @opindex fdump-rtl-cprop_hardreg
 Dump after hard register copy propagation.
 
-@itemx -fdump-rtl-csa
+@item -fdump-rtl-csa
 @opindex fdump-rtl-csa
 Dump after combining stack adjustments.
 
@@ -5342,11 +5341,11 @@ Dump after combining stack adjustments.
 @option{-fdump-rtl-cse1} and @option{-fdump-rtl-cse2} enable dumping after
 the two common sub-expression elimination passes.
 
-@itemx -fdump-rtl-dce
+@item -fdump-rtl-dce
 @opindex fdump-rtl-dce
 Dump after the standalone dead code elimination passes.
 
-@itemx -fdump-rtl-dbr
+@item -fdump-rtl-dbr
 @opindex fdump-rtl-dbr
 Dump after delayed branch scheduling.
 
@@ -5391,7 +5390,7 @@ Dump after the initialization of the registers.
 @opindex fdump-rtl-initvals
 Dump after the computation of the initial value sets.
 
-@itemx -fdump-rtl-into_cfglayout
+@item -fdump-rtl-into_cfglayout
 @opindex fdump-rtl-into_cfglayout
 Dump after converting to cfglayout mode.
 
@@ -5421,7 +5420,7 @@ Dump after removing redundant mode switches.
 @opindex fdump-rtl-rnreg
 Dump after register renumbering.
 
-@itemx -fdump-rtl-outof_cfglayout
+@item -fdump-rtl-outof_cfglayout
 @opindex fdump-rtl-outof_cfglayout
 Dump after converting from cfglayout mode.
 
@@ -5433,7 +5432,7 @@ Dump after the peephole pass.
 @opindex fdump-rtl-postreload
 Dump after post-reload optimizations.
 
-@itemx -fdump-rtl-pro_and_epilogue
+@item -fdump-rtl-pro_and_epilogue
 @opindex fdump-rtl-pro_and_epilogue
 Dump after generating the function prologues and epilogues.
 
@@ -6035,6 +6034,11 @@ sibling directories this prints e.g.@: @file{../lib64}, @file{../lib} or
 @file{../lib32}, or if OS libraries are present in @file{lib/@var{subdir}}
 subdirectories it prints e.g.@: @file{amd64}, @file{sparcv9} or @file{ev6}.
 
+@item -print-multiarch
+@opindex print-multiarch
+Print the path to OS libraries for the selected multiarch,
+relative to some @file{lib} subdirectory.
+
 @item -print-prog-name=@var{program}
 @opindex print-prog-name
 Like @option{-print-file-name}, but searches for a program such as @samp{cpp}.
@@ -10955,9 +10959,6 @@ defined.
 @opindex mmcu
 Specify Atmel AVR instruction set architectures (ISA) or MCU type.
 
-For a complete list of @var{mcu} values that are supported by @command{avr-gcc},
-see the compiler output when called with the @option{--help=target}
-command line option.
 The default for this option is@tie{}@code{avr2}.
 
 GCC supports the following AVR devices and ISAs:
@@ -10966,22 +10967,22 @@ GCC supports the following AVR devices and ISAs:
 
 @item avr2
 ``Classic'' devices with up to 8@tie{}KiB of program memory.
-@*@var{mcu}@tie{}= @code{at90c8534}, @code{at90s2313},
-@code{at90s2323}, @code{at90s2333}, @code{at90s2343},
-@code{at90s4414}, @code{at90s4433}, @code{at90s4434},
-@code{at90s8515}, @code{at90s8535}, @code{attiny22}, @code{attiny26}.
+@*@var{mcu}@tie{}= @code{attiny22}, @code{attiny26}, @code{at90c8534},
+@code{at90s2313}, @code{at90s2323}, @code{at90s2333},
+@code{at90s2343}, @code{at90s4414}, @code{at90s4433},
+@code{at90s4434}, @code{at90s8515}, @code{at90s8535}.
 
 @item avr25
 ``Classic'' devices with up to 8@tie{}KiB of program memory and with
 the @code{MOVW} instruction.
-@*@var{mcu}@tie{}= @code{at86rf401}, @code{ata6289}, @code{attiny13},
-@code{attiny13a}, @code{attiny2313}, @code{attiny2313a},
-@code{attiny24}, @code{attiny24a}, @code{attiny25}, @code{attiny261},
-@code{attiny261a}, @code{attiny4313}, @code{attiny43u},
+@*@var{mcu}@tie{}= @code{ata6289}, @code{attiny13}, @code{attiny13a},
+@code{attiny2313}, @code{attiny2313a}, @code{attiny24},
+@code{attiny24a}, @code{attiny25}, @code{attiny261},
+@code{attiny261a}, @code{attiny43u}, @code{attiny4313},
 @code{attiny44}, @code{attiny44a}, @code{attiny45}, @code{attiny461},
 @code{attiny461a}, @code{attiny48}, @code{attiny84}, @code{attiny84a},
 @code{attiny85}, @code{attiny861}, @code{attiny861a}, @code{attiny87},
-@code{attiny88}.
+@code{attiny88}, @code{at86rf401}.
 
 @item avr3
 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of  program memory.
@@ -10989,57 +10990,58 @@ the @code{MOVW} instruction.
 
 @item avr31
 ``Classic'' devices with 128@tie{}KiB of program memory.
-@*@var{mcu}@tie{}= @code{at43usb320}, @code{atmega103}.
+@*@var{mcu}@tie{}= @code{atmega103}, @code{at43usb320}.
 
 @item avr35
 ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program
 memory and with the @code{MOVW} instruction.
-@*@var{mcu}@tie{}= @code{at90usb162}, @code{at90usb82},
-@code{atmega16u2}, @code{atmega32u2}, @code{atmega8u2},
-@code{attiny167}.
+@*@var{mcu}@tie{}= @code{atmega16u2}, @code{atmega32u2},
+@code{atmega8u2}, @code{attiny167}, @code{at90usb162},
+@code{at90usb82}.
 
 @item avr4
 ``Enhanced'' devices with up to 8@tie{}KiB of program memory.
-@*@var{mcu}@tie{}= @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b},
-@code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}, @code{atmega48},
-@code{atmega48a}, @code{atmega48p}, @code{atmega8}, @code{atmega8515},
-@code{atmega8535}, @code{atmega88}, @code{atmega88a},
-@code{atmega88p}, @code{atmega88pa}, @code{atmega8hva}.
+@*@var{mcu}@tie{}= @code{atmega48}, @code{atmega48a},
+@code{atmega48p}, @code{atmega8}, @code{atmega8hva},
+@code{atmega8515}, @code{atmega8535}, @code{atmega88},
+@code{atmega88a}, @code{atmega88p}, @code{atmega88pa},
+@code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3},
+@code{at90pwm3b}, @code{at90pwm81}.
 
 @item avr5
 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory.
-@*@var{mcu}@tie{}= @code{at90can32}, @code{at90can64},
-@code{at90pwm216}, @code{at90pwm316}, @code{at90scr100},
-@code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{atmega16},
-@code{atmega161}, @code{atmega162}, @code{atmega163},
-@code{atmega164a}, @code{atmega164p}, @code{atmega165},
-@code{atmega165a}, @code{atmega165p}, @code{atmega168},
-@code{atmega168a}, @code{atmega168p}, @code{atmega169},
-@code{atmega169a}, @code{atmega169p}, @code{atmega169pa},
-@code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2},
-@code{atmega16hvb}, @code{atmega16m1}, @code{atmega16u4},
-@code{atmega32}, @code{atmega323}, @code{atmega324a},
-@code{atmega324p}, @code{atmega324pa}, @code{atmega325},
+@*@var{mcu}@tie{}= @code{atmega16}, @code{atmega16a},
+@code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb},
+@code{atmega16m1}, @code{atmega16u4}, @code{atmega161},
+@code{atmega162}, @code{atmega163}, @code{atmega164a},
+@code{atmega164p}, @code{atmega165}, @code{atmega165a},
+@code{atmega165p}, @code{atmega168}, @code{atmega168a},
+@code{atmega168p}, @code{atmega169}, @code{atmega169a},
+@code{atmega169p}, @code{atmega169pa}, @code{atmega32},
+@code{atmega32c1}, @code{atmega32hvb}, @code{atmega32m1},
+@code{atmega32u4}, @code{atmega32u6}, @code{atmega323},
+@code{atmega324a}, @code{atmega324p}, @code{atmega324pa},
+@code{atmega325}, @code{atmega325a}, @code{atmega325p},
 @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p},
-@code{atmega325a}, @code{atmega325p}, @code{atmega328},
-@code{atmega328p}, @code{atmega329}, @code{atmega3290},
-@code{atmega3290a}, @code{atmega3290p}, @code{atmega329a},
-@code{atmega329p}, @code{atmega329pa}, @code{atmega32c1},
-@code{atmega32hvb}, @code{atmega32m1}, @code{atmega32u4},
-@code{atmega32u6}, @code{atmega406}, @code{atmega64},
-@code{atmega640}, @code{atmega644}, @code{atmega644a},
-@code{atmega644p}, @code{atmega644pa}, @code{atmega645},
-@code{atmega6450}, @code{atmega6450a}, @code{atmega6450p},
-@code{atmega645a}, @code{atmega645p}, @code{atmega649},
-@code{atmega6490}, @code{atmega649a}, @code{atmega649p},
-@code{atmega64c1}, @code{atmega64hve}, @code{atmega64m1},
+@code{atmega328}, @code{atmega328p}, @code{atmega329},
+@code{atmega329a}, @code{atmega329p}, @code{atmega329pa},
+@code{atmega3290}, @code{atmega3290a}, @code{atmega3290p},
+@code{atmega406}, @code{atmega64}, @code{atmega64c1},
+@code{atmega64hve}, @code{atmega64m1}, @code{atmega640},
+@code{atmega644}, @code{atmega644a}, @code{atmega644p},
+@code{atmega644pa}, @code{atmega645}, @code{atmega645a},
+@code{atmega645p}, @code{atmega6450}, @code{atmega6450a},
+@code{atmega6450p}, @code{atmega649}, @code{atmega649a},
+@code{atmega649p}, @code{atmega6490}, @code{at90can32},
+@code{at90can64}, @code{at90pwm216}, @code{at90pwm316},
+@code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k},
 @code{m3000}.
 
 @item avr51
 ``Enhanced'' devices with 128@tie{}KiB of program memory.
-@*@var{mcu}@tie{}= @code{at90can128}, @code{at90usb1286},
-@code{at90usb1287}, @code{atmega128}, @code{atmega1280},
-@code{atmega1281}, @code{atmega1284p}, @code{atmega128rfa1}.
+@*@var{mcu}@tie{}= @code{atmega128}, @code{atmega128rfa1},
+@code{atmega1280}, @code{atmega1281}, @code{atmega1284p},
+@code{at90can128}, @code{at90usb1286}, @code{at90usb1287}.
 
 @item avr6
 ``Enhanced'' devices with 3-byte PC, i.e.@: with more than
@@ -11077,8 +11079,8 @@ more than 64@tie{}KiB of RAM.
 @item avr1
 This ISA is implemented by the minimal AVR core and supported for
 assembler only.
-@*@var{mcu}@tie{}= @code{at90s1200}, @code{attiny11}, @code{attiny12},
-@code{attiny15}, @code{attiny28}.
+@*@var{mcu}@tie{}= @code{attiny11}, @code{attiny12}, @code{attiny15},
+@code{attiny28}, @code{at90s1200}.
 
 @end table
 
@@ -11139,10 +11141,12 @@ section on @code{EIND} and linker stubs below.
 
 @item -mshort-calls
 @opindex mshort-calls
+This option has been deprecated and will be removed in GCC 4.8.
+See @code{-mrelax} for a replacement.
+
 Use @code{RCALL}/@code{RJMP} instructions even on devices with
 16@tie{}KiB or more of program memory, i.e.@: on devices that
 have the @code{CALL} and @code{JMP} instructions.
-See also the @code{-mrelax} command line option.
 
 @item -msp8
 @opindex msp8
@@ -11238,7 +11242,7 @@ points to.
 The startup code from libgcc never sets @code{EIND}.
 Notice that startup code is a blend of code from libgcc and AVR-LibC.
 For the impact of AVR-LibC on @code{EIND}, see the
-@w{@uref{http://nongnu.org/avr-libc/user-manual,AVR-LibC user manual}}.
+@w{@uref{http://nongnu.org/avr-libc/user-manual/,AVR-LibC user manual}}.
 
 @item
 It is legitimate for user-specific startup code to set up @code{EIND}
@@ -11373,6 +11377,23 @@ For even more AVR-specific built-in macros see
 
 @table @code
 
+@item __AVR_ARCH__
+Build-in macro that resolves to a decimal number that identifies the
+architecture and depends on the @code{-mmcu=@var{mcu}} option.
+Possible values are:
+
+@code{2}, @code{25}, @code{3}, @code{31}, @code{35},
+@code{4}, @code{5}, @code{51}, @code{6}, @code{102}, @code{104},
+@code{105}, @code{106}, @code{107}
+
+for @var{mcu}=@code{avr2}, @code{avr25}, @code{avr3},
+@code{avr31}, @code{avr35}, @code{avr4}, @code{avr5}, @code{avr51},
+@code{avr6}, @code{avrxmega2}, @code{avrxmega4}, @code{avrxmega5},
+@code{avrxmega6}, @code{avrxmega7}, respectively.
+If @var{mcu} specifies a device, this built-in macro is set
+accordingly. For example, with @code{-mmcu=atmega8} the macro will be
+defined to @code{4}.
+
 @item __AVR_@var{Device}__
 Setting @code{-mmcu=@var{device}} defines this built-in macro which reflects
 the device's name. For example, @code{-mmcu=atmega8} defines the
@@ -11385,6 +11406,12 @@ the device name as from the AVR user manual. The difference between
 @var{Device} in the built-in macro and @var{device} in
 @code{-mmcu=@var{device}} is that the latter is always lowercase.
 
+If @var{device} is not a device but only a core architecture like
+@code{avr51}, this macro will not be defined.
+
+@item __AVR_XMEGA__
+The device/architecture belongs to the XMEGA family of devices.
+
 @item __AVR_HAVE_ELPM__
 The device has the the @code{ELPM} instruction.
 
@@ -13679,6 +13706,11 @@ before a transfer of control flow out of the function to minimize
 AVX to SSE transition penalty as well as remove unnecessary zeroupper
 intrinsics.
 
+@item -mprefer-avx128
+@opindex mprefer-avx128
+This option instructs GCC to use 128-bit AVX instructions instead of
+256-bit AVX instructions in the auto-vectorizer.
+
 @item -mcx16
 @opindex mcx16
 This option will enable GCC to use CMPXCHG16B instruction in generated code.
@@ -18033,43 +18065,94 @@ Set the cost to assume for a multiply insn.
 
 @item -mdiv=@var{strategy}
 @opindex mdiv=@var{strategy}
-Set the division strategy to use for SHmedia code.  @var{strategy} must be
-one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call,
-inv:call2, inv:fp .
-"fp" performs the operation in floating point.  This has a very high latency,
+Set the division strategy to be used for integer division operations.
+For SHmedia @var{strategy} can be one of: 
+
+@table @samp
+
+@item fp 
+Performs the operation in floating point.  This has a very high latency,
 but needs only a few instructions, so it might be a good choice if
 your code has enough easily-exploitable ILP to allow the compiler to
 schedule the floating-point instructions together with other instructions.
 Division by zero causes a floating-point exception.
-"inv" uses integer operations to calculate the inverse of the divisor,
+
+@item inv
+Uses integer operations to calculate the inverse of the divisor,
 and then multiplies the dividend with the inverse.  This strategy allows
-cse and hoisting of the inverse calculation.  Division by zero calculates
+CSE and hoisting of the inverse calculation.  Division by zero calculates
 an unspecified result, but does not trap.
-"inv:minlat" is a variant of "inv" where if no cse / hoisting opportunities
+
+@item inv:minlat
+A variant of @samp{inv} where, if no CSE or hoisting opportunities
 have been found, or if the entire operation has been hoisted to the same
 place, the last stages of the inverse calculation are intertwined with the
 final multiply to reduce the overall latency, at the expense of using a few
 more instructions, and thus offering fewer scheduling opportunities with
 other code.
-"call" calls a library function that usually implements the inv:minlat
+
+@item call
+Calls a library function that usually implements the @samp{inv:minlat}
 strategy.
-This gives high code density for m5-*media-nofpu compilations.
-"call2" uses a different entry point of the same library function, where it
+This gives high code density for @code{m5-*media-nofpu} compilations.
+
+@item call2
+Uses a different entry point of the same library function, where it
 assumes that a pointer to a lookup table has already been set up, which
-exposes the pointer load to cse / code hoisting optimizations.
-"inv:call", "inv:call2" and "inv:fp" all use the "inv" algorithm for initial
-code generation, but if the code stays unoptimized, revert to the "call",
-"call2", or "fp" strategies, respectively.  Note that the
+exposes the pointer load to CSE and code hoisting optimizations.
+
+@item inv:call
+@itemx inv:call2
+@itemx inv:fp
+Use the @samp{inv} algorithm for initial
+code generation, but if the code stays unoptimized, revert to the @samp{call},
+@samp{call2}, or @samp{fp} strategies, respectively.  Note that the
 potentially-trapping side effect of division by zero is carried by a
 separate instruction, so it is possible that all the integer instructions
 are hoisted out, but the marker for the side effect stays where it is.
-A recombination to fp operations or a call is not possible in that case.
-"inv20u" and "inv20l" are variants of the "inv:minlat" strategy.  In the case
-that the inverse calculation was nor separated from the multiply, they speed
-up division where the dividend fits into 20 bits (plus sign where applicable),
+A recombination to floating-point operations or a call is not possible
+in that case.
+
+@item inv20u
+@itemx inv20l
+Variants of the @samp{inv:minlat} strategy.  In the case
+that the inverse calculation is not separated from the multiply, they speed
+up division where the dividend fits into 20 bits (plus sign where applicable)
 by inserting a test to skip a number of operations in this case; this test
-slows down the case of larger dividends.  inv20u assumes the case of a such
-a small dividend to be unlikely, and inv20l assumes it to be likely.
+slows down the case of larger dividends.  @samp{inv20u} assumes the case of a such
+a small dividend to be unlikely, and @samp{inv20l} assumes it to be likely.
+
+@end table
+
+For targets other than SHmedia @var{strategy} can be one of:
+
+@table @samp
+
+@item call-div1
+Calls a library function that uses the single-step division instruction
+@code{div1} to perform the operation.  Division by zero calculates an
+unspecified result and does not trap.  This is the default except for SH4,
+SH2A and SHcompact.
+
+@item call-fp
+Calls a library function that performs the operation in double precision
+floating point.  Division by zero causes a floating-point exception.  This is
+the default for SHcompact with FPU.  Specifying this for targets that do not
+have a double precision FPU will default to @code{call-div1}.
+
+@item call-table
+Calls a library function that uses a lookup table for small divisors and
+the @code{div1} instruction with case distinction for larger divisors.  Division
+by zero calculates an unspecified result and does not trap.  This is the default
+for SH4.  Specifying this for targets that do not have dynamic shift
+instructions will default to @code{call-div1}.
+
+@end table
+
+When a division strategy has not been specified the default strategy will be
+selected based on the current target.  For SH2A the default strategy is to
+use the @code{divs} and @code{divu} instructions instead of library function
+calls.
 
 @item -maccumulate-outgoing-args
 @opindex maccumulate-outgoing-args
@@ -18469,11 +18552,6 @@ These @samp{-m} options are supported in addition to the above
 on SPARC-V9 processors in 64-bit environments:
 
 @table @gcctabopt
-@item -mlittle-endian
-@opindex mlittle-endian
-Generate code for a processor running in little-endian mode.  It is only
-available for a few configurations and most notably not on Solaris and Linux.
-
 @item -m32
 @itemx -m64
 @opindex m32
index 82a3e8b..440ef8a 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "JCF-DUMP 1"
-.TH JCF-DUMP 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH JCF-DUMP 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 7b819e2..f28444b 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "JV-CONVERT 1"
-.TH JV-CONVERT 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH JV-CONVERT 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 1b9c1a9..8d16551 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "REBUILD-GCJ-DB 1"
-.TH REBUILD-GCJ-DB 1 "2012-09-20" "gcc-4.7.2" "GNU"
+.TH REBUILD-GCJ-DB 1 "2013-04-11" "gcc-4.7.3" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index a9fe924..7d4dbf4 100644 (file)
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -996,7 +996,32 @@ delete_dead_store_insn (insn_info_t insn_info)
   insn_info->wild_read = false;
 }
 
-/* Check if EXPR can possibly escape the current function scope.  */
+/* Return whether DECL, a local variable, can possibly escape the current
+   function scope.  */
+
+static bool
+local_variable_can_escape (tree decl)
+{
+  if (TREE_ADDRESSABLE (decl))
+    return true;
+
+  /* If this is a partitioned variable, we need to consider all the variables
+     in the partition.  This is necessary because a store into one of them can
+     be replaced with a store into another and this may not change the outcome
+     of the escape analysis.  */
+  if (cfun->gimple_df->decls_to_pointers != NULL)
+    {
+      void *namep
+       = pointer_map_contains (cfun->gimple_df->decls_to_pointers, decl);
+      if (namep)
+       return TREE_ADDRESSABLE (*(tree *)namep);
+    }
+
+  return false;
+}
+
+/* Return whether EXPR can possibly escape the current function scope.  */
+
 static bool
 can_escape (tree expr)
 {
@@ -1005,7 +1030,11 @@ can_escape (tree expr)
     return true;
   base = get_base_address (expr);
   if (DECL_P (base)
-      && !may_be_aliased (base))
+      && !may_be_aliased (base)
+      && !(TREE_CODE (base) == VAR_DECL
+          && !DECL_EXTERNAL (base)
+          && !TREE_STATIC (base)
+          && local_variable_can_escape (base)))
     return false;
   return true;
 }
index 051e015..4ac66f9 100644 (file)
@@ -8012,6 +8012,8 @@ value_format (dw_attr_ref a)
          return DW_FORM_block1;
        case 2:
          return DW_FORM_block2;
+       case 4:
+         return DW_FORM_block4;
        default:
          gcc_unreachable ();
        }
@@ -10601,7 +10603,16 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset,
        }
     }
 
-  regno = DWARF_FRAME_REGNUM (REGNO (reg));
+  regno = REGNO (reg);
+#ifdef LEAF_REG_REMAP
+  if (current_function_uses_only_leaf_regs)
+    {
+      int leaf_reg = LEAF_REG_REMAP (regno);
+      if (leaf_reg != -1)
+       regno = (unsigned) leaf_reg;
+    }
+#endif
+  regno = DWARF_FRAME_REGNUM (regno);
 
   if (!optimize && fde
       && (fde->drap_reg == regno || fde->vdrap_reg == regno))
index a95c146..9d877a7 100644 (file)
@@ -1839,7 +1839,12 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
 
       if (!align_computed)
        {
-         unsigned int obj_align = get_object_alignment (t);
+         unsigned int obj_align;
+         unsigned HOST_WIDE_INT obj_bitpos;
+         obj_align = get_object_alignment_1 (t, &obj_bitpos);
+         obj_bitpos = (obj_bitpos - bitpos) & (obj_align - 1);
+         if (obj_bitpos != 0)
+           obj_align = (obj_bitpos & -obj_bitpos);
          attrs.align = MAX (attrs.align, obj_align);
        }
     }
index 077d0d7..6895074 100644 (file)
@@ -2199,7 +2199,8 @@ expand_shift_1 (enum tree_code code, enum machine_mode mode, rtx shifted,
                       % GET_MODE_BITSIZE (mode));
       else if (GET_CODE (op1) == SUBREG
               && subreg_lowpart_p (op1)
-              && INTEGRAL_MODE_P (GET_MODE (SUBREG_REG (op1))))
+              && SCALAR_INT_MODE_P (GET_MODE (SUBREG_REG (op1)))
+              && SCALAR_INT_MODE_P (GET_MODE (op1)))
        op1 = SUBREG_REG (op1);
     }
 
index 1dcb9f5..4c248e0 100644 (file)
@@ -8696,6 +8696,54 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode,
 
       if (!target)
        target = gen_reg_rtx (TYPE_MODE (type));
+      else
+       /* If target overlaps with op1, then either we need to force
+          op1 into a pseudo (if target also overlaps with op0),
+          or write the complex parts in reverse order.  */
+       switch (GET_CODE (target))
+         {
+         case CONCAT:
+           if (reg_overlap_mentioned_p (XEXP (target, 0), op1))
+             {
+               if (reg_overlap_mentioned_p (XEXP (target, 1), op0))
+                 {
+                 complex_expr_force_op1:
+                   temp = gen_reg_rtx (GET_MODE_INNER (GET_MODE (target)));
+                   emit_move_insn (temp, op1);
+                   op1 = temp;
+                   break;
+                 }
+             complex_expr_swap_order:
+               /* Move the imaginary (op1) and real (op0) parts to their
+                  location.  */
+               write_complex_part (target, op1, true);
+               write_complex_part (target, op0, false);
+
+               return target;
+             }
+           break;
+         case MEM:
+           temp = adjust_address_nv (target,
+                                     GET_MODE_INNER (GET_MODE (target)), 0);
+           if (reg_overlap_mentioned_p (temp, op1))
+             {
+               enum machine_mode imode = GET_MODE_INNER (GET_MODE (target));
+               temp = adjust_address_nv (target, imode,
+                                         GET_MODE_SIZE (imode));
+               if (reg_overlap_mentioned_p (temp, op0))
+                 goto complex_expr_force_op1;
+               goto complex_expr_swap_order;
+             }
+           break;
+         default:
+           if (reg_overlap_mentioned_p (target, op1))
+             {
+               if (reg_overlap_mentioned_p (target, op0))
+                 goto complex_expr_force_op1;
+               goto complex_expr_swap_order;
+             }
+           break;
+         }
 
       /* Move the real (op0) and imaginary (op1) parts to their location.  */
       write_complex_part (target, op0, false);
index 26d43e4..1f864a7 100644 (file)
@@ -3832,6 +3832,10 @@ make_range_step (location_t loc, enum tree_code code, tree arg0, tree arg1,
   switch (code)
     {
     case TRUTH_NOT_EXPR:
+      /* We can only do something if the range is testing for zero.  */
+      if (low == NULL_TREE || high == NULL_TREE
+         || ! integer_zerop (low) || ! integer_zerop (high))
+       return NULL_TREE;
       *p_in_p = ! in_p;
       return arg0;
 
@@ -3904,6 +3908,17 @@ make_range_step (location_t loc, enum tree_code code, tree arg0, tree arg1,
       return arg0;
 
     case NEGATE_EXPR:
+      /* If flag_wrapv and ARG0_TYPE is signed, make sure
+        low and high are non-NULL, then normalize will DTRT.  */
+      if (!TYPE_UNSIGNED (arg0_type)
+         && !TYPE_OVERFLOW_UNDEFINED (arg0_type))
+       {
+         if (low == NULL_TREE)
+           low = TYPE_MIN_VALUE (arg0_type);
+         if (high == NULL_TREE)
+           high = TYPE_MAX_VALUE (arg0_type);
+       }
+
       /* (-x) IN [a,b] -> x in [-b, -a]  */
       n_low = range_binop (MINUS_EXPR, exp_type,
                           build_int_cst (exp_type, 0),
@@ -5701,6 +5716,11 @@ extract_muldiv_1 (tree t, tree c, enum tree_code code, tree wide_type,
         break;
       /* FALLTHROUGH */
     case NEGATE_EXPR:
+      /* For division and modulus, type can't be unsigned, as e.g.
+        (-(x / 2U)) / 2U isn't equal to -((x / 2U) / 2U) for x >= 2.
+        For signed types, even with wrapping overflow, this is fine.  */
+      if (code != MULT_EXPR && TYPE_UNSIGNED (type))
+       break;
       if ((t1 = extract_muldiv (op0, c, code, wide_type, strict_overflow_p))
          != 0)
        return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
@@ -6026,10 +6046,11 @@ fold_binary_op_with_conditional_arg (location_t loc,
     }
 
   /* This transformation is only worthwhile if we don't have to wrap ARG
-     in a SAVE_EXPR and the operation can be simplified on at least one
-     of the branches once its pushed inside the COND_EXPR.  */
+     in a SAVE_EXPR and the operation can be simplified without recursing
+     on at least one of the branches once its pushed inside the COND_EXPR.  */
   if (!TREE_CONSTANT (arg)
       && (TREE_SIDE_EFFECTS (arg)
+         || TREE_CODE (arg) == COND_EXPR || TREE_CODE (arg) == VEC_COND_EXPR
          || TREE_CONSTANT (true_value) || TREE_CONSTANT (false_value)))
     return NULL_TREE;
 
@@ -6781,12 +6802,14 @@ fold_sign_changed_comparison (location_t loc, enum tree_code code, tree type,
           && TREE_TYPE (TREE_OPERAND (arg1, 0)) == inner_type))
     return NULL_TREE;
 
-  if ((TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type)
-       || POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type))
+  if (TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type)
       && code != NE_EXPR
       && code != EQ_EXPR)
     return NULL_TREE;
 
+  if (POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type))
+    return NULL_TREE;
+
   if (TREE_CODE (arg1) == INTEGER_CST)
     arg1 = force_fit_type_double (inner_type, tree_to_double_int (arg1),
                                  0, TREE_OVERFLOW (arg1));
@@ -13435,10 +13458,22 @@ fold_binary_loc (location_t loc,
                                   TREE_OPERAND (arg1, 1)),
                           build_int_cst (TREE_TYPE (arg0), 0));
 
+      /* Similarly for X < (cast) (1 << Y).  But cast can't be narrowing,
+        otherwise Y might be >= # of bits in X's type and thus e.g.
+        (unsigned char) (1 << Y) for Y 15 might be 0.
+        If the cast is widening, then 1 << Y should have unsigned type,
+        otherwise if Y is number of bits in the signed shift type minus 1,
+        we can't optimize this.  E.g. (unsigned long long) (1 << Y) for Y
+        31 might be 0xffffffff80000000.  */
       if ((code == LT_EXPR || code == GE_EXPR)
          && TYPE_UNSIGNED (TREE_TYPE (arg0))
          && CONVERT_EXPR_P (arg1)
          && TREE_CODE (TREE_OPERAND (arg1, 0)) == LSHIFT_EXPR
+         && (TYPE_PRECISION (TREE_TYPE (arg1))
+             >= TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (arg1, 0))))
+         && (TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (arg1, 0)))
+             || (TYPE_PRECISION (TREE_TYPE (arg1))
+                 == TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (arg1, 0)))))
          && integer_onep (TREE_OPERAND (TREE_OPERAND (arg1, 0), 0)))
        {
          tem = build2 (RSHIFT_EXPR, TREE_TYPE (arg0), arg0,
index fc827cb..71f6362 100644 (file)
@@ -1,3 +1,164 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-03-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56615
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
+       if they are not simply contiguous.
+
+2013-03-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/56575
+       * expr.c (gfc_default_initializer): Check that a class declared
+       type has any components.
+       * resolve.c (resolve_fl_derived0): On failing the test for C437
+       set the type to BT_UNKNOWN to prevent repeat error messages.
+
+2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55362
+       * check.c (array_check): It is an error if a procedure is
+       passed.
+
+2013-02-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56385
+       * trans-array.c (structure_alloc_comps): Handle procedure-pointer
+       components with allocatable result.
+
+2013-02-17  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       Backport from trunk
+       2013-01-28  Tobias Burnus  <burnus@net-b.de>
+                   Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/53537
+       * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
+       interface block.
+       (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
+       * decl.c (gfc_match_data_decl): Ditto.
+       (variable_decl): Remove undeclared type error.
+       (gfc_match_import): Use renamed instead of original name.
+
+2013-02-15  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/56318
+       * simplify.c (gfc_simplify_matmul): Fix result shape
+       and matmul result.
+
+2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       Backport from trunk
+       PR fortran/50627
+       PR fortran/56054
+       * decl.c (gfc_match_end):  Remove half-ready namespace
+       from parent if the end of a block is missing.
+       * parse.c (parse_module):  Do not put namespace into
+       gsymbol on error.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/56052
+       * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
+       and DECL_IGNORED_P on select_type_temporary and don't set
+       DECL_BY_REFERENCE.
+
+2013-01-24  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56081
+       * resolve.c (resolve_select): Add argument 'select_type', reject
+       non-scalar expressions.
+       (resolve_select_type,resolve_code): Pass new argument to
+       'resolve_select'.
+
+2013-01-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55983
+       * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
+       asserting it.
+
+2013-01-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55072
+       * trans-array.c (gfc_conv_array_parameter): No packing was done for
+       full arrays of derived type.
+
+2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55618
+       * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
+       character function arguments to elemental procedures in
+       scalarization loops.
+
+2013-01-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42769
+       PR fortran/45836
+       PR fortran/45900
+       * module.c (read_module): Don't reuse local symtree if the associated
+       symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
+       ambiguous.
+       * resolve.c (resolve_call): Use symtree's name instead of symbol's to
+       lookup the symtree.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+           Thomas Koenig  <tkoenig@gcc.gnu.org>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/55852
+       * expr.c (gfc_build_intrinsic_call): Avoid clashes
+       with user's procedures.
+       * gfortran.h (gfc_build_intrinsic_call): Update prototype.
+       (GFC_PREFIX): Define.
+       * simplify.c (gfc_simplify_size): Update call.
+
+2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/55827
+       * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
+       e->symtree == NULL.
+       * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
+
+2012-12-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54818
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
+       the string length is of type gfc_charlen_type_node.
+
+2012-11-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55314
+       Backport from trunk
+       * resolve.c (resolve_allocate_deallocate):  Compare all
+       subscripts when deciding if to reject a (de)allocate
+       statement.
+
+2012-11-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55352
+       * trans-decl.c (generate_local_decl): Don't warn for explicitly imported
+       but unused module variables which are in a namelist or common block.
+
+2012-11-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54917
+       * target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
+       Handle BT_CLASS.
+
+2012-10-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54784
+       * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
+       to the _data component for polymorphic allocation with SOURCE.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
 
        PR fortran/50981
        * trans-array.c (gfc_walk_elemental_function_args): Fix
-       passing of deallocated allocatables/pointers as absent argument. 
+       passing of deallocated allocatables/pointers as absent argument.
 
 2012-01-16  Tobias Burnus  <burnus@net-b.de>
 
 2012-01-16  Paul Thomas  <pault@gcc.gnu.org>
 
        * trans-array.c (gfc_trans_create_temp_array): In the case of a
-       class array temporary, detect a null 'eltype' on entry and use 
+       class array temporary, detect a null 'eltype' on entry and use
        'initial' to provde the class reference and so, through the
        vtable, the element size for the dynamic type.
        * trans-stmt.c (gfc_conv_elemental_dependencies): For class
index 32e5463..d69ba88 100644 (file)
@@ -256,7 +256,7 @@ array_check (gfc_expr *e, int n)
       return SUCCESS;
     }
 
-  if (e->rank != 0)
+  if (e->rank != 0 && e->ts.type != BT_PROCEDURE)
     return SUCCESS;
 
   gfc_error ("'%s' argument of '%s' intrinsic at %L must be an array",
index bfa8740..d4ed6b0 100644 (file)
@@ -162,7 +162,23 @@ gfc_fix_class_refs (gfc_expr *e)
          && e->value.function.isym != NULL))
     return;
 
-  ts = &e->symtree->n.sym->ts;
+  if (e->expr_type == EXPR_VARIABLE)
+    ts = &e->symtree->n.sym->ts;
+  else
+    {
+      gfc_symbol *func;
+
+      gcc_assert (e->expr_type == EXPR_FUNCTION);
+      if (e->value.function.esym != NULL)
+       func = e->value.function.esym;
+      else
+       func = e->symtree->n.sym;
+
+      if (func->result != NULL)
+       ts = &func->result->ts;
+      else
+       ts = &func->ts;
+    }
 
   for (ref = &e->ref; *ref != NULL; ref = &(*ref)->next)
     {
@@ -924,15 +940,17 @@ find_typebound_proc_uop (gfc_symbol* derived, gfc_try* t,
   gfc_symtree* res;
   gfc_symtree* root;
 
-  /* Set correct symbol-root.  */
-  gcc_assert (derived->f2k_derived);
-  root = (uop ? derived->f2k_derived->tb_uop_root
-             : derived->f2k_derived->tb_sym_root);
-
   /* Set default to failure.  */
   if (t)
     *t = FAILURE;
 
+  if (derived->f2k_derived)
+    /* Set correct symbol-root.  */
+    root = (uop ? derived->f2k_derived->tb_uop_root
+               : derived->f2k_derived->tb_sym_root);
+  else
+    return NULL;
+
   /* Try to find it in the current type's namespace.  */
   res = gfc_find_symtree (root, name);
   if (res && res->n.tb && !res->n.tb->error)
index 8afccd5..3e9bc18 100644 (file)
@@ -1949,30 +1949,6 @@ variable_decl (int elem)
       goto cleanup;
     }
 
-  /* An interface body specifies all of the procedure's
-     characteristics and these shall be consistent with those
-     specified in the procedure definition, except that the interface
-     may specify a procedure that is not pure if the procedure is
-     defined to be pure(12.3.2).  */
-  if ((current_ts.type == BT_DERIVED || current_ts.type == BT_CLASS)
-      && gfc_current_ns->proc_name
-      && gfc_current_ns->proc_name->attr.if_source == IFSRC_IFBODY
-      && current_ts.u.derived->ns != gfc_current_ns)
-    {
-      gfc_symtree *st;
-      st = gfc_find_symtree (gfc_current_ns->sym_root, current_ts.u.derived->name);
-      if (!(current_ts.u.derived->attr.imported
-               && st != NULL
-               && gfc_find_dt_in_generic (st->n.sym) == current_ts.u.derived)
-           && !gfc_current_ns->has_import_set)
-       {
-           gfc_error ("The type of '%s' at %C has not been declared within the "
-                      "interface", name);
-           m = MATCH_ERROR;
-           goto cleanup;
-       }
-    }
-    
   if (check_function_name (name) == FAILURE)
     {
       m = MATCH_ERROR;
@@ -3160,14 +3136,14 @@ gfc_match_import (void)
              return MATCH_ERROR;
            }
 
-         if (gfc_find_symtree (gfc_current_ns->sym_root,name))
+         if (gfc_find_symtree (gfc_current_ns->sym_root, name))
            {
              gfc_warning ("'%s' is already IMPORTed from host scoping unit "
                           "at %C.", name);
              goto next_item;
            }
 
-         st = gfc_new_symtree (&gfc_current_ns->sym_root, sym->name);
+         st = gfc_new_symtree (&gfc_current_ns->sym_root, name);
          st->n.sym = sym;
          sym->refs++;
          sym->attr.imported = 1;
@@ -3179,8 +3155,8 @@ gfc_match_import (void)
                 lower-case name contains the associated generic function. */
              st = gfc_new_symtree (&gfc_current_ns->sym_root,
                        gfc_get_string ("%c%s",
-                               (char) TOUPPER ((unsigned char) sym->name[0]),
-                               &sym->name[1]));
+                               (char) TOUPPER ((unsigned char) name[0]),
+                               &name[1]));
              st->n.sym = sym;
              sym->refs++;
              sym->attr.imported = 1;
@@ -4231,7 +4207,7 @@ gfc_match_data_decl (void)
        goto ok;
 
       gfc_find_symbol (current_ts.u.derived->name,
-                      current_ts.u.derived->ns->parent, 1, &sym);
+                      current_ts.u.derived->ns, 1, &sym);
 
       /* Any symbol that we find had better be a type definition
         which has its components defined.  */
@@ -5896,6 +5872,8 @@ gfc_match_end (gfc_statement *st)
   const char *target;
   int eos_ok;
   match m;
+  gfc_namespace *parent_ns, *ns, *prev_ns;
+  gfc_namespace **nsp;
 
   old_loc = gfc_current_locus;
   if (gfc_match ("end") != MATCH_YES)
@@ -6121,6 +6099,35 @@ syntax:
 
 cleanup:
   gfc_current_locus = old_loc;
+
+  /* If we are missing an END BLOCK, we created a half-ready namespace.
+     Remove it from the parent namespace's sibling list.  */
+
+  if (state == COMP_BLOCK)
+    {
+      parent_ns = gfc_current_ns->parent;
+
+      nsp = &(gfc_state_stack->previous->tail->ext.block.ns);
+
+      prev_ns = NULL;
+      ns = *nsp;
+      while (ns)
+       {
+         if (ns == gfc_current_ns)
+           {
+             if (prev_ns == NULL)
+               *nsp = NULL;
+             else
+               prev_ns->sibling = ns->sibling;
+           }
+         prev_ns = ns;
+         ns = ns->sibling;
+       }
+  
+      gfc_free_namespace (gfc_current_ns);
+      gfc_current_ns = parent_ns;
+    }
+
   return MATCH_ERROR;
 }
 
index 18e26e3..0ad7f7b 100644 (file)
@@ -3759,7 +3759,8 @@ gfc_default_initializer (gfc_typespec *ts)
      types (otherwise we could use gfc_has_default_initializer()).  */
   for (comp = ts->u.derived->components; comp; comp = comp->next)
     if (comp->initializer || comp->attr.allocatable
-       || (comp->ts.type == BT_CLASS && CLASS_DATA (comp)->attr.allocatable))
+       || (comp->ts.type == BT_CLASS && CLASS_DATA (comp)
+           && CLASS_DATA (comp)->attr.allocatable))
       break;
 
   if (!comp)
@@ -4511,29 +4512,36 @@ gfc_is_simply_contiguous (gfc_expr *expr, bool strict)
    want to add arguments but with a NULL-expression.  */
 
 gfc_expr*
-gfc_build_intrinsic_call (const char* name, locus where, unsigned numarg, ...)
+gfc_build_intrinsic_call (gfc_namespace *ns, gfc_isym_id id, const char* name,
+                         locus where, unsigned numarg, ...)
 {
   gfc_expr* result;
   gfc_actual_arglist* atail;
   gfc_intrinsic_sym* isym;
   va_list ap;
   unsigned i;
+  const char *mangled_name = gfc_get_string (GFC_PREFIX ("%s"), name);
 
-  isym = gfc_find_function (name);
+  isym = gfc_intrinsic_function_by_id (id);
   gcc_assert (isym);
   
   result = gfc_get_expr ();
   result->expr_type = EXPR_FUNCTION;
   result->ts = isym->ts;
   result->where = where;
-  result->value.function.name = name;
+  result->value.function.name = mangled_name;
   result->value.function.isym = isym;
 
-  result->symtree = gfc_find_symtree (gfc_current_ns->sym_root, name);
+  gfc_get_sym_tree (mangled_name, ns, &result->symtree, false);
+  gfc_commit_symbol (result->symtree->n.sym);
   gcc_assert (result->symtree
              && (result->symtree->n.sym->attr.flavor == FL_PROCEDURE
                  || result->symtree->n.sym->attr.flavor == FL_UNKNOWN));
 
+  result->symtree->n.sym->intmod_sym_id = id;
+  result->symtree->n.sym->attr.flavor = FL_PROCEDURE;
+  result->symtree->n.sym->attr.intrinsic = 1;
+
   va_start (ap, numarg);
   atail = NULL;
   for (i = 0; i < numarg; ++i)
index a5edd13..6e1fc78 100644 (file)
@@ -61,6 +61,15 @@ along with GCC; see the file COPYING3.  If not see
 #define PREFIX(x) "_gfortran_" x
 #define PREFIX_LEN 10
 
+/* A prefix for internal variables, which are not user-visible.  */
+#if !defined (NO_DOT_IN_LABEL)
+# define GFC_PREFIX(x) "_F." x
+#elif !defined (NO_DOLLAR_IN_LABEL)
+# define GFC_PREFIX(x) "_F$" x
+#else
+# define GFC_PREFIX(x) "_F_" x
+#endif
+
 #define BLANK_COMMON_NAME "__BLNK__"
 
 /* Macro to initialize an mstring structure.  */
@@ -2764,7 +2773,8 @@ int gfc_get_corank (gfc_expr *);
 bool gfc_has_ultimate_allocatable (gfc_expr *);
 bool gfc_has_ultimate_pointer (gfc_expr *);
 
-gfc_expr* gfc_build_intrinsic_call (const char*, locus, unsigned, ...);
+gfc_expr* gfc_build_intrinsic_call (gfc_namespace *, gfc_isym_id, const char*,
+                                   locus, unsigned, ...);
 gfc_try gfc_check_vardef_context (gfc_expr*, bool, bool, const char*);
 
 
index d4a4c8e..ab4e7bd 100644 (file)
@@ -1,5 +1,5 @@
-This is doc/gfortran.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/gcc/fortran/gfortran.texi.
+This is doc/gfortran.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/fortran/gfortran.texi.
 
 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
@@ -17819,357 +17819,357 @@ Keyword Index
 
 \1f
 Tag Table:
-Node: Top\7f2136
-Node: Introduction\7f3514
-Node: About GNU Fortran\7f4263
-Node: GNU Fortran and GCC\7f8252
-Node: Preprocessing and conditional compilation\7f10366
-Node: GNU Fortran and G77\7f12010
-Node: Project Status\7f12583
-Node: Standards\7f15030
-Node: Varying Length Character Strings\7f15968
-Node: Invoking GNU Fortran\7f16504
-Node: Option Summary\7f18227
-Node: Fortran Dialect Options\7f21601
-Node: Preprocessing Options\7f30097
-Node: Error and Warning Options\7f38328
-Node: Debugging Options\7f46570
-Node: Directory Options\7f49553
-Node: Link Options\7f50988
-Node: Runtime Options\7f51612
-Node: Code Gen Options\7f53894
-Node: Environment Variables\7f70850
-Node: Runtime\7f71455
-Node: GFORTRAN_STDIN_UNIT\7f72566
-Node: GFORTRAN_STDOUT_UNIT\7f72933
-Node: GFORTRAN_STDERR_UNIT\7f73334
-Node: GFORTRAN_TMPDIR\7f73728
-Node: GFORTRAN_UNBUFFERED_ALL\7f74180
-Node: GFORTRAN_UNBUFFERED_PRECONNECTED\7f74706
-Node: GFORTRAN_SHOW_LOCUS\7f75350
-Node: GFORTRAN_OPTIONAL_PLUS\7f75846
-Node: GFORTRAN_DEFAULT_RECL\7f76322
-Node: GFORTRAN_LIST_SEPARATOR\7f76811
-Node: GFORTRAN_CONVERT_UNIT\7f77420
-Node: GFORTRAN_ERROR_BACKTRACE\7f80283
-Node: Fortran 2003 and 2008 status\7f80840
-Node: Fortran 2003 status\7f81100
-Node: Fortran 2008 status\7f86002
-Node: TS 29113 status\7f90787
-Node: Compiler Characteristics\7f91559
-Node: KIND Type Parameters\7f92111
-Node: Internal representation of LOGICAL variables\7f93361
-Node: Thread-safety of the runtime library\7f94718
-Node: Data consistency and durability\7f96145
-Node: Extensions\7f99187
-Node: Extensions implemented in GNU Fortran\7f99788
-Node: Old-style kind specifications\7f101146
-Node: Old-style variable initialization\7f102253
-Node: Extensions to namelist\7f103565
-Node: X format descriptor without count field\7f105562
-Node: Commas in FORMAT specifications\7f106089
-Node: Missing period in FORMAT specifications\7f106606
-Node: I/O item lists\7f107168
-Node: `Q' exponent-letter\7f107557
-Node: BOZ literal constants\7f108161
-Node: Real array indices\7f110736
-Node: Unary operators\7f111033
-Node: Implicitly convert LOGICAL and INTEGER values\7f111447
-Node: Hollerith constants support\7f112407
-Node: Cray pointers\7f114179
-Node: CONVERT specifier\7f119626
-Node: OpenMP\7f121624
-Node: Argument list functions\7f123875
-Node: Extensions not implemented in GNU Fortran\7f125481
-Node: STRUCTURE and RECORD\7f126403
-Node: ENCODE and DECODE statements\7f128461
-Node: Variable FORMAT expressions\7f129821
-Node: Alternate complex function syntax\7f130926
-Node: Mixed-Language Programming\7f131446
-Node: Interoperability with C\7f131990
-Node: Intrinsic Types\7f133328
-Node: Derived Types and struct\7f133843
-Node: Interoperable Global Variables\7f135199
-Node: Interoperable Subroutines and Functions\7f136475
-Node: Working with Pointers\7f140088
-Node: Further Interoperability of Fortran with C\7f144406
-Node: GNU Fortran Compiler Directives\7f145242
-Node: Non-Fortran Main Program\7f147434
-Node: _gfortran_set_args\7f149576
-Node: _gfortran_set_options\7f150511
-Node: _gfortran_set_convert\7f153387
-Node: _gfortran_set_record_marker\7f154251
-Node: _gfortran_set_fpe\7f155076
-Node: _gfortran_set_max_subrecord_length\7f156232
-Node: Intrinsic Procedures\7f157188
-Node: Introduction to Intrinsics\7f172611
-Node: ABORT\7f174963
-Node: ABS\7f175619
-Node: ACCESS\7f177236
-Node: ACHAR\7f179157
-Node: ACOS\7f180358
-Node: ACOSH\7f181595
-Node: ADJUSTL\7f182583
-Node: ADJUSTR\7f183524
-Node: AIMAG\7f184471
-Node: AINT\7f185852
-Node: ALARM\7f187439
-Node: ALL\7f189073
-Node: ALLOCATED\7f190991
-Node: AND\7f192128
-Node: ANINT\7f193425
-Node: ANY\7f194903
-Node: ASIN\7f196833
-Node: ASINH\7f198059
-Node: ASSOCIATED\7f199057
-Node: ATAN\7f202062
-Node: ATAN2\7f203481
-Node: ATANH\7f205253
-Node: ATOMIC_DEFINE\7f206253
-Node: ATOMIC_REF\7f207427
-Node: BESSEL_J0\7f208787
-Node: BESSEL_J1\7f209836
-Node: BESSEL_JN\7f210888
-Node: BESSEL_Y0\7f212770
-Node: BESSEL_Y1\7f213770
-Node: BESSEL_YN\7f214770
-Node: BGE\7f216602
-Node: BGT\7f217291
-Node: BIT_SIZE\7f217938
-Node: BLE\7f218759
-Node: BLT\7f219438
-Node: BTEST\7f220073
-Node: C_ASSOCIATED\7f220956
-Node: C_FUNLOC\7f222165
-Node: C_F_PROCPOINTER\7f223534
-Node: C_F_POINTER\7f225035
-Node: C_LOC\7f226453
-Node: C_SIZEOF\7f227730
-Node: CEILING\7f229140
-Node: CHAR\7f230145
-Node: CHDIR\7f231349
-Node: CHMOD\7f232517
-Node: CMPLX\7f234380
-Node: COMMAND_ARGUMENT_COUNT\7f235844
-Node: COMPILER_OPTIONS\7f236758
-Node: COMPILER_VERSION\7f237767
-Node: COMPLEX\7f238731
-Node: CONJG\7f239885
-Node: COS\7f240965
-Node: COSH\7f242411
-Node: COUNT\7f243576
-Node: CPU_TIME\7f245592
-Node: CSHIFT\7f246946
-Node: CTIME\7f248602
-Node: DATE_AND_TIME\7f250255
-Node: DBLE\7f252716
-Node: DCMPLX\7f253509
-Node: DIGITS\7f254703
-Node: DIM\7f255669
-Node: DOT_PRODUCT\7f256927
-Node: DPROD\7f258583
-Node: DREAL\7f259500
-Node: DSHIFTL\7f260166
-Node: DSHIFTR\7f261486
-Node: DTIME\7f262807
-Node: EOSHIFT\7f265610
-Node: EPSILON\7f267683
-Node: ERF\7f268409
-Node: ERFC\7f269183
-Node: ERFC_SCALED\7f269987
-Node: ETIME\7f270679
-Node: EXECUTE_COMMAND_LINE\7f272920
-Node: EXIT\7f275500
-Node: EXP\7f276374
-Node: EXPONENT\7f277647
-Node: EXTENDS_TYPE_OF\7f278407
-Node: FDATE\7f279260
-Node: FGET\7f280742
-Node: FGETC\7f282560
-Node: FLOOR\7f284359
-Node: FLUSH\7f285343
-Node: FNUM\7f287218
-Node: FPUT\7f287940
-Node: FPUTC\7f289565
-Node: FRACTION\7f291336
-Node: FREE\7f292237
-Node: FSEEK\7f293072
-Node: FSTAT\7f295366
-Node: FTELL\7f296446
-Node: GAMMA\7f297424
-Node: GERROR\7f298465
-Node: GETARG\7f299184
-Node: GET_COMMAND\7f300948
-Node: GET_COMMAND_ARGUMENT\7f302312
-Node: GETCWD\7f304346
-Node: GETENV\7f305320
-Node: GET_ENVIRONMENT_VARIABLE\7f306745
-Node: GETGID\7f308898
-Node: GETLOG\7f309435
-Node: GETPID\7f310295
-Node: GETUID\7f311025
-Node: GMTIME\7f311541
-Node: HOSTNM\7f313030
-Node: HUGE\7f313948
-Node: HYPOT\7f314669
-Node: IACHAR\7f315489
-Node: IALL\7f316669
-Node: IAND\7f318146
-Node: IANY\7f319130
-Node: IARGC\7f320616
-Node: IBCLR\7f321637
-Node: IBITS\7f322298
-Node: IBSET\7f323213
-Node: ICHAR\7f323869
-Node: IDATE\7f326041
-Node: IEOR\7f327068
-Node: IERRNO\7f327944
-Node: IMAGE_INDEX\7f328493
-Node: INDEX intrinsic\7f329517
-Node: INT\7f331058
-Node: INT2\7f332760
-Node: INT8\7f333525
-Node: IOR\7f334237
-Node: IPARITY\7f335089
-Node: IRAND\7f336613
-Node: IS_IOSTAT_END\7f337969
-Node: IS_IOSTAT_EOR\7f339066
-Node: ISATTY\7f340193
-Node: ISHFT\7f340976
-Node: ISHFTC\7f341956
-Node: ISNAN\7f343172
-Node: ITIME\7f343920
-Node: KILL\7f344945
-Node: KIND\7f345849
-Node: LBOUND\7f346694
-Node: LCOBOUND\7f348027
-Node: LEADZ\7f349157
-Node: LEN\7f350017
-Node: LEN_TRIM\7f351298
-Node: LGE\7f352280
-Node: LGT\7f353782
-Node: LINK\7f355249
-Node: LLE\7f356284
-Node: LLT\7f357778
-Node: LNBLNK\7f359238
-Node: LOC\7f360014
-Node: LOG\7f360745
-Node: LOG10\7f362148
-Node: LOG_GAMMA\7f363122
-Node: LOGICAL\7f364211
-Node: LONG\7f365019
-Node: LSHIFT\7f365775
-Node: LSTAT\7f366860
-Node: LTIME\7f368054
-Node: MALLOC\7f369465
-Node: MASKL\7f370924
-Node: MASKR\7f371687
-Node: MATMUL\7f372453
-Node: MAX\7f373542
-Node: MAXEXPONENT\7f375041
-Node: MAXLOC\7f375857
-Node: MAXVAL\7f377876
-Node: MCLOCK\7f379509
-Node: MCLOCK8\7f380533
-Node: MERGE\7f381766
-Node: MERGE_BITS\7f382515
-Node: MIN\7f383376
-Node: MINEXPONENT\7f384877
-Node: MINLOC\7f385507
-Node: MINVAL\7f387526
-Node: MOD\7f389178
-Node: MODULO\7f390785
-Node: MOVE_ALLOC\7f391999
-Node: MVBITS\7f393028
-Node: NEAREST\7f394087
-Node: NEW_LINE\7f395210
-Node: NINT\7f395981
-Node: NORM2\7f397384
-Node: NOT\7f398522
-Node: NULL\7f399106
-Node: NUM_IMAGES\7f400011
-Node: OR\7f400827
-Node: PACK\7f402111
-Node: PARITY\7f404103
-Node: PERROR\7f405318
-Node: PRECISION\7f405939
-Node: POPCNT\7f406825
-Node: POPPAR\7f407696
-Node: PRESENT\7f408747
-Node: PRODUCT\7f409853
-Node: RADIX\7f411378
-Node: RAN\7f412200
-Node: RAND\7f412655
-Node: RANDOM_NUMBER\7f413987
-Node: RANDOM_SEED\7f415705
-Node: RANGE\7f417590
-Node: RANK\7f418279
-Node: REAL\7f419059
-Node: RENAME\7f420833
-Node: REPEAT\7f421852
-Node: RESHAPE\7f422578
-Node: RRSPACING\7f424047
-Node: RSHIFT\7f424740
-Node: SAME_TYPE_AS\7f425878
-Node: SCALE\7f426708
-Node: SCAN\7f427488
-Node: SECNDS\7f429038
-Node: SECOND\7f430126
-Node: SELECTED_CHAR_KIND\7f431002
-Node: SELECTED_INT_KIND\7f432593
-Node: SELECTED_REAL_KIND\7f433768
-Node: SET_EXPONENT\7f436434
-Node: SHAPE\7f437430
-Node: SHIFTA\7f438845
-Node: SHIFTL\7f439806
-Node: SHIFTR\7f440641
-Node: SIGN\7f441477
-Node: SIGNAL\7f442761
-Node: SIN\7f444258
-Node: SINH\7f445356
-Node: SIZE\7f446352
-Node: SIZEOF\7f447660
-Node: SLEEP\7f449135
-Node: SPACING\7f449695
-Node: SPREAD\7f450708
-Node: SQRT\7f451853
-Node: SRAND\7f453207
-Node: STAT\7f454375
-Node: STORAGE_SIZE\7f457542
-Node: SUM\7f458421
-Node: SYMLNK\7f459904
-Node: SYSTEM\7f461036
-Node: SYSTEM_CLOCK\7f462287
-Node: TAN\7f464445
-Node: TANH\7f465417
-Node: THIS_IMAGE\7f466574
-Node: TIME\7f468066
-Node: TIME8\7f469191
-Node: TINY\7f470341
-Node: TRAILZ\7f470941
-Node: TRANSFER\7f471758
-Node: TRANSPOSE\7f473792
-Node: TRIM\7f474479
-Node: TTYNAM\7f475336
-Node: UBOUND\7f476251
-Node: UCOBOUND\7f477641
-Node: UMASK\7f478773
-Node: UNLINK\7f479451
-Node: UNPACK\7f480428
-Node: VERIFY\7f481716
-Node: XOR\7f483437
-Node: Intrinsic Modules\7f484809
-Node: ISO_FORTRAN_ENV\7f485052
-Node: ISO_C_BINDING\7f489204
-Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS\7f493315
-Node: Contributing\7f494601
-Node: Contributors\7f495455
-Node: Projects\7f497122
-Node: Proposed Extensions\7f497926
-Node: Copying\7f499937
-Node: GNU Free Documentation License\7f537501
-Node: Funding\7f562644
-Node: Option Index\7f565169
-Node: Keyword Index\7f579387
+Node: Top\7f2150
+Node: Introduction\7f3528
+Node: About GNU Fortran\7f4277
+Node: GNU Fortran and GCC\7f8266
+Node: Preprocessing and conditional compilation\7f10380
+Node: GNU Fortran and G77\7f12024
+Node: Project Status\7f12597
+Node: Standards\7f15044
+Node: Varying Length Character Strings\7f15982
+Node: Invoking GNU Fortran\7f16518
+Node: Option Summary\7f18241
+Node: Fortran Dialect Options\7f21615
+Node: Preprocessing Options\7f30111
+Node: Error and Warning Options\7f38342
+Node: Debugging Options\7f46584
+Node: Directory Options\7f49567
+Node: Link Options\7f51002
+Node: Runtime Options\7f51626
+Node: Code Gen Options\7f53908
+Node: Environment Variables\7f70864
+Node: Runtime\7f71469
+Node: GFORTRAN_STDIN_UNIT\7f72580
+Node: GFORTRAN_STDOUT_UNIT\7f72947
+Node: GFORTRAN_STDERR_UNIT\7f73348
+Node: GFORTRAN_TMPDIR\7f73742
+Node: GFORTRAN_UNBUFFERED_ALL\7f74194
+Node: GFORTRAN_UNBUFFERED_PRECONNECTED\7f74720
+Node: GFORTRAN_SHOW_LOCUS\7f75364
+Node: GFORTRAN_OPTIONAL_PLUS\7f75860
+Node: GFORTRAN_DEFAULT_RECL\7f76336
+Node: GFORTRAN_LIST_SEPARATOR\7f76825
+Node: GFORTRAN_CONVERT_UNIT\7f77434
+Node: GFORTRAN_ERROR_BACKTRACE\7f80297
+Node: Fortran 2003 and 2008 status\7f80854
+Node: Fortran 2003 status\7f81114
+Node: Fortran 2008 status\7f86016
+Node: TS 29113 status\7f90801
+Node: Compiler Characteristics\7f91573
+Node: KIND Type Parameters\7f92125
+Node: Internal representation of LOGICAL variables\7f93375
+Node: Thread-safety of the runtime library\7f94732
+Node: Data consistency and durability\7f96159
+Node: Extensions\7f99201
+Node: Extensions implemented in GNU Fortran\7f99802
+Node: Old-style kind specifications\7f101160
+Node: Old-style variable initialization\7f102267
+Node: Extensions to namelist\7f103579
+Node: X format descriptor without count field\7f105576
+Node: Commas in FORMAT specifications\7f106103
+Node: Missing period in FORMAT specifications\7f106620
+Node: I/O item lists\7f107182
+Node: `Q' exponent-letter\7f107571
+Node: BOZ literal constants\7f108175
+Node: Real array indices\7f110750
+Node: Unary operators\7f111047
+Node: Implicitly convert LOGICAL and INTEGER values\7f111461
+Node: Hollerith constants support\7f112421
+Node: Cray pointers\7f114193
+Node: CONVERT specifier\7f119640
+Node: OpenMP\7f121638
+Node: Argument list functions\7f123889
+Node: Extensions not implemented in GNU Fortran\7f125495
+Node: STRUCTURE and RECORD\7f126417
+Node: ENCODE and DECODE statements\7f128475
+Node: Variable FORMAT expressions\7f129835
+Node: Alternate complex function syntax\7f130940
+Node: Mixed-Language Programming\7f131460
+Node: Interoperability with C\7f132004
+Node: Intrinsic Types\7f133342
+Node: Derived Types and struct\7f133857
+Node: Interoperable Global Variables\7f135213
+Node: Interoperable Subroutines and Functions\7f136489
+Node: Working with Pointers\7f140102
+Node: Further Interoperability of Fortran with C\7f144420
+Node: GNU Fortran Compiler Directives\7f145256
+Node: Non-Fortran Main Program\7f147448
+Node: _gfortran_set_args\7f149590
+Node: _gfortran_set_options\7f150525
+Node: _gfortran_set_convert\7f153401
+Node: _gfortran_set_record_marker\7f154265
+Node: _gfortran_set_fpe\7f155090
+Node: _gfortran_set_max_subrecord_length\7f156246
+Node: Intrinsic Procedures\7f157202
+Node: Introduction to Intrinsics\7f172625
+Node: ABORT\7f174977
+Node: ABS\7f175633
+Node: ACCESS\7f177250
+Node: ACHAR\7f179171
+Node: ACOS\7f180372
+Node: ACOSH\7f181609
+Node: ADJUSTL\7f182597
+Node: ADJUSTR\7f183538
+Node: AIMAG\7f184485
+Node: AINT\7f185866
+Node: ALARM\7f187453
+Node: ALL\7f189087
+Node: ALLOCATED\7f191005
+Node: AND\7f192142
+Node: ANINT\7f193439
+Node: ANY\7f194917
+Node: ASIN\7f196847
+Node: ASINH\7f198073
+Node: ASSOCIATED\7f199071
+Node: ATAN\7f202076
+Node: ATAN2\7f203495
+Node: ATANH\7f205267
+Node: ATOMIC_DEFINE\7f206267
+Node: ATOMIC_REF\7f207441
+Node: BESSEL_J0\7f208801
+Node: BESSEL_J1\7f209850
+Node: BESSEL_JN\7f210902
+Node: BESSEL_Y0\7f212784
+Node: BESSEL_Y1\7f213784
+Node: BESSEL_YN\7f214784
+Node: BGE\7f216616
+Node: BGT\7f217305
+Node: BIT_SIZE\7f217952
+Node: BLE\7f218773
+Node: BLT\7f219452
+Node: BTEST\7f220087
+Node: C_ASSOCIATED\7f220970
+Node: C_FUNLOC\7f222179
+Node: C_F_PROCPOINTER\7f223548
+Node: C_F_POINTER\7f225049
+Node: C_LOC\7f226467
+Node: C_SIZEOF\7f227744
+Node: CEILING\7f229154
+Node: CHAR\7f230159
+Node: CHDIR\7f231363
+Node: CHMOD\7f232531
+Node: CMPLX\7f234394
+Node: COMMAND_ARGUMENT_COUNT\7f235858
+Node: COMPILER_OPTIONS\7f236772
+Node: COMPILER_VERSION\7f237781
+Node: COMPLEX\7f238745
+Node: CONJG\7f239899
+Node: COS\7f240979
+Node: COSH\7f242425
+Node: COUNT\7f243590
+Node: CPU_TIME\7f245606
+Node: CSHIFT\7f246960
+Node: CTIME\7f248616
+Node: DATE_AND_TIME\7f250269
+Node: DBLE\7f252730
+Node: DCMPLX\7f253523
+Node: DIGITS\7f254717
+Node: DIM\7f255683
+Node: DOT_PRODUCT\7f256941
+Node: DPROD\7f258597
+Node: DREAL\7f259514
+Node: DSHIFTL\7f260180
+Node: DSHIFTR\7f261500
+Node: DTIME\7f262821
+Node: EOSHIFT\7f265624
+Node: EPSILON\7f267697
+Node: ERF\7f268423
+Node: ERFC\7f269197
+Node: ERFC_SCALED\7f270001
+Node: ETIME\7f270693
+Node: EXECUTE_COMMAND_LINE\7f272934
+Node: EXIT\7f275514
+Node: EXP\7f276388
+Node: EXPONENT\7f277661
+Node: EXTENDS_TYPE_OF\7f278421
+Node: FDATE\7f279274
+Node: FGET\7f280756
+Node: FGETC\7f282574
+Node: FLOOR\7f284373
+Node: FLUSH\7f285357
+Node: FNUM\7f287232
+Node: FPUT\7f287954
+Node: FPUTC\7f289579
+Node: FRACTION\7f291350
+Node: FREE\7f292251
+Node: FSEEK\7f293086
+Node: FSTAT\7f295380
+Node: FTELL\7f296460
+Node: GAMMA\7f297438
+Node: GERROR\7f298479
+Node: GETARG\7f299198
+Node: GET_COMMAND\7f300962
+Node: GET_COMMAND_ARGUMENT\7f302326
+Node: GETCWD\7f304360
+Node: GETENV\7f305334
+Node: GET_ENVIRONMENT_VARIABLE\7f306759
+Node: GETGID\7f308912
+Node: GETLOG\7f309449
+Node: GETPID\7f310309
+Node: GETUID\7f311039
+Node: GMTIME\7f311555
+Node: HOSTNM\7f313044
+Node: HUGE\7f313962
+Node: HYPOT\7f314683
+Node: IACHAR\7f315503
+Node: IALL\7f316683
+Node: IAND\7f318160
+Node: IANY\7f319144
+Node: IARGC\7f320630
+Node: IBCLR\7f321651
+Node: IBITS\7f322312
+Node: IBSET\7f323227
+Node: ICHAR\7f323883
+Node: IDATE\7f326055
+Node: IEOR\7f327082
+Node: IERRNO\7f327958
+Node: IMAGE_INDEX\7f328507
+Node: INDEX intrinsic\7f329531
+Node: INT\7f331072
+Node: INT2\7f332774
+Node: INT8\7f333539
+Node: IOR\7f334251
+Node: IPARITY\7f335103
+Node: IRAND\7f336627
+Node: IS_IOSTAT_END\7f337983
+Node: IS_IOSTAT_EOR\7f339080
+Node: ISATTY\7f340207
+Node: ISHFT\7f340990
+Node: ISHFTC\7f341970
+Node: ISNAN\7f343186
+Node: ITIME\7f343934
+Node: KILL\7f344959
+Node: KIND\7f345863
+Node: LBOUND\7f346708
+Node: LCOBOUND\7f348041
+Node: LEADZ\7f349171
+Node: LEN\7f350031
+Node: LEN_TRIM\7f351312
+Node: LGE\7f352294
+Node: LGT\7f353796
+Node: LINK\7f355263
+Node: LLE\7f356298
+Node: LLT\7f357792
+Node: LNBLNK\7f359252
+Node: LOC\7f360028
+Node: LOG\7f360759
+Node: LOG10\7f362162
+Node: LOG_GAMMA\7f363136
+Node: LOGICAL\7f364225
+Node: LONG\7f365033
+Node: LSHIFT\7f365789
+Node: LSTAT\7f366874
+Node: LTIME\7f368068
+Node: MALLOC\7f369479
+Node: MASKL\7f370938
+Node: MASKR\7f371701
+Node: MATMUL\7f372467
+Node: MAX\7f373556
+Node: MAXEXPONENT\7f375055
+Node: MAXLOC\7f375871
+Node: MAXVAL\7f377890
+Node: MCLOCK\7f379523
+Node: MCLOCK8\7f380547
+Node: MERGE\7f381780
+Node: MERGE_BITS\7f382529
+Node: MIN\7f383390
+Node: MINEXPONENT\7f384891
+Node: MINLOC\7f385521
+Node: MINVAL\7f387540
+Node: MOD\7f389192
+Node: MODULO\7f390799
+Node: MOVE_ALLOC\7f392013
+Node: MVBITS\7f393042
+Node: NEAREST\7f394101
+Node: NEW_LINE\7f395224
+Node: NINT\7f395995
+Node: NORM2\7f397398
+Node: NOT\7f398536
+Node: NULL\7f399120
+Node: NUM_IMAGES\7f400025
+Node: OR\7f400841
+Node: PACK\7f402125
+Node: PARITY\7f404117
+Node: PERROR\7f405332
+Node: PRECISION\7f405953
+Node: POPCNT\7f406839
+Node: POPPAR\7f407710
+Node: PRESENT\7f408761
+Node: PRODUCT\7f409867
+Node: RADIX\7f411392
+Node: RAN\7f412214
+Node: RAND\7f412669
+Node: RANDOM_NUMBER\7f414001
+Node: RANDOM_SEED\7f415719
+Node: RANGE\7f417604
+Node: RANK\7f418293
+Node: REAL\7f419073
+Node: RENAME\7f420847
+Node: REPEAT\7f421866
+Node: RESHAPE\7f422592
+Node: RRSPACING\7f424061
+Node: RSHIFT\7f424754
+Node: SAME_TYPE_AS\7f425892
+Node: SCALE\7f426722
+Node: SCAN\7f427502
+Node: SECNDS\7f429052
+Node: SECOND\7f430140
+Node: SELECTED_CHAR_KIND\7f431016
+Node: SELECTED_INT_KIND\7f432607
+Node: SELECTED_REAL_KIND\7f433782
+Node: SET_EXPONENT\7f436448
+Node: SHAPE\7f437444
+Node: SHIFTA\7f438859
+Node: SHIFTL\7f439820
+Node: SHIFTR\7f440655
+Node: SIGN\7f441491
+Node: SIGNAL\7f442775
+Node: SIN\7f444272
+Node: SINH\7f445370
+Node: SIZE\7f446366
+Node: SIZEOF\7f447674
+Node: SLEEP\7f449149
+Node: SPACING\7f449709
+Node: SPREAD\7f450722
+Node: SQRT\7f451867
+Node: SRAND\7f453221
+Node: STAT\7f454389
+Node: STORAGE_SIZE\7f457556
+Node: SUM\7f458435
+Node: SYMLNK\7f459918
+Node: SYSTEM\7f461050
+Node: SYSTEM_CLOCK\7f462301
+Node: TAN\7f464459
+Node: TANH\7f465431
+Node: THIS_IMAGE\7f466588
+Node: TIME\7f468080
+Node: TIME8\7f469205
+Node: TINY\7f470355
+Node: TRAILZ\7f470955
+Node: TRANSFER\7f471772
+Node: TRANSPOSE\7f473806
+Node: TRIM\7f474493
+Node: TTYNAM\7f475350
+Node: UBOUND\7f476265
+Node: UCOBOUND\7f477655
+Node: UMASK\7f478787
+Node: UNLINK\7f479465
+Node: UNPACK\7f480442
+Node: VERIFY\7f481730
+Node: XOR\7f483451
+Node: Intrinsic Modules\7f484823
+Node: ISO_FORTRAN_ENV\7f485066
+Node: ISO_C_BINDING\7f489218
+Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS\7f493329
+Node: Contributing\7f494615
+Node: Contributors\7f495469
+Node: Projects\7f497136
+Node: Proposed Extensions\7f497940
+Node: Copying\7f499951
+Node: GNU Free Documentation License\7f537515
+Node: Funding\7f562658
+Node: Option Index\7f565183
+Node: Keyword Index\7f579401
 \1f
 End Tag Table
index e363177..f6662b4 100644 (file)
@@ -4641,8 +4641,14 @@ read_module (void)
          if (p == NULL)
            {
              st = gfc_find_symtree (gfc_current_ns->sym_root, name);
-             if (st != NULL)
-               info->u.rsym.symtree = st;
+             if (st != NULL
+                 && strcmp (st->n.sym->name, info->u.rsym.true_name) == 0
+                 && st->n.sym->module != NULL
+                 && strcmp (st->n.sym->module, info->u.rsym.module) == 0)
+               {
+                 info->u.rsym.symtree = st;
+                 info->u.rsym.sym = st->n.sym;
+               }
              continue;
            }
 
@@ -4663,7 +4669,8 @@ read_module (void)
              /* Check for ambiguous symbols.  */
              if (check_for_ambiguous (st->n.sym, info))
                st->ambiguous = 1;
-             info->u.rsym.symtree = st;
+             else
+               info->u.rsym.symtree = st;
            }
          else
            {
index 317fb84..5fbddd0 100644 (file)
@@ -4283,6 +4283,7 @@ parse_module (void)
 {
   gfc_statement st;
   gfc_gsymbol *s;
+  bool error;
 
   s = gfc_get_gsymbol (gfc_new_block->name);
   if (s->defined || (s->type != GSYM_UNKNOWN && s->type != GSYM_MODULE))
@@ -4296,6 +4297,7 @@ parse_module (void)
 
   st = parse_spec (ST_NONE);
 
+  error = false;
 loop:
   switch (st)
     {
@@ -4314,12 +4316,15 @@ loop:
       gfc_error ("Unexpected %s statement in MODULE at %C",
                 gfc_ascii_statement (st));
 
+      error = true;
       reject_statement ();
       st = next_statement ();
       goto loop;
     }
 
-  s->ns = gfc_current_ns;
+  /* Make sure not to free the namespace twice on error.  */
+  if (!error)
+    s->ns = gfc_current_ns;
 }
 
 
index 33913aa..8729e15 100644 (file)
@@ -94,7 +94,7 @@ static bool
 is_sym_host_assoc (gfc_symbol *sym, gfc_namespace *ns)
 {
   for (ns = ns->parent; ns; ns = ns->parent)
-    {      
+    {
       if (sym->ns == ns)
        return true;
     }
@@ -165,7 +165,7 @@ resolve_procedure_interface (gfc_symbol *sym)
          sym->ts = ifc->result->ts;
          sym->result = sym;
        }
-      else   
+      else
        sym->ts = ifc->ts;
       sym->ts.interface = ifc;
       sym->attr.function = ifc->attr.function;
@@ -513,7 +513,7 @@ resolve_contained_fntype (gfc_symbol *sym, gfc_namespace *ns)
        }
     }
 
-  /* Fortran 95 Draft Standard, page 51, Section 5.1.1.5, on the Character 
+  /* Fortran 95 Draft Standard, page 51, Section 5.1.1.5, on the Character
      type, lists the only ways a character length value of * can be used:
      dummy arguments of procedures, named constants, and function results
      in external functions.  Internal function results and results of module
@@ -1255,7 +1255,7 @@ generic_sym (gfc_symbol *sym)
     return 0;
 
   gfc_find_symbol (sym->name, sym->ns->parent, 1, &s);
-  
+
   if (s != NULL)
     {
       if (s == sym)
@@ -1376,7 +1376,7 @@ count_specific_procs (gfc_expr *e)
   int n;
   gfc_interface *p;
   gfc_symbol *sym;
-       
+
   n = 0;
   sym = e->symtree->n.sym;
 
@@ -1579,7 +1579,7 @@ resolve_procedure_expression (gfc_expr* expr)
     gfc_warning ("Non-RECURSIVE procedure '%s' at %L is possibly calling"
                 " itself recursively.  Declare it RECURSIVE or use"
                 " -frecursive", sym->name, &expr->where);
-  
+
   return SUCCESS;
 }
 
@@ -1687,7 +1687,7 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype,
            with the same name before emitting an error.  */
          if (sym->attr.generic && count_specific_procs (e) != 1)
            return FAILURE;
-         
+
          /* Just in case a specific was found for the expression.  */
          sym = e->symtree->n.sym;
 
@@ -1876,7 +1876,7 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c)
   else if (c && c->ext.actual != NULL)
     {
       arg0 = c->ext.actual;
-      
+
       if (c->resolved_sym)
        esym = c->resolved_sym;
       else
@@ -2275,7 +2275,7 @@ resolve_global_procedure (gfc_symbol *sym, locus *where,
              && !(gfc_option.warn_std & GFC_STD_GNU)))
        gfc_errors_to_warnings (1);
 
-      if (sym->attr.if_source != IFSRC_IFBODY)  
+      if (sym->attr.if_source != IFSRC_IFBODY)
        gfc_procedure_use (def_sym, actual, where);
 
       gfc_errors_to_warnings (0);
@@ -2679,7 +2679,7 @@ is_scalar_expr_ptr (gfc_expr *expr)
                    {
                      /* We have constant lower and upper bounds.  If the
                         difference between is 1, it can be considered a
-                        scalar.  
+                        scalar.
                         FIXME: Use gfc_dep_compare_expr instead.  */
                      start = (int) mpz_get_si
                                (ref->u.ar.as->lower[0]->value.integer);
@@ -2746,7 +2746,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
      the actual expression could be a part-ref of the expr symbol.  */
   arg_ts = &(args->expr->ts);
   arg_attr = gfc_expr_attr (args->expr);
-    
+
   if (sym->intmod_sym_id == ISOCBINDING_ASSOCIATED)
     {
       /* If the user gave two args then they are providing something for
@@ -2835,7 +2835,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
          if (seen_section && retval == SUCCESS)
            gfc_warning ("Array section in '%s' call at %L", name,
                         &(args->expr->where));
-                        
+
           /* See if we have interoperable type and type param.  */
           if (gfc_verify_c_interop (arg_ts) == SUCCESS
               || gfc_check_any_c_kind (arg_ts) == SUCCESS)
@@ -2849,7 +2849,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
                      is not an array of zero size.  */
                   if (args_sym->attr.allocatable == 1)
                     {
-                      if (args_sym->attr.dimension != 0 
+                      if (args_sym->attr.dimension != 0
                           && (args_sym->as && args_sym->as->rank == 0))
                         {
                           gfc_error_now ("Allocatable variable '%s' used as a "
@@ -2888,7 +2888,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
                              retval = FAILURE;
                            }
                        }
-                              
+
                       /* Make sure it's not a character string.  Arrays of
                          any type should be ok if the variable is of a C
                          interoperable type.  */
@@ -2928,7 +2928,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
                  with no length type parameters.  It still must have either
                  the pointer or target attribute, and it can be
                  allocatable (but must be allocated when c_loc is called).  */
-              if (args->expr->rank != 0 
+              if (args->expr->rank != 0
                   && is_scalar_expr_ptr (args->expr) != SUCCESS)
                 {
                   gfc_error_now ("Parameter '%s' to '%s' at %L must be a "
@@ -2936,7 +2936,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
                                  &(args->expr->where));
                   retval = FAILURE;
                 }
-              else if (arg_ts->type == BT_CHARACTER 
+              else if (arg_ts->type == BT_CHARACTER
                        && is_scalar_expr_ptr (args->expr) != SUCCESS)
                 {
                   gfc_error_now ("CHARACTER argument '%s' to '%s' at "
@@ -2975,7 +2975,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
              retval = FAILURE;
            }
         }
-      
+
       /* for c_loc/c_funloc, the new symbol is the same as the old one */
       *new_sym = sym;
     }
@@ -3010,7 +3010,7 @@ resolve_function (gfc_expr *expr)
   /* If this is a procedure pointer component, it has already been resolved.  */
   if (gfc_is_proc_ptr_comp (expr, NULL))
     return SUCCESS;
-  
+
   if (sym && sym->attr.intrinsic
       && resolve_intrinsic (sym, &expr->where) == FAILURE)
     return FAILURE;
@@ -3049,7 +3049,7 @@ resolve_function (gfc_expr *expr)
     }
 
   inquiry_argument = false;
+
   /* Need to setup the call to the correct c_associated, depending on
      the number of cptrs to user gives to compare.  */
   if (sym && sym->attr.is_iso_c == 1)
@@ -3057,12 +3057,12 @@ resolve_function (gfc_expr *expr)
       if (gfc_iso_c_func_interface (sym, expr->value.function.actual, &sym)
           == FAILURE)
         return FAILURE;
-      
+
       /* Get the symtree for the new symbol (resolved func).
          the old one will be freed later, when it's no longer used.  */
       gfc_find_sym_tree (sym->name, sym->ns, 1, &(expr->symtree));
     }
-  
+
   /* Resume assumed_size checking.  */
   need_full_assumed_size--;
 
@@ -3391,7 +3391,7 @@ set_name_and_label (gfc_code *c, gfc_symbol *sym,
       sprintf (name, "%s_%c%d", sym->name, type, kind);
       /* Set up the binding label as the given symbol's label plus
          the type and kind.  */
-      *binding_label = gfc_get_string ("%s_%c%d", sym->binding_label, type, 
+      *binding_label = gfc_get_string ("%s_%c%d", sym->binding_label, type,
                                       kind);
     }
   else
@@ -3402,7 +3402,7 @@ set_name_and_label (gfc_code *c, gfc_symbol *sym,
       sprintf (name, "%s", sym->name);
       *binding_label = sym->binding_label;
     }
-   
+
   return;
 }
 
@@ -3426,7 +3426,7 @@ gfc_iso_c_sub_interface (gfc_code *c, gfc_symbol *sym)
   /* default to success; will override if find error */
   match m = MATCH_YES;
 
-  /* Make sure the actual arguments are in the necessary order (based on the 
+  /* Make sure the actual arguments are in the necessary order (based on the
      formal args) before resolving.  */
   gfc_procedure_use (sym, &c->ext.actual, &(c->loc));
 
@@ -3434,7 +3434,7 @@ gfc_iso_c_sub_interface (gfc_code *c, gfc_symbol *sym)
       (sym->intmod_sym_id == ISOCBINDING_F_PROCPOINTER))
     {
       set_name_and_label (c, sym, name, &binding_label);
-      
+
       if (sym->intmod_sym_id == ISOCBINDING_F_POINTER)
        {
          if (c->ext.actual != NULL && c->ext.actual->next != NULL)
@@ -3445,7 +3445,7 @@ gfc_iso_c_sub_interface (gfc_code *c, gfc_symbol *sym)
                 gfc_procedure_use() (called above to sort actual args).  */
              if (c->ext.actual->next->expr->rank != 0)
                {
-                 if(c->ext.actual->next->next == NULL 
+                 if(c->ext.actual->next->next == NULL
                     || c->ext.actual->next->next->expr == NULL)
                    {
                      m = MATCH_ERROR;
@@ -3464,12 +3464,12 @@ gfc_iso_c_sub_interface (gfc_code *c, gfc_symbol *sym)
                }
            }
        }
-      
+
       if (m != MATCH_ERROR)
        {
          /* the 1 means to add the optional arg to formal list */
          new_sym = get_iso_c_sym (sym, name, binding_label, 1);
-        
+
          /* for error reporting, say it's declared where the original was */
          new_sym->declared_at = sym->declared_at;
        }
@@ -3485,7 +3485,7 @@ gfc_iso_c_sub_interface (gfc_code *c, gfc_symbol *sym)
     c->resolved_sym = new_sym;
   else
     c->resolved_sym = sym;
-  
+
   return m;
 }
 
@@ -3502,7 +3502,7 @@ resolve_specific_s0 (gfc_code *c, gfc_symbol *sym)
       m = gfc_iso_c_sub_interface (c,sym);
       return m;
     }
-  
+
   if (sym->attr.external || sym->attr.if_source == IFSRC_IFBODY)
     {
       if (sym->attr.dummy)
@@ -3636,7 +3636,7 @@ resolve_call (gfc_code *c)
   if (csym && gfc_current_ns->parent && csym->ns != gfc_current_ns)
     {
       gfc_symtree *st;
-      gfc_find_sym_tree (csym->name, gfc_current_ns, 1, &st);
+      gfc_find_sym_tree (c->symtree->name, gfc_current_ns, 1, &st);
       sym = st ? st->n.sym : NULL;
       if (sym && csym != sym
              && sym->ns == gfc_current_ns
@@ -3921,7 +3921,7 @@ resolve_operator (gfc_expr *e)
       if (op1->ts.type == BT_LOGICAL && op2->ts.type == BT_LOGICAL)
        sprintf (msg,
                 _("Logicals at %%L must be compared with %s instead of %s"),
-                (e->value.op.op == INTRINSIC_EQ 
+                (e->value.op.op == INTRINSIC_EQ
                  || e->value.op.op == INTRINSIC_EQ_OS)
                 ? ".eqv." : ".neqv.", gfc_op2string (e->value.op.op));
       else
@@ -4161,7 +4161,7 @@ compare_bound_mpz_t (gfc_expr *a, mpz_t b)
 }
 
 
-/* Compute the last value of a sequence given by a triplet.  
+/* Compute the last value of a sequence given by a triplet.
    Return 0 if it wasn't able to compute the last value, or if the
    sequence if empty, and 1 otherwise.  */
 
@@ -6003,7 +6003,7 @@ resolve_typebound_function (gfc_expr* e)
       e->value.function.esym = NULL;
       e->symtree = st;
 
-      if (new_ref)  
+      if (new_ref)
        e->ref = new_ref;
 
       /* '_vptr' points to the vtab, which contains the procedure pointers.  */
@@ -6321,7 +6321,7 @@ gfc_resolve_expr (gfc_expr *e)
       if (t == SUCCESS && e->ts.type == BT_CHARACTER)
         {
          /* For efficiency, we call gfc_expand_constructor for BT_CHARACTER
-            here rather then add a duplicate test for it above.  */ 
+            here rather then add a duplicate test for it above.  */
          gfc_expand_constructor (e, false);
          t = gfc_resolve_character_array_constructor (e);
        }
@@ -6478,7 +6478,7 @@ forall_index (gfc_expr *expr, gfc_symbol *sym, int *f)
 {
   if (expr->expr_type != EXPR_VARIABLE)
     return false;
-  
+
   /* A scalar assignment  */
   if (!expr->ref || *f == 1)
     {
@@ -6761,7 +6761,7 @@ remove_last_array_ref (gfc_expr* e)
 
 
 /* Used in resolve_allocate_expr to check that a allocation-object and
-   a source-expr are conformable.  This does not catch all possible 
+   a source-expr are conformable.  This does not catch all possible
    cases; in particular a runtime checking is needed.  */
 
 static gfc_try
@@ -6769,7 +6769,7 @@ conformable_arrays (gfc_expr *e1, gfc_expr *e2)
 {
   gfc_ref *tail;
   for (tail = e2->ref; tail && tail->next; tail = tail->next);
-  
+
   /* First compare rank.  */
   if (tail && e1->rank != tail->u.ar.as->rank)
     {
@@ -7032,7 +7032,7 @@ resolve_allocate_expr (gfc_expr *e, gfc_code *code)
         using _copy and trans_call. It is convenient to exploit that
         when the allocated type is different from the declared type but
         no SOURCE exists by setting expr3.  */
-      code->expr3 = gfc_default_initializer (&code->ext.alloc.ts); 
+      code->expr3 = gfc_default_initializer (&code->ext.alloc.ts);
     }
   else if (!code->expr3)
     {
@@ -7280,8 +7280,8 @@ resolve_allocate_deallocate (gfc_code *code, const char *fcn)
          }
     }
 
-  /* Check that an allocate-object appears only once in the statement.  
-     FIXME: Checking derived types is disabled.  */
+  /* Check that an allocate-object appears only once in the statement.  */
+
   for (p = code->ext.alloc.list; p; p = p->next)
     {
       pe = p->expr;
@@ -7293,7 +7293,7 @@ resolve_allocate_deallocate (gfc_code *code, const char *fcn)
              /* This is a potential collision.  */
              gfc_ref *pr = pe->ref;
              gfc_ref *qr = qe->ref;
-             
+
              /* Follow the references  until
                 a) They start to differ, in which case there is no error;
                 you can deallocate a%b and a%c in a single statement
@@ -7329,11 +7329,18 @@ resolve_allocate_deallocate (gfc_code *code, const char *fcn)
 
                      if (pr->next && qr->next)
                        {
+                         int i;
                          gfc_array_ref *par = &(pr->u.ar);
                          gfc_array_ref *qar = &(qr->u.ar);
-                         if (gfc_dep_compare_expr (par->start[0],
-                                                   qar->start[0]) != 0)
-                             break;
+
+                         for (i=0; i<par->dimen; i++)
+                           {
+                             if ((par->start[i] != NULL
+                                  || qar->start[i] != NULL)
+                                 && gfc_dep_compare_expr (par->start[i],
+                                                          qar->start[i]) != 0)
+                               goto break_label;
+                           }
                        }
                    }
                  else
@@ -7341,10 +7348,12 @@ resolve_allocate_deallocate (gfc_code *code, const char *fcn)
                      if (pr->u.c.component->name != qr->u.c.component->name)
                        break;
                    }
-                 
+
                  pr = pr->next;
                  qr = qr->next;
                }
+           break_label:
+             ;
            }
        }
     }
@@ -7366,7 +7375,7 @@ resolve_allocate_deallocate (gfc_code *code, const char *fcn)
 
 /* Callback function for our mergesort variant.  Determines interval
    overlaps for CASEs. Return <0 if op1 < op2, 0 for overlap, >0 for
-   op1 > op2.  Assumes we're not dealing with the default case.  
+   op1 > op2.  Assumes we're not dealing with the default case.
    We have op1 = (:L), (K:L) or (K:) and op2 = (:N), (M:N) or (M:).
    There are nine situations to check.  */
 
@@ -7615,7 +7624,7 @@ validate_case_label_expr (gfc_expr *e, gfc_expr *case_expr)
    expression.  */
 
 static void
-resolve_select (gfc_code *code)
+resolve_select (gfc_code *code, bool select_type)
 {
   gfc_code *body;
   gfc_expr *case_expr;
@@ -7645,8 +7654,9 @@ resolve_select (gfc_code *code)
     }
 
   case_expr = code->expr1;
-
   type = case_expr->ts.type;
+
+  /* F08:C830.  */
   if (type != BT_LOGICAL && type != BT_INTEGER && type != BT_CHARACTER)
     {
       gfc_error ("Argument of SELECT statement at %L cannot be %s",
@@ -7656,6 +7666,16 @@ resolve_select (gfc_code *code)
       return;
     }
 
+  /* F08:R842.  */
+  if (!select_type && case_expr->rank != 0)
+    {
+      gfc_error ("Argument of SELECT statement at %L must be a scalar "
+                "expression", &case_expr->where);
+
+      /* Punt.  */
+      return;
+    }
+
   /* Raise a warning if an INTEGER case value exceeds the range of
      the case-expr. Later, all expressions will be promoted to the
      largest kind of all case-labels.  */
@@ -8057,7 +8077,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
          default_case = body;
        }
     }
-    
+
   if (error > 0)
     return;
 
@@ -8076,7 +8096,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
       assoc->target = gfc_copy_expr (code->expr2);
       assoc->target->where = code->expr2->where;
       /* assoc->variable will be set by resolve_assoc_var.  */
-      
+
       code->ext.block.assoc = assoc;
       code->expr1->symtree->n.sym->assoc = assoc;
 
@@ -8147,7 +8167,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
 
       resolve_assoc_var (st->n.sym, false);
     }
-    
+
   /* Take out CLASS IS cases for separate treatment.  */
   body = code;
   while (body && body->block)
@@ -8156,7 +8176,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
        {
          /* Add to class_is list.  */
          if (class_is == NULL)
-           { 
+           {
              class_is = body->block;
              tail = class_is;
            }
@@ -8177,7 +8197,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
   if (class_is)
     {
       gfc_symbol *vtab;
-      
+
       if (!default_case)
        {
          /* Add a default case to hold the CLASS IS cases.  */
@@ -8225,7 +8245,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
            }
          while (swapped);
        }
-       
+
       /* Generate IF chain.  */
       if_st = gfc_get_code ();
       if_st->op = EXEC_IF;
@@ -8261,7 +8281,7 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
            new_st->op = EXEC_IF;
            new_st->next = default_case->next;
          }
-         
+
        /* Replace CLASS DEFAULT code by the IF chain.  */
        default_case->next = if_st;
     }
@@ -8272,13 +8292,13 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
   gfc_resolve_blocks (code->block, gfc_current_ns);
   gfc_current_ns = old_ns;
 
-  resolve_select (code);
+  resolve_select (code, true);
 }
 
 
 /* Resolve a transfer statement. This is making sure that:
    -- a derived type being transferred has only non-pointer components
-   -- a derived type being transferred doesn't have private components, unless 
+   -- a derived type being transferred doesn't have private components, unless
       it's being transferred from the module where the type was defined
    -- we're not trying to transfer a whole assumed size array.  */
 
@@ -8382,7 +8402,7 @@ resolve_transfer (gfc_code *code)
 
 /* Find the set of labels that are reachable from this block.  We also
    record the last statement in each block.  */
-     
+
 static void
 find_reachable_labels (gfc_code *block)
 {
@@ -8688,7 +8708,7 @@ resolve_where (gfc_code *code, gfc_expr *mask)
                          "inconsistent shape", &cnext->expr1->where);
              break;
 
-  
+
            case EXEC_ASSIGN_CALL:
              resolve_call (cnext);
              if (!cnext->resolved_sym->attr.elemental)
@@ -8774,7 +8794,7 @@ gfc_resolve_where_code_in_forall (gfc_code *code, int nvar,
            case EXEC_ASSIGN:
              gfc_resolve_assign_in_forall (cnext, nvar, var_expr);
              break;
-  
+
            /* WHERE operator assignment statement */
            case EXEC_ASSIGN_CALL:
              resolve_call (cnext);
@@ -8842,10 +8862,10 @@ gfc_resolve_forall_body (gfc_code *code, int nvar, gfc_expr **var_expr)
 
 
 /* Counts the number of iterators needed inside a forall construct, including
-   nested forall constructs. This is used to allocate the needed memory 
+   nested forall constructs. This is used to allocate the needed memory
    in gfc_resolve_forall.  */
 
-static int 
+static int
 gfc_count_forall_iterators (gfc_code *code)
 {
   int max_iters, sub_iters, current_iters;
@@ -8857,11 +8877,11 @@ gfc_count_forall_iterators (gfc_code *code)
 
   for (fa = code->ext.forall_iterator; fa; fa = fa->next)
     current_iters ++;
-  
+
   code = code->block->next;
 
   while (code)
-    {          
+    {
       if (code->op == EXEC_FORALL)
         {
           sub_iters = gfc_count_forall_iterators (code);
@@ -9482,7 +9502,7 @@ resolve_code (gfc_code *code, gfc_namespace *ns)
        case EXEC_SELECT:
          /* Select is complicated. Also, a SELECT construct could be
             a transformed computed GOTO.  */
-         resolve_select (code);
+         resolve_select (code, false);
          break;
 
        case EXEC_SELECT_TYPE:
@@ -9644,7 +9664,7 @@ resolve_values (gfc_symbol *sym)
 
   if (sym->value->expr_type == EXPR_STRUCTURE)
     t= resolve_structure_cons (sym->value, 1);
-  else 
+  else
     t = gfc_resolve_expr (sym->value);
 
   if (t == FAILURE)
@@ -9666,7 +9686,7 @@ resolve_bind_c_comms (gfc_symtree *comm_block_tree)
     {
       gfc_gsymbol *binding_label_gsym;
       gfc_gsymbol *comm_name_gsym;
-      const char * bind_label = comm_block_tree->n.common->binding_label 
+      const char * bind_label = comm_block_tree->n.common->binding_label
        ? comm_block_tree->n.common->binding_label : "";
 
       /* See if a global symbol exists by the common block's name.  It may
@@ -9709,7 +9729,7 @@ resolve_bind_c_comms (gfc_symtree *comm_block_tree)
          check and nothing to add as a global symbol for the label.  */
       if (!comm_block_tree->n.common->binding_label)
         return;
-      
+
       binding_label_gsym =
         gfc_find_gsymbol (gfc_gsym_root,
                           comm_block_tree->n.common->binding_label);
@@ -9746,7 +9766,7 @@ resolve_bind_c_comms (gfc_symtree *comm_block_tree)
                        comm_name_gsym->name, &(comm_name_gsym->where));
         }
     }
-  
+
   return;
 }
 
@@ -9760,34 +9780,34 @@ resolve_bind_c_derived_types (gfc_symbol *derived_sym)
   if (derived_sym != NULL && derived_sym->attr.flavor == FL_DERIVED
       && derived_sym->attr.is_bind_c == 1)
     verify_bind_c_derived_type (derived_sym);
-  
+
   return;
 }
 
 
-/* Verify that any binding labels used in a given namespace do not collide 
+/* Verify that any binding labels used in a given namespace do not collide
    with the names or binding labels of any global symbols.  */
 
 static void
 gfc_verify_binding_labels (gfc_symbol *sym)
 {
   int has_error = 0;
-  
-  if (sym != NULL && sym->attr.is_bind_c && sym->attr.is_iso_c == 0 
+
+  if (sym != NULL && sym->attr.is_bind_c && sym->attr.is_iso_c == 0
       && sym->attr.flavor != FL_DERIVED && sym->binding_label)
     {
       gfc_gsymbol *bind_c_sym;
 
       bind_c_sym = gfc_find_gsymbol (gfc_gsym_root, sym->binding_label);
-      if (bind_c_sym != NULL 
+      if (bind_c_sym != NULL
           && strcmp (bind_c_sym->name, sym->binding_label) == 0)
         {
-          if (sym->attr.if_source == IFSRC_DECL 
-              && (bind_c_sym->type != GSYM_SUBROUTINE 
-                  && bind_c_sym->type != GSYM_FUNCTION) 
-              && ((sym->attr.contained == 1 
-                   && strcmp (bind_c_sym->sym_name, sym->name) != 0) 
-                  || (sym->attr.use_assoc == 1 
+          if (sym->attr.if_source == IFSRC_DECL
+              && (bind_c_sym->type != GSYM_SUBROUTINE
+                  && bind_c_sym->type != GSYM_FUNCTION)
+              && ((sym->attr.contained == 1
+                   && strcmp (bind_c_sym->sym_name, sym->name) != 0)
+                  || (sym->attr.use_assoc == 1
                       && (strcmp (bind_c_sym->mod_name, sym->module) != 0))))
             {
               /* Make sure global procedures don't collide with anything.  */
@@ -9797,10 +9817,10 @@ gfc_verify_binding_labels (gfc_symbol *sym)
                          &(bind_c_sym->where));
               has_error = 1;
             }
-          else if (sym->attr.contained == 0 
-                   && (sym->attr.if_source == IFSRC_IFBODY 
-                       && sym->attr.flavor == FL_PROCEDURE) 
-                   && (bind_c_sym->sym_name != NULL 
+          else if (sym->attr.contained == 0
+                   && (sym->attr.if_source == IFSRC_IFBODY
+                       && sym->attr.flavor == FL_PROCEDURE)
+                   && (bind_c_sym->sym_name != NULL
                        && strcmp (bind_c_sym->sym_name, sym->name) != 0))
             {
               /* Make sure procedures in interface bodies don't collide.  */
@@ -9811,10 +9831,10 @@ gfc_verify_binding_labels (gfc_symbol *sym)
                          &(bind_c_sym->where));
               has_error = 1;
             }
-          else if (sym->attr.contained == 0 
+          else if (sym->attr.contained == 0
                    && sym->attr.if_source == IFSRC_UNKNOWN)
            if ((sym->attr.use_assoc && bind_c_sym->mod_name
-                && strcmp (bind_c_sym->mod_name, sym->module) != 0) 
+                && strcmp (bind_c_sym->mod_name, sym->module) != 0)
                || sym->attr.use_assoc == 0)
               {
                 gfc_error ("Binding label '%s' at %L collides with global "
@@ -10010,7 +10030,7 @@ apply_default_init (gfc_symbol *sym)
 
 /* Build an initializer for a local integer, real, complex, logical, or
    character variable, based on the command line flags finit-local-zero,
-   finit-integer=, finit-real=, finit-logical=, and finit-runtime.  Returns 
+   finit-integer=, finit-real=, finit-logical=, and finit-runtime.  Returns
    null if the symbol should not have a default initialization.  */
 static gfc_expr *
 build_default_init_expr (gfc_symbol *sym)
@@ -10041,10 +10061,10 @@ build_default_init_expr (gfc_symbol *sym)
      characters, and only if the corresponding command-line flags
      were set.  Otherwise, we free init_expr and return null.  */
   switch (sym->ts.type)
-    {    
+    {
     case BT_INTEGER:
       if (gfc_option.flag_init_integer != GFC_INIT_INTEGER_OFF)
-       mpz_set_si (init_expr->value.integer, 
+       mpz_set_si (init_expr->value.integer,
                         gfc_option.flag_init_integer_value);
       else
        {
@@ -10081,7 +10101,7 @@ build_default_init_expr (gfc_symbol *sym)
          break;
        }
       break;
-         
+
     case BT_COMPLEX:
       switch (gfc_option.flag_init_real)
        {
@@ -10113,7 +10133,7 @@ build_default_init_expr (gfc_symbol *sym)
          break;
        }
       break;
-         
+
     case BT_LOGICAL:
       if (gfc_option.flag_init_logical == GFC_INIT_LOGICAL_FALSE)
        init_expr->value.logical = 0;
@@ -10125,9 +10145,9 @@ build_default_init_expr (gfc_symbol *sym)
          init_expr = NULL;
        }
       break;
-         
+
     case BT_CHARACTER:
-      /* For characters, the length must be constant in order to 
+      /* For characters, the length must be constant in order to
         create a default initializer.  */
       if (gfc_option.flag_init_character == GFC_INIT_CHARACTER_ON
          && sym->ts.u.cl->length
@@ -10166,7 +10186,7 @@ build_default_init_expr (gfc_symbol *sym)
          init_expr->value.function.actual = arg;
        }
       break;
-         
+
     default:
      gfc_free_expr (init_expr);
      init_expr = NULL;
@@ -10194,7 +10214,7 @@ apply_default_init_local (gfc_symbol *sym)
   /* For saved variables, we don't want to add an initializer at function
      entry, so we just add a static initializer. Note that automatic variables
      are stack allocated even with -fno-automatic.  */
-  if (sym->attr.save || sym->ns->save_all 
+  if (sym->attr.save || sym->ns->save_all
       || (gfc_option.flag_max_stack_var_size == 0
          && (!sym->attr.dimension || !is_non_constant_shape_array (sym))))
     {
@@ -10299,7 +10319,7 @@ resolve_fl_var_and_proc (gfc_symbol *sym, int mp_flag)
          return FAILURE;
        }
     }
-    
+
   return SUCCESS;
 }
 
@@ -10721,7 +10741,7 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
           sym->attr.is_c_interop = 1;
           sym->ts.is_c_interop = 1;
         }
-      
+
       curr_arg = sym->formal;
       while (curr_arg != NULL)
         {
@@ -10733,7 +10753,7 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
                 BIND(C) to try and prevent multiple errors being
                 reported.  */
              has_non_interop_arg = 1;
-          
+
           curr_arg = curr_arg->next;
         }
 
@@ -10746,7 +10766,7 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
          sym->attr.is_bind_c = 0;
        }
     }
-  
+
   if (!sym->attr.proc_pointer)
     {
       if (sym->attr.save == SAVE_EXPLICIT)
@@ -10897,7 +10917,7 @@ gfc_resolve_finalizers (gfc_symbol* derived)
                {
                  gfc_error ("FINAL procedure '%s' declared at %L has the same"
                             " rank (%d) as '%s'",
-                            list->proc_sym->name, &list->where, my_rank, 
+                            list->proc_sym->name, &list->where, my_rank,
                             i->proc_sym->name);
                  goto error;
                }
@@ -11147,7 +11167,7 @@ resolve_typebound_intrinsic_op (gfc_symbol* derived, gfc_intrinsic_op op,
 {
   gfc_symbol* super_type;
   gfc_tbp_generic* target;
-  
+
   /* If there's already an error here, do nothing (but don't fail again).  */
   if (p->error)
     return SUCCESS;
@@ -11372,7 +11392,7 @@ resolve_typebound_procedure (gfc_symtree* stree)
                     me_arg->name, &where, resolve_bindings_derived->name);
          goto error;
        }
-  
+
       gcc_assert (me_arg->ts.type == BT_CLASS);
       if (CLASS_DATA (me_arg)->as && CLASS_DATA (me_arg)->as->rank > 0)
        {
@@ -11449,7 +11469,7 @@ resolve_typebound_procedures (gfc_symbol* derived)
 
   if (!derived->f2k_derived || !derived->f2k_derived->tb_sym_root)
     return SUCCESS;
-  
+
   super_type = gfc_get_derived_super_type (derived);
   if (super_type)
     resolve_typebound_procedures (super_type);
@@ -11542,7 +11562,7 @@ ensure_not_abstract (gfc_symbol* sub, gfc_symbol* ancestor)
      clearer than something sophisticated.  */
 
   gcc_assert (ancestor && !sub->attr.abstract);
-  
+
   if (!ancestor->attr.abstract)
     return SUCCESS;
 
@@ -11676,7 +11696,7 @@ resolve_fl_derived0 (gfc_symbol *sym)
                  c->as = gfc_copy_array_spec (ifc->result->as);
                }
              else
-               {   
+               {
                  c->ts = ifc->ts;
                  c->attr.allocatable = ifc->attr.allocatable;
                  c->attr.pointer = ifc->attr.pointer;
@@ -11845,7 +11865,7 @@ resolve_fl_derived0 (gfc_symbol *sym)
              || (!sym->attr.is_class && c == sym->components))
          && strcmp (super_type->name, c->name) == 0)
        c->attr.access = super_type->attr.access;
-      
+
       /* If this type is an extension, see if this component has the same name
         as an inherited type-bound procedure.  */
       if (super_type && !sym->attr.is_class
@@ -11947,6 +11967,8 @@ resolve_fl_derived0 (gfc_symbol *sym)
        {
          gfc_error ("Component '%s' with CLASS at %L must be allocatable "
                     "or pointer", c->name, &c->loc);
+         /* Prevent a recurrence of the error.  */
+         c->ts.type = BT_UNKNOWN;
          return FAILURE;
        }
 
@@ -12019,10 +12041,10 @@ resolve_fl_derived (gfc_symbol *sym)
          vptr->ts.u.derived = vtab->ts.u.derived;
        }
     }
-  
+
   if (resolve_fl_derived0 (sym) == FAILURE)
     return FAILURE;
-  
+
   /* Resolve the type-bound procedures.  */
   if (resolve_typebound_procedures (sym) == FAILURE)
     return FAILURE;
@@ -12030,7 +12052,7 @@ resolve_fl_derived (gfc_symbol *sym)
   /* Resolve the finalizer procedures.  */
   if (gfc_resolve_finalizers (sym) == FAILURE)
     return FAILURE;
-  
+
   return SUCCESS;
 }
 
@@ -12177,7 +12199,7 @@ static gfc_try
 resolve_fl_parameter (gfc_symbol *sym)
 {
   /* A parameter array's shape needs to be constant.  */
-  if (sym->as != NULL 
+  if (sym->as != NULL
       && (sym->as->type == AS_DEFERRED
           || is_non_constant_shape_array (sym)))
     {
@@ -12292,8 +12314,8 @@ resolve_symbol (gfc_symbol *sym)
      can.  */
   mp_flag = (sym->result != NULL && sym->result != sym);
 
-  /* Make sure that the intrinsic is consistent with its internal 
-     representation. This needs to be done before assigning a default 
+  /* Make sure that the intrinsic is consistent with its internal
+     representation. This needs to be done before assigning a default
      type to avoid spurious warnings.  */
   if (sym->attr.flavor != FL_MODULE && sym->attr.intrinsic
       && resolve_intrinsic (sym, &sym->declared_at) == FAILURE)
@@ -12452,7 +12474,7 @@ resolve_symbol (gfc_symbol *sym)
       sym->attr.flavor != FL_PROCEDURE && sym->attr.flavor != FL_DERIVED)
     {
       gfc_try t = SUCCESS;
-      
+
       /* First, make sure the variable is declared at the
         module-level scope (J3/04-007, Section 15.3).  */
       if (sym->ns->proc_name->attr.flavor != FL_MODULE &&
@@ -12482,7 +12504,7 @@ resolve_symbol (gfc_symbol *sym)
                 verify_bind_c_derived_type (sym->ts.u.derived);
               t = FAILURE;
             }
-         
+
          /* Verify the variable itself as C interoperable if it
              is BIND(C).  It is not possible for this to succeed if
              the verify_bind_c_derived_type failed, so don't have to handle
@@ -13254,12 +13276,12 @@ gfc_implicit_pure (gfc_symbol *sym)
          sym = ns->proc_name;
          if (sym == NULL)
            return 0;
-         
+
          if (sym->attr.flavor == FL_PROCEDURE)
            break;
        }
     }
-  
+
   return sym->attr.flavor == FL_PROCEDURE && sym->attr.implicit_pure
     && !sym->attr.pure;
 }
@@ -13430,7 +13452,7 @@ resolve_equivalence_derived (gfc_symbol *derived, gfc_symbol *sym, gfc_expr *e)
 }
 
 
-/* Resolve equivalence object. 
+/* Resolve equivalence object.
    An EQUIVALENCE object shall not be a dummy argument, a pointer, a target,
    an allocatable array, an object of nonsequence derived type, an object of
    sequence derived type containing a pointer at any level of component
index 86de9cd..4ce7d13 100644 (file)
@@ -3839,7 +3839,7 @@ gfc_simplify_matmul (gfc_expr *matrix_a, gfc_expr *matrix_b)
   if (matrix_a->rank == 1 && matrix_b->rank == 2)
     {
       result_rows = 1;
-      result_columns = mpz_get_si (matrix_b->shape[0]);
+      result_columns = mpz_get_si (matrix_b->shape[1]);
       stride_a = 1;
       stride_b = mpz_get_si (matrix_b->shape[0]);
 
@@ -3849,7 +3849,7 @@ gfc_simplify_matmul (gfc_expr *matrix_a, gfc_expr *matrix_b)
     }
   else if (matrix_a->rank == 2 && matrix_b->rank == 1)
     {
-      result_rows = mpz_get_si (matrix_b->shape[0]);
+      result_rows = mpz_get_si (matrix_a->shape[0]);
       result_columns = 1;
       stride_a = mpz_get_si (matrix_a->shape[0]);
       stride_b = 1;
@@ -3862,7 +3862,7 @@ gfc_simplify_matmul (gfc_expr *matrix_a, gfc_expr *matrix_b)
     {
       result_rows = mpz_get_si (matrix_a->shape[0]);
       result_columns = mpz_get_si (matrix_b->shape[1]);
-      stride_a = mpz_get_si (matrix_a->shape[1]);
+      stride_a = mpz_get_si (matrix_a->shape[0]);
       stride_b = mpz_get_si (matrix_b->shape[0]);
 
       result->rank = 2;
@@ -5573,7 +5573,9 @@ gfc_simplify_size (gfc_expr *array, gfc_expr *dim, gfc_expr *kind)
       /* Otherwise, we build a new SIZE call.  This is hopefully at least
         simpler than the original one.  */
       if (!simplified)
-       simplified = gfc_build_intrinsic_call ("size", array->where, 3,
+       simplified = gfc_build_intrinsic_call (gfc_current_ns,
+                                              GFC_ISYM_SIZE, "size",
+                                              array->where, 3,
                                               gfc_copy_expr (replacement),
                                               gfc_copy_expr (dim),
                                               gfc_copy_expr (kind));
index 0cd7cc8..dcf40d9 100644 (file)
@@ -2650,6 +2650,11 @@ gfc_find_sym_tree (const char *name, gfc_namespace *ns, int parent_flag,
       if (!parent_flag)
        break;
 
+      /* Don't escape an interface block.  */
+      if (ns && !ns->has_import_set
+          && ns->proc_name && ns->proc_name->attr.if_source == IFSRC_IFBODY)
+       break;
+
       ns = ns->parent;
     }
   while (ns != NULL);
@@ -2808,17 +2813,14 @@ gfc_get_ha_sym_tree (const char *name, gfc_symtree **result)
       return i;
     }
 
-  if (gfc_current_ns->parent != NULL)
-    {
-      i = gfc_find_sym_tree (name, gfc_current_ns->parent, 1, &st);
-      if (i)
-       return i;
+  i = gfc_find_sym_tree (name, gfc_current_ns, 1, &st);
+  if (i)
+    return i;
 
-      if (st != NULL)
-       {
-         *result = st;
-         return 0;
-       }
+  if (st != NULL)
+    {
+      *result = st;
+      return 0;
     }
 
   return gfc_get_sym_tree (name, gfc_current_ns, result, false);
index 6387895..213ee52 100644 (file)
@@ -120,6 +120,7 @@ gfc_target_expr_size (gfc_expr *e)
     case BT_HOLLERITH:
       return e->representation.length;
     case BT_DERIVED:
+    case BT_CLASS:
       {
        /* Determine type size without clobbering the typespec for ISO C
           binding types.  */
@@ -563,6 +564,9 @@ gfc_target_interpret_expr (unsigned char *buffer, size_t buffer_size,
         gfc_interpret_character (buffer, buffer_size, result);
       break;
 
+    case BT_CLASS:
+      result->ts = CLASS_DATA (result)->ts;
+      /* Fall through.  */
     case BT_DERIVED:
       result->representation.length = 
         gfc_interpret_derived (buffer, buffer_size, result);
index 807fb08..4b70171 100644 (file)
@@ -6847,20 +6847,14 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, gfc_ss * ss, bool g77,
     this_array_result = false;
 
   /* Passing address of the array if it is not pointer or assumed-shape.  */
-  if (full_array_var && g77 && !this_array_result)
+  if (full_array_var && g77 && !this_array_result
+      && sym->ts.type != BT_DERIVED && sym->ts.type != BT_CLASS)
     {
       tmp = gfc_get_symbol_decl (sym);
 
       if (sym->ts.type == BT_CHARACTER)
        se->string_length = sym->ts.u.cl->backend_decl;
 
-      if (sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS)
-       {
-         gfc_conv_expr_descriptor (se, expr, ss);
-         se->expr = gfc_conv_array_data (se->expr);
-         return;
-       }
-
       if (!sym->attr.pointer
            && sym->as
            && sym->as->type != AS_ASSUMED_SHAPE 
@@ -7398,8 +7392,8 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
          called_dealloc_with_status = false;
          gfc_init_block (&tmpblock);
 
-         if (c->attr.allocatable
-             && (c->attr.dimension || c->attr.codimension))
+         if (c->attr.allocatable && (c->attr.dimension || c->attr.codimension)
+             && !c->attr.proc_pointer)
            {
              comp = fold_build3_loc (input_location, COMPONENT_REF, ctype,
                                      decl, cdecl, NULL_TREE);
@@ -7581,7 +7575,8 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
              continue;
            }
 
-         if (c->attr.allocatable && !cmp_has_alloc_comps)
+         if (c->attr.allocatable && !c->attr.proc_pointer
+             && !cmp_has_alloc_comps)
            {
              rank = c->as ? c->as->rank : 0;
              tmp = gfc_duplicate_allocatable (dcmp, comp, ctype, rank);
index e497fd6..217eb4a 100644 (file)
@@ -1369,6 +1369,12 @@ gfc_get_symbol_decl (gfc_symbol * sym)
        DECL_IGNORED_P (decl) = 1;
     }
 
+  if (sym->attr.select_type_temporary)
+    {
+      DECL_ARTIFICIAL (decl) = 1;
+      DECL_IGNORED_P (decl) = 1;
+    }
+
   if (sym->attr.dimension || sym->attr.codimension)
     {
       /* Create variables to hold the non-constant bits of array info.  */
@@ -1479,7 +1485,8 @@ gfc_get_symbol_decl (gfc_symbol * sym)
       && POINTER_TYPE_P (TREE_TYPE (decl))
       && !sym->attr.pointer
       && !sym->attr.allocatable
-      && !sym->attr.proc_pointer)
+      && !sym->attr.proc_pointer
+      && !sym->attr.select_type_temporary)
     DECL_BY_REFERENCE (decl) = 1;
 
   if (sym->attr.vtab
@@ -4586,22 +4593,25 @@ generate_local_decl (gfc_symbol * sym)
        }
 
       /* Warn for unused variables, but not if they're inside a common
-        block, a namelist, or are use-associated.  */
+        block or a namelist.  */
       else if (warn_unused_variable
-              && !(sym->attr.in_common || sym->attr.use_assoc || sym->mark
-                   || sym->attr.in_namelist))
+              && !(sym->attr.in_common || sym->mark || sym->attr.in_namelist))
        {
-         gfc_warning ("Unused variable '%s' declared at %L", sym->name,
-                      &sym->declared_at);
-         if (sym->backend_decl != NULL_TREE)
-           TREE_NO_WARNING(sym->backend_decl) = 1;
-       }
-      else if (warn_unused_variable && sym->attr.use_only)
-       {
-         gfc_warning ("Unused module variable '%s' which has been explicitly "
-                      "imported at %L", sym->name, &sym->declared_at);
-         if (sym->backend_decl != NULL_TREE)
-           TREE_NO_WARNING(sym->backend_decl) = 1;
+         if (sym->attr.use_only)
+           {
+             gfc_warning ("Unused module variable '%s' which has been "
+                          "explicitly imported at %L", sym->name,
+                          &sym->declared_at);
+             if (sym->backend_decl != NULL_TREE)
+               TREE_NO_WARNING(sym->backend_decl) = 1;
+           }
+         else if (!sym->attr.use_assoc)
+           {
+             gfc_warning ("Unused variable '%s' declared at %L",
+                          sym->name, &sym->declared_at);
+             if (sym->backend_decl != NULL_TREE)
+               TREE_NO_WARNING(sym->backend_decl) = 1;
+           }
        }
 
       /* For variable length CHARACTER parameters, the PARM_DECL already
index 3552da3..b54a28e 100644 (file)
@@ -1,6 +1,6 @@
 /* Expression translation
    Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-   2011, 2012
+   2011, 2012, 2013
    Free Software Foundation, Inc.
    Contributed by Paul Brook <paul@nowt.org>
    and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -148,7 +148,7 @@ gfc_vtable_copy_get (tree decl)
 
 
 /* Takes a derived type expression and returns the address of a temporary
-   class object of the 'declared' type.  */ 
+   class object of the 'declared' type.  */
 static void
 gfc_conv_derived_to_class (gfc_se *parmse, gfc_expr *e,
                           gfc_typespec class_ts)
@@ -211,10 +211,10 @@ gfc_conv_derived_to_class (gfc_se *parmse, gfc_expr *e,
 
 /* Takes a scalarized class array expression and returns the
    address of a temporary scalar class object of the 'declared'
-   type.  
+   type.
    OOP-TODO: This could be improved by adding code that branched on
    the dynamic type being the same as the declared type. In this case
-   the original class expression can be passed directly.  */ 
+   the original class expression can be passed directly.  */
 void
 gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e,
                         gfc_typespec class_ts, bool elemental)
@@ -267,7 +267,7 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e,
 
   tmp = NULL_TREE;
   if (class_ref == NULL
-       && e->symtree && e->symtree->n.sym->ts.type == BT_CLASS) 
+       && e->symtree && e->symtree->n.sym->ts.type == BT_CLASS)
     tmp = e->symtree->n.sym->backend_decl;
   else
     {
@@ -481,7 +481,7 @@ gfc_trans_class_init_assign (gfc_code *code)
       tmp = gfc_build_memcpy_call (dst.expr, src.expr, memsz.expr);
     }
   gfc_add_expr_to_block (&block, tmp);
-  
+
   return gfc_finish_block (&block);
 }
 
@@ -727,7 +727,7 @@ gfc_conv_missing_dummy (gfc_se * se, gfc_expr * arg, gfc_typespec ts, int kind)
       tmp = gfc_get_int_type (kind);
       tmp = fold_convert (tmp, build_fold_indirect_ref_loc (input_location,
                                                        se->expr));
-    
+
       /* Test for a NULL value.  */
       tmp = build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp), present,
                        tmp, fold_convert (TREE_TYPE (tmp), integer_one_node));
@@ -764,9 +764,9 @@ gfc_get_expr_charlen (gfc_expr *e)
   gfc_ref *r;
   tree length;
 
-  gcc_assert (e->expr_type == EXPR_VARIABLE 
+  gcc_assert (e->expr_type == EXPR_VARIABLE
              && e->ts.type == BT_CHARACTER);
-  
+
   length = NULL; /* To silence compiler warning.  */
 
   if (is_subref_array (e) && e->ts.u.cl->length)
@@ -855,8 +855,8 @@ flatten_array_ctors_without_strlen (gfc_expr* e)
     {
 
     case EXPR_OP:
-      flatten_array_ctors_without_strlen (e->value.op.op1); 
-      flatten_array_ctors_without_strlen (e->value.op.op2); 
+      flatten_array_ctors_without_strlen (e->value.op.op1);
+      flatten_array_ctors_without_strlen (e->value.op.op2);
       break;
 
     case EXPR_COMPCALL:
@@ -1221,7 +1221,7 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr)
        se_expr = gfc_get_fake_result_decl (sym, parent_flag);
 
       /* Similarly for alternate entry points.  */
-      else if (alternate_entry 
+      else if (alternate_entry
               && (sym->ns->proc_name->backend_decl == current_function_decl
                   || parent_flag))
        {
@@ -1257,7 +1257,7 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr)
 
 
       /* Dereference the expression, where needed. Since characters
-        are entirely different from other types, they are treated 
+        are entirely different from other types, they are treated
         separately.  */
       if (sym->ts.type == BT_CHARACTER)
        {
@@ -1287,7 +1287,7 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr)
            se->expr = build_fold_indirect_ref_loc (input_location,
                                                se->expr);
 
-         /* Dereference non-character pointer variables. 
+         /* Dereference non-character pointer variables.
             These must be dummies, results, or scalars.  */
          if ((sym->attr.pointer || sym->attr.allocatable
               || gfc_is_associate_pointer (sym))
@@ -1359,7 +1359,7 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr)
     {
       if (expr->ts.type == BT_CHARACTER && !gfc_is_proc_ptr_comp (expr, NULL))
        gfc_conv_string_parameter (se);
-      else 
+      else
        se->expr = gfc_build_addr_expr (NULL_TREE, se->expr);
     }
 }
@@ -1441,11 +1441,11 @@ static const unsigned char powi_table[POWI_TABLE_SIZE] =
     124, 166, 125, 214, 126, 138, 127, 153,  /* 248 - 255 */
   };
 
-/* If n is larger than lookup table's max index, we use the "window 
+/* If n is larger than lookup table's max index, we use the "window
    method".  */
 #define POWI_WINDOW_SIZE 3
 
-/* Recursive function to expand the power operator. The temporary 
+/* Recursive function to expand the power operator. The temporary
    values are put in tmpvar. The function returns tmpvar[1] ** n.  */
 static tree
 gfc_conv_powi (gfc_se * se, unsigned HOST_WIDE_INT n, tree * tmpvar)
@@ -1508,7 +1508,7 @@ gfc_conv_cst_int_power (gfc_se * se, tree lhs, tree rhs)
   /* There's no ABS for HOST_WIDE_INT, so here we go. It also takes care
      of the asymmetric range of the integer type.  */
   n = (unsigned HOST_WIDE_INT) (m < 0 ? -m : m);
-  
+
   type = TREE_TYPE (lhs);
   sgn = tree_int_cst_sgn (rhs);
 
@@ -1619,7 +1619,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
        case 4:
          ikind = 0;
          break;
-         
+
        case 8:
          ikind = 1;
          break;
@@ -1647,7 +1647,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
        case 4:
          kind = 0;
          break;
-         
+
        case 8:
          kind = 1;
          break;
@@ -1663,7 +1663,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
        default:
          gcc_unreachable ();
        }
-      
+
       switch (expr->value.op.op1->ts.type)
        {
        case BT_INTEGER:
@@ -1681,7 +1681,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
                case 0:
                  fndecl = builtin_decl_explicit (BUILT_IN_POWIF);
                  break;
-               
+
                case 1:
                  fndecl = builtin_decl_explicit (BUILT_IN_POWI);
                  break;
@@ -1691,7 +1691,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
                  break;
 
                case 3:
-                 /* Use the __builtin_powil() only if real(kind=16) is 
+                 /* Use the __builtin_powil() only if real(kind=16) is
                     actually the C long double type.  */
                  if (!gfc_real16_is_float128)
                    fndecl = builtin_decl_explicit (BUILT_IN_POWIL);
@@ -1702,7 +1702,7 @@ gfc_conv_power_op (gfc_se * se, gfc_expr * expr)
                }
            }
 
-         /* If we don't have a good builtin for this, go for the 
+         /* If we don't have a good builtin for this, go for the
             library function.  */
          if (!fndecl)
            fndecl = gfor_fndecl_math_powi[kind][ikind].real;
@@ -2109,7 +2109,7 @@ gfc_conv_scalar_char_value (gfc_symbol *sym, gfc_se *se, gfc_expr **expr)
                                    (int)(*expr)->value.character.string[0]);
          if ((*expr)->ts.kind != gfc_c_int_kind)
            {
-             /* The expr needs to be compatible with a C int.  If the 
+             /* The expr needs to be compatible with a C int.  If the
                 conversion fails, then the 2 causes an ICE.  */
              ts.type = BT_INTEGER;
              ts.kind = gfc_c_int_kind;
@@ -2547,8 +2547,8 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping,
   else if (!sym->attr.dimension || sym->attr.pointer || sym->attr.allocatable)
     value = build_fold_indirect_ref_loc (input_location,
                                     se->expr);
-  
-  /* For character(*), use the actual argument's descriptor.  */  
+
+  /* For character(*), use the actual argument's descriptor.  */
   else if (sym->ts.type == BT_CHARACTER && !new_sym->ts.u.cl->length)
     value = build_fold_indirect_ref_loc (input_location,
                                     se->expr);
@@ -2958,7 +2958,7 @@ gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, int g77,
   rss = gfc_walk_expr (expr);
 
   gcc_assert (rss != gfc_ss_terminator);
+
   /* Initialize the scalarizer.  */
   gfc_init_loopinfo (&loop);
   gfc_add_ss_to_loop (&loop, rss);
@@ -3118,7 +3118,7 @@ gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, int g77,
 
   tmp = gfc_trans_scalar_assign (&lse, &rse, expr->ts, false, false, true);
   gfc_add_expr_to_block (&body, tmp);
-  
+
   /* Generate the copying loops.  */
   gfc_trans_scalarizing_loops (&loop2, &body);
 
@@ -3145,7 +3145,7 @@ gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, int g77,
   if (formal_ptr)
     {
       size = gfc_index_one_node;
-      offset = gfc_index_zero_node;  
+      offset = gfc_index_zero_node;
       for (n = 0; n < dimen; n++)
        {
          tmp = gfc_conv_descriptor_ubound_get (parmse->expr,
@@ -3230,7 +3230,7 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
 {
   gfc_symbol *fsym;
   gfc_ss *argss;
-    
+
   if (sym->intmod_sym_id == ISOCBINDING_LOC)
     {
       if (arg->expr->rank == 0)
@@ -3247,7 +3247,7 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
            && !(fsym->attr.pointer || fsym->attr.allocatable)
            && fsym->as->type != AS_ASSUMED_SHAPE;
          f = f || !sym->attr.always_explicit;
-      
+
          argss = gfc_walk_expr (arg->expr);
          gfc_conv_array_parameter (se, arg->expr, argss, f,
                                    NULL, NULL, NULL);
@@ -3268,7 +3268,7 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
       arg->expr->ts.f90_type = sym->ts.u.derived->ts.f90_type;
       arg->expr->ts.kind = sym->ts.u.derived->ts.kind;
       gfc_conv_expr_reference (se, arg->expr);
-  
+
       return 1;
     }
   else if ((sym->intmod_sym_id == ISOCBINDING_F_POINTER
@@ -3293,12 +3293,12 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
       gfc_conv_expr (&fptrse, arg->next->expr);
       gfc_add_block_to_block (&se->pre, &fptrse.pre);
       gfc_add_block_to_block (&se->post, &fptrse.post);
-      
+
       if (arg->next->expr->symtree->n.sym->attr.proc_pointer
          && arg->next->expr->symtree->n.sym->attr.dummy)
        fptrse.expr = build_fold_indirect_ref_loc (input_location,
                                                   fptrse.expr);
-      
+
       se->expr = fold_build2_loc (input_location, MODIFY_EXPR,
                                  TREE_TYPE (fptrse.expr),
                                  fptrse.expr,
@@ -3332,7 +3332,7 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
        {
          tree eq_expr;
          tree not_null_expr;
-         
+
          /* Given two arguments so build the arg2se from second arg.  */
          gfc_init_se (&arg2se, NULL);
          gfc_conv_expr (&arg2se, arg->next->expr);
@@ -3356,7 +3356,7 @@ conv_isocbinding_procedure (gfc_se * se, gfc_symbol * sym,
 
       return 1;
     }
-    
+
   /* Nothing was done.  */
   return 0;
 }
@@ -3536,7 +3536,13 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                parmse.expr = gfc_build_addr_expr (NULL_TREE, parmse.expr);
            }
          else
-           gfc_conv_expr_reference (&parmse, e);
+           {
+             gfc_conv_expr_reference (&parmse, e);
+             if (e->ts.type == BT_CHARACTER && !e->rank
+                 && e->expr_type == EXPR_FUNCTION)
+               parmse.expr = build_fold_indirect_ref_loc (input_location,
+                                                          parmse.expr);
+           }
 
          /* The scalarizer does not repackage the reference to a class
             array - instead it returns a pointer to the data element.  */
@@ -3625,7 +3631,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                      && !CLASS_DATA (e)->attr.codimension)
                    parmse.expr = gfc_class_data_get (parmse.expr);
 
-                 /* If an ALLOCATABLE dummy argument has INTENT(OUT) and is 
+                 /* If an ALLOCATABLE dummy argument has INTENT(OUT) and is
                     allocated on entry, it must be deallocated.  */
                  if (fsym && fsym->attr.allocatable
                      && fsym->attr.intent == INTENT_OUT)
@@ -3709,7 +3715,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
 
              /* If the argument is a function call that may not create
                 a temporary for the result, we have to check that we
-                can do it, i.e. that there is no alias between this 
+                can do it, i.e. that there is no alias between this
                 argument and another one.  */
              if (gfc_get_noncopying_intrinsic_argument (e) != NULL)
                {
@@ -3770,7 +3776,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                gfc_conv_array_parameter (&parmse, e, argss, f, fsym,
                                          sym->name, NULL);
 
-             /* If an ALLOCATABLE dummy argument has INTENT(OUT) and is 
+             /* If an ALLOCATABLE dummy argument has INTENT(OUT) and is
                 allocated on entry, it must be deallocated.  */
              if (fsym && fsym->attr.allocatable
                  && fsym->attr.intent == INTENT_OUT)
@@ -3787,7 +3793,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                                       tmp, build_empty_stmt (input_location));
                  gfc_add_expr_to_block (&se->pre, tmp);
                }
-           } 
+           }
        }
 
       /* The case with fsym->attr.optional is that of a user subroutine
@@ -3813,7 +3819,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
              && ((e->rank > 0 && sym->attr.elemental)
                  || e->representation.length || e->ts.type == BT_CHARACTER
                  || (e->rank > 0
-                     && (fsym == NULL 
+                     && (fsym == NULL
                          || (fsym-> as
                              && (fsym->as->type == AS_ASSUMED_SHAPE
                                  || fsym->as->type == AS_DEFERRED))))))
@@ -3982,7 +3988,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                                      fold_convert (TREE_TYPE (tmp),
                                                    null_pointer_node));
            }
+
          gfc_trans_runtime_check (true, false, cond, &se->pre, &e->where,
                                   msg);
          free (msg);
@@ -4039,7 +4045,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                          && GFC_TYPE_ARRAY_CAF_TOKEN (caf_type) != NULL_TREE);
              tmp = GFC_TYPE_ARRAY_CAF_TOKEN (caf_type);
            }
-         
+
          VEC_safe_push (tree, gc, stringargs, tmp);
 
          if (GFC_DESCRIPTOR_TYPE_P (caf_type)
@@ -4132,7 +4138,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
            gfc_conv_expr (&parmse, ts.u.cl->length);
          gfc_add_block_to_block (&se->pre, &parmse.pre);
          gfc_add_block_to_block (&se->post, &parmse.post);
-         
+
          tmp = fold_convert (gfc_charlen_type_node, parmse.expr);
          tmp = fold_build2_loc (input_location, MAX_EXPR,
                                 gfc_charlen_type_node, tmp,
@@ -4799,20 +4805,20 @@ gfc_conv_function_expr (gfc_se * se, gfc_expr * expr)
       return;
     }
 
+  /* expr.value.function.esym is the resolved (specific) function symbol for
+     most functions.  However this isn't set for dummy procedures.  */
+  sym = expr->value.function.esym;
+  if (!sym)
+    sym = expr->symtree->n.sym;
+
   /* We distinguish statement functions from general functions to improve
      runtime performance.  */
-  if (expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
+  if (sym->attr.proc == PROC_ST_FUNCTION)
     {
       gfc_conv_statement_function (se, expr);
       return;
     }
 
-  /* expr.value.function.esym is the resolved (specific) function symbol for
-     most functions.  However this isn't set for dummy procedures.  */
-  sym = expr->value.function.esym;
-  if (!sym)
-    sym = expr->symtree->n.sym;
-
   gfc_conv_procedure_call (se, sym, expr->value.function.actual, expr, NULL);
 }
 
@@ -4868,7 +4874,7 @@ gfc_conv_array_constructor_expr (gfc_se * se, gfc_expr * expr)
 
 
 /* Build a static initializer.  EXPR is the expression for the initial value.
-   The other parameters describe the variable of the component being 
+   The other parameters describe the variable of the component being
    initialized. EXPR may be null.  */
 
 tree
@@ -4899,7 +4905,7 @@ gfc_conv_initializer (gfc_expr * expr, gfc_typespec * ts, tree type,
       gcc_assert (TREE_CODE (se.expr) != CONSTRUCTOR);
       return se.expr;
     }
-  
+
   if (array && !procptr)
     {
       tree ctor;
@@ -4957,7 +4963,7 @@ gfc_conv_initializer (gfc_expr * expr, gfc_typespec * ts, tree type,
        }
     }
 }
-  
+
 static tree
 gfc_trans_subarray_assign (tree dest, gfc_component * cm, gfc_expr * expr)
 {
@@ -5004,7 +5010,7 @@ gfc_trans_subarray_assign (tree dest, gfc_component * cm, gfc_expr * expr)
               cm->as->lower[n]->value.integer);
       mpz_add_ui (lss_array->shape[n], lss_array->shape[n], 1);
     }
-  
+
   /* Associate the SS with the loop.  */
   gfc_add_ss_to_loop (&loop, lss);
   gfc_add_ss_to_loop (&loop, rss);
@@ -5070,7 +5076,7 @@ gfc_trans_alloc_subarray_assign (tree dest, gfc_component * cm,
   gfc_start_block (&block);
   gfc_init_se (&se, NULL);
 
-  /* Get the descriptor for the expressions.  */ 
+  /* Get the descriptor for the expressions.  */
   rss = gfc_walk_expr (expr);
   se.want_pointer = 0;
   gfc_conv_expr_descriptor (&se, expr, rss);
@@ -5325,7 +5331,7 @@ gfc_trans_structure_assign (tree dest, gfc_expr * expr)
                      fold_convert (TREE_TYPE (lse.expr), se.expr));
 
       return gfc_finish_block (&block);
-    } 
+    }
 
   for (c = gfc_constructor_first (expr->value.constructor);
        c; c = gfc_constructor_next (c), cm = cm->next)
@@ -5407,7 +5413,7 @@ gfc_conv_structure (gfc_se * se, gfc_expr * expr, int init)
        }
     }
   se->expr = build_constructor (type, v);
-  if (init) 
+  if (init)
     TREE_CONSTANT (se->expr) = 1;
 }
 
@@ -5752,7 +5758,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2)
       for (remap = expr1->ref; remap; remap = remap->next)
        if (!remap->next && remap->type == REF_ARRAY
            && remap->u.ar.type == AR_SECTION)
-         {  
+         {
            remap->u.ar.type = AR_FULL;
            break;
          }
@@ -6050,7 +6056,7 @@ gfc_trans_scalar_assign (gfc_se * lse, gfc_se * rse, gfc_typespec ts,
   else if (ts.type == BT_DERIVED && ts.u.derived->attr.alloc_comp)
     {
       cond = NULL_TREE;
-       
+
       /* Are the rhs and the lhs the same?  */
       if (r_is_var)
        {
@@ -6146,7 +6152,7 @@ arrayfunc_assign_needs_temporary (gfc_expr * expr1, gfc_expr * expr2)
 
   /* Functions returning pointers or allocatables need temporaries.  */
   c = expr2->value.function.esym
-      ? (expr2->value.function.esym->attr.pointer 
+      ? (expr2->value.function.esym->attr.pointer
         || expr2->value.function.esym->attr.allocatable)
       : (expr2->symtree->n.sym->attr.pointer
         || expr2->symtree->n.sym->attr.allocatable);
@@ -6439,7 +6445,7 @@ gfc_trans_arrayfunc_assign (gfc_expr * expr1, gfc_expr * expr2)
      correctly take care of the reallocation internally. For intrinsic
      calls, the array data is freed and the library takes care of allocation.
      TODO: Add logic of trans-array.c: gfc_alloc_allocatable_for_assignment
-     to the library.  */    
+     to the library.  */
   if (gfc_option.flag_realloc_lhs
        && gfc_is_reallocatable_lhs (expr1)
        && !gfc_expr_attr (expr1).codimension
@@ -6713,7 +6719,7 @@ alloc_scalar_allocatable_for_assignment (stmtblock_t *block,
   gfc_init_se (&lse, NULL);
   lse.want_pointer = 1;
   gfc_conv_expr (&lse, expr1);
-  
+
   jump_label1 = gfc_build_label_decl (NULL_TREE);
   jump_label2 = gfc_build_label_decl (NULL_TREE);
 
index ac9f507..ed0ab8b 100644 (file)
@@ -5412,9 +5412,8 @@ gfc_conv_intrinsic_transfer (gfc_se * se, gfc_expr * expr)
       source = gfc_conv_descriptor_data_get (argse.expr);
       source_type = gfc_get_element_type (TREE_TYPE (argse.expr));
 
-      /* Repack the source if not a full variable array.  */
-      if (arg->expr->expr_type == EXPR_VARIABLE
-             && arg->expr->ref->u.ar.type != AR_FULL)
+      /* Repack the source if not simply contiguous.  */
+      if (!gfc_is_simply_contiguous (arg->expr, false))
        {
          tmp = gfc_build_addr_expr (NULL_TREE, argse.expr);
 
@@ -5659,7 +5658,7 @@ scalar_transfer:
       gfc_add_expr_to_block (&se->pre, tmp);
 
       se->expr = tmpdecl;
-      se->string_length = dest_word_len;
+      se->string_length = fold_convert (gfc_charlen_type_node, dest_word_len);
     }
   else
     {
index bb3a890..630816e 100644 (file)
@@ -5087,7 +5087,7 @@ gfc_trans_allocate (gfc_code * code)
              gfc_actual_arglist *actual;
              gfc_expr *ppc;
              gfc_code *ppc_code;
-             gfc_ref *dataref;
+             gfc_ref *ref, *dataref;
 
              /* Do a polymorphic deep copy.  */
              actual = gfc_get_actual_arglist ();
@@ -5099,13 +5099,15 @@ gfc_trans_allocate (gfc_code * code)
              actual->next->expr->ts.type = BT_CLASS;
              gfc_add_data_component (actual->next->expr);
 
-             dataref = actual->next->expr->ref;
+             dataref = NULL;
              /* Make sure we go up through the reference chain to
                 the _data reference, where the arrayspec is found.  */
-             while (dataref->next && dataref->next->type != REF_ARRAY)
-               dataref = dataref->next;
+             for (ref = actual->next->expr->ref; ref; ref = ref->next)
+               if (ref->type == REF_COMPONENT
+                   && strcmp (ref->u.c.component->name, "_data") == 0)
+                 dataref = ref;
 
-             if (dataref->u.c.component->as)
+             if (dataref && dataref->u.c.component->as)
                {
                  int dim;
                  gfc_expr *temp;
index f16b5ef..96879c8 100644 (file)
@@ -5961,7 +5961,7 @@ thread_prologue_and_epilogue_insns (void)
       if (pic_offset_table_rtx)
        add_to_hard_reg_set (&set_up_by_prologue.set, Pmode,
                             PIC_OFFSET_TABLE_REGNUM);
-      if (stack_realign_drap && crtl->drap_reg)
+      if (crtl->drap_reg)
        add_to_hard_reg_set (&set_up_by_prologue.set,
                             GET_MODE (crtl->drap_reg),
                             REGNO (crtl->drap_reg));
index caae167..5f78378 100644 (file)
@@ -42,6 +42,7 @@ main(int ac, char **av)
   const char *err_msg;
   const char **nargv;
   bool is_ar = !strcmp (PERSONALITY, "ar");
+  int exit_code = FATAL_EXIT_CODE;
 
   exe_name = PERSONALITY;
 #ifdef CROSS_DIRECTORY_STRUCTURE
@@ -96,6 +97,20 @@ main(int ac, char **av)
                     NULL,NULL,  &status, &err);
   if (err_msg) 
     fprintf(stderr, "Error running %s: %s\n", exe_name, err_msg);
+  else if (status)
+    {
+      if (WIFSIGNALED (status))
+       {
+         int sig = WTERMSIG (status);
+         fprintf (stderr, "%s terminated with signal %d [%s]%s\n",
+                  exe_name, sig, strsignal(sig),
+                  WCOREDUMP(status) ? ", core dumped" : "");
+       }
+      else if (WIFEXITED (status))
+       exit_code = WEXITSTATUS (status);
+    }
+  else
+    exit_code = SUCCESS_EXIT_CODE;
 
-  return err;
+  return exit_code;
 }
index cc6a08e..939dcc8 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -267,6 +267,7 @@ static const char *compare_debug_dump_opt_spec_function (int, const char **);
 static const char *compare_debug_self_opt_spec_function (int, const char **);
 static const char *compare_debug_auxbase_opt_spec_function (int, const char **);
 static const char *pass_through_libs_spec_func (int, const char **);
+static char *convert_white_space (char *);
 \f
 /* The Specs Language
 
@@ -1153,6 +1154,11 @@ static const char *multilib_dir;
    set_multilib_dir based on the compilation options.  */
 
 static const char *multilib_os_dir;
+
+/* Subdirectory to use for locating libraries in multiarch conventions.  Set by
+   set_multilib_dir based on the compilation options.  */
+
+static const char *multiarch_dir;
 \f
 /* Structure to keep track of the specs that have been defined so far.
    These are accessed using %(specname) in a compiler or link
@@ -2078,6 +2084,7 @@ for_each_path (const struct path_prefix *paths,
   struct prefix_list *pl;
   const char *multi_dir = NULL;
   const char *multi_os_dir = NULL;
+  const char *multiarch_suffix = NULL;
   const char *multi_suffix;
   const char *just_multi_suffix;
   char *path = NULL;
@@ -2095,11 +2102,14 @@ for_each_path (const struct path_prefix *paths,
     }
   if (do_multi && multilib_os_dir && strcmp (multilib_os_dir, ".") != 0)
     multi_os_dir = concat (multilib_os_dir, dir_separator_str, NULL);
+  if (multiarch_dir)
+    multiarch_suffix = concat (multiarch_dir, dir_separator_str, NULL);
 
   while (1)
     {
       size_t multi_dir_len = 0;
       size_t multi_os_dir_len = 0;
+      size_t multiarch_len = 0;
       size_t suffix_len;
       size_t just_suffix_len;
       size_t len;
@@ -2108,16 +2118,15 @@ for_each_path (const struct path_prefix *paths,
        multi_dir_len = strlen (multi_dir);
       if (multi_os_dir)
        multi_os_dir_len = strlen (multi_os_dir);
+      if (multiarch_suffix)
+       multiarch_len = strlen (multiarch_suffix);
       suffix_len = strlen (multi_suffix);
       just_suffix_len = strlen (just_multi_suffix);
 
       if (path == NULL)
        {
          len = paths->max_len + extra_space + 1;
-         if (suffix_len > multi_os_dir_len)
-           len += suffix_len;
-         else
-           len += multi_os_dir_len;
+         len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
          path = XNEWVEC (char, len);
        }
 
@@ -2146,6 +2155,16 @@ for_each_path (const struct path_prefix *paths,
                break;
            }
 
+         /* Now try the multiarch path.  */
+         if (!skip_multi_dir
+             && !pl->require_machine_suffix && multiarch_dir)
+           {
+             memcpy (path + len, multiarch_suffix, multiarch_len + 1);
+             ret = callback (path, callback_info);
+             if (ret)
+               break;
+           }
+
          /* Now try the base path.  */
          if (!pl->require_machine_suffix
              && !(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
@@ -2970,6 +2989,9 @@ display_help (void)
   fputs (_("  -print-libgcc-file-name  Display the name of the compiler's companion library\n"), stdout);
   fputs (_("  -print-file-name=<lib>   Display the full path to library <lib>\n"), stdout);
   fputs (_("  -print-prog-name=<prog>  Display the full path to compiler component <prog>\n"), stdout);
+  fputs (_("\
+  -print-multiarch         Display the target's normalized GNU triplet, used as\n\
+                           a component in the library path\n"), stdout);
   fputs (_("  -print-multi-directory   Display the root directory for versions of libgcc\n"), stdout);
   fputs (_("\
   -print-multi-lib         Display the mapping between command line options and\n\
@@ -3244,6 +3266,7 @@ driver_handle_option (struct gcc_options *opts,
     case OPT_print_multi_directory:
     case OPT_print_sysroot:
     case OPT_print_multi_os_directory:
+    case OPT_print_multiarch:
     case OPT_print_sysroot_headers_suffix:
     case OPT_time:
     case OPT_wrapper:
@@ -4896,6 +4919,15 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
                  do_spec_1 (" ", 0, NULL);
                }
 
+             if (multiarch_dir)
+               {
+                 do_spec_1 ("-imultiarch", 1, NULL);
+                 /* Make this a separate argument.  */
+                 do_spec_1 (" ", 0, NULL);
+                 do_spec_1 (multiarch_dir, 1, NULL);
+                 do_spec_1 (" ", 0, NULL);
+               }
+
              if (gcc_exec_prefix)
                {
                  do_spec_1 ("-iprefix", 1, NULL);
@@ -6475,6 +6507,7 @@ main (int argc, char **argv)
                                    X_OK, false);
   if (lto_wrapper_file)
     {
+      lto_wrapper_file = convert_white_space (lto_wrapper_file);
       lto_wrapper_spec = lto_wrapper_file;
       obstack_init (&collect_obstack);
       obstack_grow (&collect_obstack, "COLLECT_LTO_WRAPPER=",
@@ -6532,6 +6565,15 @@ main (int argc, char **argv)
       return (0);
     }
 
+  if (print_multiarch)
+    {
+      if (multiarch_dir == NULL)
+       printf ("\n");
+      else
+       printf ("%s\n", multiarch_dir);
+      return (0);
+    }
+
   if (print_sysroot)
     {
       if (target_system_root)
@@ -6876,12 +6918,13 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
                              + strlen (fuse_linker_plugin), 0))
 #endif
            {
-             linker_plugin_file_spec = find_a_file (&exec_prefixes,
-                                                    LTOPLUGINSONAME, R_OK,
-                                                    false);
-             if (!linker_plugin_file_spec)
+             char *temp_spec = find_a_file (&exec_prefixes,
+                                            LTOPLUGINSONAME, R_OK,
+                                            false);
+             if (!temp_spec)
                fatal_error ("-fuse-linker-plugin, but %s not found",
                             LTOPLUGINSONAME);
+             linker_plugin_file_spec = convert_white_space (temp_spec);
            }
 #endif
          lto_gcc_spec = argv[0];
@@ -7302,7 +7345,9 @@ default_arg (const char *p, int len)
    options are present, then we will ignore this completely. Passing
    that, gcc will consider each multilib_select in turn using the same
    rules for matching the options. If a match is found, that subdirectory
-   will be used.  */
+   will be used.
+   A subdirectory name is optionally followed by a colon and the corresponding
+   multiarch name.  */
 
 static void
 set_multilib_dir (void)
@@ -7514,10 +7559,25 @@ set_multilib_dir (void)
            q++;
          if (q < end)
            {
-             char *new_multilib_os_dir = XNEWVEC (char, end - q);
-             memcpy (new_multilib_os_dir, q + 1, end - q - 1);
-             new_multilib_os_dir[end - q - 1] = '\0';
-             multilib_os_dir = new_multilib_os_dir;
+             const char *q2 = q + 1, *ml_end = end;
+             char *new_multilib_os_dir;
+
+             while (q2 < end && *q2 != ':')
+               q2++;
+             if (*q2 == ':')
+               ml_end = q2;
+             new_multilib_os_dir = XNEWVEC (char, ml_end - q);
+             memcpy (new_multilib_os_dir, q + 1, ml_end - q - 1);
+             new_multilib_os_dir[ml_end - q - 1] = '\0';
+             multilib_os_dir = *new_multilib_os_dir ? new_multilib_os_dir : ".";
+
+             if (q2 < end && *q2 == ':')
+               {
+                 char *new_multiarch_dir = XNEWVEC (char, end - q2);
+                 memcpy (new_multiarch_dir, q2 + 1, end - q2 - 1);
+                 new_multiarch_dir[end - q2 - 1] = '\0';
+                 multiarch_dir = new_multiarch_dir;
+               }
              break;
            }
        }
@@ -7577,9 +7637,10 @@ print_multilib_info (void)
        }
 
       /* When --disable-multilib was used but target defines
-        MULTILIB_OSDIRNAMES, entries starting with .: are there just
-        to find multilib_os_dir, so skip them from output.  */
-      if (this_path[0] == '.' && this_path[1] == ':')
+        MULTILIB_OSDIRNAMES, entries starting with .: (and not starting
+         with .:: for multiarch configurations) are there just to find
+         multilib_os_dir, so skip them from output.  */
+      if (this_path[0] == '.' && this_path[1] == ':' && this_path[2] != ':')
        skip = 1;
 
       /* Check for matches with the multilib_exclusions. We don't bother
@@ -8318,3 +8379,51 @@ pass_through_libs_spec_func (int argc, const char **argv)
     }
   return prepended;
 }
+
+/* Insert backslash before spaces in ORIG (usually a file path), to 
+   avoid being broken by spec parser.
+
+   This function is needed as do_spec_1 treats white space (' ' and '\t')
+   as the end of an argument. But in case of -plugin /usr/gcc install/xxx.so,
+   the file name should be treated as a single argument rather than being
+   broken into multiple. Solution is to insert '\\' before the space in a 
+   file name.
+   
+   This function converts and only converts all occurrence of ' ' 
+   to '\\' + ' ' and '\t' to '\\' + '\t'.  For example:
+   "a b"  -> "a\\ b"
+   "a  b" -> "a\\ \\ b"
+   "a\tb" -> "a\\\tb"
+   "a\\ b" -> "a\\\\ b"
+
+   orig: input null-terminating string that was allocated by xalloc. The
+   memory it points to might be freed in this function. Behavior undefined
+   if ORIG wasn't xalloced or was freed already at entry.
+
+   Return: ORIG if no conversion needed. Otherwise a newly allocated string
+   that was converted from ORIG.  */
+
+static char *
+convert_white_space (char *orig)
+{
+  int len, number_of_space = 0;
+
+  for (len = 0; orig[len]; len++)
+    if (orig[len] == ' ' || orig[len] == '\t') number_of_space++;
+
+  if (number_of_space)
+    {
+      char *new_spec = (char *) xmalloc (len + number_of_space + 1);
+      int j, k;
+      for (j = 0, k = 0; j <= len; j++, k++)
+       {
+         if (orig[j] == ' ' || orig[j] == '\t')
+           new_spec[k++] = '\\';
+         new_spec[k] = orig[j];
+       }
+      free (orig);
+      return new_spec;
+  }
+  else
+    return orig;
+}
index 6f149bb..0fdc51a 100644 (file)
@@ -1658,6 +1658,10 @@ compute_transp (const_rtx x, int indx, sbitmap *bmap)
        {
          bitmap_iterator bi;
          unsigned bb_index;
+         rtx x_addr;
+
+         x_addr = get_addr (XEXP (x, 0));
+         x_addr = canon_rtx (x_addr);
 
          /* First handle all the blocks with calls.  We don't need to
             do any list walking for them.  */
@@ -1666,27 +1670,27 @@ compute_transp (const_rtx x, int indx, sbitmap *bmap)
              RESET_BIT (bmap[bb_index], indx);
            }
 
-           /* Now iterate over the blocks which have memory modifications
-              but which do not have any calls.  */
-           EXECUTE_IF_AND_COMPL_IN_BITMAP (modify_mem_list_set,
-                                           blocks_with_calls,
-                                           0, bb_index, bi)
-             {
-               VEC (modify_pair,heap) *list
-                 = canon_modify_mem_list[bb_index];
-               modify_pair *pair;
-               unsigned ix;
+         /* Now iterate over the blocks which have memory modifications
+            but which do not have any calls.  */
+         EXECUTE_IF_AND_COMPL_IN_BITMAP (modify_mem_list_set,
+                                         blocks_with_calls,
+                                         0, bb_index, bi)
+           {
+             VEC (modify_pair,heap) *list
+               = canon_modify_mem_list[bb_index];
+             modify_pair *pair;
+             unsigned ix;
 
-               FOR_EACH_VEC_ELT_REVERSE (modify_pair, list, ix, pair)
-                 {
-                   rtx dest = pair->dest;
-                   rtx dest_addr = pair->dest_addr;
+             FOR_EACH_VEC_ELT_REVERSE (modify_pair, list, ix, pair)
+               {
+                 rtx dest = pair->dest;
+                 rtx dest_addr = pair->dest_addr;
 
-                   if (canon_true_dependence (dest, GET_MODE (dest),
-                                              dest_addr, x, NULL_RTX))
-                     RESET_BIT (bmap[bb_index], indx);
-                 }
-             }
+                 if (canon_true_dependence (dest, GET_MODE (dest),
+                                            dest_addr, x, x_addr))
+                   RESET_BIT (bmap[bb_index], indx);
+               }
+           }
        }
 
       x = XEXP (x, 0);
index 1bddb2c..a8820ea 100644 (file)
@@ -942,7 +942,7 @@ int yy_flex_debug = 0;
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 1 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* -*- indented-text -*- */
 /* Process source files and output type information.
    Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
@@ -964,7 +964,7 @@ 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/>.  */
 #define YY_NO_INPUT 1
-#line 25 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 25 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 #ifdef GENERATOR_FILE
 #include "bconfig.h"
 #else
@@ -1082,7 +1082,7 @@ static int input (void );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1093,7 +1093,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               unsigned n; \
+               int n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1178,7 +1178,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 63 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 63 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 
   /* Do this on entry to yylex():  */
   *yylval = 0;
@@ -1275,7 +1275,7 @@ case 1:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 74 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 74 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return TYPEDEF;
@@ -1287,7 +1287,7 @@ case 2:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 78 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 78 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return STRUCT;
@@ -1299,7 +1299,7 @@ case 3:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 82 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 82 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return UNION;
@@ -1311,7 +1311,7 @@ case 4:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 86 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 86 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return EXTERN;
@@ -1323,7 +1323,7 @@ case 5:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 90 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 90 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return STATIC;
@@ -1335,7 +1335,7 @@ case 6:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 95 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 95 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return DEFVEC_OP;
@@ -1347,7 +1347,7 @@ case 7:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 99 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 99 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return DEFVEC_I;
@@ -1359,7 +1359,7 @@ case 8:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 103 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 103 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   BEGIN(in_struct);
   return DEFVEC_ALLOC;
@@ -1369,19 +1369,19 @@ YY_RULE_SETUP
 
 case 9:
 YY_RULE_SETUP
-#line 111 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 111 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { BEGIN(in_struct_comment); }
        YY_BREAK
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 113 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 113 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { update_lineno (yytext, yyleng); }
        YY_BREAK
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 114 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 114 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { lexer_line.line++; }
        YY_BREAK
 case 12:
@@ -1390,7 +1390,7 @@ case 12:
 (yy_c_buf_p) = yy_cp = yy_bp + 5;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 116 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 116 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* don't care */
        YY_BREAK
 case 13:
@@ -1399,7 +1399,7 @@ case 13:
 (yy_c_buf_p) = yy_cp = yy_bp + 3;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 117 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 117 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return GTY_TOKEN; }
        YY_BREAK
 case 14:
@@ -1408,7 +1408,7 @@ case 14:
 (yy_c_buf_p) = yy_cp = yy_bp + 3;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 118 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 118 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return VEC_TOKEN; }
        YY_BREAK
 case 15:
@@ -1417,7 +1417,7 @@ case 15:
 (yy_c_buf_p) = yy_cp = yy_bp + 5;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 119 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 119 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return UNION; }
        YY_BREAK
 case 16:
@@ -1426,7 +1426,7 @@ case 16:
 (yy_c_buf_p) = yy_cp = yy_bp + 6;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 120 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 120 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return STRUCT; }
        YY_BREAK
 case 17:
@@ -1435,7 +1435,7 @@ case 17:
 (yy_c_buf_p) = yy_cp = yy_bp + 4;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 121 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 121 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return ENUM; }
        YY_BREAK
 case 18:
@@ -1444,7 +1444,7 @@ case 18:
 (yy_c_buf_p) = yy_cp = yy_bp + 9;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 122 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 122 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return PTR_ALIAS; }
        YY_BREAK
 case 19:
@@ -1453,12 +1453,12 @@ case 19:
 (yy_c_buf_p) = yy_cp = yy_bp + 10;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 123 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 123 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return NESTED_PTR; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 124 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 124 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return NUM; }
        YY_BREAK
 case 21:
@@ -1467,7 +1467,7 @@ case 21:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 125 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 125 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
   return PARAM_IS;
@@ -1478,11 +1478,11 @@ case 22:
 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
-#line 131 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 131 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 case 23:
 /* rule 23 can match eol */
 YY_RULE_SETUP
-#line 131 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 131 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   size_t len;
 
@@ -1500,7 +1500,7 @@ case 24:
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 143 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 143 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1);
   return ID;
@@ -1509,7 +1509,7 @@ YY_RULE_SETUP
 case 25:
 /* rule 25 can match eol */
 YY_RULE_SETUP
-#line 148 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 148 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
   return STRING;
@@ -1519,7 +1519,7 @@ YY_RULE_SETUP
 case 26:
 /* rule 26 can match eol */
 YY_RULE_SETUP
-#line 153 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 153 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1);
   return ARRAY;
@@ -1528,7 +1528,7 @@ YY_RULE_SETUP
 case 27:
 /* rule 27 can match eol */
 YY_RULE_SETUP
-#line 157 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 157 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng);
   return CHAR;
@@ -1536,24 +1536,24 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 162 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 162 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return ELLIPSIS; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 163 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 163 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { return yytext[0]; }
        YY_BREAK
 /* ignore pp-directives */
 case 30:
 /* rule 30 can match eol */
 YY_RULE_SETUP
-#line 166 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 166 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {lexer_line.line++;}
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 168 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 168 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   error_at_line (&lexer_line, "unexpected character `%s'", yytext);
 }
@@ -1561,30 +1561,30 @@ YY_RULE_SETUP
 
 case 32:
 YY_RULE_SETUP
-#line 173 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 173 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { BEGIN(in_comment); }
        YY_BREAK
 case 33:
 /* rule 33 can match eol */
 YY_RULE_SETUP
-#line 174 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 174 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { lexer_line.line++; }
        YY_BREAK
 case 34:
-#line 176 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 176 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 case 35:
 /* rule 35 can match eol */
-#line 177 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 177 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 case 36:
 /* rule 36 can match eol */
 YY_RULE_SETUP
-#line 177 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 177 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* do nothing */
        YY_BREAK
 case 37:
 /* rule 37 can match eol */
 YY_RULE_SETUP
-#line 178 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 178 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { update_lineno (yytext, yyleng); }
        YY_BREAK
 case 38:
@@ -1593,21 +1593,21 @@ case 38:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 179 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 179 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* do nothing */
        YY_BREAK
 
 case 39:
 /* rule 39 can match eol */
 YY_RULE_SETUP
-#line 182 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 182 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { lexer_line.line++; }
        YY_BREAK
 case 40:
-#line 184 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 184 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 case 41:
 YY_RULE_SETUP
-#line 184 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 184 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* do nothing */
        YY_BREAK
 case 42:
@@ -1616,25 +1616,25 @@ case 42:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 185 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 185 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* do nothing */
        YY_BREAK
 
 case 43:
 YY_RULE_SETUP
-#line 187 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 187 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { BEGIN(INITIAL); } 
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 188 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 188 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 { BEGIN(in_struct); }
        YY_BREAK
 case 45:
-#line 191 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 191 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 case 46:
 YY_RULE_SETUP
-#line 191 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 191 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 {
   error_at_line (&lexer_line, 
                 "unterminated comment or string; unexpected EOF");
@@ -1643,12 +1643,12 @@ YY_RULE_SETUP
 case 47:
 /* rule 47 can match eol */
 YY_RULE_SETUP
-#line 196 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 196 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 /* do nothing */
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 198 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 198 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
 #line 1654 "gengtype-lex.c"
@@ -2615,7 +2615,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 198 "/d/gcc-4.7.2/gcc-4.7.2/gcc/gengtype-lex.l"
+#line 198 "/space/rguenther/gcc-4.7.3/gcc-4.7.3/gcc/gengtype-lex.l"
 
 
 
index 270de2b..26acf47 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh 
 # Generates multilib.h.
-#   Copyright (C) 1994, 1995, 1996, 1997, 1999, 2002, 2007
+#   Copyright (C) 1994, 1995, 1996, 1997, 1999, 2002, 2007, 2012
 #   Free Software Foundation, Inc.
 
 #This file is part of GCC.
@@ -73,6 +73,8 @@
 # the os directory names are used exclusively.  Use the mapping when
 # there is no one-to-one equivalence between GCC levels and the OS.
 
+# The optional eighth argument is the multiarch name.
+
 # The last option should be "yes" if multilibs are enabled.  If it is not
 # "yes", all GCC multilib dir names will be ".".
 
@@ -121,7 +123,8 @@ exceptions=$4
 extra=$5
 exclusions=$6
 osdirnames=$7
-enable_multilib=$8
+multiarch=$8
+enable_multilib=$9
 
 echo "static const char *const multilib_raw[] = {"
 
@@ -222,6 +225,9 @@ fi
 # names.
 toosdirnames=
 defaultosdirname=
+if [ -n "${multiarch}" ]; then
+  defaultosdirname=::${multiarch}
+fi
 if [ -n "${osdirnames}" ]; then
   set x ${osdirnames}
   shift
@@ -229,6 +235,9 @@ if [ -n "${osdirnames}" ]; then
     case "$1" in
       .=*)
         defaultosdirname=`echo $1 | sed 's|^.=|:|'`
+       if [ -n "${multiarch}" ]; then
+         defaultosdirname=${defaultosdirname}:${multiarch}
+       fi
        shift
        ;;
       *=*)
@@ -314,13 +323,13 @@ for combo in ${combinations}; do
     dirout=`echo ${combo} | sed -e 's/=/-/g'`
   fi
   # Remove the leading and trailing slashes.
-  dirout=`echo ${dirout} | sed -e 's|^/||' -e 's|/$||g'`
+  dirout=`echo ${dirout} | sed -e 's|^/||' -e 's|/*:/*|:|' -e 's|/$||g'`
 
   # Use the OS directory names rather than the option names.
   if [ -n "${toosdirnames}" ]; then
     osdirout=`echo ${combo} | sed ${toosdirnames}`
     # Remove the leading and trailing slashes.
-    osdirout=`echo ${osdirout} | sed -e 's|^/||' -e 's|/$||g'`
+    osdirout=`echo ${osdirout} | sed -e 's|^/||' -e 's|/*:/*|:|' -e 's|/$||g'`
     if [ "x${enable_multilib}" != xyes ]; then
       dirout=".:${osdirout}"
       disable_multilib=yes
index 3ff64ff..f0a4d81 100644 (file)
@@ -308,7 +308,7 @@ struct ptr_data
   enum gt_types_enum type;
 };
 
-#define POINTER_HASH(x) (hashval_t)((long)x >> 3)
+#define POINTER_HASH(x) (hashval_t)((intptr_t)x >> 3)
 
 /* Register an object in the hash table.  */
 
index ee796cb..9e6800d 100644 (file)
@@ -2164,31 +2164,31 @@ ggc_print_statistics (void)
   {
     fprintf (stderr, "\nTotal allocations and overheads during the compilation process\n");
 
-    fprintf (stderr, "Total Overhead:                        %10lld\n",
+    fprintf (stderr, "Total Overhead:                        %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_overhead);
-    fprintf (stderr, "Total Allocated:                       %10lld\n",
+    fprintf (stderr, "Total Allocated:                       %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_allocated);
 
-    fprintf (stderr, "Total Overhead  under  32B:            %10lld\n",
+    fprintf (stderr, "Total Overhead  under  32B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_overhead_under32);
-    fprintf (stderr, "Total Allocated under  32B:            %10lld\n",
+    fprintf (stderr, "Total Allocated under  32B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_allocated_under32);
-    fprintf (stderr, "Total Overhead  under  64B:            %10lld\n",
+    fprintf (stderr, "Total Overhead  under  64B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_overhead_under64);
-    fprintf (stderr, "Total Allocated under  64B:            %10lld\n",
+    fprintf (stderr, "Total Allocated under  64B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_allocated_under64);
-    fprintf (stderr, "Total Overhead  under 128B:            %10lld\n",
+    fprintf (stderr, "Total Overhead  under 128B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_overhead_under128);
-    fprintf (stderr, "Total Allocated under 128B:            %10lld\n",
+    fprintf (stderr, "Total Allocated under 128B:            %10" HOST_LONG_LONG_FORMAT "d\n",
              G.stats.total_allocated_under128);
 
     for (i = 0; i < NUM_ORDERS; i++)
       if (G.stats.total_allocated_per_order[i])
         {
-          fprintf (stderr, "Total Overhead  page size %7lu:     %10lld\n",
+          fprintf (stderr, "Total Overhead  page size %7lu:     %10" HOST_LONG_LONG_FORMAT "d\n",
                    (unsigned long) OBJECT_SIZE (i),
                   G.stats.total_overhead_per_order[i]);
-          fprintf (stderr, "Total Allocated page size %7lu:     %10lld\n",
+          fprintf (stderr, "Total Allocated page size %7lu:     %10" HOST_LONG_LONG_FORMAT "d\n",
                    (unsigned long) OBJECT_SIZE (i),
                   G.stats.total_allocated_per_order[i]);
         }
index 5980854..0210ccf 100644 (file)
@@ -115,7 +115,8 @@ can_refer_decl_in_current_unit_p (tree decl)
 tree
 canonicalize_constructor_val (tree cval)
 {
-  STRIP_USELESS_TYPE_CONVERSION (cval);
+  tree orig_cval = cval;
+  STRIP_NOPS (cval);
   if (TREE_CODE (cval) == POINTER_PLUS_EXPR
       && TREE_CODE (TREE_OPERAND (cval, 1)) == INTEGER_CST)
     {
@@ -146,8 +147,12 @@ canonicalize_constructor_val (tree cval)
       /* Fixup types in global initializers.  */
       if (TREE_TYPE (TREE_TYPE (cval)) != TREE_TYPE (TREE_OPERAND (cval, 0)))
        cval = build_fold_addr_expr (TREE_OPERAND (cval, 0));
+
+      if (!useless_type_conversion_p (TREE_TYPE (orig_cval), TREE_TYPE (cval)))
+       cval = fold_convert (TREE_TYPE (orig_cval), cval);
+      return cval;
     }
-  return cval;
+  return orig_cval;
 }
 
 /* If SYM is a constant variable with known value, return the value.
@@ -567,7 +572,7 @@ gimplify_and_update_call_from_tree (gimple_stmt_iterator *si_p, tree expr)
              unlink_stmt_vdef (stmt);
              release_defs (stmt);
            }
-         gsi_remove (si_p, true);
+         gsi_replace (si_p, gimple_build_nop (), true);
          return;
        }
     }
index f6deba1..293d4d7 100644 (file)
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "diagnostic-core.h"
 #include "tree-pass.h"
+#include "langhooks.h"
 
 /* The differences between High GIMPLE and Low GIMPLE are the
    following:
@@ -240,15 +241,17 @@ gimple_check_call_args (gimple stmt, tree fndecl)
           i < nargs;
           i++, p = DECL_CHAIN (p))
        {
+         tree arg;
          /* We cannot distinguish a varargs function from the case
             of excess parameters, still deferring the inlining decision
             to the callee is possible.  */
          if (!p)
            break;
+         arg = gimple_call_arg (stmt, i);
          if (p == error_mark_node
-             || gimple_call_arg (stmt, i) == error_mark_node
-             || !fold_convertible_p (DECL_ARG_TYPE (p),
-                                     gimple_call_arg (stmt, i)))
+             || arg == error_mark_node
+             || (!types_compatible_p (DECL_ARG_TYPE (p), TREE_TYPE (arg))
+                 && !fold_convertible_p (DECL_ARG_TYPE (p), arg)))
             return false;
        }
     }
@@ -256,15 +259,17 @@ gimple_check_call_args (gimple stmt, tree fndecl)
     {
       for (i = 0, p = parms; i < nargs; i++, p = TREE_CHAIN (p))
        {
+         tree arg;
          /* If this is a varargs function defer inlining decision
             to callee.  */
          if (!p)
            break;
+         arg = gimple_call_arg (stmt, i);
          if (TREE_VALUE (p) == error_mark_node
-             || gimple_call_arg (stmt, i) == error_mark_node
+             || arg == error_mark_node
              || TREE_CODE (TREE_VALUE (p)) == VOID_TYPE
-             || !fold_convertible_p (TREE_VALUE (p),
-                                     gimple_call_arg (stmt, i)))
+             || (!types_compatible_p (TREE_VALUE (p), TREE_TYPE (arg))
+                 && !fold_convertible_p (TREE_VALUE (p), arg)))
             return false;
        }
     }
@@ -680,8 +685,14 @@ block_may_fallthru (const_tree block)
     case CLEANUP_POINT_EXPR:
       return block_may_fallthru (TREE_OPERAND (stmt, 0));
 
-    default:
+    case TARGET_EXPR:
+      return block_may_fallthru (TREE_OPERAND (stmt, 1));
+
+    case ERROR_MARK:
       return true;
+
+    default:
+      return lang_hooks.block_may_fallthru (stmt);
     }
 }
 
index 79596a4..1be04ae 100644 (file)
@@ -5464,16 +5464,61 @@ gimple_decl_printable_name (tree decl, int verbosity)
   return IDENTIFIER_POINTER (DECL_NAME (decl));
 }
 
-/* Return true when STMT is builtins call to CODE.  */
+/* Return true when STMTs arguments match those of FNDECL.  */
+
+static bool
+validate_call (gimple stmt, tree fndecl)
+{
+  tree arg, targs = TYPE_ARG_TYPES (TREE_TYPE (fndecl));
+  unsigned nargs = gimple_call_num_args (stmt);
+  unsigned i;
+  for (i = 0; i < nargs; ++i)
+    {
+      /* Variadic args follow.  */
+      if (!targs)
+       return true;
+      arg = gimple_call_arg (stmt, i);
+      if (INTEGRAL_TYPE_P (TREE_TYPE (arg))
+         && INTEGRAL_TYPE_P (TREE_VALUE (targs)))
+       ;
+      else if (POINTER_TYPE_P (TREE_TYPE (arg))
+              && POINTER_TYPE_P (TREE_VALUE (targs)))
+       ;
+      else if (TREE_CODE (TREE_TYPE (arg))
+              != TREE_CODE (TREE_VALUE (targs)))
+       return false;
+      targs = TREE_CHAIN (targs);
+    }
+  if (targs && !VOID_TYPE_P (TREE_VALUE (targs)))
+    return false;
+  return true;
+}
+
+/* Return true when STMT is builtins call to CLASS.  */
+
+bool
+gimple_call_builtin_class_p (gimple stmt, enum built_in_class klass)
+{
+  tree fndecl;
+  if (is_gimple_call (stmt)
+      && (fndecl = gimple_call_fndecl (stmt)) != NULL_TREE
+      && DECL_BUILT_IN_CLASS (fndecl) == klass)
+    return validate_call (stmt, fndecl);
+  return false;
+}
+
+/* Return true when STMT is builtins call to CODE of CLASS.  */
 
 bool
 gimple_call_builtin_p (gimple stmt, enum built_in_function code)
 {
   tree fndecl;
-  return (is_gimple_call (stmt)
-         && (fndecl = gimple_call_fndecl (stmt)) != NULL
-         && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL
-         && DECL_FUNCTION_CODE (fndecl) == code);
+  if (is_gimple_call (stmt)
+      && (fndecl = gimple_call_fndecl (stmt)) != NULL_TREE
+      && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL 
+      && DECL_FUNCTION_CODE (fndecl) == code)
+    return validate_call (stmt, fndecl);
+  return false;
 }
 
 /* Return true if STMT clobbers memory.  STMT is required to be a
index 7f07551..97eec59 100644 (file)
@@ -1023,6 +1023,7 @@ extern bool walk_stmt_load_store_ops (gimple, void *,
                                      bool (*)(gimple, tree, void *),
                                      bool (*)(gimple, tree, void *));
 extern bool gimple_ior_addresses_taken (bitmap, gimple);
+extern bool gimple_call_builtin_class_p (gimple, enum built_in_class);
 extern bool gimple_call_builtin_p (gimple, enum built_in_function);
 extern bool gimple_asm_clobbers_memory_p (const_gimple);
 
@@ -1087,6 +1088,24 @@ struct gimplify_ctx
   bool in_cleanup_point_expr;
 };
 
+/* Return true if gimplify_one_sizepos doesn't need to gimplify
+   expr (when in TYPE_SIZE{,_UNIT} and similar type/decl size/bitsize
+   fields).  */
+static inline bool
+is_gimple_sizepos (tree expr)
+{
+  /* gimplify_one_sizepos doesn't need to do anything if the value isn't there,
+     is constant, or contains A PLACEHOLDER_EXPR.  We also don't want to do
+     anything if it's already a VAR_DECL.  If it's a VAR_DECL from another
+     function, the gimplifier will want to replace it with a new variable,
+     but that will cause problems if this type is from outside the function.
+     It's OK to have that here.  */
+  return (expr == NULL_TREE
+         || TREE_CONSTANT (expr)
+         || TREE_CODE (expr) == VAR_DECL
+         || CONTAINS_PLACEHOLDER_P (expr));
+}                                        
+
 extern enum gimplify_status gimplify_expr (tree *, gimple_seq *, gimple_seq *,
                                           bool (*) (tree), fallback_t);
 extern void gimplify_type_sizes (tree, gimple_seq *);
index a10d17e..531565e 100644 (file)
@@ -119,6 +119,19 @@ mark_addressable (tree x)
       && TREE_CODE (x) != RESULT_DECL)
     return;
   TREE_ADDRESSABLE (x) = 1;
+
+  /* Also mark the artificial SSA_NAME that points to the partition of X.  */
+  if (TREE_CODE (x) == VAR_DECL
+      && !DECL_EXTERNAL (x)
+      && !TREE_STATIC (x)
+      && cfun->gimple_df != NULL
+      && cfun->gimple_df->decls_to_pointers != NULL)
+    {
+      void *namep
+       = pointer_map_contains (cfun->gimple_df->decls_to_pointers, x); 
+      if (namep)
+       TREE_ADDRESSABLE (*(tree *)namep) = 1;
+    }
 }
 
 /* Return a hash value for a formal temporary table entry.  */
@@ -7935,9 +7948,7 @@ gimplify_one_sizepos (tree *expr_p, gimple_seq *stmt_p)
      a VAR_DECL.  If it's a VAR_DECL from another function, the gimplifier
      will want to replace it with a new variable, but that will cause problems
      if this type is from outside the function.  It's OK to have that here.  */
-  if (expr == NULL_TREE || TREE_CONSTANT (expr)
-      || TREE_CODE (expr) == VAR_DECL
-      || CONTAINS_PLACEHOLDER_P (expr))
+  if (is_gimple_sizepos (expr))
     return;
 
   type = TREE_TYPE (expr);
index cce981c..149db5a 100644 (file)
@@ -1,3 +1,22 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-10-30  Ian Lance Taylor  <iant@google.com>
+
+       * lang.opt (-fgo-relative-import-path): New option.
+       * go-lang.c (go_relative_import_path): New static variable.
+       (go_langhook_init): Pass go_relative_import_path to
+       go_create_gogo.
+       (go_langhook_handle_option): Handle -fgo-relative-import-path.
+       * go-c.h (go_create_gogo): Update declaration.
+       * gccgo.texi (Invoking gccgo): Document
+       -fgo-relative-import-path.
+
+2012-09-20  Ian Lance Taylor  <iant@google.com>
+
+       * Make-lang.in (go/gogo.o): Depend on filenames.h.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 34e5584..b3cb2bd 100644 (file)
@@ -289,10 +289,11 @@ go/gogo-tree.o: go/gofrontend/gogo-tree.cc $(GO_SYSTEM_H) $(TOPLEV_H) \
        convert.h output.h $(DIAGNOSTIC_H) $(GO_TYPES_H) \
        $(GO_EXPRESSIONS_H) $(GO_STATEMENTS_H) $(GO_RUNTIME_H) \
        go/gofrontend/backend.h $(GO_GOGO_H)
-go/gogo.o: go/gofrontend/gogo.cc $(GO_SYSTEM_H) $(GO_C_H) \
-       go/gofrontend/go-dump.h $(GO_LEX_H) $(GO_TYPES_H) $(GO_STATEMENTS_H) \
-       $(GO_EXPRESSIONS_H) go/gofrontend/dataflow.h $(GO_RUNTIME_H) \
-       $(GO_IMPORT_H) $(GO_EXPORT_H) go/gofrontend/backend.h $(GO_GOGO_H)
+go/gogo.o: go/gofrontend/gogo.cc $(GO_SYSTEM_H) \
+       $(srcdir)/../include/filenames.h $(GO_C_H) go/gofrontend/go-dump.h \
+       $(GO_LEX_H) $(GO_TYPES_H) $(GO_STATEMENTS_H) $(GO_EXPRESSIONS_H) \
+       go/gofrontend/dataflow.h $(GO_RUNTIME_H) $(GO_IMPORT_H) \
+       $(GO_EXPORT_H) go/gofrontend/backend.h $(GO_GOGO_H)
 go/import.o: go/gofrontend/import.cc $(GO_SYSTEM_H) \
        $(srcdir)/../include/filenames.h $(srcdir)/../include/simple-object.h \
        $(GO_C_H) $(GO_GOGO_H) $(GO_LEX_H) $(GO_TYPES_H) $(GO_EXPORT_H) \
index a5e37e7..91930c8 100644 (file)
@@ -184,6 +184,12 @@ Using either @option{-fgo-pkgpath} or @option{-fgo-prefix} disables
 the special treatment of the @code{main} package and permits that
 package to be imported like any other.
 
+@item -fgo-relative-import-path=@var{dir}
+@cindex @option{-fgo-relative-import-path}
+A relative import is an import that starts with @file{./} or
+@file{../}.  If this option is used, @command{gccgo} will use
+@var{dir} as a prefix for the relative import when searching for it.
+
 @item -frequire-return-statement
 @itemx -fno-require-return-statement
 @cindex @option{-frequire-return-statement}
index d46a087..ea59fb6 100644 (file)
@@ -42,7 +42,8 @@ extern int go_enable_optimize (const char*);
 extern void go_add_search_path (const char*);
 
 extern void go_create_gogo (int int_type_size, int pointer_size,
-                           const char* pkgpath, const char *prefix);
+                           const char* pkgpath, const char *prefix,
+                           const char *relative_import_path);
 
 extern void go_parse_input_files (const char**, unsigned int,
                                  bool only_check_syntax,
index f02f769..61ca147 100644 (file)
@@ -85,6 +85,7 @@ struct GTY(()) language_function
 
 static const char *go_pkgpath = NULL;
 static const char *go_prefix = NULL;
+static const char *go_relative_import_path = NULL;
 
 /* Language hooks.  */
 
@@ -101,7 +102,8 @@ go_langhook_init (void)
      to, e.g., unsigned_char_type_node) but before calling
      build_common_builtin_nodes (because it calls, indirectly,
      go_type_for_size).  */
-  go_create_gogo (INT_TYPE_SIZE, POINTER_SIZE, go_pkgpath, go_prefix);
+  go_create_gogo (INT_TYPE_SIZE, POINTER_SIZE, go_pkgpath, go_prefix,
+                 go_relative_import_path);
 
   build_common_builtin_nodes ();
 
@@ -240,6 +242,10 @@ go_langhook_handle_option (
       go_prefix = arg;
       break;
 
+    case OPT_fgo_relative_import_path_:
+      go_relative_import_path = arg;
+      break;
+
     default:
       /* Just return 1 to indicate that the option is valid.  */
       break;
index f57ca41..e16cd84 100644 (file)
@@ -89,10 +89,11 @@ Expression::do_traverse(Traverse*)
 // expression is being discarded.  By default, we give an error.
 // Expressions with side effects override.
 
-void
+bool
 Expression::do_discarding_value()
 {
   this->unused_value_error();
+  return false;
 }
 
 // This virtual function is called to export expressions.  This will
@@ -109,7 +110,7 @@ Expression::do_export(Export*) const
 void
 Expression::unused_value_error()
 {
-  error_at(this->location(), "value computed is not used");
+  this->report_error(_("value computed is not used"));
 }
 
 // Note that this expression is an error.  This is called by children
@@ -301,19 +302,25 @@ Expression::convert_type_to_interface(Translate_context* context,
       // object type: a list of function pointers for each interface
       // method.
       Named_type* rhs_named_type = rhs_type->named_type();
+      Struct_type* rhs_struct_type = rhs_type->struct_type();
       bool is_pointer = false;
-      if (rhs_named_type == NULL)
+      if (rhs_named_type == NULL && rhs_struct_type == NULL)
        {
          rhs_named_type = rhs_type->deref()->named_type();
+         rhs_struct_type = rhs_type->deref()->struct_type();
          is_pointer = true;
        }
       tree method_table;
-      if (rhs_named_type == NULL)
-       method_table = null_pointer_node;
-      else
+      if (rhs_named_type != NULL)
        method_table =
          rhs_named_type->interface_method_table(gogo, lhs_interface_type,
                                                 is_pointer);
+      else if (rhs_struct_type != NULL)
+       method_table =
+         rhs_struct_type->interface_method_table(gogo, lhs_interface_type,
+                                                 is_pointer);
+      else
+       method_table = null_pointer_node;
       first_field_value = fold_convert_loc(location.gcc_location(),
                                            const_ptr_type_node, method_table);
     }
@@ -783,9 +790,9 @@ class Error_expression : public Expression
     return true;
   }
 
-  void
+  bool
   do_discarding_value()
-  { }
+  { return true; }
 
   Type*
   do_type()
@@ -1146,9 +1153,9 @@ class Sink_expression : public Expression
   { }
 
  protected:
-  void
+  bool
   do_discarding_value()
-  { }
+  { return true; }
 
   Type*
   do_type();
@@ -5184,6 +5191,9 @@ Binary_expression::lower_struct_comparison(Gogo* gogo,
        pf != fields->end();
        ++pf, ++field_index)
     {
+      if (Gogo::is_sink_name(pf->field_name()))
+       continue;
+
       if (field_index > 0)
        {
          if (left_temp == NULL)
@@ -5314,13 +5324,19 @@ Binary_expression::do_numeric_constant_value(Numeric_constant* nc) const
 
 // Note that the value is being discarded.
 
-void
+bool
 Binary_expression::do_discarding_value()
 {
   if (this->op_ == OPERATOR_OROR || this->op_ == OPERATOR_ANDAND)
-    this->right_->discarding_value();
+    {
+      this->right_->discarding_value();
+      return true;
+    }
   else
-    this->unused_value_error();
+    {
+      this->unused_value_error();
+      return false;
+    }
 }
 
 // Get type.
@@ -5450,7 +5466,8 @@ Binary_expression::do_determine_type(const Type_context* context)
          && (this->left_->type()->integer_type() == NULL
              || (subcontext.type->integer_type() == NULL
                  && subcontext.type->float_type() == NULL
-                 && subcontext.type->complex_type() == NULL)))
+                 && subcontext.type->complex_type() == NULL
+                 && subcontext.type->interface_type() == NULL)))
        this->report_error(("invalid context-determined non-integer type "
                            "for shift operand"));
 
@@ -6518,7 +6535,7 @@ class Builtin_call_expression : public Call_expression
   bool
   do_numeric_constant_value(Numeric_constant*) const;
 
-  void
+  bool
   do_discarding_value();
 
   Type*
@@ -6682,38 +6699,6 @@ Builtin_call_expression::do_set_recover_arg(Expression* arg)
   this->set_args(new_args);
 }
 
-// A traversal class which looks for a call expression.
-
-class Find_call_expression : public Traverse
-{
- public:
-  Find_call_expression()
-    : Traverse(traverse_expressions),
-      found_(false)
-  { }
-
-  int
-  expression(Expression**);
-
-  bool
-  found()
-  { return this->found_; }
-
- private:
-  bool found_;
-};
-
-int
-Find_call_expression::expression(Expression** pexpr)
-{
-  if ((*pexpr)->call_expression() != NULL)
-    {
-      this->found_ = true;
-      return TRAVERSE_EXIT;
-    }
-  return TRAVERSE_CONTINUE;
-}
-
 // Lower a builtin call expression.  This turns new and make into
 // specific expressions.  We also convert to a constant if we can.
 
@@ -6734,20 +6719,6 @@ Builtin_call_expression::do_lower(Gogo* gogo, Named_object* function,
 
   if (this->is_constant())
     {
-      // We can only lower len and cap if there are no function calls
-      // in the arguments.  Otherwise we have to make the call.
-      if (this->code_ == BUILTIN_LEN || this->code_ == BUILTIN_CAP)
-       {
-         Expression* arg = this->one_arg();
-         if (arg != NULL && !arg->is_constant())
-           {
-             Find_call_expression find_call;
-             Expression::traverse(&arg, &find_call);
-             if (find_call.found())
-               return this;
-           }
-       }
-
       Numeric_constant nc;
       if (this->numeric_constant_value(&nc))
        return nc.expression(loc);
@@ -7064,8 +7035,42 @@ Builtin_call_expression::one_arg() const
   return args->front();
 }
 
-// Return whether this is constant: len of a string, or len or cap of
-// a fixed array, or unsafe.Sizeof, unsafe.Offsetof, unsafe.Alignof.
+// A traversal class which looks for a call or receive expression.
+
+class Find_call_expression : public Traverse
+{
+ public:
+  Find_call_expression()
+    : Traverse(traverse_expressions),
+      found_(false)
+  { }
+
+  int
+  expression(Expression**);
+
+  bool
+  found()
+  { return this->found_; }
+
+ private:
+  bool found_;
+};
+
+int
+Find_call_expression::expression(Expression** pexpr)
+{
+  if ((*pexpr)->call_expression() != NULL
+      || (*pexpr)->receive_expression() != NULL)
+    {
+      this->found_ = true;
+      return TRAVERSE_EXIT;
+    }
+  return TRAVERSE_CONTINUE;
+}
+
+// Return whether this is constant: len of a string constant, or len
+// or cap of an array, or unsafe.Sizeof, unsafe.Offsetof,
+// unsafe.Alignof.
 
 bool
 Builtin_call_expression::do_is_constant() const
@@ -7088,6 +7093,17 @@ Builtin_call_expression::do_is_constant() const
            && !arg_type->points_to()->is_slice_type())
          arg_type = arg_type->points_to();
 
+       // The len and cap functions are only constant if there are no
+       // function calls or channel operations in the arguments.
+       // Otherwise we have to make the call.
+       if (!arg->is_constant())
+         {
+           Find_call_expression find_call;
+           Expression::traverse(&arg, &find_call);
+           if (find_call.found())
+             return false;
+         }
+
        if (arg_type->array_type() != NULL
            && arg_type->array_type()->length() != NULL)
          return true;
@@ -7321,7 +7337,7 @@ Builtin_call_expression::do_numeric_constant_value(Numeric_constant* nc) const
 // discarding the value of an ordinary function call, but we do for
 // builtin functions, purely for consistency with the gc compiler.
 
-void
+bool
 Builtin_call_expression::do_discarding_value()
 {
   switch (this->code_)
@@ -7342,7 +7358,7 @@ Builtin_call_expression::do_discarding_value()
     case BUILTIN_OFFSETOF:
     case BUILTIN_SIZEOF:
       this->unused_value_error();
-      break;
+      return false;
 
     case BUILTIN_CLOSE:
     case BUILTIN_COPY:
@@ -7351,7 +7367,7 @@ Builtin_call_expression::do_discarding_value()
     case BUILTIN_PRINT:
     case BUILTIN_PRINTLN:
     case BUILTIN_RECOVER:
-      break;
+      return true;
     }
 }
 
@@ -7474,7 +7490,7 @@ Builtin_call_expression::do_determine_type(const Type_context* context)
        if (args != NULL && args->size() == 2)
          {
            Type* t1 = args->front()->type();
-           Type* t2 = args->front()->type();
+           Type* t2 = args->back()->type();
            if (!t1->is_abstract())
              arg_type = t1;
            else if (!t2->is_abstract())
@@ -8497,6 +8513,16 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function,
     return Expression::make_cast(this->fn_->type(), this->args_->front(),
                                 loc);
 
+  // Because do_type will return an error type and thus prevent future
+  // errors, check for that case now to ensure that the error gets
+  // reported.
+  if (this->get_function_type() == NULL)
+    {
+      if (!this->fn_->type()->is_error())
+       this->report_error(_("expected function"));
+      return Expression::make_error(loc);
+    }
+
   // Recognize a call to a builtin function.
   Func_expression* fne = this->fn_->func_expression();
   if (fne != NULL
@@ -9186,6 +9212,9 @@ Call_expression::do_get_tree(Translate_context* context)
        }
     }
 
+  if (func == NULL)
+    fn = save_expr(fn);
+
   tree ret = build_call_array(excess_type != NULL_TREE ? excess_type : rettype,
                              fn, nargs, args);
   delete[] args;
@@ -9219,6 +9248,24 @@ Call_expression::do_get_tree(Translate_context* context)
   if (this->results_ != NULL)
     ret = this->set_results(context, ret);
 
+  // We can't unwind the stack past a call to nil, so we need to
+  // insert an explicit check so that the panic can be recovered.
+  if (func == NULL)
+    {
+      tree compare = fold_build2_loc(location.gcc_location(), EQ_EXPR,
+                                    boolean_type_node, fn,
+                                    fold_convert_loc(location.gcc_location(),
+                                                     TREE_TYPE(fn),
+                                                     null_pointer_node));
+      tree crash = build3_loc(location.gcc_location(), COND_EXPR,
+                             void_type_node, compare,
+                             gogo->runtime_error(RUNTIME_ERROR_NIL_DEREFERENCE,
+                                                 location),
+                             NULL_TREE);
+      ret = fold_build2_loc(location.gcc_location(), COMPOUND_EXPR,
+                           TREE_TYPE(ret), crash, ret);
+    }
+
   this->tree_ = ret;
 
   return ret;
@@ -14070,7 +14117,7 @@ Numeric_constant::check_int_type(Integer_type* type, bool issue_error,
 
 bool
 Numeric_constant::check_float_type(Float_type* type, bool issue_error,
-                                  Location location) const
+                                  Location location)
 {
   mpfr_t val;
   switch (this->classification_)
@@ -14123,6 +14170,29 @@ Numeric_constant::check_float_type(Float_type* type, bool issue_error,
        }
 
       ret = exp <= max_exp;
+
+      if (ret)
+       {
+         // Round the constant to the desired type.
+         mpfr_t t;
+         mpfr_init(t);
+         switch (type->bits())
+           {
+           case 32:
+             mpfr_set_prec(t, 24);
+             break;
+           case 64:
+             mpfr_set_prec(t, 53);
+             break;
+           default:
+             go_unreachable();
+           }
+         mpfr_set(t, val, GMP_RNDN);
+         mpfr_set(val, t, GMP_RNDN);
+         mpfr_clear(t);
+
+         this->set_float(type, val);
+       }
     }
 
   mpfr_clear(val);
@@ -14137,7 +14207,7 @@ Numeric_constant::check_float_type(Float_type* type, bool issue_error,
 
 bool
 Numeric_constant::check_complex_type(Complex_type* type, bool issue_error,
-                                    Location location) const
+                                    Location location)
 {
   if (type->is_abstract())
     return true;
@@ -14156,46 +14226,77 @@ Numeric_constant::check_complex_type(Complex_type* type, bool issue_error,
     }
 
   mpfr_t real;
+  mpfr_t imag;
   switch (this->classification_)
     {
     case NC_INT:
     case NC_RUNE:
       mpfr_init_set_z(real, this->u_.int_val, GMP_RNDN);
+      mpfr_init_set_ui(imag, 0, GMP_RNDN);
       break;
 
     case NC_FLOAT:
       mpfr_init_set(real, this->u_.float_val, GMP_RNDN);
+      mpfr_init_set_ui(imag, 0, GMP_RNDN);
       break;
 
     case NC_COMPLEX:
-      if (!mpfr_nan_p(this->u_.complex_val.imag)
-         && !mpfr_inf_p(this->u_.complex_val.imag)
-         && !mpfr_zero_p(this->u_.complex_val.imag))
-       {
-         if (mpfr_get_exp(this->u_.complex_val.imag) > max_exp)
-           {
-             if (issue_error)
-               error_at(location, "complex imaginary part overflow");
-             return false;
-           }
-       }
       mpfr_init_set(real, this->u_.complex_val.real, GMP_RNDN);
+      mpfr_init_set(imag, this->u_.complex_val.imag, GMP_RNDN);
       break;
 
     default:
       go_unreachable();
     }
 
-  bool ret;
-  if (mpfr_nan_p(real) || mpfr_inf_p(real) || mpfr_zero_p(real))
-    ret = true;
-  else
-    ret = mpfr_get_exp(real) <= max_exp;
+  bool ret = true;
+  if (!mpfr_nan_p(real)
+      && !mpfr_inf_p(real)
+      && !mpfr_zero_p(real)
+      && mpfr_get_exp(real) > max_exp)
+    {
+      if (issue_error)
+       error_at(location, "complex real part overflow");
+      ret = false;
+    }
 
-  mpfr_clear(real);
+  if (!mpfr_nan_p(imag)
+      && !mpfr_inf_p(imag)
+      && !mpfr_zero_p(imag)
+      && mpfr_get_exp(imag) > max_exp)
+    {
+      if (issue_error)
+       error_at(location, "complex imaginary part overflow");
+      ret = false;
+    }
 
-  if (!ret && issue_error)
-    error_at(location, "complex real part overflow");
+  if (ret)
+    {
+      // Round the constant to the desired type.
+      mpfr_t t;
+      mpfr_init(t);
+      switch (type->bits())
+       {
+       case 64:
+         mpfr_set_prec(t, 24);
+         break;
+       case 128:
+         mpfr_set_prec(t, 53);
+         break;
+       default:
+         go_unreachable();
+       }
+      mpfr_set(t, real, GMP_RNDN);
+      mpfr_set(real, t, GMP_RNDN);
+      mpfr_set(t, imag, GMP_RNDN);
+      mpfr_set(imag, t, GMP_RNDN);
+      mpfr_clear(t);
+
+      this->set_complex(type, real, imag);
+    }
+
+  mpfr_clear(real);
+  mpfr_clear(imag);
 
   return ret;
 }
index eea141f..1b74b80 100644 (file)
@@ -360,10 +360,11 @@ class Expression
 
   // This is called if the value of this expression is being
   // discarded.  This issues warnings about computed values being
-  // unused.
-  void
+  // unused.  This returns true if all is well, false if it issued an
+  // error message.
+  bool
   discarding_value()
-  { this->do_discarding_value(); }
+  { return this->do_discarding_value(); }
 
   // Return whether this is an error expression.
   bool
@@ -689,7 +690,7 @@ class Expression
   { return false; }
 
   // Called by the parser if the value is being discarded.
-  virtual void
+  virtual bool
   do_discarding_value();
 
   // Child class holds type.
@@ -1205,7 +1206,7 @@ class Binary_expression : public Expression
   bool
   do_numeric_constant_value(Numeric_constant*) const;
 
-  void
+  bool
   do_discarding_value();
 
   Type*
@@ -1373,9 +1374,9 @@ class Call_expression : public Expression
   virtual Expression*
   do_lower(Gogo*, Named_object*, Statement_inserter*, int);
 
-  void
+  bool
   do_discarding_value()
-  { }
+  { return true; }
 
   virtual Type*
   do_type();
@@ -2051,9 +2052,9 @@ class Receive_expression : public Expression
   do_traverse(Traverse* traverse)
   { return Expression::traverse(&this->channel_, traverse); }
 
-  void
+  bool
   do_discarding_value()
-  { }
+  { return true; }
 
   Type*
   do_type();
@@ -2219,10 +2220,10 @@ class Numeric_constant
   check_int_type(Integer_type*, bool, Location) const;
 
   bool
-  check_float_type(Float_type*, bool, Location) const;
+  check_float_type(Float_type*, bool, Location);
 
   bool
-  check_complex_type(Complex_type*, bool, Location) const;
+  check_complex_type(Complex_type*, bool, Location);
 
   // The kinds of constants.
   enum Classification
index 1f2ce8a..11692af 100644 (file)
@@ -21,7 +21,7 @@ static Gogo* gogo;
 GO_EXTERN_C
 void
 go_create_gogo(int int_type_size, int pointer_size, const char *pkgpath,
-              const char *prefix)
+              const char *prefix, const char *relative_import_path)
 {
   go_assert(::gogo == NULL);
   Linemap* linemap = go_get_linemap();
@@ -32,6 +32,9 @@ go_create_gogo(int int_type_size, int pointer_size, const char *pkgpath,
   else if (prefix != NULL)
     ::gogo->set_prefix(prefix);
 
+  if (relative_import_path != NULL)
+    ::gogo->set_relative_import_path(relative_import_path);
+
   // FIXME: This should be in the gcc dependent code.
   ::gogo->define_builtin_function_trees();
 }
index c746b9b..ad38e59 100644 (file)
@@ -1002,9 +1002,19 @@ Named_object::get_id(Gogo* gogo)
     }
   if (this->is_type())
     {
-      const Named_object* in_function = this->type_value()->in_function();
+      unsigned int index;
+      const Named_object* in_function = this->type_value()->in_function(&index);
       if (in_function != NULL)
-       decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
+       {
+         decl_name += '$' + Gogo::unpack_hidden_name(in_function->name());
+         if (index > 0)
+           {
+             char buf[30];
+             snprintf(buf, sizeof buf, "%u", index);
+             decl_name += '$';
+             decl_name += buf;
+           }
+       }
     }
   return get_identifier_from_string(decl_name);
 }
@@ -2133,8 +2143,7 @@ Gogo::slice_constructor(tree slice_type_tree, tree values, tree count,
 
 tree
 Gogo::interface_method_table_for_type(const Interface_type* interface,
-                                     Named_type* type,
-                                     bool is_pointer)
+                                     Type* type, bool is_pointer)
 {
   const Typed_identifier_list* interface_methods = interface->methods();
   go_assert(!interface_methods->empty());
@@ -2163,7 +2172,9 @@ Gogo::interface_method_table_for_type(const Interface_type* interface,
   // interface.  If the interface has hidden methods, and the named
   // type is defined in a different package, then the interface
   // conversion table will be defined by that other package.
-  if (has_hidden_methods && type->named_object()->package() != NULL)
+  if (has_hidden_methods
+      && type->named_type() != NULL
+      && type->named_type()->named_object()->package() != NULL)
     {
       tree array_type = build_array_type(const_ptr_type_node, NULL);
       tree decl = build_decl(BUILTINS_LOCATION, VAR_DECL, id, array_type);
@@ -2191,13 +2202,20 @@ Gogo::interface_method_table_for_type(const Interface_type* interface,
                                               Linemap::predeclared_location());
   elt->value = fold_convert(const_ptr_type_node, tdp);
 
+  Named_type* nt = type->named_type();
+  Struct_type* st = type->struct_type();
+  go_assert(nt != NULL || st != NULL);
   size_t i = 1;
   for (Typed_identifier_list::const_iterator p = interface_methods->begin();
        p != interface_methods->end();
        ++p, ++i)
     {
       bool is_ambiguous;
-      Method* m = type->method_function(p->name(), &is_ambiguous);
+      Method* m;
+      if (nt != NULL)
+       m = nt->method_function(p->name(), &is_ambiguous);
+      else
+       m = st->method_function(p->name(), &is_ambiguous);
       go_assert(m != NULL);
 
       Named_object* no = m->named_object();
index 6e9b8c1..c0aa496 100644 (file)
@@ -6,6 +6,8 @@
 
 #include "go-system.h"
 
+#include "filenames.h"
+
 #include "go-c.h"
 #include "go-dump.h"
 #include "lex.h"
@@ -42,6 +44,7 @@ Gogo::Gogo(Backend* backend, Linemap* linemap, int int_type_size,
     pkgpath_set_(false),
     pkgpath_from_option_(false),
     prefix_from_option_(false),
+    relative_import_path_(),
     verify_types_(),
     interface_types_(),
     specific_type_functions_(),
@@ -385,6 +388,57 @@ Gogo::import_package(const std::string& filename,
                     bool is_local_name_exported,
                     Location location)
 {
+  if (filename.empty())
+    {
+      error_at(location, "import path is empty");
+      return;
+    }
+
+  const char *pf = filename.data();
+  const char *pend = pf + filename.length();
+  while (pf < pend)
+    {
+      unsigned int c;
+      int adv = Lex::fetch_char(pf, &c);
+      if (adv == 0)
+       {
+         error_at(location, "import path contains invalid UTF-8 sequence");
+         return;
+       }
+      if (c == '\0')
+       {
+         error_at(location, "import path contains NUL");
+         return;
+       }
+      if (c < 0x20 || c == 0x7f)
+       {
+         error_at(location, "import path contains control character");
+         return;
+       }
+      if (c == '\\')
+       {
+         error_at(location, "import path contains backslash; use slash");
+         return;
+       }
+      if (Lex::is_unicode_space(c))
+       {
+         error_at(location, "import path contains space character");
+         return;
+       }
+      if (c < 0x7f && strchr("!\"#$%&'()*,:;<=>?[]^`{|}", c) != NULL)
+       {
+         error_at(location, "import path contains invalid character '%c'", c);
+         return;
+       }
+      pf += adv;
+    }
+
+  if (IS_ABSOLUTE_PATH(filename.c_str()))
+    {
+      error_at(location, "import path cannot be absolute path");
+      return;
+    }
+
   if (filename == "unsafe")
     {
       this->import_unsafe(local_name, is_local_name_exported, location);
@@ -424,7 +478,8 @@ Gogo::import_package(const std::string& filename,
       return;
     }
 
-  Import::Stream* stream = Import::open_package(filename, location);
+  Import::Stream* stream = Import::open_package(filename, location,
+                                               this->relative_import_path_);
   if (stream == NULL)
     {
       error_at(location, "import file %qs not found", filename.c_str());
@@ -1003,7 +1058,15 @@ Gogo::add_type(const std::string& name, Type* type, Location location)
   Named_object* no = this->current_bindings()->add_type(name, NULL, type,
                                                        location);
   if (!this->in_global_scope() && no->is_type())
-    no->type_value()->set_in_function(this->functions_.back().function);
+    {
+      Named_object* f = this->functions_.back().function;
+      unsigned int index;
+      if (f->is_function())
+       index = f->func_value()->new_local_type_index();
+      else
+       index = 0;
+      no->type_value()->set_in_function(f, index);
+    }
 }
 
 // Add a named type.
@@ -1025,7 +1088,12 @@ Gogo::declare_type(const std::string& name, Location location)
   if (!this->in_global_scope() && no->is_type_declaration())
     {
       Named_object* f = this->functions_.back().function;
-      no->type_declaration_value()->set_in_function(f);
+      unsigned int index;
+      if (f->is_function())
+       index = f->func_value()->new_local_type_index();
+      else
+       index = 0;
+      no->type_declaration_value()->set_in_function(f, index);
     }
   return no;
 }
@@ -2806,7 +2874,8 @@ int
 Build_method_tables::type(Type* type)
 {
   Named_type* nt = type->named_type();
-  if (nt != NULL)
+  Struct_type* st = type->struct_type();
+  if (nt != NULL || st != NULL)
     {
       for (std::vector<Interface_type*>::const_iterator p =
             this->interfaces_.begin();
@@ -2816,10 +2885,23 @@ Build_method_tables::type(Type* type)
          // We ask whether a pointer to the named type implements the
          // interface, because a pointer can implement more methods
          // than a value.
-         if ((*p)->implements_interface(Type::make_pointer_type(nt), NULL))
+         if (nt != NULL)
+           {
+             if ((*p)->implements_interface(Type::make_pointer_type(nt),
+                                            NULL))
+               {
+                 nt->interface_method_table(this->gogo_, *p, false);
+                 nt->interface_method_table(this->gogo_, *p, true);
+               }
+           }
+         else
            {
-             nt->interface_method_table(this->gogo_, *p, false);
-             nt->interface_method_table(this->gogo_, *p, true);
+             if ((*p)->implements_interface(Type::make_pointer_type(st),
+                                            NULL))
+               {
+                 st->interface_method_table(this->gogo_, *p, false);
+                 st->interface_method_table(this->gogo_, *p, true);
+               }
            }
        }
     }
@@ -2989,9 +3071,10 @@ Gogo::convert_named_types_in_bindings(Bindings* bindings)
 Function::Function(Function_type* type, Function* enclosing, Block* block,
                   Location location)
   : type_(type), enclosing_(enclosing), results_(NULL),
-    closure_var_(NULL), block_(block), location_(location), fndecl_(NULL),
-    defer_stack_(NULL), results_are_named_(false), calls_recover_(false),
-    is_recover_thunk_(false), has_recover_thunk_(false)
+    closure_var_(NULL), block_(block), location_(location), labels_(),
+    local_type_count_(0), fndecl_(NULL), defer_stack_(NULL),
+    results_are_named_(false), calls_recover_(false), is_recover_thunk_(false),
+    has_recover_thunk_(false)
 {
 }
 
@@ -4157,7 +4240,7 @@ Variable::determine_type()
          else if (type->is_call_multiple_result_type())
            {
              error_at(this->location_,
-                      "single variable set to multiple value function call");
+                      "single variable set to multiple-value function call");
              type = Type::make_error_type();
            }
 
@@ -4599,9 +4682,10 @@ Named_object::set_type_value(Named_type* named_type)
   go_assert(this->classification_ == NAMED_OBJECT_TYPE_DECLARATION);
   Type_declaration* td = this->u_.type_declaration;
   td->define_methods(named_type);
-  Named_object* in_function = td->in_function();
+  unsigned int index;
+  Named_object* in_function = td->in_function(&index);
   if (in_function != NULL)
-    named_type->set_in_function(in_function);
+    named_type->set_in_function(in_function, index);
   delete td;
   this->classification_ = NAMED_OBJECT_TYPE;
   this->u_.type_value = named_type;
index deb9968..cc707ad 100644 (file)
@@ -206,6 +206,17 @@ class Gogo
   pkgpath_from_option() const
   { return this->pkgpath_from_option_; }
 
+  // Return the relative import path as set from the command line.
+  // Returns an empty string if it was not set.
+  const std::string&
+  relative_import_path() const
+  { return this->relative_import_path_; }
+
+  // Set the relative import path from a command line option.
+  void
+  set_relative_import_path(const std::string& s)
+  {this->relative_import_path_ = s; }
+
   // Return the priority to use for the package we are compiling.
   // This is two more than the largest priority of any package we
   // import.
@@ -574,7 +585,7 @@ class Gogo
   // Build an interface method table for a type: a list of function
   // pointers, one for each interface method.  This returns a decl.
   tree
-  interface_method_table_for_type(const Interface_type*, Named_type*,
+  interface_method_table_for_type(const Interface_type*, Type*,
                                  bool is_pointer);
 
   // Return a tree which allocate SIZE bytes to hold values of type
@@ -732,6 +743,9 @@ class Gogo
   bool pkgpath_from_option_;
   // Whether an explicit prefix was set by -fgo-prefix.
   bool prefix_from_option_;
+  // The relative import path, from the -fgo-relative-import-path
+  // option.
+  std::string relative_import_path_;
   // A list of types to verify.
   std::vector<Type*> verify_types_;
   // A list of interface types defined while parsing.
@@ -963,6 +977,11 @@ class Function
   void
   check_labels() const;
 
+  // Note that a new local type has been added.  Return its index.
+  unsigned int
+  new_local_type_index()
+  { return this->local_type_count_++; }
+
   // Whether this function calls the predeclared recover function.
   bool
   calls_recover() const
@@ -1084,6 +1103,8 @@ class Function
   Location location_;
   // Labels defined or referenced in the function.
   Labels labels_;
+  // The number of local types defined in this function.
+  unsigned int local_type_count_;
   // The function decl.
   tree fndecl_;
   // The defer stack variable.  A pointer to this variable is used to
@@ -1638,8 +1659,8 @@ class Type_declaration
 {
  public:
   Type_declaration(Location location)
-    : location_(location), in_function_(NULL), methods_(),
-      issued_warning_(false)
+    : location_(location), in_function_(NULL), in_function_index_(0),
+      methods_(), issued_warning_(false)
   { }
 
   // Return the location.
@@ -1650,13 +1671,19 @@ class Type_declaration
   // Return the function in which this type is declared.  This will
   // return NULL for a type declared in global scope.
   Named_object*
-  in_function()
-  { return this->in_function_; }
+  in_function(unsigned int* pindex)
+  {
+    *pindex = this->in_function_index_;
+    return this->in_function_;
+  }
 
   // Set the function in which this type is declared.
   void
-  set_in_function(Named_object* f)
-  { this->in_function_ = f; }
+  set_in_function(Named_object* f, unsigned int index)
+  {
+    this->in_function_ = f;
+    this->in_function_index_ = index;
+  }
 
   // Add a method to this type.  This is used when methods are defined
   // before the type.
@@ -1689,6 +1716,8 @@ class Type_declaration
   // If this type is declared in a function, a pointer back to the
   // function in which it is defined.
   Named_object* in_function_;
+  // The index of this type in IN_FUNCTION_.
+  unsigned int in_function_index_;
   // Methods defined before the type is defined.
   Methods methods_;
   // True if we have issued a warning about a use of this type
index 9febf23..4913100 100644 (file)
@@ -41,6 +41,9 @@ go_add_search_path(const char* path)
 // When FILENAME is not an absolute path and does not start with ./ or
 // ../, we use the search path provided by -I and -L options.
 
+// When FILENAME does start with ./ or ../, we use
+// RELATIVE_IMPORT_PATH as a prefix.
+
 // When FILENAME does not exist, we try modifying FILENAME to find the
 // file.  We use the first of these which exists:
 //   * We append ".gox".
@@ -55,19 +58,35 @@ go_add_search_path(const char* path)
 // later in the search path.
 
 Import::Stream*
-Import::open_package(const std::string& filename, Location location)
+Import::open_package(const std::string& filename, Location location,
+                    const std::string& relative_import_path)
 {
   bool is_local;
   if (IS_ABSOLUTE_PATH(filename))
     is_local = true;
-  else if (filename[0] == '.' && IS_DIR_SEPARATOR(filename[1]))
+  else if (filename[0] == '.'
+          && (filename[1] == '\0' || IS_DIR_SEPARATOR(filename[1])))
     is_local = true;
   else if (filename[0] == '.'
           && filename[1] == '.'
-          && IS_DIR_SEPARATOR(filename[2]))
+          && (filename[2] == '\0' || IS_DIR_SEPARATOR(filename[2])))
     is_local = true;
   else
     is_local = false;
+
+  std::string fn = filename;
+  if (is_local && !IS_ABSOLUTE_PATH(filename) && !relative_import_path.empty())
+    {
+      if (fn == ".")
+       {
+         // A special case.
+         fn = relative_import_path;
+       }
+      else
+       fn = relative_import_path + '/' + fn;
+      is_local = false;
+    }
+
   if (!is_local)
     {
       for (std::vector<std::string>::const_iterator p = search_path.begin();
@@ -77,14 +96,14 @@ Import::open_package(const std::string& filename, Location location)
          std::string indir = *p;
          if (!indir.empty() && indir[indir.size() - 1] != '/')
            indir += '/';
-         indir += filename;
+         indir += fn;
          Stream* s = Import::try_package_in_directory(indir, location);
          if (s != NULL)
            return s;
        }
     }
 
-  Stream* s = Import::try_package_in_directory(filename, location);
+  Stream* s = Import::try_package_in_directory(fn, location);
   if (s != NULL)
     return s;
 
index 67bdcb0..c6844cd 100644 (file)
@@ -124,8 +124,10 @@ class Import
   // Find import data.  This searches the file system for FILENAME and
   // returns a pointer to a Stream object to read the data that it
   // exports.  LOCATION is the location of the import statement.
+  // RELATIVE_IMPORT_PATH is used as a prefix for a relative import.
   static Stream*
-  open_package(const std::string& filename, Location location);
+  open_package(const std::string& filename, Location location,
+              const std::string& relative_import_path);
 
   // Constructor.
   Import(Stream*, Location);
index 5b7ce68..6add84e 100644 (file)
@@ -722,7 +722,16 @@ Lex::next_token()
                unsigned int ci;
                bool issued_error;
                this->lineoff_ = p - this->linebuf_;
-               this->advance_one_utf8_char(p, &ci, &issued_error);
+               const char *pnext = this->advance_one_utf8_char(p, &ci,
+                                                               &issued_error);
+
+               // Ignore byte order mark at start of file.
+               if (ci == 0xfeff)
+                 {
+                   p = pnext;
+                   break;
+                 }
+
                if (Lex::is_unicode_letter(ci))
                  return this->gather_identifier();
 
@@ -831,6 +840,14 @@ Lex::advance_one_utf8_char(const char* p, unsigned int* value,
       *issued_error = true;
       return p + 1;
     }
+
+  // Warn about byte order mark, except at start of file.
+  if (*value == 0xfeff && (this->lineno_ != 1 || this->lineoff_ != 0))
+    {
+      error_at(this->location(), "Unicode (UTF-8) BOM in middle of file");
+      *issued_error = true;
+    }
+
   return p + adv;
 }
 
@@ -1295,6 +1312,12 @@ Lex::append_char(unsigned int v, bool is_character, std::string* str,
          // Turn it into the "replacement character".
          v = 0xfffd;
        }
+      if (v >= 0xd800 && v < 0xe000)
+       {
+         warning_at(location, 0,
+                    "unicode code point 0x%x is invalid surrogate pair", v);
+         v = 0xfffd;
+       }
       if (v <= 0xffff)
        {
          buf[0] = 0xe0 + (v >> 12);
@@ -1705,6 +1728,27 @@ struct Unicode_range
   unsigned int stride;
 };
 
+// A table of whitespace characters--Unicode code points classified as
+// "Space", "C" locale whitespace characters, the "next line" control
+// character (0085), the line separator (2028), the paragraph
+// separator (2029), and the "zero-width non-break space" (feff).
+
+static const Unicode_range unicode_space[] =
+{
+  { 0x0009, 0x000d, 1 },
+  { 0x0020, 0x0020, 1 },
+  { 0x0085, 0x0085, 1 },
+  { 0x00a0, 0x00a0, 1 },
+  { 0x1680, 0x1680, 1 },
+  { 0x180e, 0x180e, 1 },
+  { 0x2000, 0x200a, 1 },
+  { 0x2028, 0x2029, 1 },
+  { 0x202f, 0x202f, 1 },
+  { 0x205f, 0x205f, 1 },
+  { 0x3000, 0x3000, 1 },
+  { 0xfeff, 0xfeff, 1 },
+};
+
 // A table of Unicode digits--Unicode code points classified as
 // "Digit".
 
@@ -2294,6 +2338,15 @@ Lex::is_in_unicode_range(unsigned int c, const Unicode_range* ranges,
     }
 }
 
+// Return whether C is a space character.
+
+bool
+Lex::is_unicode_space(unsigned int c)
+{
+  return Lex::is_in_unicode_range(c, unicode_space,
+                                 ARRAY_SIZE(unicode_space));
+}
+
 // Return whether C is a Unicode digit--a Unicode code point
 // classified as "Digit".
 
index 8858e73..074bbae 100644 (file)
@@ -375,6 +375,10 @@ class Lex
   static int
   fetch_char(const char* str, unsigned int *value);
 
+  // Return whether C is a Unicode or "C" locale space character.
+  static bool
+  is_unicode_space(unsigned int c);
+
  private:
   ssize_t
   get_line();
index 29323f0..c65325d 100644 (file)
@@ -1631,12 +1631,16 @@ Parse::init_vars(const Typed_identifier_list* til, Type* type,
 
   // Note that INIT was already parsed with the old name bindings, so
   // we don't have to worry that it will accidentally refer to the
-  // newly declared variables.
+  // newly declared variables.  But we do have to worry about a mix of
+  // newly declared variables and old variables if the old variables
+  // appear in the initializations.
 
   Expression_list::const_iterator pexpr;
   if (init != NULL)
     pexpr = init->begin();
   bool any_new = false;
+  Expression_list* vars = new Expression_list();
+  Expression_list* vals = new Expression_list();
   for (Typed_identifier_list::const_iterator p = til->begin();
        p != til->end();
        ++p)
@@ -1644,7 +1648,7 @@ Parse::init_vars(const Typed_identifier_list* til, Type* type,
       if (init != NULL)
        go_assert(pexpr != init->end());
       this->init_var(*p, type, init == NULL ? NULL : *pexpr, is_coloneq,
-                    false, &any_new);
+                    false, &any_new, vars, vals);
       if (init != NULL)
        ++pexpr;
     }
@@ -1652,6 +1656,7 @@ Parse::init_vars(const Typed_identifier_list* til, Type* type,
     go_assert(pexpr == init->end());
   if (is_coloneq && !any_new)
     error_at(location, "variables redeclared but no variable is new");
+  this->finish_init_vars(vars, vals, location);
 }
 
 // See if we need to initialize a list of variables from a function
@@ -1674,13 +1679,15 @@ Parse::init_vars_from_call(const Typed_identifier_list* vars, Type* type,
   Named_object* first_var = NULL;
   unsigned int index = 0;
   bool any_new = false;
+  Expression_list* ivars = new Expression_list();
+  Expression_list* ivals = new Expression_list();
   for (Typed_identifier_list::const_iterator pv = vars->begin();
        pv != vars->end();
        ++pv, ++index)
     {
       Expression* init = Expression::make_call_result(call, index);
       Named_object* no = this->init_var(*pv, type, init, is_coloneq, false,
-                                       &any_new);
+                                       &any_new, ivars, ivals);
 
       if (this->gogo_->in_global_scope() && no->is_variable())
        {
@@ -1700,6 +1707,8 @@ Parse::init_vars_from_call(const Typed_identifier_list* vars, Type* type,
   if (is_coloneq && !any_new)
     error_at(location, "variables redeclared but no variable is new");
 
+  this->finish_init_vars(ivars, ivals, location);
+
   return true;
 }
 
@@ -1725,7 +1734,7 @@ Parse::init_vars_from_map(const Typed_identifier_list* vars, Type* type,
   Typed_identifier_list::const_iterator p = vars->begin();
   Expression* init = type == NULL ? index : NULL;
   Named_object* val_no = this->init_var(*p, type, init, is_coloneq,
-                                       type == NULL, &any_new);
+                                       type == NULL, &any_new, NULL, NULL);
   if (type == NULL && any_new && val_no->is_variable())
     val_no->var_value()->set_type_from_init_tuple();
   Expression* val_var = Expression::make_var_reference(val_no, location);
@@ -1735,7 +1744,7 @@ Parse::init_vars_from_map(const Typed_identifier_list* vars, Type* type,
   if (var_type == NULL)
     var_type = Type::lookup_bool_type();
   Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
-                                   &any_new);
+                                   &any_new, NULL, NULL);
   Expression* present_var = Expression::make_var_reference(no, location);
 
   if (is_coloneq && !any_new)
@@ -1790,7 +1799,7 @@ Parse::init_vars_from_receive(const Typed_identifier_list* vars, Type* type,
   Typed_identifier_list::const_iterator p = vars->begin();
   Expression* init = type == NULL ? receive : NULL;
   Named_object* val_no = this->init_var(*p, type, init, is_coloneq,
-                                       type == NULL, &any_new);
+                                       type == NULL, &any_new, NULL, NULL);
   if (type == NULL && any_new && val_no->is_variable())
     val_no->var_value()->set_type_from_init_tuple();
   Expression* val_var = Expression::make_var_reference(val_no, location);
@@ -1800,7 +1809,7 @@ Parse::init_vars_from_receive(const Typed_identifier_list* vars, Type* type,
   if (var_type == NULL)
     var_type = Type::lookup_bool_type();
   Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
-                                   &any_new);
+                                   &any_new, NULL, NULL);
   Expression* received_var = Expression::make_var_reference(no, location);
 
   if (is_coloneq && !any_new)
@@ -1857,7 +1866,7 @@ Parse::init_vars_from_type_guard(const Typed_identifier_list* vars,
   if (var_type == NULL)
     var_type = type_guard->type();
   Named_object* val_no = this->init_var(*p, var_type, NULL, is_coloneq, false,
-                                       &any_new);
+                                       &any_new, NULL, NULL);
   Expression* val_var = Expression::make_var_reference(val_no, location);
 
   ++p;
@@ -1865,7 +1874,7 @@ Parse::init_vars_from_type_guard(const Typed_identifier_list* vars,
   if (var_type == NULL)
     var_type = Type::lookup_bool_type();
   Named_object* no = this->init_var(*p, var_type, NULL, is_coloneq, false,
-                                   &any_new);
+                                   &any_new, NULL, NULL);
   Expression* ok_var = Expression::make_var_reference(no, location);
 
   Expression* texpr = type_guard->expr();
@@ -1904,7 +1913,8 @@ Parse::init_vars_from_type_guard(const Typed_identifier_list* vars,
 
 Named_object*
 Parse::init_var(const Typed_identifier& tid, Type* type, Expression* init,
-               bool is_coloneq, bool type_from_init, bool* is_new)
+               bool is_coloneq, bool type_from_init, bool* is_new,
+               Expression_list* vars, Expression_list* vals)
 {
   Location location = tid.location();
 
@@ -1946,9 +1956,9 @@ Parse::init_var(const Typed_identifier& tid, Type* type, Expression* init,
          // like v, ok := x.(int).
          if (!type_from_init && init != NULL)
            {
-             Expression *v = Expression::make_var_reference(no, location);
-             Statement *s = Statement::make_assignment(v, init, location);
-             this->gogo_->add_statement(s);
+             go_assert(vars != NULL && vals != NULL);
+             vars->push_back(Expression::make_var_reference(no, location));
+             vals->push_back(init);
            }
          return no;
        }
@@ -1983,6 +1993,36 @@ Parse::create_dummy_global(Type* type, Expression* init,
   return this->gogo_->add_variable(buf, var);
 }
 
+// Finish the variable initialization by executing any assignments to
+// existing variables when using :=.  These must be done as a tuple
+// assignment in case of something like n, a, b := 1, b, a.
+
+void
+Parse::finish_init_vars(Expression_list* vars, Expression_list* vals,
+                       Location location)
+{
+  if (vars->empty())
+    {
+      delete vars;
+      delete vals;
+    }
+  else if (vars->size() == 1)
+    {
+      go_assert(!this->gogo_->in_global_scope());
+      this->gogo_->add_statement(Statement::make_assignment(vars->front(),
+                                                           vals->front(),
+                                                           location));
+      delete vars;
+      delete vals;
+    }
+  else
+    {
+      go_assert(!this->gogo_->in_global_scope());
+      this->gogo_->add_statement(Statement::make_tuple_assignment(vars, vals,
+                                                                 location));
+    }
+}
+
 // SimpleVarDecl = identifier ":=" Expression .
 
 // We've already seen the identifier.
@@ -2723,7 +2763,11 @@ Parse::composite_lit(Type* type, int depth, Location location)
        }
       else
        {
-         error_at(this->location(), "expected %<,%> or %<}%>");
+         if (token->is_op(OPERATOR_SEMICOLON))
+           error_at(this->location(),
+                    "need trailing comma before newline in composite literal");
+         else
+           error_at(this->location(), "expected %<,%> or %<}%>");
 
          this->gogo_->mark_locals_used();
          int depth = 0;
@@ -2911,6 +2955,8 @@ Parse::primary_expr(bool may_be_sink, bool may_be_composite_lit,
          this->advance_token();
          Expression* expr = this->expression(PRECEDENCE_NORMAL, false, true,
                                              NULL);
+         if (this->peek_token()->is_op(OPERATOR_COMMA))
+           this->advance_token();
          if (this->peek_token()->is_op(OPERATOR_ELLIPSIS))
            {
              error_at(this->location(),
@@ -3311,6 +3357,61 @@ Parse::unary_expr(bool may_be_sink, bool may_be_composite_lit,
                  bool* is_type_switch)
 {
   const Token* token = this->peek_token();
+
+  // There is a complex parse for <- chan.  The choices are
+  // Convert x to type <- chan int:
+  //   (<- chan int)(x)         
+  // Receive from (x converted to type chan <- chan int):
+  //   (<- chan <- chan int (x))
+  // Convert x to type <- chan (<- chan int).
+  //   (<- chan <- chan int)(x)
+  if (token->is_op(OPERATOR_CHANOP))
+    {
+      Location location = token->location();
+      if (this->advance_token()->is_keyword(KEYWORD_CHAN))
+       {
+         Expression* expr = this->primary_expr(false, may_be_composite_lit,
+                                               NULL);
+         if (expr->is_error_expression())
+           return expr;
+         else if (!expr->is_type_expression())
+           return Expression::make_receive(expr, location);
+         else
+           {
+             if (expr->type()->is_error_type())
+               return expr;
+
+             // We picked up "chan TYPE", but it is not a type
+             // conversion.
+             Channel_type* ct = expr->type()->channel_type();
+             if (ct == NULL)
+               {
+                 // This is probably impossible.
+                 error_at(location, "expected channel type");
+                 return Expression::make_error(location);
+               }
+             else if (ct->may_receive())
+               {
+                 // <- chan TYPE.
+                 Type* t = Type::make_channel_type(false, true,
+                                                   ct->element_type());
+                 return Expression::make_type(t, location);
+               }
+             else
+               {
+                 // <- chan <- TYPE.  Because we skipped the leading
+                 // <-, we parsed this as chan <- TYPE.  With the
+                 // leading <-, we parse it as <- chan (<- TYPE).
+                 Type *t = this->reassociate_chan_direction(ct, location);
+                 return Expression::make_type(t, location);
+               }
+           }
+       }
+
+      this->unget_token(Token::make_operator_token(OPERATOR_CHANOP, location));
+      token = this->peek_token();
+    }
+
   if (token->is_op(OPERATOR_PLUS)
       || token->is_op(OPERATOR_MINUS)
       || token->is_op(OPERATOR_NOT)
@@ -3323,14 +3424,6 @@ Parse::unary_expr(bool may_be_sink, bool may_be_composite_lit,
       Operator op = token->op();
       this->advance_token();
 
-      if (op == OPERATOR_CHANOP
-         && this->peek_token()->is_keyword(KEYWORD_CHAN))
-       {
-         // This is "<- chan" which must be the start of a type.
-         this->unget_token(Token::make_operator_token(op, location));
-         return Expression::make_type(this->type(), location);
-       }
-
       Expression* expr = this->unary_expr(false, may_be_composite_lit, NULL);
       if (expr->is_error_expression())
        ;
@@ -3350,6 +3443,32 @@ Parse::unary_expr(bool may_be_sink, bool may_be_composite_lit,
                              is_type_switch);
 }
 
+// This is called for the obscure case of
+//   (<- chan <- chan int)(x)
+// In unary_expr we remove the leading <- and parse the remainder,
+// which gives us
+//   chan <- (chan int)
+// When we add the leading <- back in, we really want
+//   <- chan (<- chan int)
+// This means that we need to reassociate.
+
+Type*
+Parse::reassociate_chan_direction(Channel_type *ct, Location location)
+{
+  Channel_type* ele = ct->element_type()->channel_type();
+  if (ele == NULL)
+    {
+      error_at(location, "parse error");
+      return Type::make_error_type();
+    }
+  Type* sub = ele;
+  if (ele->may_send())
+    sub = Type::make_channel_type(false, true, ele->element_type());
+  else
+    sub = this->reassociate_chan_direction(ele, location);
+  return Type::make_channel_type(false, true, sub);
+}
+
 // Statement =
 //     Declaration | LabeledStmt | SimpleStmt |
 //     GoStmt | ReturnStmt | BreakStmt | ContinueStmt | GotoStmt |
@@ -5036,7 +5155,8 @@ Parse::range_clause_decl(const Typed_identifier_list* til,
   bool any_new = false;
 
   const Typed_identifier* pti = &til->front();
-  Named_object* no = this->init_var(*pti, NULL, expr, true, true, &any_new);
+  Named_object* no = this->init_var(*pti, NULL, expr, true, true, &any_new,
+                                   NULL, NULL);
   if (any_new && no->is_variable())
     no->var_value()->set_type_from_range_index();
   p_range_clause->index = Expression::make_var_reference(no, location);
@@ -5047,7 +5167,7 @@ Parse::range_clause_decl(const Typed_identifier_list* til,
     {
       pti = &til->back();
       bool is_new = false;
-      no = this->init_var(*pti, NULL, expr, true, true, &is_new);
+      no = this->init_var(*pti, NULL, expr, true, true, &is_new, NULL, NULL);
       if (is_new && no->is_variable())
        no->var_value()->set_type_from_range_value();
       if (is_new)
@@ -5337,7 +5457,8 @@ Parse::import_spec(void*)
 
   if (!token->is_string())
     {
-      error_at(this->location(), "missing import package name");
+      error_at(this->location(), "import statement not a string");
+      this->advance_token();
       return;
     }
 
index 3139f7e..a355b7d 100644 (file)
@@ -14,6 +14,7 @@ class Named_object;
 class Type;
 class Typed_identifier;
 class Typed_identifier_list;
+class Channel_type;
 class Function_type;
 class Block;
 class Expression;
@@ -205,8 +206,11 @@ class Parse
                                 Expression*, bool is_coloneq,
                                 Location);
   Named_object* init_var(const Typed_identifier&, Type*, Expression*,
-                        bool is_coloneq, bool type_from_init, bool* is_new);
+                        bool is_coloneq, bool type_from_init, bool* is_new,
+                        Expression_list* vars, Expression_list* vals);
   Named_object* create_dummy_global(Type*, Expression*, Location);
+  void finish_init_vars(Expression_list* vars, Expression_list* vals,
+                       Location);
   void simple_var_decl_or_assignment(const std::string&, Location,
                                     bool may_be_composite_lit,
                                     Range_clause*, Type_switch*);
@@ -229,6 +233,7 @@ class Parse
   bool expression_may_start_here();
   Expression* unary_expr(bool may_be_sink, bool may_be_composite_lit,
                         bool* is_type_switch);
+  Type* reassociate_chan_direction(Channel_type*, Location);
   Expression* qualified_expr(Expression*, Location);
   Expression* id_to_expression(const std::string&, Location);
   void statement(Label*);
index fa7f208..58057f8 100644 (file)
@@ -2006,6 +2006,8 @@ Thunk_statement::do_determine_types()
 void
 Thunk_statement::do_check_types(Gogo*)
 {
+  if (!this->call_->discarding_value())
+    return;
   Call_expression* ce = this->call_->call_expression();
   if (ce == NULL)
     {
@@ -2471,11 +2473,15 @@ Thunk_statement::build_thunk(Gogo* gogo, const std::string& thunk_name)
       Expression_statement* es =
        static_cast<Expression_statement*>(call_statement);
       Call_expression* ce = es->expr()->call_expression();
-      go_assert(ce != NULL);
-      if (may_call_recover)
-       ce->set_is_deferred();
-      if (recover_arg != NULL)
-       ce->set_recover_arg(recover_arg);
+      if (ce == NULL)
+       go_assert(saw_errors());
+      else
+       {
+         if (may_call_recover)
+           ce->set_is_deferred();
+         if (recover_arg != NULL)
+           ce->set_recover_arg(recover_arg);
+       }
     }
 
   // That is all the thunk has to do.
@@ -3313,16 +3319,10 @@ Case_clauses::Case_clause::lower(Block* b, Temporary_statement* val_temp,
           p != this->cases_->end();
           ++p)
        {
-         Expression* this_cond;
-         if (val_temp == NULL)
-           this_cond = *p;
-         else
-           {
-             Expression* ref = Expression::make_temporary_reference(val_temp,
-                                                                    loc);
-             this_cond = Expression::make_binary(OPERATOR_EQEQ, ref, *p, loc);
-           }
-
+         Expression* ref = Expression::make_temporary_reference(val_temp,
+                                                                loc);
+         Expression* this_cond = Expression::make_binary(OPERATOR_EQEQ, ref,
+                                                         *p, loc);
          if (cond == NULL)
            cond = this_cond;
          else
@@ -3846,6 +3846,16 @@ Switch_statement::do_lower(Gogo*, Named_object*, Block* enclosing,
     return new Constant_switch_statement(this->val_, this->clauses_,
                                         this->break_label_, loc);
 
+  if (this->val_ != NULL
+      && !this->val_->type()->is_comparable()
+      && !Type::are_compatible_for_comparison(true, this->val_->type(),
+                                             Type::make_nil_type(), NULL))
+    {
+      error_at(this->val_->location(),
+              "cannot switch on value whose type that may not be compared");
+      return Statement::make_error_statement(loc);
+    }
+
   Block* b = new Block(enclosing, loc);
 
   if (this->clauses_->empty())
@@ -3856,15 +3866,12 @@ Switch_statement::do_lower(Gogo*, Named_object*, Block* enclosing,
       return Statement::make_statement(val, true);
     }
 
-  Temporary_statement* val_temp;
-  if (this->val_ == NULL)
-    val_temp = NULL;
-  else
-    {
-      // var val_temp VAL_TYPE = VAL
-      val_temp = Statement::make_temporary(NULL, this->val_, loc);
-      b->add_statement(val_temp);
-    }
+  // var val_temp VAL_TYPE = VAL
+  Expression* val = this->val_;
+  if (val == NULL)
+    val = Expression::make_boolean(true, loc);
+  Temporary_statement* val_temp = Statement::make_temporary(NULL, val, loc);
+  b->add_statement(val_temp);
 
   this->clauses_->lower(b, val_temp, this->break_label());
 
index 228f3fa..795a1b5 100644 (file)
@@ -54,8 +54,7 @@ get_backend_interface_fields(Gogo* gogo, Interface_type* type,
 // Class Type.
 
 Type::Type(Type_classification classification)
-  : classification_(classification), btype_is_placeholder_(false),
-    btype_(NULL), type_descriptor_var_(NULL)
+  : classification_(classification), btype_(NULL), type_descriptor_var_(NULL)
 {
 }
 
@@ -430,7 +429,7 @@ Type::are_identical(const Type* t1, const Type* t2, bool errors_are_identical,
 
     case TYPE_CALL_MULTIPLE_RESULT:
       if (reason != NULL)
-       *reason = "invalid use of multiple value function call";
+       *reason = "invalid use of multiple-value function call";
       return false;
 
     default:
@@ -588,6 +587,9 @@ Type::are_compatible_for_comparison(bool is_equality_op, const Type *t1,
               p != fields->end();
               ++p)
            {
+             if (Gogo::is_sink_name(p->field_name()))
+               continue;
+
              if (!p->type()->is_comparable())
                {
                  if (reason != NULL)
@@ -633,8 +635,8 @@ Type::are_assignable_check_hidden(const Type* lhs, const Type* rhs,
       if (rhs->is_call_multiple_result_type())
        {
          if (reason != NULL)
-           reason->assign(_("multiple value function call in "
-                            "single value context"));
+           reason->assign(_("multiple-value function call in "
+                            "single-value context"));
          return false;
        }
     }
@@ -916,11 +918,7 @@ Btype*
 Type::get_backend(Gogo* gogo)
 {
   if (this->btype_ != NULL)
-    {
-      if (this->btype_is_placeholder_ && gogo->named_types_are_converted())
-       this->finish_backend(gogo);
-      return this->btype_;
-    }
+    return this->btype_;
 
   if (this->forward_declaration_type() != NULL
       || this->named_type() != NULL)
@@ -934,20 +932,36 @@ Type::get_backend(Gogo* gogo)
   // that.  There is no need to use the hash table for named types, as
   // named types are only identical to themselves.
 
-  std::pair<Type*, Btype*> val(this, NULL);
+  std::pair<Type*, Type_btype_entry> val;
+  val.first = this;
+  val.second.btype = NULL;
+  val.second.is_placeholder = false;
   std::pair<Type_btypes::iterator, bool> ins =
     Type::type_btypes.insert(val);
-  if (!ins.second && ins.first->second != NULL)
+  if (!ins.second && ins.first->second.btype != NULL)
     {
-      if (gogo != NULL && gogo->named_types_are_converted())
-       this->btype_ = ins.first->second;
-      return ins.first->second;
+      // Note that GOGO can be NULL here, but only when the GCC
+      // middle-end is asking for a frontend type.  That will only
+      // happen for simple types, which should never require
+      // placeholders.
+      if (!ins.first->second.is_placeholder)
+       this->btype_ = ins.first->second.btype;
+      else if (gogo->named_types_are_converted())
+       {
+         this->finish_backend(gogo, ins.first->second.btype);
+         ins.first->second.is_placeholder = false;
+       }
+
+      return ins.first->second.btype;
     }
 
   Btype* bt = this->get_btype_without_hash(gogo);
 
-  if (ins.first->second == NULL)
-    ins.first->second = bt;
+  if (ins.first->second.btype == NULL)
+    {
+      ins.first->second.btype = bt;
+      ins.first->second.is_placeholder = false;
+    }
   else
     {
       // We have already created a backend representation for this
@@ -955,10 +969,9 @@ Type::get_backend(Gogo* gogo)
       // a named type which in turns uses an identical unnamed type.
       // Use the tree we created earlier and ignore the one we just
       // built.
-      bt = ins.first->second;
-      if (gogo == NULL || !gogo->named_types_are_converted())
-       return bt;
-      this->btype_ = bt;
+      if (this->btype_ == bt)
+       this->btype_ = ins.first->second.btype;
+      bt = ins.first->second.btype;
     }
 
   return bt;
@@ -1025,6 +1038,37 @@ Type::get_backend_placeholder(Gogo* gogo)
       // These are simple types that can just be created directly.
       return this->get_backend(gogo);
 
+    case TYPE_MAP:
+    case TYPE_CHANNEL:
+      // All maps and channels have the same backend representation.
+      return this->get_backend(gogo);
+
+    case TYPE_NAMED:
+    case TYPE_FORWARD:
+      // Named types keep track of their own dependencies and manage
+      // their own placeholders.
+      return this->get_backend(gogo);
+
+    case TYPE_INTERFACE:
+      if (this->interface_type()->is_empty())
+       return Interface_type::get_backend_empty_interface_type(gogo);
+      break;
+
+    default:
+      break;
+    }
+
+  std::pair<Type*, Type_btype_entry> val;
+  val.first = this;
+  val.second.btype = NULL;
+  val.second.is_placeholder = false;
+  std::pair<Type_btypes::iterator, bool> ins =
+    Type::type_btypes.insert(val);
+  if (!ins.second && ins.first->second.btype != NULL)
+    return ins.first->second.btype;
+
+  switch (this->classification_)
+    {
     case TYPE_FUNCTION:
       {
        Location loc = this->function_type()->location();
@@ -1067,37 +1111,36 @@ Type::get_backend_placeholder(Gogo* gogo)
        }
       break;
        
-    case TYPE_MAP:
-    case TYPE_CHANNEL:
-      // All maps and channels have the same backend representation.
-      return this->get_backend(gogo);
-
     case TYPE_INTERFACE:
-      if (this->interface_type()->is_empty())
-       return Interface_type::get_backend_empty_interface_type(gogo);
-      else
-       {
-         std::vector<Backend::Btyped_identifier> bfields;
-         get_backend_interface_fields(gogo, this->interface_type(), true,
-                                      &bfields);
-         bt = gogo->backend()->struct_type(bfields);
-       }
+      {
+       go_assert(!this->interface_type()->is_empty());
+       std::vector<Backend::Btyped_identifier> bfields;
+       get_backend_interface_fields(gogo, this->interface_type(), true,
+                                    &bfields);
+       bt = gogo->backend()->struct_type(bfields);
+      }
       break;
 
-    case TYPE_NAMED:
-    case TYPE_FORWARD:
-      // Named types keep track of their own dependencies and manage
-      // their own placeholders.
-      return this->get_backend(gogo);
-
     case TYPE_SINK:
     case TYPE_CALL_MULTIPLE_RESULT:
+      /* Note that various classifications were handled in the earlier
+        switch.  */
     default:
       go_unreachable();
     }
 
-  this->btype_ = bt;
-  this->btype_is_placeholder_ = true;
+  if (ins.first->second.btype == NULL)
+    {
+      ins.first->second.btype = bt;
+      ins.first->second.is_placeholder = true;
+    }
+  else
+    {
+      // A placeholder for this type got created along the way.  Use
+      // that one and ignore the one we just built.
+      bt = ins.first->second.btype;
+    }
+
   return bt;
 }
 
@@ -1105,12 +1148,8 @@ Type::get_backend_placeholder(Gogo* gogo)
 // using a placeholder type.
 
 void
-Type::finish_backend(Gogo* gogo)
+Type::finish_backend(Gogo* gogo, Btype *placeholder)
 {
-  go_assert(this->btype_ != NULL);
-  if (!this->btype_is_placeholder_)
-    return;
-
   switch (this->classification_)
     {
     case TYPE_ERROR:
@@ -1126,7 +1165,7 @@ Type::finish_backend(Gogo* gogo)
     case TYPE_FUNCTION:
       {
        Btype* bt = this->do_get_backend(gogo);
-       if (!gogo->backend()->set_placeholder_function_type(this->btype_, bt))
+       if (!gogo->backend()->set_placeholder_function_type(placeholder, bt))
          go_assert(saw_errors());
       }
       break;
@@ -1134,7 +1173,7 @@ Type::finish_backend(Gogo* gogo)
     case TYPE_POINTER:
       {
        Btype* bt = this->do_get_backend(gogo);
-       if (!gogo->backend()->set_placeholder_pointer_type(this->btype_, bt))
+       if (!gogo->backend()->set_placeholder_pointer_type(placeholder, bt))
          go_assert(saw_errors());
       }
       break;
@@ -1171,7 +1210,7 @@ Type::finish_backend(Gogo* gogo)
       go_unreachable();
     }
 
-  this->btype_is_placeholder_ = false;
+  this->btype_ = placeholder;
 }
 
 // Return a pointer to the type descriptor for this type.
@@ -1295,7 +1334,8 @@ Type::type_descriptor_var_name(Gogo* gogo, Named_type* nt)
     return "__go_td_" + this->mangled_name(gogo);
 
   Named_object* no = nt->named_object();
-  const Named_object* in_function = nt->in_function();
+  unsigned int index;
+  const Named_object* in_function = nt->in_function(&index);
   std::string ret = "__go_tdn_";
   if (nt->is_builtin())
     go_assert(in_function == NULL);
@@ -1310,6 +1350,13 @@ Type::type_descriptor_var_name(Gogo* gogo, Named_type* nt)
        {
          ret.append(Gogo::unpack_hidden_name(in_function->name()));
          ret.append(1, '.');
+         if (index > 0)
+           {
+             char buf[30];
+             snprintf(buf, sizeof buf, "%u", index);
+             ret.append(buf);
+             ret.append(1, '.');
+           }
        }
     }
 
@@ -1746,9 +1793,19 @@ Type::specific_type_functions(Gogo* gogo, Named_type* name,
     {
       // This name is already hidden or not as appropriate.
       base_name = name->name();
-      const Named_object* in_function = name->in_function();
+      unsigned int index;
+      const Named_object* in_function = name->in_function(&index);
       if (in_function != NULL)
-       base_name += '$' + Gogo::unpack_hidden_name(in_function->name());
+       {
+         base_name += '$' + Gogo::unpack_hidden_name(in_function->name());
+         if (index > 0)
+           {
+             char buf[30];
+             snprintf(buf, sizeof buf, "%u", index);
+             base_name += '$';
+             base_name += buf;
+           }
+       }
     }
   std::string hash_name = base_name + "$hash";
   std::string equal_name = base_name + "$equal";
@@ -1989,10 +2046,19 @@ Type::uncommon_type_constructor(Gogo* gogo, Type* uncommon_type,
                                     ? gogo->pkgpath()
                                     : package->pkgpath());
          n.assign(pkgpath);
-         if (name->in_function() != NULL)
+         unsigned int index;
+         const Named_object* in_function = name->in_function(&index);
+         if (in_function != NULL)
            {
              n.append(1, '.');
-             n.append(Gogo::unpack_hidden_name(name->in_function()->name()));
+             n.append(Gogo::unpack_hidden_name(in_function->name()));
+             if (index > 0)
+               {
+                 char buf[30];
+                 snprintf(buf, sizeof buf, "%u", index);
+                 n.append(1, '.');
+                 n.append(buf);
+               }
            }
          s = Expression::make_string(n, bloc);
          vals->push_back(Expression::make_unary(OPERATOR_AND, s, bloc));
@@ -2361,7 +2427,7 @@ class Error_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -2399,7 +2465,7 @@ class Void_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -2437,7 +2503,7 @@ class Boolean_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return true; }
 
   Btype*
@@ -2936,8 +3002,8 @@ String_type::do_get_backend(Gogo* gogo)
       // backend representation, so force it to be finished now.
       if (!gogo->named_types_are_converted())
        {
-         pb->get_backend_placeholder(gogo);
-         pb->finish_backend(gogo);
+         Btype* bt = pb->get_backend_placeholder(gogo);
+         pb->finish_backend(gogo, bt);
        }
 
       fields[0].name = "__data";
@@ -3060,7 +3126,7 @@ class Sink_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -3938,7 +4004,7 @@ class Nil_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -3989,7 +4055,7 @@ class Call_multiple_result_type : public Type
   }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -4266,7 +4332,7 @@ Struct_type::struct_has_hidden_fields(const Named_type* within,
 // comparisons.
 
 bool
-Struct_type::do_compare_is_identity(Gogo* gogo) const
+Struct_type::do_compare_is_identity(Gogo* gogo)
 {
   const Struct_field_list* fields = this->fields_;
   if (fields == NULL)
@@ -4276,6 +4342,9 @@ Struct_type::do_compare_is_identity(Gogo* gogo) const
        pf != fields->end();
        ++pf)
     {
+      if (Gogo::is_sink_name(pf->field_name()))
+       return false;
+
       if (!pf->type()->compare_is_identity(gogo))
        return false;
 
@@ -4295,6 +4364,16 @@ Struct_type::do_compare_is_identity(Gogo* gogo) const
        return false;
       offset += field_size;
     }
+
+  unsigned int struct_size;
+  if (!this->backend_type_size(gogo, &struct_size))
+    return false;
+  if (offset != struct_size)
+    {
+      // Trailing padding may not be zero when on the stack.
+      return false;
+    }
+
   return true;
 }
 
@@ -4530,6 +4609,20 @@ Struct_type::method_function(const std::string& name, bool* is_ambiguous) const
   return Type::method_function(this->all_methods_, name, is_ambiguous);
 }
 
+// Return a pointer to the interface method table for this type for
+// the interface INTERFACE.  IS_POINTER is true if this is for a
+// pointer to THIS.
+
+tree
+Struct_type::interface_method_table(Gogo* gogo,
+                                   const Interface_type* interface,
+                                   bool is_pointer)
+{
+  return Type::interface_method_table(gogo, this, interface, is_pointer,
+                                     &this->interface_method_tables_,
+                                     &this->pointer_interface_method_tables_);
+}
+
 // Convert struct fields to the backend representation.  This is not
 // declared in types.h so that types.h doesn't have to #include
 // backend.h.
@@ -4749,6 +4842,9 @@ Struct_type::write_hash_function(Gogo* gogo, Named_type*,
        pf != fields->end();
        ++pf)
     {
+      if (Gogo::is_sink_name(pf->field_name()))
+       continue;
+
       if (first)
        first = false;
       else
@@ -4840,6 +4936,9 @@ Struct_type::write_equal_function(Gogo* gogo, Named_type* name)
        pf != fields->end();
        ++pf, ++field_index)
     {
+      if (Gogo::is_sink_name(pf->field_name()))
+       continue;
+
       // Compare one field in both P1 and P2.
       Expression* f1 = Expression::make_temporary_reference(p1, bloc);
       f1 = Expression::make_unary(OPERATOR_MULT, f1, bloc);
@@ -4875,14 +4974,15 @@ Struct_type::write_equal_function(Gogo* gogo, Named_type* name)
 void
 Struct_type::do_reflection(Gogo* gogo, std::string* ret) const
 {
-  ret->append("struct { ");
+  ret->append("struct {");
 
   for (Struct_field_list::const_iterator p = this->fields_->begin();
        p != this->fields_->end();
        ++p)
     {
       if (p != this->fields_->begin())
-       ret->append("; ");
+       ret->push_back(';');
+      ret->push_back(' ');
       if (p->is_anonymous())
        ret->push_back('?');
       else
@@ -4915,7 +5015,10 @@ Struct_type::do_reflection(Gogo* gogo, std::string* ret) const
        }
     }
 
-  ret->append(" }");
+  if (!this->fields_->empty())
+    ret->push_back(' ');
+
+  ret->push_back('}');
 }
 
 // Mangled name.
@@ -5215,7 +5318,7 @@ Array_type::do_verify()
 // Whether we can use memcmp to compare this array.
 
 bool
-Array_type::do_compare_is_identity(Gogo* gogo) const
+Array_type::do_compare_is_identity(Gogo* gogo)
 {
   if (this->length_ == NULL)
     return false;
@@ -6815,7 +6918,8 @@ Interface_type::implements_interface(const Type* t, std::string* reason) const
              std::string n = Gogo::message_name(p->name());
              size_t len = 100 + n.length();
              char* buf = new char[len];
-             snprintf(buf, len, _("method %s%s%s requires a pointer"),
+             snprintf(buf, len,
+                      _("method %s%s%s requires a pointer receiver"),
                       open_quote, n.c_str(), close_quote);
              reason->assign(buf);
              delete[] buf;
@@ -7151,7 +7255,17 @@ Interface_type::do_mangled_name(Gogo* gogo, std::string* ret) const
        {
          if (!p->name().empty())
            {
-             std::string n = Gogo::unpack_hidden_name(p->name());
+             std::string n;
+             if (!Gogo::is_hidden_name(p->name()))
+               n = p->name();
+             else
+               {
+                 n = ".";
+                 std::string pkgpath = Gogo::hidden_name_pkgpath(p->name());
+                 n.append(Gogo::pkgpath_for_symbol(pkgpath));
+                 n.append(1, '.');
+                 n.append(Gogo::unpack_hidden_name(p->name()));
+               }
              char buf[20];
              snprintf(buf, sizeof buf, "%u_",
                       static_cast<unsigned int>(n.length()));
@@ -7704,32 +7818,9 @@ tree
 Named_type::interface_method_table(Gogo* gogo, const Interface_type* interface,
                                   bool is_pointer)
 {
-  go_assert(!interface->is_empty());
-
-  Interface_method_tables** pimt = (is_pointer
-                                   ? &this->interface_method_tables_
-                                   : &this->pointer_interface_method_tables_);
-
-  if (*pimt == NULL)
-    *pimt = new Interface_method_tables(5);
-
-  std::pair<const Interface_type*, tree> val(interface, NULL_TREE);
-  std::pair<Interface_method_tables::iterator, bool> ins = (*pimt)->insert(val);
-
-  if (ins.second)
-    {
-      // This is a new entry in the hash table.
-      go_assert(ins.first->second == NULL_TREE);
-      ins.first->second = gogo->interface_method_table_for_type(interface,
-                                                               this,
-                                                               is_pointer);
-    }
-
-  tree decl = ins.first->second;
-  if (decl == error_mark_node)
-    return error_mark_node;
-  go_assert(decl != NULL_TREE && TREE_CODE(decl) == VAR_DECL);
-  return build_fold_addr_expr(decl);
+  return Type::interface_method_table(gogo, this, interface, is_pointer,
+                                     &this->interface_method_tables_,
+                                     &this->pointer_interface_method_tables_);
 }
 
 // Return whether a named type has any hidden fields.
@@ -7922,7 +8013,7 @@ Named_type::do_has_pointer() const
 // function.
 
 bool
-Named_type::do_compare_is_identity(Gogo* gogo) const
+Named_type::do_compare_is_identity(Gogo* gogo)
 {
   // We don't use this->seen_ here because compare_is_identity may
   // call base() later, and that will mess up if seen_ is set here.
@@ -8358,8 +8449,17 @@ Named_type::do_reflection(Gogo* gogo, std::string* ret) const
     }
   if (this->in_function_ != NULL)
     {
+      ret->push_back('\t');
       ret->append(Gogo::unpack_hidden_name(this->in_function_->name()));
       ret->push_back('$');
+      if (this->in_function_index_ > 0)
+       {
+         char buf[30];
+         snprintf(buf, sizeof buf, "%u", this->in_function_index_);
+         ret->append(buf);
+         ret->push_back('$');
+       }
+      ret->push_back('\t');
     }
   ret->append(Gogo::unpack_hidden_name(this->named_object_->name()));
 }
@@ -8389,6 +8489,13 @@ Named_type::do_mangled_name(Gogo* gogo, std::string* ret) const
        {
          name.append(Gogo::unpack_hidden_name(this->in_function_->name()));
          name.append(1, '$');
+         if (this->in_function_index_ > 0)
+           {
+             char buf[30];
+             snprintf(buf, sizeof buf, "%u", this->in_function_index_);
+             name.append(buf);
+             name.append(1, '$');
+           }
        }
     }
   name.append(Gogo::unpack_hidden_name(no->name()));
@@ -8899,6 +9006,42 @@ Type::method_function(const Methods* methods, const std::string& name,
   return m;
 }
 
+// Return a pointer to the interface method table for TYPE for the
+// interface INTERFACE.
+
+tree
+Type::interface_method_table(Gogo* gogo, Type* type,
+                            const Interface_type *interface,
+                            bool is_pointer,
+                            Interface_method_tables** method_tables,
+                            Interface_method_tables** pointer_tables)
+{
+  go_assert(!interface->is_empty());
+
+  Interface_method_tables** pimt = is_pointer ? method_tables : pointer_tables;
+
+  if (*pimt == NULL)
+    *pimt = new Interface_method_tables(5);
+
+  std::pair<const Interface_type*, tree> val(interface, NULL_TREE);
+  std::pair<Interface_method_tables::iterator, bool> ins = (*pimt)->insert(val);
+
+  if (ins.second)
+    {
+      // This is a new entry in the hash table.
+      go_assert(ins.first->second == NULL_TREE);
+      ins.first->second = gogo->interface_method_table_for_type(interface,
+                                                               type,
+                                                               is_pointer);
+    }
+
+  tree decl = ins.first->second;
+  if (decl == error_mark_node)
+    return error_mark_node;
+  go_assert(decl != NULL_TREE && TREE_CODE(decl) == VAR_DECL);
+  return build_fold_addr_expr(decl);
+}
+
 // Look for field or method NAME for TYPE.  Return an Expression for
 // the field or method bound to EXPR.  If there is no such field or
 // method, give an appropriate error and return an error expression.
@@ -8990,7 +9133,7 @@ Type::bind_field_or_method(Gogo* gogo, const Type* type, Expression* expr,
                 Gogo::message_name(name).c_str(), ambig1.c_str(),
                 ambig2.c_str());
       else if (found_pointer_method)
-       error_at(location, "method requires a pointer");
+       error_at(location, "method requires a pointer receiver");
       else if (nt == NULL && st == NULL && it == NULL)
        error_at(location,
                 ("reference to field %qs in object which "
index a542bf7..bdda7a4 100644 (file)
@@ -576,7 +576,7 @@ class Type
   // identity function which gets nothing but a pointer to the value
   // and a size.
   bool
-  compare_is_identity(Gogo* gogo) const
+  compare_is_identity(Gogo* gogo)
   { return this->do_compare_is_identity(gogo); }
 
   // Return a hash code for this type for the method hash table.
@@ -869,7 +869,7 @@ class Type
 
   // Finish the backend representation of a placeholder.
   void
-  finish_backend(Gogo*);
+  finish_backend(Gogo*, Btype*);
 
   // Build a type descriptor entry for this type.  Return a pointer to
   // it.  The location is the location which causes us to need the
@@ -950,7 +950,7 @@ class Type
   { return false; }
 
   virtual bool
-  do_compare_is_identity(Gogo*) const = 0;
+  do_compare_is_identity(Gogo*) = 0;
 
   virtual unsigned int
   do_hash_for_method(Gogo*) const;
@@ -983,6 +983,19 @@ class Type
   method_function(const Methods*, const std::string& name,
                  bool* is_ambiguous);
 
+  // A mapping from interfaces to the associated interface method
+  // tables for this type.  This maps to a decl.
+  typedef Unordered_map_hash(const Interface_type*, tree, Type_hash_identical,
+                            Type_identical) Interface_method_tables;
+
+  // Return a pointer to the interface method table for TYPE for the
+  // interface INTERFACE.
+  static tree
+  interface_method_table(Gogo* gogo, Type* type,
+                        const Interface_type *interface, bool is_pointer,
+                        Interface_method_tables** method_tables,
+                        Interface_method_tables** pointer_tables);
+
   // Return a composite literal for the type descriptor entry for a
   // type.
   static Expression*
@@ -1178,10 +1191,18 @@ class Type
   Btype*
   get_btype_without_hash(Gogo*);
 
+  // A backend type that may be a placeholder.
+  struct Type_btype_entry
+  {
+    Btype *btype;
+    bool is_placeholder;
+  };
+
   // A mapping from Type to Btype*, used to ensure that the backend
-  // representation of identical types is identical.
-  typedef Unordered_map_hash(const Type*, Btype*, Type_hash_identical,
-                            Type_identical) Type_btypes;
+  // representation of identical types is identical.  This is only
+  // used for unnamed types.
+  typedef Unordered_map_hash(const Type*, Type_btype_entry,
+                            Type_hash_identical, Type_identical) Type_btypes;
 
   static Type_btypes type_btypes;
 
@@ -1198,9 +1219,6 @@ class Type
 
   // The type classification.
   Type_classification classification_;
-  // Whether btype_ is a placeholder type used while named types are
-  // being converted.
-  bool btype_is_placeholder_;
   // The backend representation of the type, once it has been
   // determined.
   Btype* btype_;
@@ -1445,7 +1463,7 @@ class Integer_type : public Type
 
 protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return true; }
 
   unsigned int
@@ -1522,7 +1540,7 @@ class Float_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   unsigned int
@@ -1591,7 +1609,7 @@ class Complex_type : public Type
 
  protected:
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   unsigned int
@@ -1651,7 +1669,7 @@ class String_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   Btype*
@@ -1765,7 +1783,7 @@ class Function_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   unsigned int
@@ -1840,7 +1858,7 @@ class Pointer_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return true; }
 
   unsigned int
@@ -1994,7 +2012,8 @@ class Struct_type : public Type
  public:
   Struct_type(Struct_field_list* fields, Location location)
     : Type(TYPE_STRUCT),
-      fields_(fields), location_(location), all_methods_(NULL)
+      fields_(fields), location_(location), all_methods_(NULL),
+      interface_method_tables_(NULL), pointer_interface_method_tables_(NULL)
   { }
 
   // Return the field NAME.  This only looks at local fields, not at
@@ -2076,6 +2095,14 @@ class Struct_type : public Type
   Method*
   method_function(const std::string& name, bool* is_ambiguous) const;
 
+  // Return a pointer to the interface method table for this type for
+  // the interface INTERFACE.  If IS_POINTER is true, set the type
+  // descriptor to a pointer to this type, otherwise set it to this
+  // type.
+  tree
+  interface_method_table(Gogo*, const Interface_type* interface,
+                        bool is_pointer);
+
   // Traverse just the field types of a struct type.
   int
   traverse_field_types(Traverse* traverse)
@@ -2117,7 +2144,7 @@ class Struct_type : public Type
   do_has_pointer() const;
 
   bool
-  do_compare_is_identity(Gogo*) const;
+  do_compare_is_identity(Gogo*);
 
   unsigned int
   do_hash_for_method(Gogo*) const;
@@ -2156,6 +2183,13 @@ class Struct_type : public Type
   Location location_;
   // If this struct is unnamed, a list of methods.
   Methods* all_methods_;
+  // A mapping from interfaces to the associated interface method
+  // tables for this type.  Only used if this struct is unnamed.
+  Interface_method_tables* interface_method_tables_;
+  // A mapping from interfaces to the associated interface method
+  // tables for pointers to this type.  Only used if this struct is
+  // unnamed.
+  Interface_method_tables* pointer_interface_method_tables_;
 };
 
 // The type of an array.
@@ -2243,7 +2277,7 @@ class Array_type : public Type
   }
 
   bool
-  do_compare_is_identity(Gogo*) const;
+  do_compare_is_identity(Gogo*);
 
   unsigned int
   do_hash_for_method(Gogo*) const;
@@ -2336,7 +2370,7 @@ class Map_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   unsigned int
@@ -2422,7 +2456,7 @@ class Channel_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return true; }
 
   unsigned int
@@ -2553,7 +2587,7 @@ class Interface_type : public Type
   { return true; }
 
   bool
-  do_compare_is_identity(Gogo*) const
+  do_compare_is_identity(Gogo*)
   { return false; }
 
   unsigned int
@@ -2623,8 +2657,8 @@ class Named_type : public Type
  public:
   Named_type(Named_object* named_object, Type* type, Location location)
     : Type(TYPE_NAMED),
-      named_object_(named_object), in_function_(NULL), type_(type),
-      local_methods_(NULL), all_methods_(NULL),
+      named_object_(named_object), in_function_(NULL), in_function_index_(0),
+      type_(type), local_methods_(NULL), all_methods_(NULL),
       interface_method_tables_(NULL), pointer_interface_method_tables_(NULL),
       location_(location), named_btype_(NULL), dependencies_(),
       is_visible_(true), is_error_(false), is_placeholder_(false),
@@ -2651,13 +2685,19 @@ class Named_type : public Type
   // Return the function in which this type is defined.  This will
   // return NULL for a type defined in global scope.
   const Named_object*
-  in_function() const
-  { return this->in_function_; }
+  in_function(unsigned int *pindex) const
+  {
+    *pindex = this->in_function_index_;
+    return this->in_function_;
+  }
 
   // Set the function in which this type is defined.
   void
-  set_in_function(Named_object* f)
-  { this->in_function_ = f; }
+  set_in_function(Named_object* f, unsigned int index)
+  {
+    this->in_function_ = f;
+    this->in_function_index_ = index;
+  }
 
   // Return the name of the type.
   const std::string&
@@ -2830,7 +2870,7 @@ class Named_type : public Type
   do_has_pointer() const;
 
   bool
-  do_compare_is_identity(Gogo*) const;
+  do_compare_is_identity(Gogo*);
 
   unsigned int
   do_hash_for_method(Gogo*) const;
@@ -2855,16 +2895,13 @@ class Named_type : public Type
   void
   create_placeholder(Gogo*);
 
-  // A mapping from interfaces to the associated interface method
-  // tables for this type.  This maps to a decl.
-  typedef Unordered_map_hash(const Interface_type*, tree, Type_hash_identical,
-                            Type_identical) Interface_method_tables;
-
   // A pointer back to the Named_object for this type.
   Named_object* named_object_;
   // If this type is defined in a function, a pointer back to the
   // function in which it is defined.
   Named_object* in_function_;
+  // The index of this type in IN_FUNCTION_.
+  unsigned int in_function_index_;
   // The actual type.
   Type* type_;
   // The list of methods defined for this type.  Any named type can
@@ -2917,7 +2954,7 @@ class Named_type : public Type
   // function exits.
   mutable bool seen_;
   // Like seen_, but used only by do_compare_is_identity.
-  mutable bool seen_in_compare_is_identity_;
+  bool seen_in_compare_is_identity_;
   // Like seen_, but used only by do_get_backend.
   bool seen_in_get_backend_;
 };
@@ -2972,7 +3009,7 @@ class Forward_declaration_type : public Type
   { return this->real_type()->has_pointer(); }
 
   bool
-  do_compare_is_identity(Gogo* gogo) const
+  do_compare_is_identity(Gogo* gogo)
   { return this->real_type()->compare_is_identity(gogo); }
 
   unsigned int
index eb9ed9a..22197a7 100644 (file)
@@ -61,6 +61,10 @@ fgo-prefix=
 Go Joined RejectNegative
 -fgo-prefix=<string>   Set package-specific prefix for exported Go names
 
+fgo-relative-import-path=
+Go Joined RejectNegative
+-fgo-relative-import-path=<path> Treat a relative import as relative to path
+
 frequire-return-statement
 Go Var(go_require_return_statement) Init(1) Warning
 Functions which return values must end with return statements
index ab1edc6..b545525 100644 (file)
@@ -1,5 +1,5 @@
 /* Output Go language descriptions of types.
-   Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <iant@google.com>.
 
 This file is part of GCC.
@@ -1164,9 +1164,11 @@ find_dummy_types (const void *ptr, void *adata)
   struct godump_container *data = (struct godump_container *) adata;
   const char *type = (const char *) ptr;
   void **slot;
+  void **islot;
 
   slot = htab_find_slot (data->type_hash, type, NO_INSERT);
-  if (slot == NULL)
+  islot = htab_find_slot (data->invalid_hash, type, NO_INSERT);
+  if (slot == NULL || islot != NULL)
     fprintf (go_dump_file, "type _%s struct {}\n", type);
   return true;
 }
index fb49f16..17b3ed2 100644 (file)
@@ -1,5 +1,5 @@
 /* Data dependence analysis for Graphite.
-   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010, 2013 Free Software Foundation, Inc.
    Contributed by Sebastian Pop <sebastian.pop@amd.com> and
    Konrad Trifunovic <konrad.trifunovic@inria.fr>.
 
@@ -56,7 +56,7 @@ hash_poly_ddr_p (const void *pddr)
 {
   const struct poly_ddr *p = (const struct poly_ddr *) pddr;
 
-  return (hashval_t) ((long) PDDR_SOURCE (p) + (long) PDDR_SINK (p));
+  return (hashval_t) ((intptr_t) PDDR_SOURCE (p) + (intptr_t) PDDR_SINK (p));
 }
 
 /* Returns true when PDDR has no dependence.  */
index 09c6af2..da0dd76 100644 (file)
@@ -5038,6 +5038,9 @@ fix_inter_tick (rtx head, rtx tail)
              INSN_TICK (head) = tick;
            }
 
+         if (DEBUG_INSN_P (head))
+           continue;
+
          FOR_EACH_DEP (head, SD_LIST_RES_FORW, sd_it, dep)
            {
              rtx next;
index e4e13ab..49b489e 100644 (file)
@@ -44,6 +44,7 @@
 #include "tree-pass.h"
 #include "df.h"
 #include "vec.h"
+#include "pointer-set.h"
 #include "vecprim.h"
 #include "dbgcnt.h"
 
@@ -2689,12 +2690,14 @@ noce_process_if_block (struct noce_if_info *if_info)
 
 /* Check whether a block is suitable for conditional move conversion.
    Every insn must be a simple set of a register to a constant or a
-   register.  For each assignment, store the value in the array VALS,
-   indexed by register number, then store the register number in
-   REGS.  COND is the condition we will test.  */
+   register.  For each assignment, store the value in the pointer map
+   VALS, keyed indexed by register pointer, then store the register
+   pointer in REGS.  COND is the condition we will test.  */
 
 static int
-check_cond_move_block (basic_block bb, rtx *vals, VEC (int, heap) **regs,
+check_cond_move_block (basic_block bb,
+                      struct pointer_map_t *vals,
+                      VEC (rtx, heap) **regs,
                       rtx cond)
 {
   rtx insn;
@@ -2708,6 +2711,7 @@ check_cond_move_block (basic_block bb, rtx *vals, VEC (int, heap) **regs,
   FOR_BB_INSNS (bb, insn)
     {
       rtx set, dest, src;
+      void **slot;
 
       if (!NONDEBUG_INSN_P (insn) || JUMP_P (insn))
        continue;
@@ -2734,14 +2738,14 @@ check_cond_move_block (basic_block bb, rtx *vals, VEC (int, heap) **regs,
       /* Don't try to handle this if the source register was
         modified earlier in the block.  */
       if ((REG_P (src)
-          && vals[REGNO (src)] != NULL)
+          && pointer_map_contains (vals, src))
          || (GET_CODE (src) == SUBREG && REG_P (SUBREG_REG (src))
-             && vals[REGNO (SUBREG_REG (src))] != NULL))
+             && pointer_map_contains (vals, SUBREG_REG (src))))
        return FALSE;
 
       /* Don't try to handle this if the destination register was
         modified earlier in the block.  */
-      if (vals[REGNO (dest)] != NULL)
+      if (pointer_map_contains (vals, dest))
        return FALSE;
 
       /* Don't try to handle this if the condition uses the
@@ -2755,17 +2759,18 @@ check_cond_move_block (basic_block bb, rtx *vals, VEC (int, heap) **regs,
          && modified_between_p (src, insn, NEXT_INSN (BB_END (bb))))
        return FALSE;
 
-      vals[REGNO (dest)] = src;
+      slot = pointer_map_insert (vals, (void *) dest);
+      *slot = (void *) src;
 
-      VEC_safe_push (int, heap, *regs, REGNO (dest));
+      VEC_safe_push (rtx, heap, *regs, dest);
     }
 
   return TRUE;
 }
 
 /* Given a basic block BB suitable for conditional move conversion,
-   a condition COND, and arrays THEN_VALS and ELSE_VALS containing the
-   register values depending on COND, emit the insns in the block as
+   a condition COND, and pointer maps THEN_VALS and ELSE_VALS containing
+   the register values depending on COND, emit the insns in the block as
    conditional moves.  If ELSE_BLOCK is true, THEN_BB was already
    processed.  The caller has started a sequence for the conversion.
    Return true if successful, false if something goes wrong.  */
@@ -2773,7 +2778,8 @@ check_cond_move_block (basic_block bb, rtx *vals, VEC (int, heap) **regs,
 static bool
 cond_move_convert_if_block (struct noce_if_info *if_infop,
                            basic_block bb, rtx cond,
-                           rtx *then_vals, rtx *else_vals,
+                           struct pointer_map_t *then_vals,
+                           struct pointer_map_t *else_vals,
                            bool else_block_p)
 {
   enum rtx_code code;
@@ -2786,7 +2792,7 @@ cond_move_convert_if_block (struct noce_if_info *if_infop,
   FOR_BB_INSNS (bb, insn)
     {
       rtx set, target, dest, t, e;
-      unsigned int regno;
+      void **then_slot, **else_slot;
 
       /* ??? Maybe emit conditional debug insn?  */
       if (!NONDEBUG_INSN_P (insn) || JUMP_P (insn))
@@ -2795,10 +2801,11 @@ cond_move_convert_if_block (struct noce_if_info *if_infop,
       gcc_assert (set && REG_P (SET_DEST (set)));
 
       dest = SET_DEST (set);
-      regno = REGNO (dest);
 
-      t = then_vals[regno];
-      e = else_vals[regno];
+      then_slot = pointer_map_contains (then_vals, dest);
+      else_slot = pointer_map_contains (else_vals, dest);
+      t = then_slot ? (rtx) *then_slot : NULL_RTX;
+      e = else_slot ? (rtx) *else_slot : NULL_RTX;
 
       if (else_block_p)
        {
@@ -2842,31 +2849,25 @@ cond_move_process_if_block (struct noce_if_info *if_info)
   rtx jump = if_info->jump;
   rtx cond = if_info->cond;
   rtx seq, loc_insn;
-  int max_reg, size, c, reg;
-  rtx *then_vals;
-  rtx *else_vals;
-  VEC (int, heap) *then_regs = NULL;
-  VEC (int, heap) *else_regs = NULL;
+  rtx reg;
+  int c;
+  struct pointer_map_t *then_vals;
+  struct pointer_map_t *else_vals;
+  VEC (rtx, heap) *then_regs = NULL;
+  VEC (rtx, heap) *else_regs = NULL;
   unsigned int i;
+  int success_p = FALSE;
 
   /* Build a mapping for each block to the value used for each
      register.  */
-  max_reg = max_reg_num ();
-  size = (max_reg + 1) * sizeof (rtx);
-  then_vals = (rtx *) alloca (size);
-  else_vals = (rtx *) alloca (size);
-  memset (then_vals, 0, size);
-  memset (else_vals, 0, size);
+  then_vals = pointer_map_create ();
+  else_vals = pointer_map_create ();
 
   /* Make sure the blocks are suitable.  */
   if (!check_cond_move_block (then_bb, then_vals, &then_regs, cond)
       || (else_bb
          && !check_cond_move_block (else_bb, else_vals, &else_regs, cond)))
-    {
-      VEC_free (int, heap, then_regs);
-      VEC_free (int, heap, else_regs);
-      return FALSE;
-    }
+    goto done;
 
   /* Make sure the blocks can be used together.  If the same register
      is set in both blocks, and is not set to a constant in both
@@ -2875,41 +2876,38 @@ cond_move_process_if_block (struct noce_if_info *if_info)
      source register does not change after the assignment.  Also count
      the number of registers set in only one of the blocks.  */
   c = 0;
-  FOR_EACH_VEC_ELT (int, then_regs, i, reg)
+  FOR_EACH_VEC_ELT (rtx, then_regs, i, reg)
     {
-      if (!then_vals[reg] && !else_vals[reg])
-       continue;
+      void **then_slot = pointer_map_contains (then_vals, reg);
+      void **else_slot = pointer_map_contains (else_vals, reg);
 
-      if (!else_vals[reg])
+      gcc_checking_assert (then_slot);
+      if (!else_slot)
        ++c;
       else
        {
-         if (!CONSTANT_P (then_vals[reg])
-             && !CONSTANT_P (else_vals[reg])
-             && !rtx_equal_p (then_vals[reg], else_vals[reg]))
-           {
-             VEC_free (int, heap, then_regs);
-             VEC_free (int, heap, else_regs);
-             return FALSE;
-           }
+         rtx then_val = (rtx) *then_slot;
+         rtx else_val = (rtx) *else_slot;
+         if (!CONSTANT_P (then_val) && !CONSTANT_P (else_val)
+             && !rtx_equal_p (then_val, else_val))
+           goto done;
        }
     }
 
   /* Finish off c for MAX_CONDITIONAL_EXECUTE.  */
-  FOR_EACH_VEC_ELT (int, else_regs, i, reg)
-    if (!then_vals[reg])
-      ++c;
+  FOR_EACH_VEC_ELT (rtx, else_regs, i, reg)
+    {
+      gcc_checking_assert (pointer_map_contains (else_vals, reg));
+      if (!pointer_map_contains (then_vals, reg))
+       ++c;
+    }
 
   /* Make sure it is reasonable to convert this block.  What matters
      is the number of assignments currently made in only one of the
      branches, since if we convert we are going to always execute
      them.  */
   if (c > MAX_CONDITIONAL_EXECUTE)
-    {
-      VEC_free (int, heap, then_regs);
-      VEC_free (int, heap, else_regs);
-      return FALSE;
-    }
+    goto done;
 
   /* Try to emit the conditional moves.  First do the then block,
      then do anything left in the else blocks.  */
@@ -2921,17 +2919,11 @@ cond_move_process_if_block (struct noce_if_info *if_info)
                                          then_vals, else_vals, true)))
     {
       end_sequence ();
-      VEC_free (int, heap, then_regs);
-      VEC_free (int, heap, else_regs);
-      return FALSE;
+      goto done;
     }
   seq = end_ifcvt_sequence (if_info);
   if (!seq)
-    {
-      VEC_free (int, heap, then_regs);
-      VEC_free (int, heap, else_regs);
-      return FALSE;
-    }
+    goto done;
 
   loc_insn = first_active_insn (then_bb);
   if (!loc_insn)
@@ -2962,9 +2954,14 @@ cond_move_process_if_block (struct noce_if_info *if_info)
 
   num_updated_if_blocks++;
 
-  VEC_free (int, heap, then_regs);
-  VEC_free (int, heap, else_regs);
-  return TRUE;
+  success_p = TRUE;
+
+done:
+  pointer_map_destroy (then_vals);
+  pointer_map_destroy (else_vals);
+  VEC_free (rtx, heap, then_regs);
+  VEC_free (rtx, heap, else_regs);
+  return success_p;
 }
 
 \f
index 6693bf5..efcd2c7 100644 (file)
@@ -150,8 +150,14 @@ add_standard_paths (const char *sysroot, const char *iprefix,
              if (!filename_ncmp (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);
+                 else if (p->multilib == 2)
+                   {
+                     if (!imultiarch)
+                       continue;
+                     str = concat (str, dir_separator_str, imultiarch, NULL);
+                   }
                  add_path (str, SYSTEM, p->cxx_aware, false);
                }
            }
@@ -203,8 +209,14 @@ add_standard_paths (const char *sysroot, const char *iprefix,
          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);
+         else if (p->multilib == 2)
+           {
+             if (!imultiarch)
+               continue;
+             str = concat (str, dir_separator_str, imultiarch, NULL);
+           }
 
          add_path (str, SYSTEM, p->cxx_aware, false);
        }
index 75b8e9d..ce1bc6e 100644 (file)
@@ -95,9 +95,7 @@ can_remove_node_now_p_1 (struct cgraph_node *node)
             those only after all devirtualizable virtual calls are processed.
             Lacking may edges in callgraph we just preserve them post
             inlining.  */
-         && (!DECL_VIRTUAL_P (node->decl)
-             || (!DECL_COMDAT (node->decl)
-                 && !DECL_EXTERNAL (node->decl)))
+         && !DECL_VIRTUAL_P (node->decl)
          /* During early inlining some unanalyzed cgraph nodes might be in the
             callgraph and they might reffer the function in question.  */
          && !cgraph_new_nodes);
index 388291a..8c2b3bd 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -194,9 +194,7 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
     if (node->analyzed && !node->global.inlined_to
        && (!cgraph_can_remove_if_no_direct_calls_and_refs_p (node)
            /* Keep around virtual functions for possible devirtualization.  */
-           || (before_inlining_p
-               && DECL_VIRTUAL_P (node->decl)
-               && (DECL_COMDAT (node->decl) || DECL_EXTERNAL (node->decl)))))
+           || (before_inlining_p && DECL_VIRTUAL_P (node->decl))))
       {
         gcc_assert (!node->global.inlined_to);
        enqueue_cgraph_node (node, &first);
index 9faabb5..771a368 100644 (file)
@@ -1138,8 +1138,13 @@ static inline bool
 ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a,
                              ira_object_t *o)
 {
-  *o = ALLOCNO_OBJECT (a, i->n);
-  return i->n++ < ALLOCNO_NUM_OBJECTS (a);
+  int n = i->n++;
+  if (n < ALLOCNO_NUM_OBJECTS (a))
+    {
+      *o = ALLOCNO_OBJECT (a, n);
+      return true;
+    }
+  return false;
 }
 
 /* Loop over all objects associated with allocno A.  In each
index 9e0ed19..1d40c98 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index ed3230c..0b5b06a 100644 (file)
@@ -116,6 +116,7 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *,
 #define LANG_HOOKS_EH_PERSONALITY      lhd_gcc_personality
 #define LANG_HOOKS_EH_RUNTIME_TYPE     lhd_pass_through_t
 #define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS  NULL
+#define LANG_HOOKS_BLOCK_MAY_FALLTHRU  hook_bool_const_tree_true
 #define LANG_HOOKS_EH_USE_CXA_END_CLEANUP      false
 #define LANG_HOOKS_DEEP_UNSHARING      false
 
@@ -308,6 +309,7 @@ extern void lhd_end_section (void);
   LANG_HOOKS_EH_PERSONALITY, \
   LANG_HOOKS_EH_RUNTIME_TYPE, \
   LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
+  LANG_HOOKS_BLOCK_MAY_FALLTHRU, \
   LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
   LANG_HOOKS_DEEP_UNSHARING \
 }
index 89e74f9..623563e 100644 (file)
@@ -465,6 +465,10 @@ struct lang_hooks
      FUNCTION_DECL for `std::terminate'.  */
   tree (*eh_protect_cleanup_actions) (void);
 
+  /* Return true if a stmt can fallthru.  Used by block_may_fallthru
+     to possibly handle language trees.  */
+  bool (*block_may_fallthru) (const_tree);
+
   /* True if this language uses __cxa_end_cleanup when the ARM EABI
      is enabled.  */
   bool eh_use_cxa_end_cleanup;
index 83d2501..5264e32 100644 (file)
@@ -2361,6 +2361,9 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
       iv1.step = const0_rtx;
     }
 
+  iv0.step = lowpart_subreg (mode, iv0.step, comp_mode);
+  iv1.step = lowpart_subreg (mode, iv1.step, comp_mode);
+
   /* This is either infinite loop or the one that ends immediately, depending
      on initial values.  Unswitching should remove this kind of conditions.  */
   if (iv0.step == const0_rtx && iv1.step == const0_rtx)
@@ -2471,6 +2474,7 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
        step = simplify_gen_unary (NEG, comp_mode, iv1.step, comp_mode);
       else
        step = iv0.step;
+      step = lowpart_subreg (mode, step, comp_mode);
       delta = simplify_gen_binary (MINUS, comp_mode, iv1.base, iv0.base);
       delta = lowpart_subreg (mode, delta, comp_mode);
       delta = simplify_gen_binary (UMOD, mode, delta, step);
index 668a5ce..8c504c2 100644 (file)
@@ -93,6 +93,20 @@ lto_write_options (void)
     {
       struct cl_decoded_option *option = &save_decoded_options[i];
 
+      /* Skip explicitly some common options that we do not need.  */
+      switch (option->opt_index)
+      {
+       case OPT_dumpbase:
+       case OPT_SPECIAL_unknown:
+       case OPT_SPECIAL_ignore:
+       case OPT_SPECIAL_program_name:
+       case OPT_SPECIAL_input_file:
+         continue;
+
+       default:
+         break;
+      }
+
       /* Skip frontend and driver specific options here.  */
       if (!(cl_options[option->opt_index].flags & (CL_COMMON|CL_TARGET|CL_LTO)))
        continue;
@@ -108,17 +122,6 @@ lto_write_options (void)
       if (cl_options[option->opt_index].flags & (CL_DRIVER|CL_WARNING))
        continue;
 
-      /* Skip explicitly some common options that we do not need.  */
-      switch (option->opt_index)
-       {
-       case OPT_dumpbase:
-       case OPT_SPECIAL_input_file:
-         continue;
-
-       default:
-         break;
-       }
-
       for (j = 0; j < option->canonical_option_num_elements; ++j)
        append_to_collect_gcc_options (&temporary_obstack, &first_p,
                                       option->canonical_option[j]);
index 1c9aa83..fcc9b72 100644 (file)
@@ -393,6 +393,12 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
       struct cl_decoded_option *foption = &fdecoded_options[i];
       switch (foption->opt_index)
        {
+       case OPT_SPECIAL_unknown:
+       case OPT_SPECIAL_ignore:
+       case OPT_SPECIAL_program_name:
+       case OPT_SPECIAL_input_file:
+         break;
+
        default:
          if (!(cl_options[foption->opt_index].flags & CL_TARGET))
            break;
index e3cece5..fae2d0a 100644 (file)
@@ -1,3 +1,29 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * lto.c: Include output.h.
+
+2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR bootstrap/56227
+       * lto.c (lto_resolution_ready): Use %wx instead of
+       HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
+
+2012-09-20  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-09-11  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/54312
+       * lto.c (uniquify_nodes): Remove quadratic loop checking if the
+       type is variant leader.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
 2010-09-16  Jan Hubicka  <jh@suse.cz>
 
        * lto.c (lto_materialize_function): Do not tamper with STATIC and
-       EXTERNAL flags. 
+       EXTERNAL flags.
 
 2010-09-15  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
 
        * lto.c (O_BINARY): Define.
        (lto_read_section_data): Open file in binary mode.
        * lto-elf.c (O_BINARY): Define.
-       (lto_elf_file_open): Open file in binary mode. 
+       (lto_elf_file_open): Open file in binary mode.
 
 2010-01-08  Richard Guenther  <rguenther@suse.de>
 
 
 2009-01-29  Ramana Radhakrishnan  <ramana.r@gmail.com>
 
-       * Make-lang.in (LTO_EXE): Link with all 
+       * Make-lang.in (LTO_EXE): Link with all
        BACKENDLIBS and not only GMPLIBS
 
 2009-01-28  H.J. Lu  <hongjiu.lu@intel.com>
        exceptions flag is given.
        * lto-lang.c: (lto_init_options) Set default exceptions flag.
        (lto_init_eh): Remove exceptions flag initialization.
-       (lto_init): Only call lto_init_eh if exceptions flag is set. 
+       (lto_init): Only call lto_init_eh if exceptions flag is set.
 
 2008-10-21  Diego Novillo  <dnovillo@google.com>
 
        * lto.c (lto_main): Call lto_fixup_nothrow_decls to fix up function
        bodies affected by exception attribute merging of DECLs.
        * lto-symtab.c (lto_symtab_merge_decl): Handle exception attribute
-       merging. 
+       merging.
 
 2008-09-25  Rafael Espindola  <espindola@google.com>
 
 2008-08-04  Bill Maddox  <maddox@google.com>
 
        * lto-symtab.c (lto_symtab_merge_decl): Add comment.
-       
+
 2008-09-03  Doug Kwan  <dougkwan@google.com>
 
        lto.c (lto_add_all_inlinees): Reset FAILED_REASON of edges to
        (lto_1_to_1_map, lto_add_all_inlinees, lto_wpa_write_files):
        New functions.
        (lto_main): Initialize bitmap obstack.  Add code to handle WPA mode.
-       * Make-lang.in (LTO_H): Replace filename lto-section-in.h with 
+       * Make-lang.in (LTO_H): Replace filename lto-section-in.h with
        variable LTO_SECTION_IN_H.
        (lto/lto.o): Include gt-lto-lto-c.h ggc.h ,VEC_H, BITMAP_H,
        pointer-set.h and IPA_PROP_H. Also replace filename lto-section-in.h
        asserting.
        (lto_post_options): Suppress debug info generation.
        * Make-lang.in: Add dependency of lto-lang.o on tree-gimple.h.
-       
+
 2008-08-25  Bill Maddox <maddox@google.com>
 
        * lto-symtab.c (lto_symtab_merge_decl): Remove a suspect
        assertion and leave an explanatory comment in its place.
-       
+
 2008-08-21  Doug Kwan  <dougkwan@google.com>
 
        * lto.c (preload_common_nodes): Call lto_get_common_nodes to get a list
        * lto.h (struct lto_file_struct): Remove GTY marker.
        * config-lang.in: Remove lto/lto.h and lto/lto.c from
        gtfiles.
-       
+
 2008-08-20  Bill Maddox  <maddox@google.com>
 
        * lto.c (lto_read_decls): Provide dummy argument to input_tree
        to conform to its new signature.
        * lto-symtab.c (lto_symtab_merge_decl): Do not invoke ggc_free
        on discarded node here, now called in global_vector_fixup.
-       
+
 2008-08-09  Bill Maddox  <maddox@google.com>
 
        * lto.c (preload_common_nodes): Verify that fileptr_type_node
        has not been set to a front-end-specific value.
-       
+
 2008-08-05  Doug Kwan  <dougkwan@google.com>
-       
+
        * Make-lang.in (lto-symtab.o): Add missing dependencies to fix
        build breakage.
 
 
 2008-06-07  Kenneth Zadeck <zadeck@naturalbridge.com>
            Jan Hubicka  <jh@suse.cz>
-       
+
        * lto.c (sys/mman.h, tree-pass.h): New includes.
        (lto_materialize_constructors_and_inits,
        lto_materialize_function): Keeps length of section.
        (lto_read_section_data, get_section_data, free_section_data): New
        functions.
        (lto_main): Now calls pass manager, sets the hooks so that the ipa
-       passes can get the section data. 
-       
+       passes can get the section data.
+
 2008-05-27  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto.h (lto_read_decls): Made local.
-       (lto_input_function_body, lto_input_constructors_and_inits, 
+       (lto_input_function_body, lto_input_constructors_and_inits,
        lto_input_cgraph): Declarations moved to lto-section-in.h.
        * lto-section-in.c: Moved to .. .
        * lto-cgraph-in.c: Ditto.
        (LANG_HOOKS_INSERT_BLOCK): Removed.
        * Make-lang.in (lto-cgraph-in.o, lto-function-in.o,
        lto-section-in.o): Rules moved to lto/Makefile.in.
-       
 
 2008-05-16  Ollie Wild  <aaw@google.com>
 
        (lto_file_read): Made local and initialize dictionary so that
        other lto sections can be read without reprocessing the elf file.
        (lto_main): Read all functions after all files have been processed
-       for their types, globals and cgraph.  
+       for their types, globals and cgraph.
        * Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
        dependencies.
        * lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
        * lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
        (lto_file_read): Made local.
        (lto_get_file_name, lto_elf_build_section_table,
-       lto_input_cgraph): 
+       lto_input_cgraph):
        New function.
        * lto-section-in.c (lto_read_section_data, lto_get_section_data):
        New functions.
        * lto_section_in.h (lto_section_slot): New structure.
        (section_hash_table.lto_file_decl_data): New field.
 
-       
 2008-02-09  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto.c (lto_read_variable_formal_parameter_const): Remove code to
        * lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
        lto_section_type parameter.
        (lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
-       * lto.h (lto_file_vtable_struct): Removed two of the fields and 
+       * lto.h (lto_file_vtable_struct): Removed two of the fields and
        renamed the other two so that there is only one map function and
        one unmap function and each takes a section type parameter.
        (lto_read_function_body): Renamed to lto_input_function_body and
        (lto_read_function_body, lto_input_constructors_and_inits):
        Renamed to lto_input_function_body and takes file_data parameter.
        * lto-section-in.h (lto_file_decl_data): New structure.
-       
+
 2008-01-28  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-function-in.c (input_globals.c): Changed input type to
        (input_function): Renumber all stmts after they are input.
        (lto_read_body, lto_read_function_body, lto_read_var_init):
        Changed to used new header format and enum section_type.
-       *lto-lang.c (success): Removed. 
-       
+       *lto-lang.c (success): Removed.
+
 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto-elf.c (lto_elf_lookup_sym): Remove unused function.
        * lto-section-in.c: New file with changes from above.
        * Make-lang.in (lto-read.o): Renamed lto-function-in.c.
        (lto-section-in.o): New rule.
-       
+
 2007-12-29  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto-read.c (input_expr_operand): Mark static and external
        * lto.h (struct lto_str_fd_struct): New struct.
        (struct lto_file_struct): Added new field DEBUG_STR
        to hold the file descriptor for the debug string table.
-       
+
 2007-12-07  Bill Maddox  <maddox@google.com>
 
        * lto.c (lto_str_fd_init): New function.
 
 2007-11-16  Kenneth Zadeck <zadeck@naturalbridge.com>
 
-       * lto-read.c (input_expr_operand): Get types right 
+       * lto-read.c (input_expr_operand): Get types right
        for COMPLEX_CST.
 
 2007-11-16  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (make_new_block, input_cfg): Properly set
        n_basic_blocks.
-       
+
 2007-11-16  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.c (lto_read_array_type_DIE): Handle DIEs with DW_AT_GNU_vector
        (input_expr_operand): Keeps track locally if current node needs a loc.
        (input_local_var): Added code to handle DECL_INITIAL for
        static local vars. Only set loc if necessary.
-       
+
 2007-11-15  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.c (lto_read_subroutine_type_subprogram_DIE): Fix thinko'd
        registered_builtin_fndecls.
 
 2007-11-15  Kenneth Zadeck <zadeck@naturalbridge.com>
-           
+
        * lto-read.c (process_tree_flags, lto_static_init_local):
        Renamed to ADD_CLASS_EXPR_FLAG. ADD_CLASS_DECL_FLAG New Macro.
        (input_line_info, clear_line_info): Fixed new line number code.
        (input_expr_operand): Added type to SWITCH_EXPR.
        (lto_read_body): Properly initialized data_in.
        Clear line info when leaving.
-       
+
 2007-11-13  Diego Novillo  <dnovillo@google.com>
 
        * lto.c (lto_read_variable_formal_parameter_constant_DIE):
 2007-11-13  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_type_ref): Renamed from get_type_ref.
-       (input_expr_operand, input_local_var): Renamed get_type_ref to 
+       (input_expr_operand, input_local_var): Renamed get_type_ref to
        input_type_ref.
-       (input_expr_operand): Get the types correct for 
+       (input_expr_operand): Get the types correct for
        vector-cst.  Get SSA_NAME_DEF_STMT correct for return_exprs.
-       
+
 2007-11-13  Doug Kwan  <dougkwan@google.com>
 
        * lto-read.c (input_widest_uint_uleb128): New function.
        DW_AT_static_link and DW_AT_specification.  Return the
        specification if present.
        (lto_read_base_type_DIE): Handle DW_ATE_complex_float.
-       
+
 2007-11-13  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto-lang.c: Include target.h.
 
        * lto-read.c (input_expr_operand): Added code to properly handle
        index filed. Added new RANGE_EXPR case.
-       
+
 2007-11-11  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (ADD_FUNC_FLAG): Deleted macro.
         read flags of VAR_DECL and FUNCTION_DECL of size>1.
         change global array num_flags_for_code to flags_length_for_code.
         (set_line_info): Make decls work in USE_MAPPED_LOCATION mode.
-       
+
 2007-11-05  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.c (lto_read_structure_union_class_type_DIE): Use proper record
 
        * lto-read.c (data_in): Added type_decls and current_col fields.
        (string_slot): New type to hold canonized file name.
-       (hash_string_slot_node, eq_string_slot_node, canon_file_name, 
+       (hash_string_slot_node, eq_string_slot_node, canon_file_name,
        input_line_info, set_line_info, clear_line_info): New functions.
        (file_name_hash_table): New hash table.
-       (input_local_var, input_labels, input_local_vars_index, 
+       (input_local_var, input_labels, input_local_vars_index,
        input_local_var, input_local_vars, input_ssa_names): Reorganized parameters.
        (input_uleb128): Changed type of byte var.
        (input_expr_operand): Large number of changes to get line numbers
        (lto_read_body): Added code to get TYPE_DECLS read and to change
        parameters to the calls above that had their parms reorganized.
 
-       
 2007-10-29  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.h (lto_resolve_typedecl_ref): Declare.
 
        * lto-read.c (input_expr_operand): Give label_values the proper
        context and provide switch statements with a default type.
-       
+
 2007-10-23  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto-read.c (lto_read_body): Move call to init_ssa_operands...
        (input_ssa_names): Now calls input_tree_flags.
        (lto_read_body): Now sets cfun.
        (lto_read_function_body): Now sets current_function_pointer.
-       
+
 2007-10-19  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.c (lto_read_variable_formal_parameter_constant_DIE): Check
        (input_expr_operand): Make asm operands use input_tree_list.
        (input_local_var): Now uses input_tree_list.
        (lto_read_body): Change placement for setting context of debug_labels.
-       
-       
+
 2007-10-16  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_real): Output debugging in proper order.
        written.
        (dump_debug_stream): Also print char in hex.
        (debug_out_fun): Fix signed unsigned mismatch.
-       
+
 2007-10-10  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto.c (lto_read_form): Handle DW_AT_MIPS_linkage_name and
 2007-09-11  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_expr_operand): Added type for STRING_CST.
-       
+
 2007-09-10  Nathan Froyd  <froydnj@codesourcery.com>
 
        * lto-read.c (lto_read): Set the type of the newly created CALL_EXPR.
 
        * lto-read.c (fun_in): Renamed to data_in.
        (input_expr_operand, input_local_var, input_string_internal,
-       input_string, input_real, input_list, get_label_decl, 
+       input_string, input_real, input_list, get_label_decl,
        get_type_ref, input_expr_operand, input_globals, input_labels,
-       input_local_vars_index, input_local_var, input_local_vars, 
+       input_local_vars_index, input_local_var, input_local_vars,
        input_cfg, input_phi, input_ssa_names, input_bb, ): Renamed fun_in to data_in.
        (input_constructor): New function.
        (lto_read_function_body): Renamed to lto_read_body and generalized
        to handle both functions and constructors.
        (lto_read_function_body, lto_read_var_init): New function.
-       
-       
+
 2007-08-28  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_expr_operand): Assert that there really is a
        FUNCTION_DECL.
        (input_globals): Removed checks on 0 section.
-       
+
 2007-08-28  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (fun_in): Added local_decls_index and
-       local_decls_index_d.  
+       local_decls_index_d.
        (input_expr_operand): Changed inputting of PARM_DECLs and VAR_DECLs.
        (input_globals): Enabled code to handle FIELD_DECLs.
        (input_local_vars_index, input_local_vars): New function.
        (input_local_var): Changed to allow locals to be input randomly.
        (lto_read_function_body): Added code to input the
        local_decls_index and to free various structures.
-       
+
 2007-08-17  Jim Blandy  <jimb@codesourcery.com>
 
        * lto.c (lto_read_variable_formal_parameter_constant_DIE): Remove
 
        * lto.c (lto_read_form): Complete attr_classes table.
        (DWARF2_form_data): Doc fix.
-       
+
 2007-08-05  Mark Mitchell  <mark@codesourcery.com>
 
        * lto.h (lto_file_vtable): Remove read_var_init.  Add map_var_init
        input_expr_operand, input_local_vars, input_cfg, input_phi,
        input_ssa_names, input_bb, input_function): Added semicolons.
 
-       
 2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_globals): Remove debugging.
        (input_function): Set DECL_ARGUMENTS.
 
-       
 2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto-read.c (input_expr_operand): Fixed code for COND_EXEC,
        (input_ssa_names): Initialize SSA_NAME_DEF_STMT to empty stmt.
        (input_flags): New function.
        * lto-lang.c (lto_init): Changed state of in_lto_p.
-       
-       
+
 2007-07-24  Mark Mitchell  <mark@codesourcery.com>
 
        * lto-tree.h (lto_varargs_cookie): Remove.
        (lto_read_function_body): Processes new header fields to construct
        streams for the ssa_names and cfg and their debugging.
        * lto/lto-lang.c (lto_init): Set in_lto_p.
-       
-       
+
 2007-06-28  Mark Mitchell  <mark@codesourcery.com>
 
        * lto.h (lto_file_vtable): Add read_var_init.
 
        * lto-read (make_new_block): Initialize the stmt_list.
        (lto_static_init_local): Add debugging for missing codes.
-       
+
 2007-06-26  Mark Mitchell  <mark@codesourcery.com>
 
        * lto.c (lto_read_subroutine_type_subprogram_DIE): Handle
-       unprototyped functions. 
+       unprototyped functions.
 
 2007-06-23  Mark Mitchell  <mark@codesourcery.com>
 
        * lto-symbtab.c: Build function types out of TREE_LISTs.
 
        * lto-elf.c (<libelf>): Check for HAVE_LIBELF_H.
-       
+
        * Make-lang.in (LTO_OBJS): Depend on attribs.o.
-       
+
 2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * lto/lto-tree.h (lang_decl, lang_type, language_function): Added
        (lto_read_form): Change first argument to lto_info_fd *.
        Add FORM_CONTEXT argument.
        Handle DW_FORM_ref_addr.
-       (lto_read_tag_DIE): Change first argument to lto_info_fd *.     
+       (lto_read_tag_DIE): Change first argument to lto_info_fd *.
        (LTO_BEGIN_READ_ATTRS_UNCHECKED): Save old context.
        Swap contexts if necessary for form.
        (LTO_BEGIN_READ_ATTRS): Cast fd to right type for
        * lto.h (DWARF2_CompUnit): New structure.
        (lto_info_fd): Ditto.
        (lto_file): Change debug_info to be an lto_info_fd.
-       
+
 2006-06-25  Mark Mitchell  <mark@codesourcery.com>
 
        * lto.c (toplev.h): Include it.
        (lto_file): Use new types.
        (lto_file_close): Declare.
        * lto-lang.c (lto_init): Always use unit-at-a-time mode.
-       
+
 2006-06-18  Mark Mitchell  <mark@codesourcery.com>
 
        * lto.h: New file.
        (lto.h): Likewise.
        (lto_init): New function.
        (lto_write_globals): Remove.
-       (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing. 
+       (LANG_HOOKS_WRITE_GLOBALS): Define to lhd_do_nothing.
        (LANG_HOOKS_INIT): Define.
        (LANG_HOOKS_PARSE_FILE): Likewise.
        * Make-lang.in (LTO_OBJS): Add lto.o and lto-elf.o.
index 3e7503b..5398ca8 100644 (file)
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "toplev.h"
 #include "tree.h"
 #include "tree-flow.h"
+#include "output.h"
 #include "diagnostic-core.h"
 #include "tm.h"
 #include "cgraph.h"
@@ -761,6 +762,7 @@ uniquify_nodes (struct data_in *data_in, unsigned from)
             variant list state before fixup is broken.  */
          tree tem, mv;
 
+#ifdef ENABLE_CHECKING
          /* Remove us from our main variant list if we are not the
             variant leader.  */
          if (TYPE_MAIN_VARIANT (t) != t)
@@ -768,10 +770,9 @@ uniquify_nodes (struct data_in *data_in, unsigned from)
              tem = TYPE_MAIN_VARIANT (t);
              while (tem && TYPE_NEXT_VARIANT (tem) != t)
                tem = TYPE_NEXT_VARIANT (tem);
-             if (tem)
-               TYPE_NEXT_VARIANT (tem) = TYPE_NEXT_VARIANT (t);
-             TYPE_NEXT_VARIANT (t) = NULL_TREE;
+             gcc_assert (!tem && !TYPE_NEXT_VARIANT (t));
            }
+#endif
 
          /* Query our new main variant.  */
          mv = GIMPLE_REGISTER_TYPE (TYPE_MAIN_VARIANT (t));
@@ -1057,8 +1058,7 @@ lto_resolution_read (splay_tree file_ids, FILE *resolution, lto_file *file)
        {
          nd = lto_splay_tree_lookup (file_ids, id);
          if (nd == NULL)
-           internal_error ("resolution sub id " HOST_WIDE_INT_PRINT_HEX_PURE
-                           " not in object file", id);
+           internal_error ("resolution sub id %wx not in object file", id);
        }
 
       file_data = (struct lto_file_decl_data *)nd->value;
index 4401ce3..2b7c2b4 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 50b61ba..637abb7 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 8245b82..e5e128c 100644 (file)
@@ -758,12 +758,20 @@ use_pointer_for_field (tree decl, omp_context *shared_ctx)
       if (TREE_ADDRESSABLE (decl))
        return true;
 
+      /* lower_send_shared_vars only uses copy-in, but not copy-out
+        for these.  */
+      if (TREE_READONLY (decl)
+         || ((TREE_CODE (decl) == RESULT_DECL
+              || TREE_CODE (decl) == PARM_DECL)
+             && DECL_BY_REFERENCE (decl)))
+       return false;
+
       /* 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)
+      if (shared_ctx->is_nested)
        {
          omp_context *up;
 
@@ -786,11 +794,10 @@ use_pointer_for_field (tree decl, omp_context *shared_ctx)
            }
        }
 
-      /* For tasks avoid using copy-in/out, unless they are readonly
-        (in which case just copy-in is used).  As tasks can be
+      /* For tasks avoid using copy-in/out.  As tasks can be
         deferred or executed in different thread, when GOMP_task
         returns, the task hasn't necessarily terminated.  */
-      if (!TREE_READONLY (decl) && is_task_ctx (shared_ctx))
+      if (is_task_ctx (shared_ctx))
        {
          tree outer;
        maybe_mark_addressable_and_ret:
index fd353d7..91b4661 100644 (file)
@@ -7700,14 +7700,14 @@ expand_atomic_load (rtx target, rtx mem, enum memmodel model)
   if (!target || target == const0_rtx)
     target = gen_reg_rtx (mode);
 
-  /* Emit the appropriate barrier before the load.  */
-  expand_mem_thread_fence (model);
+  /* For SEQ_CST, emit a barrier before the load.  */
+  if (model == MEMMODEL_SEQ_CST)
+    expand_mem_thread_fence (model);
 
   emit_move_insn (target, mem);
 
-  /* For SEQ_CST, also emit a barrier after the load.  */
-  if (model == MEMMODEL_SEQ_CST)
-    expand_mem_thread_fence (model);
+  /* Emit the appropriate barrier after the load.  */
+  expand_mem_thread_fence (model);
 
   return target;
 }
@@ -7768,13 +7768,12 @@ expand_atomic_store (rtx mem, rtx val, enum memmodel model, bool use_release)
         return NULL_RTX;
     }
 
-  /* If there is no mem_store, default to a move with barriers */
-  if (model == MEMMODEL_SEQ_CST || model == MEMMODEL_RELEASE)
-    expand_mem_thread_fence (model);
+  /* Otherwise assume stores are atomic, and emit the proper barriers.  */
+  expand_mem_thread_fence (model);
 
   emit_move_insn (mem, val);
 
-  /* For SEQ_CST, also emit a barrier after the load.  */
+  /* For SEQ_CST, also emit a barrier after the store.  */
   if (model == MEMMODEL_SEQ_CST)
     expand_mem_thread_fence (model);
 
index bf3c351..5839fea 100644 (file)
@@ -1,3 +1,21 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-10-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * es.po: Update.
+
+2012-09-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * sv.po: Update.
+
+2012-09-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
+       ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
+       zh_TW.po: Update.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 07ee9b2..5490a2d 100644 (file)
Binary files a/gcc/po/be.gmo and b/gcc/po/be.gmo differ
index 835b18e..8090fc1 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 3.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+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"
@@ -24,7 +24,7 @@ msgstr ""
 msgid "({anonymous})"
 msgstr ""
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr ""
@@ -34,8 +34,8 @@ msgstr ""
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr ""
@@ -47,13 +47,13 @@ msgstr ""
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr ""
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr ""
@@ -69,14 +69,14 @@ msgstr ""
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr ""
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr ""
@@ -85,25 +85,25 @@ msgstr ""
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr ""
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr ""
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr ""
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
@@ -112,34 +112,34 @@ msgstr ""
 msgid "expected %<.%>"
 msgstr ""
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr ""
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr ""
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr ""
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr ""
@@ -316,12 +316,12 @@ msgstr ""
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr ""
@@ -1395,20 +1395,20 @@ msgstr "нераспазнаны выбар \"-%s\""
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr ""
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr ""
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr ""
 
@@ -2028,195 +2028,195 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr ""
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr ""
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2589,18 +2589,18 @@ msgid "invalid %%r value"
 msgstr "нерэчаіснае значэньне %%r"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "нерэчаіснае значэньне %%R"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "нерэчаіснае значэньне %%N"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "нерэчаіснае значэньне %%P"
@@ -2615,12 +2615,12 @@ msgstr "нерэчаіснае значэньне %%h"
 msgid "invalid %%L value"
 msgstr "нерэчаіснае значэньне %%L"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "нерэчаіснае значэньне %%m"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "нерэчаіснае значэньне %%M"
@@ -2631,7 +2631,7 @@ msgid "invalid %%U value"
 msgstr "нерэчаіснае значэньне %%U"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "нерэчаіснае значэньне %%v"
@@ -2641,7 +2641,7 @@ msgstr "нерэчаіснае значэньне %%v"
 msgid "invalid %%C value"
 msgstr "нерэчаіснае значэньне %%C"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "нерэчаіснае значэньне %%E"
@@ -2652,39 +2652,39 @@ msgid "unknown relocation unspec"
 msgstr ""
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "нерэчаіснае значэньне %%xn"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, fuzzy, c-format
 msgid "predicated Thumb instruction"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 #| msgid "invalid %%f operand"
 msgid "invalid shift operand"
 msgstr "нерэчаісны %%f аперанд"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2692,83 +2692,83 @@ msgstr "нерэчаісны %%f аперанд"
 msgid "invalid operand for code '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, fuzzy, c-format
 msgid "missing operand"
 msgstr "прапушчан ініцыялізатар"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 msgid "function parameters cannot have __fp16 type"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "функцыя не вяртае тып string"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 msgid "bad address, not a constant:"
 msgstr ""
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 #, fuzzy
 msgid "invalid insn:"
 msgstr "Нерэчаісны выбар %s"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr ""
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
@@ -2785,7 +2785,7 @@ msgstr "нерэчаісны %%c аперанд"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3018,73 +3018,73 @@ msgstr ""
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr ""
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr ""
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr ""
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr ""
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, fuzzy, c-format
 msgid "invalid operand code '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid constraints for operand"
 msgstr "нерэчаісны %%c аперанд"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 #, fuzzy
 msgid "unknown insn mode"
 msgstr "невядомы рэжым машыны \"%s\""
@@ -3141,13 +3141,13 @@ msgstr "нерэчаісны %%-код"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "нерэчаісны %%-код"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, fuzzy, c-format
 msgid "invalid %%P operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr ""
@@ -3228,7 +3228,7 @@ msgid "post-increment address is not a register"
 msgstr ""
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "дрэнны адрас"
 
@@ -3369,119 +3369,119 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Выкарыстоўваць апаратную \"плаваючую кропку\""
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%Q value"
 msgid "invalid %%c value"
 msgstr "дрэннае %%Q значэнне"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "нерэчаіснае значэньне %%O"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, fuzzy, c-format
 #| msgid "invalid %%x/X value"
 msgid "invalid %%x value"
 msgstr "нерэчаіснае значэньне %%x/X"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 #, fuzzy
 #| msgid "too few arguments to function"
 msgid "AltiVec argument passed to unprototyped function"
@@ -3572,25 +3572,25 @@ msgstr ""
 msgid "invalid operand for code: '%c'"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, fuzzy, c-format
 msgid "invalid operand to %%R"
 msgstr "нерэчаісны %%-код"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, fuzzy, c-format
 msgid "invalid operand to %%S"
 msgstr "нерэчаісны %%-код"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr ""
 
@@ -3609,13 +3609,13 @@ msgstr "нерэчаісны %%A аперанд"
 msgid "invalid %%B operand"
 msgstr "нерэчаісны %%B аперанд"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "нерэчаісны %%C аперанд"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "нерэчаісны %%D аперанд"
@@ -3660,58 +3660,58 @@ msgstr "тып параметра \"%s\" не аб'яўлены"
 msgid "xstormy16_print_operand: unknown code"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "нерэчаісны %%c аперанд"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "нерэчаісны %%d аперанд"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 msgid "invalid %%H specifier"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 msgid "invalid %%h operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 msgid "invalid %%I operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 msgid "invalid %%i operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 msgid "invalid %%j operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "нерэчаісны %%c аперанд"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 msgid "invalid %%N operand"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "нерэчаісны %%-код"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4049,7 +4049,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr ""
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4434,11 +4434,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr ""
 
@@ -4446,125 +4446,125 @@ msgstr ""
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "In function"
 msgid "internal function"
 msgstr "У функцыі"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4573,7 +4573,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4898,6 +4898,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4991,26 +5003,10 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr ""
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 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/sh/sh.h:430 config/sh/sh.h:433
 #, fuzzy
 #| msgid "%s does not support %s"
@@ -5025,6 +5021,10 @@ msgstr ""
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr ""
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 msgid "profiling not supported with -mg"
@@ -7841,7 +7841,7 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr ""
 
 #: config/sh/sh.opt:278
@@ -12247,256 +12247,252 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of `%D'"
 msgid "invalid use of type"
 msgstr "нерэчаіснае выкарыстаньне `%D'"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "нерэчаісны %%-код"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 msgid "shift of non-integer operand"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "cannot find method"
 msgid "object is not a method"
 msgstr "немагчыма знайсьці мэтад"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "няма аргументаў"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments to function"
 msgid "too many arguments"
 msgstr "вельмі шмат аргументаў у функцыі"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 msgid "argument 1 must be a map"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments to function"
 msgid "too many arguments to make"
 msgstr "вельмі шмат аргументаў у функцыі"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "too few arguments to function"
 msgid "unsupported argument type to builtin function"
 msgstr "не хапае аргументаў у функцыі"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 msgid "argument must be channel"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 msgid "left argument must be a slice"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "first argument of `%s' should be `int'"
 msgid "first argument must be []byte"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "bit-field `%s' has invalid type"
 msgid "argument 2 has invalid type"
 msgstr "бітавае поле \"%s\" мае нерэчаісны тып"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 msgid "argument must have complex type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "In function"
 msgid "expected function"
 msgstr "У функцыі"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments to function"
 msgid "too many expressions for struct"
 msgstr "вельмі шмат аргументаў у функцыі"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments to function"
 msgid "too few expressions for struct"
 msgstr "не хапае аргументаў у функцыі"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12534,19 +12530,23 @@ msgstr ""
 msgid "expected boolean expression"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12842,7 +12842,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
@@ -12942,13 +12942,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
@@ -13333,7 +13333,7 @@ msgstr ""
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `restrict'"
 msgid "invalid use of %<restrict%>"
@@ -13466,7 +13466,7 @@ msgstr ""
 msgid "variable %qD has initializer but incomplete type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
@@ -13476,7 +13476,7 @@ msgstr "няма папярэдняга аб'яўлення для \"%s\""
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr ""
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "параметр \"%s\" ініцыялізаваны"
@@ -14404,7 +14404,7 @@ msgstr ""
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
@@ -14621,7 +14621,7 @@ msgstr ""
 msgid "unknown type name %qE"
 msgstr "невядомая назва рэгістра: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 #| msgid "empty declaration"
 msgid "expected declaration specifiers"
@@ -14632,7 +14632,7 @@ msgstr "пустое абвяшчэньне"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "\"%s\" атрыбут ігнарыруецца"
@@ -14683,7 +14683,7 @@ msgstr "ISO C89 не падтрымлівае комлексныя тыпы"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C89 не падтрымлівае комлексныя тыпы"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
@@ -14715,8 +14715,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr ""
@@ -15060,78 +15060,78 @@ msgstr ""
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 #| msgid "too many input files"
 msgid "too many %qs clauses"
 msgstr "вельмі шмат уваходзячых файлаў"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -15146,44 +15146,44 @@ msgstr ""
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 #| msgid "invalid %%-code"
 msgid "invalid schedule kind"
 msgstr "нерэчаісны %%-код"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 #| msgid "complex invalid for `%s'"
 msgid "%qs is not valid for %qs"
 msgstr "complex нерэчаісны для \"%s\""
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
@@ -15193,7 +15193,7 @@ msgstr ""
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 msgid "for statement expected"
 msgstr "вельмі шмат аргументаў у функцыі"
@@ -15208,12 +15208,12 @@ msgstr ""
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -15238,27 +15238,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -16045,7 +16045,7 @@ msgstr ""
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr ""
@@ -16253,223 +16253,223 @@ msgstr ""
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr ""
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, fuzzy, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C не дазваляе дэкларацыі метак (label)"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr ""
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17522,7 +17522,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17643,12 +17643,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr ""
@@ -17735,28 +17735,28 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "памер масіва \"%s\" вельмі вялікі"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, fuzzy, gcc-internal-format
 #| msgid "impossible operator '%s'"
 msgid "impossible constraint in %<asm%>"
 msgstr "немагчымы апэратар '%s'"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: function.c:4896
+#: function.c:4911
 #, fuzzy, gcc-internal-format
 #| msgid "unused parameter `%s'"
 msgid "unused parameter %q+D"
@@ -18201,62 +18201,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr ""
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -18471,48 +18471,48 @@ msgstr "\"%s\" не абвешчан (першае выкарыстанне ў 
 msgid "function %qD redeclared as variable"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -18610,12 +18610,12 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -18989,8 +18989,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "Клас \"%s\" ужо існуе"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "невядомая назва рэгістра: %s"
@@ -19299,7 +19299,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
@@ -19319,12 +19319,12 @@ msgstr "атрыбуты секцыі не падтрымліваюцца для
 msgid "nested function trampolines not supported on this target"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
@@ -19520,7 +19520,7 @@ msgstr ""
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19535,7 +19535,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19550,7 +19550,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "\"%s\" - гэта не пачатак дэкларацыі"
@@ -19585,7 +19585,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -20218,117 +20218,117 @@ msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr ""
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "выклікана адсюль"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
@@ -20367,7 +20367,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "памер вяртаемага значэння \"%s\" больш чым %d байт"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -20610,72 +20610,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr ""
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr ""
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr ""
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20689,142 +20689,142 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qE attribute ignored"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr ""
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -21041,12 +21041,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -21061,8 +21061,8 @@ msgstr "\"%s\" не абвешчан (першае выкарыстанне ў 
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr ""
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -21698,40 +21698,40 @@ msgstr "\"%s\" атрыбут ігнарыруецца"
 msgid "invalid vector type for attribute %qE"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
@@ -21773,12 +21773,12 @@ msgstr ""
 msgid "%qE attribute only applies to variadic functions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, fuzzy, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -23560,231 +23560,231 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr ""
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr ""
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr ""
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr ""
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, fuzzy, gcc-internal-format
 #| msgid "Use hardware floating point"
 msgid "iWMMXt and hardware floating point"
 msgstr "Выкарыстоўваць апаратную \"плаваючую кропку\""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 #| msgid "argument of `__builtin_args_info' must be constant"
 msgid "argument must be a constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23826,87 +23826,87 @@ msgstr "функцыя не вяртае тып string"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr ""
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr ""
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr ""
@@ -24250,412 +24250,412 @@ msgstr "немагчыма стварыць часовы файл"
 msgid "can%'t set position in PCH file: %m"
 msgstr "немагчыма зачыніць уваходзячы файл %s"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "-pipe не падтрымліваецца"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s does not support %s"
 msgid "code model %s does not support PIC mode"
 msgstr "%s не падтрымлівае %s"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, fuzzy, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "невядомая назва рэгістра: %s\n"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "памер \"%s\" больш чам %d байт"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr ""
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, fuzzy, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "Нерэчаісны выбар %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -24727,13 +24727,13 @@ msgstr "\"%s\" звычайна функцыя"
 msgid "%qE attribute requires a string constant argument"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24807,7 +24807,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
@@ -24864,7 +24864,7 @@ msgstr ""
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
@@ -25209,63 +25209,63 @@ msgstr ""
 msgid "%qs does not support MIPS16 code"
 msgstr "%s не падтрымлівае %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unsupported version"
 msgid "unsupported combination: %s"
 msgstr "непадтрымліваемая версія"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr ""
@@ -25275,57 +25275,57 @@ msgstr ""
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "Не генерыраваць сімвальныя інструкцыі"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -25610,308 +25610,308 @@ msgstr ""
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, fuzzy, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, fuzzy, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "аргумент `__builtin_args_info' выйшаў за межы"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, fuzzy, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, fuzzy, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "аргумент `__builtin_args_info' выйшаў за межы"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "аргумент `__builtin_args_info' выйшаў за межы"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 #| msgid "%s is too large"
 msgid "stack frame too large"
 msgstr "%s - вельмі вялікі"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr ""
@@ -26147,63 +26147,63 @@ msgstr "памер \"%s\" - %d байт"
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, fuzzy, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "\"%s\" звычайна функцыя"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr ""
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -26327,12 +26327,12 @@ msgstr "\"%s\" атрыбут ігнарыруецца"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr ""
@@ -26550,40 +26550,40 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qs attribute ignored"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "нявернае выкарыстанне \"restict\""
@@ -27024,7 +27024,7 @@ msgstr ""
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
@@ -27086,427 +27086,427 @@ msgstr ""
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr ""
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr ""
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr ""
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr ""
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "бітавае поле \"%s\" мае нерэчаісны тып"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "бітавае поле \"%s\" мае нерэчаісны тып"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr ""
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "бітавае поле \"%s\" мае нерэчаісны тып"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "бітавае поле \"%s\" мае нерэчаісны тып"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr ""
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, fuzzy, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr ""
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, fuzzy, gcc-internal-format
 #| msgid "previous definition of `%#T'"
 msgid "redefinition of %q#T"
 msgstr "папярэдняе вызначэньне `%#T'"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr ""
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, fuzzy, gcc-internal-format
 #| msgid "language %s not recognized"
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "мова %s не распазнана"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, fuzzy, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "прапушчан ініцыялізатар"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
@@ -27516,13 +27516,13 @@ msgstr ""
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%#D'"
 msgid "declaration of %q#D"
 msgstr "абвяшчэньне `%#D'"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -27542,7 +27542,7 @@ msgstr "\"%s\" мае незавершаны тып"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr ""
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr ""
@@ -28461,7 +28461,7 @@ msgstr ""
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
@@ -28556,8 +28556,8 @@ msgstr ""
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
@@ -29093,7 +29093,7 @@ msgstr ""
 msgid "type %qT is not derived from type %qT"
 msgstr ""
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
@@ -29421,380 +29421,375 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%s' is too large"
 msgid "size of array %qs is too large"
 msgstr "памер масіва \"%s\" вельмі вялікі"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, fuzzy, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr ""
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, fuzzy, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, fuzzy, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "Не магу знайсці дэкларацыю пратакола для \"%s\""
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "тып параметра \"%s\" не аб'яўлены"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `::'"
 msgid "invalid use of %<::%>"
 msgstr "нерэчаіснае выкарыстаньне `::'"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, fuzzy, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of template `%#D'"
 msgid "declaration of %qD as member of %qT"
 msgstr "абвяшчэньне шаблёну `%#D'"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of template `%#D'"
 msgid "  in instantiation of template %qT"
 msgstr "абвяшчэньне шаблёну `%#D'"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "default argument for %q#D has type %qT"
 msgstr "звычайны аргумэнт для `%#D' мае тып `%T'"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "звычайны аргумэнт для `%#D' мае тып `%T'"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "нехапае аргументаў у функцыі \"%s\""
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "нехапае аргументаў у функцыі \"%s\""
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "тып параметра \"%s\" не аб'яўлены"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "тып параметра \"%s\" не аб'яўлены"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -29814,170 +29809,170 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr ""
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr ""
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr ""
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr ""
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr ""
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "нехапае аргументаў у функцыі \"%s\""
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, fuzzy, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "this is a previous declaration"
 msgid "%qD has a previous declaration here"
 msgstr "гэта папярэдняе абвяшчэньне"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 #| msgid "this is a previous declaration"
 msgid "%q+T has a previous declaration here"
 msgstr "гэта папярэдняе абвяшчэньне"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29989,90 +29984,90 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, fuzzy, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "параметр \"%s\" ініцыялізаваны"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "памер \"%s\" - %d байт"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, fuzzy, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of template `%#D'"
 msgid "redeclaration of %qT as a non-template"
 msgstr "абвяшчэньне шаблёну `%#D'"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration `%D'"
 msgid "previous declaration %q+D"
 msgstr "папярэдняе абвяшчэньне `%D'"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "паўтарэнне \"restrict\""
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "папярэдняе вызначэньне"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -30081,75 +30076,75 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "вяртаемы тып \"%s\" не \"int\""
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr ""
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 #| msgid "no previous declaration for `%s'"
 msgid "no previous declaration for %q+D"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 #| msgid "Invalid declaration"
 msgid "invalid function declaration"
 msgstr "Нерэчаіснае абвяшчэнне"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "тып параметра \"%s\" не аб'яўлены"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, fuzzy, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, fuzzy, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "не знойдзен клас \"%s\""
@@ -30498,7 +30493,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30759,153 +30754,153 @@ msgstr ""
 msgid "bad array initializer"
 msgstr "нерэчаісны ініцыялізатар"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "прапушчан ініцыялізатар"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr ""
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, fuzzy, gcc-internal-format
 #| msgid "field '%s' not found in class"
 msgid "no suitable %qD found in class %qT"
 msgstr "поле \"%s\" не знойдзена ў класе"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "памер \"%s\" - %d байт"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr ""
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "Не магу знайсці клас \"%s\""
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -30995,12 +30990,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -31010,12 +31005,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -31030,98 +31025,98 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "complex нерэчаісны для \"%s\""
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "пустое абвяшчэнне"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "YYDEBUG не вызначан."
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -31261,155 +31256,155 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr ""
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "дэструктару неабходны \"%#D\""
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, fuzzy, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, fuzzy, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "\"%s\" - гэта не пачатак дэкларацыі"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, fuzzy, gcc-internal-format
 msgid "%qD not declared"
 msgstr "YYDEBUG не вызначан."
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, fuzzy, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr ""
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "дэструктару неабходны \"%#D\""
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qD attribute directive ignored"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, fuzzy, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "\"%s\" - гэта не пачатак дэкларацыі"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -31541,7 +31536,7 @@ msgstr "Нерэчаісны выбар %s"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31772,7 +31767,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -31967,7 +31962,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr "вельмі шмат аргументаў у функцыі"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "empty body in an else-statement"
 msgid "expected selection-statement"
@@ -31998,7 +31993,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "empty body in an else-statement"
 msgid "expected iteration-statement"
@@ -32015,12 +32010,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -32057,7 +32052,7 @@ msgstr ""
 msgid "class definition may not be declared a friend"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -32134,12 +32129,12 @@ msgstr "нераспазнаны аператар %s"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "віртуальныя функцыі не могуць быць сяброўскімі"
@@ -32154,7 +32149,7 @@ msgstr "віртуальныя функцыі не могуць быць сяб
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr ""
@@ -32282,12 +32277,12 @@ msgstr ""
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
@@ -32334,75 +32329,75 @@ msgstr "\"%s\" - гэта не пачатак дэкларацыі"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "\"%s\" - гэта не пачатак дэкларацыі"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "invalid initializer"
 msgid "expected initializer"
 msgstr "нерэчаісны ініцыялізатар"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "Invalid declaration"
 msgid "invalid type in declaration"
 msgstr "Нерэчаіснае абвяшчэнне"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -32411,253 +32406,253 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "нерэчаісны абвяшчальнік"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "empty declaration"
 msgid "expected declarator"
 msgstr "пустое абвяшчэньне"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr ""
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate `volatile'"
 msgid "duplicate cv-qualifier"
 msgstr "паўтарэнне \"volatile\""
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate `volatile'"
 msgid "duplicate virt-specifier"
 msgstr "паўтарэнне \"volatile\""
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `%D'"
 msgid "invalid use of %<auto%>"
 msgstr "нерэчаіснае выкарыстаньне `%D'"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr ""
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr ""
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "немагчыма знайсьці файл для кляса %s"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "Нерэчаіснае абвяшчэнне"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "ініцыялізацыя"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 #| msgid "previous definition of `%#T'"
 msgid "previous definition of %q+#T"
 msgstr "папярэдняе вызначэньне `%#T'"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "Нерэчаіснае абвяшчэнне"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "невыкарыстаемы параметр \"%s\""
@@ -32666,320 +32661,320 @@ msgstr "невыкарыстаемы параметр \"%s\""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "-pipe не падтрымліваецца."
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "ініцыялізацыя"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "пустое абвяшчэнне"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "ініцыялізацыя"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr ""
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr ""
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr ""
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr ""
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "unregistered operator %s"
 msgid "expected %<operator%>"
 msgstr "нераспазнаны аператар %s"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr ""
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr ""
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr ""
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr ""
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr ""
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr ""
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr ""
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "няма папярэдняга аб'яўлення для \"%s\""
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "нехапае аргументаў у функцыі \"%s\""
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "invalid mode for gen_tst_reg"
 msgid "invalid type for instance variable"
 msgstr "нерэчаісны рэжым для gen_tst_reg"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "\"%s\" атрыбут ігнарыруецца"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `restrict'"
 msgid "invalid type for property"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr ""
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr ""
@@ -33694,17 +33689,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr ""
@@ -33722,261 +33717,261 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 #| msgid "invalid parameter type `%T'"
 msgid "invalid parameter type %qT"
 msgstr "нерэчаісны тып парамэтра `%T'"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 #| msgid "in declaration `%D'"
 msgid "in declaration %q+D"
 msgstr "у абвяшчэньні  `%D'"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 #| msgid "function does not return string type"
 msgid "function returning an array"
 msgstr "функцыя не вяртае тып string"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 msgid "function returning a function"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, fuzzy, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "\"%s\" звычайна функцыя"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "\"%s\" звычайна функцыя"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr ""
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "template argument for %qD uses local type %qT"
 msgstr "звычайны аргумэнт для `%#D' мае тып `%T'"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "тып параметра \"%s\" не аб'яўлены"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr ""
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "паўторнае абвяшчэнне меткі \"%s\""
@@ -33988,32 +33983,32 @@ msgstr "паўторнае абвяшчэнне меткі \"%s\""
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -34021,12 +34016,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -34266,7 +34261,7 @@ msgstr "нявернае выкарыстанне \"restict\""
 msgid "invalid base-class specification"
 msgstr "Нерэчаісная спецыфікацыя! Памылка ў cc."
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
@@ -34439,265 +34434,265 @@ msgstr "нявернае выкарыстанне \"restict\""
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr ""
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr ""
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr ""
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr ""
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr ""
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "invalid initializer"
 msgid "%qD used in its own initializer"
 msgstr "нерэчаісны ініцыялізатар"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "%q#D is not const"
 msgstr "`%D' - гэта ня функцыя,"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "памер масіва \"%s\" адмоўны"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "нерэчаісны ініцыялізатар"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr ""
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "\"%s\" звычайна функцыя"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -35654,123 +35649,123 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr ""
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr ""
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr ""
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr ""
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "прапушчан ініцыялізатар"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\""
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "параметр \"%s\" ініцыялізаваны"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, fuzzy, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "параметр \"%s\" ініцыялізаваны"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%D' has non-integer type"
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "памер масіва `%D' не цэлалікавы тып"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, fuzzy, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "Нерэчаісны выбар \"%s\""
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "нерэчаісны ініцыялізатар"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "\"%s\" мае незавершаны тып"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "\"%s\" мае незавершаны тып"
@@ -35830,187 +35825,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "сімвальная канстанта вельмі доўгая"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr ""
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr ""
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -36045,7 +36040,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
@@ -36156,7 +36151,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -36239,8 +36234,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36385,7 +36380,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -36515,42 +36510,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "вельмі шмат аргументаў у функцыі \"%s\""
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36562,7 +36557,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36844,7 +36839,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -36859,7 +36854,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -36869,7 +36864,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
@@ -37066,7 +37061,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -37086,835 +37081,835 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr ""
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr ""
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr ""
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown register name: %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "невядомая назва рэгістра: %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -38157,27 +38152,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38440,7 +38435,7 @@ msgid "can't open input file: %s"
 msgstr "немагчыма зачыніць уваходзячы файл %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38556,12 +38551,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40592,7 +40587,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41685,945 +41680,945 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "памер \"%s\" - %d байт"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "метка \"%s\" вызначана, але не выкарыстоўваецца"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "памер \"%s\" - %d байт"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "аргумент `__builtin_args_info' павінен быць канстантай"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "'%s' at %L is not a function"
 msgstr "`%D' - гэта ня функцыя,"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "першым аргументам \"%s\" павінен быць \"int\""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "памер масіва \"%s\" вельмі вялікі"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array `%s' is too large"
 msgid "Substring end index at %L is too large"
 msgstr "памер масіва \"%s\" вельмі вялікі"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42632,175 +42627,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -42808,953 +42803,953 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array `%s' is too large"
 msgid "String length at %L is too large"
 msgstr "памер масіва \"%s\" вельмі вялікі"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%s' defined but not used"
 msgid "Label %d at %L defined but not used"
 msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%s' defined but not used"
 msgid "Label %d at %L defined but cannot be used"
 msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43924,34 +43919,34 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "second argument of `%s' should be `char **'"
 msgid "Second argument of MOD at %L is zero"
@@ -43960,47 +43955,47 @@ msgstr "другім аргументам \"%s\" павінен быць \"char
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -44370,17 +44365,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -45001,17 +44996,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "не магу знайсці крыніцу %s\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
@@ -45021,69 +45016,69 @@ msgstr ""
 msgid "invalid line in the resolution file"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "нявернае выкарыстанне \"restict\""
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "can't open %s"
 msgid "Cannot open %s"
 msgstr "немагчыма адчыніць %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "не магу зачыніць %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "не магу прачытаць з %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "Could not open data file %s.\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "Немагчыма адчыніць файл з дадзенымі %s.\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index 0bd93b9..ee0355a 100644 (file)
Binary files a/gcc/po/da.gmo and b/gcc/po/da.gmo differ
index 1af78a4..66e78ed 100644 (file)
@@ -128,7 +128,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 3.4-b20040206\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -149,7 +149,7 @@ msgstr "<anonym %s>"
 msgid "({anonymous})"
 msgstr "((anonym))"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "garbage at end of #line"
 msgid "expected end of line"
@@ -160,8 +160,8 @@ msgstr "ragelse i slutningen af #line"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<;%>"
@@ -174,14 +174,14 @@ msgstr "';' forventet"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<(%>"
 msgstr "';' forventet"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<,%>"
@@ -198,7 +198,7 @@ msgstr "';' forventet"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<)%>"
@@ -206,7 +206,7 @@ msgstr "';' forventet"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<]%>"
@@ -216,14 +216,14 @@ msgstr "';' forventet"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<}%>"
 msgstr "';' forventet"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<{%>"
@@ -231,13 +231,13 @@ msgstr "';' forventet"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<:%>"
 msgstr "';' forventet"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
@@ -248,37 +248,37 @@ msgstr ""
 msgid "expected %<.%>"
 msgstr "';' forventet"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<@end%>"
 msgstr "uventet operand"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<>%>"
 msgstr "';' forventet"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<=%>"
 msgstr "';' forventet"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<[%>"
@@ -471,12 +471,12 @@ msgstr "'%%l'-operand er ikke en etiket"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "kommatalskonstant misbrugt"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "ugyldigt udtryk som operand"
@@ -1626,21 +1626,21 @@ msgstr "ukendt instruktion:"
 msgid "insn does not satisfy its constraints:"
 msgstr "instruktion tilfredsstiller ikke sine begrænsninger:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, fuzzy, c-format
 #| msgid "created and used with differing settings of `-m%s'"
 msgid "created and used with differing settings of '%s'"
 msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "løbet tør for hukommelse"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr ""
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr ""
 
@@ -2330,204 +2330,204 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 #, fuzzy
 #| msgid "enumerator value for `%s' not integer constant"
 msgid "The upper bound for sharing integer constants"
 msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
 
-#: params.def:663
+#: params.def:664
 #, fuzzy
 #| msgid "The maximum number of instructions to consider to fill a delay slot"
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Det maksimale antal instruktioner det overvejes at udfylde ventepladser med"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 #, fuzzy
 #| msgid "The maximum number of instructions to consider to unroll in a loop"
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Det maksimale antal instruktioner der overvejes at udrulle i en løkke"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 msgid "maximum number of parameters in a SCoP"
 msgstr "Det maksimale antal faser der skal gennemgås ved udførsel af GCSE"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "The maximum number of instructions in a single function eligible for inlining"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Det maksimale antal instruktioner i en enkelt funktion der må indbygges"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2957,18 +2957,18 @@ msgid "invalid %%r value"
 msgstr "ugyldig %%r-værdi"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "ugyldig %%R-værdi"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "ugyldig %%N-værdi"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "ugyldig %%P-værdi"
@@ -2983,12 +2983,12 @@ msgstr "ugyldig %%h-v
 msgid "invalid %%L value"
 msgstr "ugyldig %%L-værdi"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "ugyldig %%m-værdi"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "ugyldig %%M-værdi"
@@ -2999,7 +2999,7 @@ msgid "invalid %%U value"
 msgstr "ugyldig %%U-værdi"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "ugyldig %%s-værdi"
@@ -3009,7 +3009,7 @@ msgstr "ugyldig %%s-v
 msgid "invalid %%C value"
 msgstr "ugyldig %%C-værdi"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "ugyldig %%E-værdi"
@@ -3020,42 +3020,42 @@ msgid "unknown relocation unspec"
 msgstr "ukendt relokaliserings-unspec"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "ugyldig %%xn-kode"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, fuzzy, c-format
 #| msgid "Generate char instructions"
 msgid "predicated Thumb instruction"
 msgstr "Generér char-instruktioner"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, fuzzy, c-format
 #| msgid "ret instruction not implemented"
 msgid "predicated instruction in conditional sequence"
 msgstr "ret-instruktion ikke implementeret"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "unsupported operand size for extended register"
 msgid "Unsupported operand for code '%c'"
 msgstr "ikke-understøttet operandstørrelse for udvidede registre"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 #| msgid "invalid %%f operand"
 msgid "invalid shift operand"
 msgstr "ugyldig %%f-operand"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -3064,93 +3064,93 @@ msgstr "ugyldig %%f-operand"
 msgid "invalid operand for code '%c'"
 msgstr "ugyldig operandkode '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 #| msgid "unconditional %2d never executed\n"
 msgid "instruction never executed"
 msgstr "ubetinget %2d aldrig udført\n"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, fuzzy, c-format
 #| msgid "missing open paren"
 msgid "missing operand"
 msgstr "manglende startparantes"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "funktion returnerer en værdi af en sammensat type"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "funktionen returnerer ikke en strengtype"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, 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:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use `&' constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "uddataoperand %d skal bruge begrænsningen '&'"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "ugyldig adresse, ikke (reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "adresseafsæt er ikke en konstant"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "ugyldig adresse, ikke (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "ugyldig adresse, ikke (reg+disp):"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "intern oversætterfejl - ugyldig adresse:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "intern oversætterfejl - ugyldig tilstand:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "ugyldig instruktion:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "ukorrekt instruktion:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "ukendt flytteinstruktion:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "ugyldig skifteinstruktion:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "intern oversætterfejl - ukorrekt skift:"
 
@@ -3167,7 +3167,7 @@ msgstr "ugyldige begr
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3436,81 +3436,81 @@ msgstr "Ugyldig output_move_double-operand"
 msgid "bad output_condmove_single operand"
 msgstr "Ugyldig output_condmove_single-operand"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "ugyldig UNSPEC som operand"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand code `%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "ugyldig operandkode '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand output code"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "ugyldig operand-uddatakode"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 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:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, fuzzy, c-format
 #| msgid "invalid operand code `%c'"
 msgid "invalid operand code '%c'"
 msgstr "ugyldig operandkode '%c'"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "ugyldige begrænsninger for operand"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "ukendt instruktionstilstand"
 
@@ -3568,13 +3568,13 @@ msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "ugyldig operand til %%p-koden"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "ugyldig %%p-værdi"
@@ -3653,7 +3653,7 @@ msgid "post-increment address is not a register"
 msgstr "postfiks forøgelsesadresse er ikke et register"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "ugyldig adresse"
 
@@ -3800,129 +3800,129 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Benyt hardware-kommatal"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-msystem-v and -mthreads are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-msystem-v og -mthreads er indbyrdes uforenelige"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "Generér lilleendet kode"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "Deaktivér indekseret adressering"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s og -msdata=%s er indbyrdes uforenelige"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad operand"
 msgid "bad move"
 msgstr "ugyldig operand"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "ugyldig %%H-værdi"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "ugyldig %%f-værdi"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "ugyldig %%F-værdi"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "ugyldig %%G-værdi"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "ugyldig %%j-kode"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "ugyldig %%J-kode"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "ugyldig %%k-værdi"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "ugyldig %%K-værdi"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "ugyldig %%O-værdi"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "ugyldig %%q-værdi"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "ugyldig %%S-værdi"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "ugyldig %%T-værdi"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "ugyldig %%u-værdi"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "ugyldig %%v-værdi"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, fuzzy, c-format
 msgid "invalid %%x value"
 msgstr "ugyldig %%x/X-værdi"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 #| msgid "invalid punctuation `%c' in constraint"
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "ugyldig punktuering '%c' i begrænsning"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 #, fuzzy
 #| msgid "too few arguments to function"
 msgid "AltiVec argument passed to unprototyped function"
@@ -4024,31 +4024,31 @@ msgstr "ugyldig operand til 'p'-
 msgid "invalid operand for code: '%c'"
 msgstr "ugyldig operandkode '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, fuzzy, c-format
 #| msgid "invalid operand to %%R code"
 msgid "invalid operand to %%R"
 msgstr "ugyldig operand til %%R-koden"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, fuzzy, c-format
 #| msgid "invalid operand to %%R code"
 msgid "invalid operand to %%S"
 msgstr "ugyldig operand til %%R-koden"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 #, fuzzy
 #| msgid "created and used with differing settings of `-m%s'"
 msgid "created and used with different architectures / ABIs"
 msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 #, fuzzy
 #| msgid "created and used with differing settings of `-m%s'"
 msgid "created and used with different ABIs"
 msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 #, fuzzy
 #| msgid "created and used with differing settings of `-m%s'"
 msgid "created and used with different endianness"
@@ -4069,13 +4069,13 @@ msgstr "ugyldig %%A-operand"
 msgid "invalid %%B operand"
 msgstr "ugyldig %%B-operand"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "ugyldig %%C-operand"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "ugyldig %%D-operand"
@@ -4123,65 +4123,65 @@ msgstr "'o'-operanden er ikke konstant"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: ukendt kode"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "ugyldig %%c-operand"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "ugyldig %%d-operand"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "ugyldig %%j-kode"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "ugyldig %%c-operand"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "ugyldig %%P-operand"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "ugyldig operand til 'b'-ændring"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4546,7 +4546,7 @@ msgstr "%s:%d:   instantieret fra '%s'\n"
 msgid "candidates are:"
 msgstr "candidate%s: %+#D"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4987,11 +4987,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "tildeling"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 #| msgid "assignment"
 msgid "pointer assignment"
@@ -5001,129 +5001,129 @@ msgstr "tildeling"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "In function"
 msgid "internal function"
 msgstr "I funktionen"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 #, fuzzy
 #| msgid "`%V' qualifiers cannot be applied to `%T'"
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "modifikationerne '%V' kan ikke anvendes på '%T'"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "ugyldigt udtryk som operand"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -5132,7 +5132,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5497,6 +5497,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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-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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5597,29 +5609,11 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-#, fuzzy
-#| msgid "The -shared option is not currently supported for VAX ELF."
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "Tilvalget -shared understøttes i øjeblikket ikke for VAX ELF."
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 msgid "gfortran does not support -E without -cpp"
 msgstr "GNU C understøtter ikke -C uden -E"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 #, fuzzy
 msgid "SH2a does not support little-endian"
@@ -5633,6 +5627,12 @@ msgstr " konfliktende kodegenereringstilvalg er benyttet"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+#, fuzzy
+#| msgid "The -shared option is not currently supported for VAX ELF."
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "Tilvalget -shared understøttes i øjeblikket ikke for VAX ELF."
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8750,8 +8750,10 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr ""
+#, fuzzy
+#| msgid "Use IEEE math for fp comparisons"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "Brug IEEE-matematik til kommatalssammenligninger"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -13572,304 +13574,298 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr "Generér placeringsuafhængig kode, om muligt"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of `::'"
 msgid "invalid use of type"
 msgstr "ugyldig brug af '::'"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 msgid "expected numeric type"
 msgstr "uventet operand"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 msgid "expected boolean type"
 msgstr "uventet operand"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operands to binary %s"
 msgid "invalid operand for unary %<&%>"
 msgstr "ugyldige operander til binær %s"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "unexpected operand"
 msgid "expected pointer"
 msgstr "uventet operand"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible types in binary expression"
 msgstr "uforenelige typer i %s"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "switch-størrelsen er ikke et heltal"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "negativ instruktionslængde"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object is not a function"
 msgid "object is not a method"
 msgstr "det kaldte objekt er ikke en funktion"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "cast does not match function type"
 msgid "method type does not match object type"
 msgstr "typeomtvingelse passer ikke til funktionstype"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid use of `this' in non-member function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "ugyldig brug af 'this' i ikke-medlemsfunktion"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "ingen parametre"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "for mange parametre til formatering"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument 1 must be a map"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "invalid return type for member function `%#D'"
 msgid "invalid type for make function"
 msgstr "ugyldig returtype for medlemsfunktionen '%#D'"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "ugyldig instruktion for 'A'"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "for mange parametre til formatering"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be array or slice or channel"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
 # shadowing betyder at en funktion har samme navn og dermed skjuler en anden
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "Support 3DNow! built-in functions"
 msgid "unsupported argument type to builtin function"
 msgstr "Understøt indbyggede 3DNow!-funktioner"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "argument 2 must be a 5-bit unsigned literal"
 msgid "argument must be channel"
 msgstr "2. parameter skal være en 5 bit-konstant uden fortegn"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be a field reference"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "left argument must be a slice"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 msgid "first argument must be []byte"
 msgstr "den første parameter til '%s' skal være 'int'"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "second token after #line is not a string"
 msgid "second argument must be slice or string"
 msgstr "det andet symbol efter #line er ikke en streng"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "bit-field `%s' has invalid type"
 msgid "argument 2 has invalid type"
 msgstr "bitfeltet '%s' er af en ufuldstændig type"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "parameter `%s' has incomplete type"
 msgid "argument must have complex type"
 msgstr "parameteren '%s' er af en ufuldstændig type"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "macro names must be identifiers"
 msgid "complex arguments must have identical types"
 msgstr "makronavne skal være kaldenavne"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "Do not use hardware floating point"
 msgid "complex arguments must have floating-point type"
 msgstr "Benyt ikke hardware-kommatal"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of non-lvalue array"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "In function"
 msgid "expected function"
 msgstr "I funktionen"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible type for receiver"
 msgstr "uforenelige typer i %s"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of `this' in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "ugyldig brug af 'this' i ikke-medlemsfunktion"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "number of arguments doesn't match prototype"
 msgid "number of results does not match number of values"
 msgstr "antallet af parametre passer ikke til prototypen"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "macro names must be identifiers"
 msgid "index must be integer"
 msgstr "makronavne skal være kaldenavne"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "Assume int to be 8 bit integer"
 msgid "slice end must be integer"
 msgstr "Antag at int er 8 bit-heltal"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible type for map index"
 msgstr "uforenelige typer i %s"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "for mange parametre til formatering"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "for få parametre til formatering"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid suffix on integer constant"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "ugyldig endelse i heltalskonstant"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 #, fuzzy
 #| msgid "Invalid interface type"
 msgid "type assertion only valid for interface types"
 msgstr "Ugyldig grænsefladetype"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "unexpected operand"
 msgid "expected channel"
 msgstr "uventet operand"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13915,21 +13911,25 @@ msgstr "for mange 'l'-endelser i heltalskonstant"
 msgid "expected boolean expression"
 msgstr "uventet adresseudtryk"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible types in send"
 msgstr "uforenelige typer i %s"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -14258,7 +14258,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
@@ -14360,13 +14360,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "tom værdi er ikke ignoreret som den burde være"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "konvertering til ikke-skalartype udbedt"
@@ -14775,7 +14775,7 @@ msgstr "overl
 msgid "%qE defined as wrong kind of tag"
 msgstr "'%s' omerklæret som en anden form for symbol"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `restrict'"
 msgid "invalid use of %<restrict%>"
@@ -14923,7 +14923,7 @@ msgstr "et objekt af variabel st
 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:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "inline funktion '%s' givet egenskaben noinline"
@@ -14934,7 +14934,7 @@ msgstr "inline funktion '%s' givet egenskaben noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "konstant medlem '%D' uden startværdi"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' will be initialized after"
 msgid "%qD should be initialized"
@@ -15936,7 +15936,7 @@ msgstr "parameteren '%s' passer ikke til prototypen"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "parameteren '%s' passer ikke til prototypen"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "ingen return-sætning i en funktion der ikke returnerer void"
@@ -16161,7 +16161,7 @@ msgstr "ISO C tillader ikke ekstra ';' uden for funktioner"
 msgid "unknown type name %qE"
 msgstr "ukendt registernavn: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 #| msgid "repeated declaration of unit `%s'"
 msgid "expected declaration specifiers"
@@ -16172,7 +16172,7 @@ msgstr "gentaget erkl
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored for `%s'"
 msgid "prefix attributes are ignored for methods"
@@ -16224,7 +16224,7 @@ msgstr "ISO C90 underst
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 understøtter ikke komplekse typer"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, fuzzy, gcc-internal-format
 #| msgid "_Pragma takes a parenthesized string literal"
 msgid "expected string literal"
@@ -16260,8 +16260,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, fuzzy, gcc-internal-format
 msgid "expected identifier"
 msgstr "uventet operand"
@@ -16625,79 +16625,79 @@ msgstr "Klasse- eller gr
 msgid "no type or storage class may be specified here,"
 msgstr "lagringsklasse angivet for typenavn"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "en dataområdeegenskab kan ikke angives for lokale variable"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 #| msgid "too many input files"
 msgid "too many %qs clauses"
 msgstr "for mange inddatafiler"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 #| msgid "comparison between signed and unsigned integer expressions"
 msgid "collapse argument needs positive constant integer expression"
 msgstr "sammenlign mellem signed og unsigned heltalsudtryk"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -16713,43 +16713,43 @@ msgstr "uventet adresseudtryk"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "ugyldig roteringsinstruktion"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%s understøtter ikke %s"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid #pragma %s"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "ugyldig #pragma %s"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand for 'p' modifier"
 msgid "invalid operator for %<#pragma omp atomic%>"
@@ -16760,7 +16760,7 @@ msgstr "ugyldig operand til 'p'-
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 #| msgid "')' or term expected"
 msgid "for statement expected"
@@ -16777,12 +16777,12 @@ msgstr "gentaget erkl
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -16808,27 +16808,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "parameteren er af en ufuldstændig type"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -17710,7 +17710,7 @@ msgstr "char-tabel f
 msgid "initialization of a flexible array member"
 msgstr "klargøring af fleksibelt tabelmedlem"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-tabel får tildelt startværdi fra en bred streng"
@@ -17931,243 +17931,243 @@ msgstr "'return' med en v
 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:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "funktion returnerer adressen på en lokal variabel"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch-størrelsen er ikke et heltal"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, fuzzy, gcc-internal-format
 #| msgid "`long' switch expression not converted to `int' in ISO C"
 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "case label is not an integer constant expression"
 msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, 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:8963
+#: c-typeck.c:8969
 #, fuzzy, gcc-internal-format
 #| msgid "`default' label not within a switch statement"
 msgid "%<default%> label not within a switch statement"
 msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous `else'"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%Hforeslår eksplicitte krøllede paranteser for at undgå tvetydig 'else'"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, 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:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue-sætning befinder sig ikke i en løkke"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 #| msgid "break statement not within loop or switch"
 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:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, fuzzy, gcc-internal-format
 #| msgid "%Hstatement with no effect"
 msgid "statement with no effect"
 msgstr "%Hsætning uden nogen virkning"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "udtrykket er af en ufuldstændig type"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "højreskiftsantal er negativ"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "højreskiftsantal er større end bredden af typen"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "venstreskiftsantal er negativ"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "venstreskiftsantal er større end bredden af typen"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "operands to ?: have different types"
 msgid "comparing vectors with different element types"
 msgstr "operander til ?: har forskellige typer"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, fuzzy, gcc-internal-format
 #| msgid "operand constraints for `asm' differ in number of alternatives"
 msgid "comparing vectors with different number of elements"
 msgstr "operandbegrænsninger til 'asm' har forskellige antal alternativer"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "sammenligning af kommatal med == eller != er ikke sikkert"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C forbids comparison of `void *' with function pointer"
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "sammenligning mellem henvisningsvariabel og heltal"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "sammenligning mellem en fuldstændig og ufuldstændig henvisning"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "ordnet sammenligning af henvisning med heltallet nul"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "ordnet sammenligning af henvisning med heltallet nul"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, fuzzy, gcc-internal-format
 #| msgid "array type value used where scalar is required"
 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:10582
+#: c-typeck.c:10588
 #, fuzzy, gcc-internal-format
 #| msgid "struct type value used where scalar is required"
 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:10586
+#: c-typeck.c:10592
 #, fuzzy, gcc-internal-format
 #| msgid "union type value used where scalar is required"
 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:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "struct type value used where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "værdi af struct-type angivet hvor skalar er påkrævet"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 #| msgid "invalid return type for function `%#D'"
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "ugyldig returtype for funktionen '%#D'"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, fuzzy, gcc-internal-format
 #| msgid "invalid return type for function `%#D'"
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "ugyldig returtype for funktionen '%#D'"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is not a valid class name"
 msgid "%qE is not a variable in clause %qs"
 msgstr "'%s' er et ugyldigt klassenavn"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "instansvariablen '%s' er erklæret privat"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "instansvariablen '%s' er erklæret privat"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -19259,7 +19259,7 @@ msgstr "dominator for %d burde v
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -19386,12 +19386,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "funktionen '%s' omerklæret med egenskaben noinline"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "funktionen '%s' omerklæret med egenskaben noinline"
@@ -19485,28 +19485,28 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "størrelsen af tabellen '%s' er for stor"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, fuzzy, gcc-internal-format
 #| msgid "impossible constraint in `asm'"
 msgid "impossible constraint in %<asm%>"
 msgstr "umulig begrænsing i 'asm'"
 
-#: function.c:3959
+#: function.c:3974
 #, 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:3980
+#: function.c:3995
 #, 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "funktion returnerer en værdi af en sammensat type"
 
-#: function.c:4896
+#: function.c:4911
 #, fuzzy, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "ubenyttet parameter '%s'"
@@ -19966,67 +19966,67 @@ msgstr "tr
 msgid "using result of function returning %<void%>"
 msgstr "ingen return-sætning i en funktion der ikke returnerer void"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid lvalue in asm statement"
 msgid "invalid lvalue in asm output %d"
 msgstr "ugyldig venstreværdi i asm-sætning"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "output number %d not directly addressable"
 msgid "memory input %d is not directly addressable"
 msgstr "uddata nr. %d kan ikke adresseres direkte"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "registervariabel '%s' benyttet i indlejret funktion"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "iteration variable %qE should be private"
 msgstr "instansvariablen '%s' er erklæret privat"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "iteration variable %qE should not be reduction"
 msgstr "registervariabel '%s' benyttet i indlejret funktion"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "'%D' blev ikke erklæret i dette virkefelt"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -20245,48 +20245,48 @@ msgstr "feltet '%s' er erkl
 msgid "function %qD redeclared as variable"
 msgstr "funktionen '%s' omerklæret som inline"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -20385,12 +20385,12 @@ msgstr "-traditional underst
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -20775,8 +20775,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "kan ikke bruge '%s' som et %s-register"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "ukendt registernavn: %s"
@@ -21121,7 +21121,7 @@ msgstr "packed-egenskab for
 msgid "packed attribute is unnecessary"
 msgstr "packed-egenskab er unødvendig"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, fuzzy, gcc-internal-format
 #| msgid "%Jalignment of '%D' is greater than maximum object file alignment.  Using %d"
 msgid "alignment of array elements is greater than element size"
@@ -21144,13 +21144,13 @@ msgstr "-fdata-sections underst
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections understøttes ikke på målarkitekturen"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "target attribute is not supported on this machine"
 msgstr "egenskaben '%s' er ikke understøttet på denne platform"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 #| msgid "-fdata-sections not supported for this target"
 msgid "#pragma GCC target is not supported for this machine"
@@ -21351,7 +21351,7 @@ msgstr "Aktiv
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -21366,7 +21366,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -21381,7 +21381,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "namespace `%D' not allowed in using-declaration"
 msgid "asm not allowed in atomic transaction"
@@ -21418,7 +21418,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "en global registervariabel følger en funktionsdefinition"
@@ -22112,122 +22112,122 @@ msgstr "kunne ikke 
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "ignorerer ukendt tilvalg '%.*s' i '-f%s'"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`B' operand has multiple bits set"
 msgid "BB %i has multiple EH edges"
 msgstr "'B'-operanden har flere bit sat"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "udtrykket er af en ufuldstændig type"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "forkert instruktion i fald-gennem-kant"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "forkert instruktion i fald-gennem-kant"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinlining failed in call to '%F': %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "%Jindlejring mislykkedes i kald til '%F': %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "kaldt herfra"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinlining failed in call to '%F': %s"
 msgid "inlining failed in call to %q+F: %s"
@@ -22267,7 +22267,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -22517,78 +22517,78 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is outside array bounds"
 msgstr "tabelindeks er ikke et heltal"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is above array bounds"
 msgstr "tabelindeks er ikke et heltal"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is below array bounds"
 msgstr "tabelindeks er ikke et heltal"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison always false due to limited range of data type"
 msgstr "sammenligning er altid falsk på grund af den begrænsede rækkevidde af datatypen"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison always true due to limited range of data type"
 msgstr "sammenligning er altid sand på grund af den begrænsede rækkevidde af datatypen"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to class definitions"
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -22602,156 +22602,156 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qE attribute ignored"
 msgstr "egenskaben '%s' ignoreret"
 
-#: tree.c:5570
+#: tree.c:5585
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "funktionen '%s' omerklæret med egenskaben noinline"
 
-#: tree.c:5578
+#: tree.c:5593
 #, fuzzy, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "'auto' er påhæftet funktionsdefinitionen"
 
-#: tree.c:5586
+#: tree.c:5601
 #, fuzzy, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "statisk variabel '%s' er markeret dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "en tabel af funktioner giver ikke mening"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "en funktions returtype kan ikke være en funktion"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:8881
+#: tree.c:8897
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:8894
+#: tree.c:8910
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
 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:8943
+#: tree.c:8959
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
 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:8956
+#: tree.c:8972
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:9016
+#: tree.c:9032
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, fuzzy, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, fuzzy, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "'%s' er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "'%s' er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "'%s' er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "'%s' er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "type er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "type er forældet (erklæret ved %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "'%s' er forældet"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated"
 msgid "%qE is deprecated"
 msgstr "'%s' er forældet"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "type er forældet"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "type er forældet"
@@ -22987,12 +22987,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr "ingen sclass for %s stab (0x%x)\n"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -23009,8 +23009,8 @@ msgstr "%J'%D' er ikke defineret uden for funktionsvirkefelt"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "strenglængden '%d' er større end den længde på '%d' som ISO C%d-oversættere er pålagt at understøtte"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "overløb i konstant udtryk"
@@ -23691,42 +23691,42 @@ msgstr "'%s'-egenskaben ignoreret for '%s'"
 msgid "invalid vector type for attribute %qE"
 msgstr "ugyldig vektortype for egenskaben '%s'"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "ikke-nul egenskab uden parametre til en ikke-prototype"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument has invalid operand number (arg %lu)"
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "ikke-nul parameter har ugyldig operandnummer (parameter %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "ikke-nul parameter med operandnummer uden for det gyldig interval (parameter %lu, operand %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
@@ -23772,13 +23772,13 @@ msgstr "egenskaben '%s' kr
 msgid "%qE attribute only applies to variadic functions"
 msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, fuzzy, gcc-internal-format
 #| msgid "requested init_priority is not an integer constant"
 msgid "requested position is not an integer constant"
 msgstr "den udbedte init_priority er ikke en heltalskonstant"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -25700,238 +25700,238 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "ugyldig værdi '%s' for -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "ugyldig indbygget fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march="
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support APCS-32"
 msgid "target CPU does not support ARM mode"
 msgstr "målprocessoren understøtter ikke APCS-32"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "målprocessoren understøtter ikke interarbejde"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "aktivering af tilbagesporingsunderstøttelse giver kun mening ved oversættelse for en Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "aktivering af interarbejdeunderstøttelse for kaldte objekter giver kun mening ved oversættelse for en Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic og -mapcs-reent er indbyrdes uforenelige"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS-genindtrædelig kode er ikke understøttet - ignoreret"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g med -mno-apcs-frame giver måske ikke fornuftig fejlanalysering"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "overbringelse af kommatalsparametre i kommatalsregistre er ikke understøttet endnu"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "målprocessoren understøtter ikke interarbejde"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "målprocessoren understøtter ikke interarbejde"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, fuzzy, gcc-internal-format
 #| msgid "Use hardware floating point"
 msgid "iWMMXt and hardware floating point"
 msgstr "Benyt hardware-kommatal"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to 8 or 32"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "strukturstørrelsesgrænse kan kun sættes til 8 eller 32"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= er ubrugelig uden -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "kan ikke bruge '%s' til PIC-register"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support unaligned accesses"
 msgstr "målprocessoren understøtter ikke interarbejde"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-fdata-sections not supported for this target"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-fdata-sections understøttes ikke på målarkitekturen"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "kan ikke beregne virkelig placering af stakkede parametre"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "parameteren til 'asm' er ikke en konstant streng"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "vælger skal være en umiddelbar værdi"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "maske skal være en umiddelbar værdi"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "ingen lave registre er tilgængelige til at modtage værdier fra høje registre"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -25976,91 +25976,91 @@ msgstr "funktion kan ikke indbygges"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Antallet af registre der skal bruges til at overbringe heltalsparametre"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, fuzzy, gcc-internal-format
 #| msgid "MCU `%s' supported for assembler only"
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU '%s' understøttes kun for maskinkode"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "case label does not reduce to an integer constant"
 msgid "%s expects a compile time integer constant"
 msgstr "case-etiketten kan ikke reduceres til en heltalskonstant"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -26424,445 +26424,445 @@ msgstr "kan ikke l
 msgid "can%'t set position in PCH file: %m"
 msgstr "kan ikke oprette informationsfilen '%s' til opbevaringssted"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, fuzzy, gcc-internal-format
 #| msgid "code model `%s' not supported in the %s bit mode"
 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %s does not support PIC mode"
 msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "%s understøttes ikke af denne konfiguration"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i bit-tilstand er ikke oversat med ind"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "ugyldig værdi (%s) til tilvalget -march="
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d er ikke mellem 0 og %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unknown cpu: -mcpu=%s"
 msgid "unknown option for -mrecip=%s"
 msgstr "Ukendt processor: -mcpu=%s"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall og regparm er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to `%s' attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "parameter til egenskaben '%s' er større end %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr ""
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "-march=%s er ikke forenelig med den valgte ABI"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "-mips%d does not support 64 bit fp registers"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "-mips%d understøtter ikke 64-bit kommatalsregistre"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "udvidede registre har ikke høje halvdele"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "ikke-understøttet operandstørrelse for udvidede registre"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 2-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "shift must be an immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "skifteværdi skal være en umiddelbar værdi"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 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:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "the last argument must be a 4-bit immediate"
 msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 1-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 5-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 8-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, fuzzy, gcc-internal-format
 #| msgid "invalid option %s"
 msgid "%qE needs isa option %s"
 msgstr "ugyldigt tilvalg %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "last argument must be an immediate"
 msgstr "maske skal være en umiddelbar værdi"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to variables"
 msgid "%qE attribute only available for 32-bit"
 msgstr "egenskaben '%s' kan kun anvendes på variabler"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of `%s' attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "fastcall og stdcall er indbyrdes uforenelige"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -26937,13 +26937,13 @@ msgstr "en dataomr
 msgid "%qE attribute requires a string constant argument"
 msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -27020,7 +27020,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "sektionsegenskaber understøttes ikke på denne målarkitektur"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -27082,7 +27082,7 @@ msgstr "sektionsegenskaben er ikke tilladt for '%s'"
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "stakgrænseudtryk understøttes ikke"
@@ -27454,66 +27454,66 @@ msgstr "den indbyggede funktion '%s' underst
 msgid "%qs does not support MIPS16 code"
 msgstr "%s understøtter ikke %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, 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:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "-march=%s er ikke forenelig med den valgte ABI"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit processor"
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "-mgp64 benyttet med en 32 bit-processor"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp32 used with a 64-bit ABI"
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "-mgp32 benyttet med et 64 bit-ABI"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit ABI"
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "-mgp64 benyttet med et 32 bit-ABI"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "ikke-understøttet kombination: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "%s from incompatible pointer type"
 msgid "%qs is incompatible with %qs"
@@ -27524,62 +27524,62 @@ msgstr "%s fra en henvisningstype der ikke er forenelig med m
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 #| msgid "-frepo must be used with -c"
 msgid "%qs must be used with %qs"
 msgstr "-frepo skal bruges med -c"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 #| msgid "Use bit-field instructions"
 msgid "%qs requires branch-likely instructions"
 msgstr "Benyt bitfeltinstruktioner"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "this target does not support the -mabi switch"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "denne målarkitektur understøtter ikke tilvalget -mabi"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "MIPS16-funktionsprofilering"
@@ -27876,324 +27876,324 @@ msgstr "typeomtvingning fra '%T' til '%T' kasserer modifikationer p
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "ugyldigt register i instruktionen"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, fuzzy, gcc-internal-format
 #| msgid "-maix64 requires PowerPC64 architecture remain enabled"
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-maix64 kræver at PowerPC64-arkitekturen forbliver aktiveret"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "Do not compile for v8plus ABI"
 msgid "not configured for SPE ABI"
 msgstr "Oversæt ikke for v8plus-ABI"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "AltiVec not supported in this target"
 msgstr "stakgrænser understøttes ikke på målarkitekturen"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "Profiling is not supported on this target."
 msgid "SPE not supported in this target"
 msgstr "Profilering er ikke understøttet på målarkitekturen."
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, 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:2746
+#: config/rs6000/rs6000.c:2745
 #, 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:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, fuzzy, gcc-internal-format
 #| msgid "argument to `%s' must be a 2-bit unsigned literal"
 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:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 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:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate is out of range"
 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inline functions not supported for this return value type"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "integrerede funktioner understøttes ikke for denne returværditype"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error - use of undefined type"
 msgid "internal error: builtin function %s had no type"
 msgstr "intern fejl - brug af ikke-defineret type"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 #| msgid "stack frame too big"
 msgid "stack frame too large"
 msgstr "stakramme for stor"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "\"%s\" is not defined"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "\"%s\" er ikke defineret"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr ""
@@ -28435,69 +28435,69 @@ msgstr "%Jst
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, 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:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "egenskaben '%s' kan kun anvendes sammen med afbrydelsesfunktioner"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "egenskaben '%s' er ikke understøttet på denne platform"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "egenskaben interrupt_handler er ikke forenelig med -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qE attribute only applies to SH2A"
 msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not an integer constant"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Use the BK register as a general purpose register"
 msgid "need a second call-clobbered general purpose register"
 msgstr "Benyt BK-registeret som et alment register"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -28623,13 +28623,13 @@ msgstr "egenskaben '%s' kan kun anvendes p
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin fcode"
 msgid "bad builtin icode"
 msgstr "ugyldig indbygget fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -28863,43 +28863,43 @@ msgstr "'-gnat' stavet forkert som '-gant'"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qs attribute ignored"
 msgstr "egenskaben '%s' ignoreret"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "%s har ingen %s"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute `%s'"
 msgid "invalid vector type for attribute %qs"
 msgstr "ugyldig vektortype for egenskaben '%s'"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "egenskaben '%s' kan kun anvendes på variabler"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute `%s'"
 msgid "invalid element type for attribute %qs"
@@ -29380,7 +29380,7 @@ msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "videregivelse af '%T' vælger '%T' frem for '%T'"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, fuzzy, gcc-internal-format
 #| msgid "  in call to `%D'"
 msgid "  in call to %qD"
@@ -29445,350 +29445,350 @@ msgstr "ugyldig const_cast af en h
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
 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:998
+#: cp/class.c:999
 #, fuzzy, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, 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:1103
+#: cp/class.c:1104
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' and `%#D' cannot be overloaded"
 msgid "%q+#D cannot be overloaded"
 msgstr "'%#D' og '%#D' kan ikke flertydiggøres"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting access specifications for method `%D', ignored"
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "modstridende tilgangsanvisninger til metoden '%D', ignoreret"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting access specifications for field `%s', ignored"
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "modstridende tilgangsanvisninger til feltet '%s', ignoreret"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' invalid in `%#T'"
 msgid "%q+D invalid in %q#T"
 msgstr "'%D' ugyldig i '%#T'"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local method `%#D' with same name"
 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:1247
+#: cp/class.c:1248
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local member `%#D' with same name"
 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:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "kan ikke konvertere fra stamklassen '%T' til den nedarvede type '%T' via den virtuelle stamklasse '%T'"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, fuzzy, gcc-internal-format
 #| msgid "base class `%#T' has a non-virtual destructor"
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, fuzzy, gcc-internal-format
 #| msgid "all member functions in class `%T' are private"
 msgid "all member functions in class %qT are private"
 msgstr "alle medlemsfunktioner i klassen '%T' er private"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' only defines a private destructor and has no friends"
 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:1764
+#: cp/class.c:1765
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' only defines private constructors and has no friends"
 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:2157
+#: cp/class.c:2158
 #, fuzzy, gcc-internal-format
 #| msgid "no unique final overrider for `%D' in `%T'"
 msgid "no unique final overrider for %qD in %qT"
 msgstr "ingen unik endelig overskrivning af '%D' i '%T'"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was hidden"
 msgid "%q+D was hidden"
 msgstr "'%D' var skjult"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, fuzzy, gcc-internal-format
 #| msgid "  by `%D'"
 msgid "  by %q+D"
 msgstr "  af '%D'"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' invalid; an anonymous union can only have non-static data members"
 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:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' invalid; an anonymous union can only have non-static data members"
 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, fuzzy, gcc-internal-format
 #| msgid "private member `%#D' in anonymous union"
 msgid "private member %q+#D in anonymous union"
 msgstr "privat medlem '%#D' i en anonym union"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 #| msgid "private member `%#D' in anonymous union"
 msgid "private member %q+#D in anonymous struct"
 msgstr "privat medlem '%#D' i en anonym union"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, fuzzy, gcc-internal-format
 #| msgid "protected member `%#D' in anonymous union"
 msgid "protected member %q+#D in anonymous union"
 msgstr "beskyttet medlem '%#D' i en anonym union"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 #| msgid "protected member `%#D' in anonymous union"
 msgid "protected member %q+#D in anonymous struct"
 msgstr "beskyttet medlem '%#D' i en anonym union"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 #| msgid "bit-field `%#D' with non-integral type"
 msgid "bit-field %q+#D with non-integral type"
 msgstr "bitfelt '%#D' med en ikke-heltalstype"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, fuzzy, gcc-internal-format
 #| msgid "bit-field `%D' width not an integer constant"
 msgid "bit-field %q+D width not an integer constant"
 msgstr "bredden af bitfeltet '%D' er ikke en heltalskonstant"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, fuzzy, gcc-internal-format
 #| msgid "negative width in bit-field `%D'"
 msgid "negative width in bit-field %q+D"
 msgstr "negativ bredde i bitfeltet '%D'"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, fuzzy, gcc-internal-format
 #| msgid "zero width for bit-field `%D'"
 msgid "zero width for bit-field %q+D"
 msgstr "en bredde på nul for bitfeltet '%D'"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, fuzzy, gcc-internal-format
 #| msgid "width of `%D' exceeds its type"
 msgid "width of %q+D exceeds its type"
 msgstr "bredden af '%D' overstiger typen"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is too small to hold all values of `%#T'"
 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:2982
+#: cp/class.c:2999
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with constructor not allowed in union"
 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:2985
+#: cp/class.c:3002
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with destructor not allowed in union"
 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:2987
+#: cp/class.c:3004
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with copy assignment operator not allowed in union"
 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, fuzzy, gcc-internal-format
 #| msgid "multiple fields in union `%T' initialized"
 msgid "multiple fields in union %qT initialized"
 msgstr "flere felter i union '%T' tildeles startværdi"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must be a nonstatic member function"
 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:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' invalidly declared function type"
 msgid "field %q+D invalidly declared function type"
 msgstr "feltet '%D' er på ugyldig vis erklæret som en funktionstype"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' invalidly declared method type"
 msgid "field %q+D invalidly declared method type"
 msgstr "feltet '%D' er på ugyldig vis erklæret som en medlemsfunktionstype"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, fuzzy, gcc-internal-format
 #| msgid "field `%#D' with same name as class"
 msgid "field %q+#D with same name as class"
 msgstr "felt '%#D' med samme navn som klassen"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' has pointer data members"
 msgid "%q#T has pointer data members"
 msgstr "'%#T' har henvisningsdatamedlemmer"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override `%T(const %T&)'"
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  men overskriver ikke '%T(const %T&)'"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, fuzzy, gcc-internal-format
 #| msgid "  or `operator=(const %T&)'"
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  eller 'operator=(const %T&)'"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override `operator=(const %T&)'"
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  men overskriver ikke 'operator=(const %T&)'"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, fuzzy, gcc-internal-format
 #| msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
 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:3917
+#: cp/class.c:3934
 #, fuzzy, gcc-internal-format
 #| msgid "class `%T' will be considered nearly empty in a future version of GCC"
 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:3999
+#: cp/class.c:4016
 #, fuzzy, gcc-internal-format
 #| msgid "initializer specified for non-virtual method `%D'"
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "startværdi angivet for ikke-virtuel medlemsfunktion '%D'"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a template"
 msgid "%q+T is not literal because:"
 msgstr "'%T' er ikke en skabelon"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class `%#T' has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "invalid in-class initialization of static data member of non-integral type `%T'"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference `%#D' in class without a constructor"
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "ikke-statisk reference '%#D' i klasse uden en konstruktionsfunktion"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member `%#D' in class without a constructor"
 msgid "non-static const member %q+#D in class without a constructor"
@@ -29796,138 +29796,138 @@ msgstr "ikke-statisk konstant medlem '%#D' i klasse uden en konstruktionsfunktio
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, fuzzy, gcc-internal-format
 #| msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
 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:5430
+#: cp/class.c:5448
 #, fuzzy, gcc-internal-format
 #| msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
 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:5442
+#: cp/class.c:5460
 #, fuzzy, gcc-internal-format
 #| msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
 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:5628
+#: cp/class.c:5646
 #, fuzzy, gcc-internal-format
 #| msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, fuzzy, gcc-internal-format
 #| msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
 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:5706
+#: cp/class.c:5724
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
 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:5794
+#: cp/class.c:5812
 #, fuzzy, gcc-internal-format
 #| msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, fuzzy, gcc-internal-format
 #| msgid "redefinition of `%#T'"
 msgid "redefinition of %q#T"
 msgstr "omdefinering af '%#T'"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' has virtual functions but non-virtual destructor"
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "'%#T' har virtuelle funktioner, men ikke-virtuel destruktionsfunktion"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class `%T' does not have any field named `%D'"
 msgid "type transparent class %qT does not have any fields"
 msgstr "klassen '%T' har ikke et felt ved navn '%D'"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "  eftersom typen '%T' har abstrakte virtuelle funktioner"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, fuzzy, gcc-internal-format
 #| msgid "language string `\"%s\"' not recognized"
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "sprogstrengen '\"%s\"' ikke genkendt"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, fuzzy, gcc-internal-format
 #| msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
 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:6972
+#: cp/class.c:7024
 #, fuzzy, gcc-internal-format
 #| msgid "no matches converting function `%D' to type `%#T'"
 msgid "no matches converting function %qD to type %q#T"
 msgstr "ingen passende ved konvertering af funktionen '%D' til typen '%#T'"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, fuzzy, gcc-internal-format
 #| msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
 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:7022
+#: cp/class.c:7074
 #, fuzzy, gcc-internal-format
 #| msgid "assuming pointer to member `%D'"
 msgid "assuming pointer to member %qD"
 msgstr "antager henvisning til medlemmet '%D'"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, fuzzy, gcc-internal-format
 #| msgid "(a pointer to member can only be formed with `&%E')"
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(en henvisning til medlem kan kun dannes med '&%E')"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "ikke tilstrækkelig information om typen"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert `%E' from type `%T' to type `%T'"
 msgid "cannot convert %qE from type %qT to type %qT"
@@ -29938,13 +29938,13 @@ msgstr "kan ikke konvertere '%E' fra typen '%T' til typen '%T'"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%#D'"
 msgid "declaration of %q#D"
 msgstr "omerklæring af '%#D'"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, fuzzy, gcc-internal-format
 #| msgid "changes meaning of `%D' from `%+#D'"
 msgid "changes meaning of %qD from %q+#D"
@@ -29967,7 +29967,7 @@ msgstr "kan ikke konvertere fra ufuldst
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "two `u's in integer constant"
 msgid "zero as null pointer constant"
@@ -30986,7 +30986,7 @@ msgstr "'%D' erkl
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 #| msgid "non-trivial labeled initializers"
 msgid "non-trivial designated initializers not supported"
@@ -31091,8 +31091,8 @@ msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr "for mange elementer i startværdi til sammensat type"
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 #| msgid "too many initializers for `%T'"
 msgid "too many initializers for %qT"
@@ -31708,7 +31708,7 @@ msgstr "'%T' er ikke en klasse eller et navnerum"
 msgid "type %qT is not derived from type %qT"
 msgstr "typen '%T' er ikke nedarvet fra typen '%T'"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' as non-function"
 msgid "declaration of %qD as non-function"
@@ -32062,68 +32062,63 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, fuzzy, gcc-internal-format
 #| msgid "template-id `%D' used as a declarator"
 msgid "template-id %qD used as a declarator"
 msgstr "skabelons-id '%D' benyttet som erklærer"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "medlemsfunktioner er underforstået venner af deres klasse"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification `%T::' on member `%s' ignored"
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "ekstra modifikation '%T::' af medlemmet '%s' ignoreret"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%T::%s' within `%T'"
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%T::%s' within `%T'"
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member `%T::%s' within `%T'"
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "kan ikke erklære medlem '%T::%s' inde i '%T'"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 #| msgid "data member `%D' cannot be a member template"
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "datamedlem '%D' kan ikke være en medlemsskabelon"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%s' is too large"
 msgid "size of array %qs is too large"
 msgstr "størrelsen af tabellen '%s' er for stor"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, fuzzy, gcc-internal-format
 #| msgid "data member may not have variably modified type `%T'"
 msgid "data member may not have variably modified type %qT"
 msgstr "datamedlem må ikke have variabelt ændret type '%T'"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, fuzzy, gcc-internal-format
 #| msgid "parameter may not have variably modified type `%T'"
 msgid "parameter may not have variably modified type %qT"
@@ -32131,368 +32126,368 @@ msgstr "parameter m
 
 #. [dcl.fct.spec] The explicit specifier shall only be used in
 #. declarations of constructors within a class definition.
-#: cp/decl.c:9665
+#: cp/decl.c:9663
 #, fuzzy, gcc-internal-format
 #| msgid "only declarations of constructors can be `explicit'"
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "kun erklæringer af konstruktionsfunktioner kan være 'explicit'"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, fuzzy, gcc-internal-format
 #| msgid "non-member `%s' cannot be declared `mutable'"
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "'%s' som ikke er medlem, kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, fuzzy, gcc-internal-format
 #| msgid "non-object member `%s' cannot be declared `mutable'"
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "'%s' som ikke er objektmedlem, kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 #| msgid "function `%s' cannot be declared `mutable'"
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "funktionen '%s' kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 #| msgid "static `%s' cannot be declared `mutable'"
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "static '%s' kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 #| msgid "const `%s' cannot be declared `mutable'"
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const '%s' kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function `%s' cannot be declared `mutable'"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "funktionen '%s' kan ikke erklæres 'mutable'"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "typedef declared %<auto%>"
 msgstr "type er forældet (erklæret ved %s:%d)"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "typedef-navn kan ikke klassemodificeres"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
 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:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 #| msgid "destructor cannot be static member function"
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 #| msgid "function return type cannot be function"
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "en funktions returtype kan ikke være en funktion"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "typemodifikationer angivet for friend class-erklæring"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, fuzzy, gcc-internal-format
 #| msgid "`inline' specified for friend class declaration"
 msgid "%<inline%> specified for friend class declaration"
 msgstr "'inline' angivet for friend class-erklæring"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "skabelonsparametre kan ikke være venner"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
 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:9912
+#: cp/decl.c:9910
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration requires class-key, i.e. `friend %#T'"
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "friend-erklæring kræver klasseangivelse, dvs. 'friend %#T'"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, fuzzy, gcc-internal-format
 #| msgid "trying to make class `%T' a friend of global scope"
 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:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, fuzzy, gcc-internal-format
 #| msgid "abstract declarator `%T' used as declaration"
 msgid "abstract declarator %qT used as declaration"
 msgstr "abstrakt erklærer '%T' benyttet som erklæring"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use `::' in parameter declaration"
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "kan ikke bruge '::' i parametererklæring"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' declared void"
 msgid "parameter declared %<auto%>"
 msgstr "parameteren '%D' erklæret void"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' has no non-static data member named `%D'"
 msgid "non-static data member declared %<auto%>"
 msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `::'"
 msgid "invalid use of %<::%>"
 msgstr "ugyldig brug af '::'"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function `%#D' conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "erklæring af C-funktionen '%#D' strider mod"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, fuzzy, gcc-internal-format
 #| msgid "function `%D' declared virtual inside a union"
 msgid "function %qD declared virtual inside a union"
 msgstr "funktionen '%D' erklæret virtual inden i en union"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot be declared virtual, since it is always static"
 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:10106
+#: cp/decl.c:10104
 #, fuzzy, gcc-internal-format
 #| msgid "qualifiers are not allowed on declaration of `operator %T'"
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%s' shadows a member of `this'"
 msgid "declaration of %qD as member of %qT"
 msgstr "erklæring af '%s' skygger for et medlem af 'this'"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "destructors may not be `%s'"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "destruktionsfunktioner må ikke være '%s'"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 #| msgid "qualifiers are not allowed on declaration of `operator %T'"
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' has incomplete type"
 msgid "field %qD has incomplete type"
 msgstr "feltet '%D' er af en ufuldstændig type"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 #| msgid "name `%T' has incomplete type"
 msgid "name %qT has incomplete type"
 msgstr "navnet '%T' er af en ufuldstændig type"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 #| msgid "  in instantiation of template `%T'"
 msgid "  in instantiation of template %qT"
 msgstr "  i instantiering af skabelonen '%T'"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is neither function nor member function; cannot be declared friend"
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "'%s' er hverken en almindelig funktion eller en medlemsfunktion; kan ikke erklæres som friend"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member `%D' declared `register'"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "statisk medlem '%D' erklæret 'register'"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `auto' invalid for function `%s'"
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `register' invalid for function `%s'"
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `__thread' invalid for function `%s'"
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "type specifier `%s' not allowed after struct or class"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "typeangivelsen '%s' er ikke tilladt efter struct eller class"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `inline' invalid for function `%s' declared out of global scope"
 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:10324
+#: cp/decl.c:10322
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `inline' invalid for function `%s' declared out of global scope"
 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:10332
+#: cp/decl.c:10330
 #, fuzzy, gcc-internal-format
 #| msgid "virtual non-class function `%s'"
 msgid "virtual non-class function %qs"
 msgstr "virtuel funktion '%s' tilhører ikke en klasse"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 #| msgid "method definition not in class context"
 msgid "%qs defined in a non-class scope"
 msgstr "metodedefinitionen optræder ikke i en klassekontekst"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "using-declaration for non-member at class scope"
 msgid "%qs declared in a non-class scope"
 msgstr "using-erklæring for ikke-medlem ved klassevirkefelt"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%D' to have static linkage"
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, 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:10405
+#: cp/decl.c:10403
 #, fuzzy, gcc-internal-format
 #| msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
 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:10412
+#: cp/decl.c:10410
 #, fuzzy, gcc-internal-format
 #| msgid "static member `%D' declared `register'"
 msgid "static member %qD declared %<register%>"
 msgstr "statisk medlem '%D' erklæret 'register'"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, fuzzy, gcc-internal-format
 #| msgid "cannot explicitly declare member `%#D' to have extern linkage"
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "kan ikke eksplicit erklære medlemmet '%#D' til at have extern-kædning"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%#D' outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "erklæring af '%#D' uden for en klasse er ikke en definition"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' initialized and declared `extern'"
 msgid "%qs initialized and declared %<extern%>"
 msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' has both `extern' and initializer"
 msgid "%qs has both %<extern%> and initializer"
 msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "default argument for %q#D has type %qT"
 msgstr "standardparameter for '%#D' har typen '%T'"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for parameter of type `%T' has type `%T'"
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "standardparameter for parameter af typen '%T' har typen '%T'"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument `%E' uses local variable `%D'"
 msgid "default argument %qE uses %qD"
 msgstr "standardparameter '%E' bruger lokal variabel '%D'"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 #| msgid "default argument `%E' uses local variable `%D'"
 msgid "default argument %qE uses local variable %qD"
 msgstr "standardparameter '%E' bruger lokal variabel '%D'"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "parameteren er af en ufuldstændig type"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' invalidly declared method type"
 msgid "parameter %qD invalidly declared method type"
 msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' includes %s to array of unknown bound `%T'"
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' includes %s to array of unknown bound `%T'"
 msgid "parameter %qD includes reference to array of unknown bound %qT"
@@ -32513,195 +32508,195 @@ msgstr "parameteren '%D' inkluderer %s til tabel med ukendt gr
 #. 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:10987
+#: cp/decl.c:10998
 #, fuzzy, gcc-internal-format
 #| msgid "invalid constructor; you probably meant `%T (const %T&)'"
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was not declared in this scope"
 msgid "%qD may not be declared within a namespace"
 msgstr "'%D' blev ikke erklæret i dette virkefelt"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "'%#D' kan ikke erklæres"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must be a nonstatic member function"
 msgid "%qD must be a nonstatic member function"
 msgstr "'%D' skal være en ikke-statisk medlemsfunktion"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must be either a non-static member function or a non-member function"
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "'%D' skal enten være en ikke-statisk medlemsfunktion eller ikke en medlemsfunktion"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must have an argument of class or enumerated type"
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "'%D' skal have en parameter af en klasse- eller enum-type"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either one or two arguments"
 msgid "%qD must not have variable number of arguments"
 msgstr "'%D' skal tage mod én eller to parametre"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' must take `int' as its argument"
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "postfiks '%D' skal tage mod 'int' som parameter"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' must take `int' as its second argument"
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either zero or one argument"
 msgid "%qD must take either zero or one argument"
 msgstr "'%D' skal tage mod nul eller én parameter"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either one or two arguments"
 msgid "%qD must take either one or two arguments"
 msgstr "'%D' skal tage mod én eller to parametre"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, fuzzy, gcc-internal-format
 #| msgid "prefix `%D' should return `%T'"
 msgid "prefix %qD should return %qT"
 msgstr "præfiks '%D' skal returnere '%T'"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' should return `%T'"
 msgid "postfix %qD should return %qT"
 msgstr "postfiks '%D' skal returnere '%T'"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take `void'"
 msgid "%qD must take %<void%>"
 msgstr "'%D' skal tage mod 'void'"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take exactly one argument"
 msgid "%qD must take exactly one argument"
 msgstr "'%s' skal tage mod én parameter"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take exactly two arguments"
 msgid "%qD must take exactly two arguments"
 msgstr "'%s' skal tage mod to parametre"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, fuzzy, gcc-internal-format
 #| msgid "user-defined `%D' always evaluates both arguments"
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "brugerdefineret '%D' evaluerer altid begge parametre"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' should return by value"
 msgid "%qD should return by value"
 msgstr "'%D' skal returnere pr. værdi (ikke reference)"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "%qD cannot have default arguments"
 msgstr "'%D' kan ikke have standardparametre"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, fuzzy, gcc-internal-format
 #| msgid "using template type parameter `%T' after `%s'"
 msgid "using template type parameter %qT after %qs"
 msgstr "bruger skabelonstypeparameter '%D' efter '%s'"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization `%D' for `%+D'"
 msgid "using alias template specialization %qT after %qs"
 msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, fuzzy, gcc-internal-format
 #| msgid "using typedef-name `%D' after `%s'"
 msgid "using typedef-name %qD after %qs"
 msgstr "bruger typedef-navn '%D' efter '%s'"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "tidligere erklæring som '%#D'"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, fuzzy, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "'%#D' omerklæret som %C"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "dette er en tidligere erklæring"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, fuzzy, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "'%#D' omerklæret som %C"
@@ -32713,96 +32708,96 @@ msgstr "'%#D' omerkl
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, fuzzy, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "skabelonsparameter er påkrævet for '%T'"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "brug af '%D' er tvetydigt"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, fuzzy, gcc-internal-format
 #| msgid "use of enum `%#D' without previous declaration"
 msgid "use of enum %q#D without previous declaration"
 msgstr "brug af enum '%#D' uden tidligere erklæring"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration `%#D' declares a non-template function"
 msgid "redeclaration of %qT as a non-template"
 msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion"
 
 # hænger sammen med næste tekst
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration `%D'"
 msgid "previous declaration %q+D"
 msgstr "tidligere erklæring '%D'"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, fuzzy, gcc-internal-format
 #| msgid "derived union `%T' invalid"
 msgid "derived union %qT invalid"
 msgstr "nedarvet union '%T' ugyldig"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, fuzzy, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, fuzzy, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, fuzzy, gcc-internal-format
 #| msgid "base type `%T' fails to be a struct or class type"
 msgid "base type %qT fails to be a struct or class type"
 msgstr "stamklassetype '%T' er hverken en struct- eller class-type"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, fuzzy, gcc-internal-format
 #| msgid "recursive type `%T' undefined"
 msgid "recursive type %qT undefined"
 msgstr "rekursiv type '%T' ikke defineret"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate base type `%T' invalid"
 msgid "duplicate base type %qT invalid"
 msgstr "stamklassetype '%T' optræder mere end én gang"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "tidligere definition her"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -32811,79 +32806,79 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for `%s' not integer constant"
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, fuzzy, gcc-internal-format
 #| msgid "overflow in enumeration values at `%D'"
 msgid "overflow in enumeration values at %qD"
 msgstr "enum-værdier for store ved '%D'"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 #| msgid "return type `%#T' is incomplete"
 msgid "return type %q#T is incomplete"
 msgstr "returtype '%#T' er ufuldstændig"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "return type has Java class type %q#T"
 msgstr "returtypen er en ufuldstændig type"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, fuzzy, gcc-internal-format
 #| msgid "`operator=' should return a reference to `*this'"
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "'operator=' bør returnere en reference til '*this'"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "ingen tidligere erklæring af '%s'"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "Ugyldig erklæring"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' declared void"
 msgid "parameter %qD declared void"
 msgstr "parameteren '%D' erklæret void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "etiketten '%D' er defineret, men ikke benyttet"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, fuzzy, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "ugyldig medlemsskabelonerklæring '%D'"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is already defined in class `%T'"
 msgid "%qD is already defined in class %qT"
@@ -33268,7 +33263,7 @@ msgstr "h
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "kaster NULL som har en heltals-, ikke en henvisningstype"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, fuzzy, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "'%D' skal returnere pr. værdi (ikke reference)"
@@ -33564,165 +33559,165 @@ msgstr "typen '%D' er ikke en direkte stamklasse til '%T'"
 msgid "bad array initializer"
 msgstr "ugyldig tildeling af startværdi til tabel"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class or union type"
 msgid "%qT is not a class type"
 msgstr "'%T' er ikke af en klasse- eller union-type"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, fuzzy, gcc-internal-format
 #| msgid "incomplete type `%T' does not have member `%D'"
 msgid "incomplete type %qT does not have member %qD"
 msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 #| msgid "invalid pointer to bit-field `%D'"
 msgid "invalid pointer to bit-field %qD"
 msgstr "ugyldig henvisning til bitfeltet '%D'"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "ugyldig brug af ikke-statisk felt '%D'"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "ugyldig brug af ikke-statisk felt '%D'"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized reference member `%D'"
 msgid "uninitialized reference member in %q#T"
 msgstr "referencemedlem '%D' uden startværdi"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized const member in %q#T"
 msgstr "konstant medlem '%D' uden startværdi"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type `void' for new"
 msgid "invalid type %<void%> for new"
 msgstr "ugyldig type 'void' til new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in `new' of `%#T'"
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "konstant uden startværdi i 'new' af '%#T'"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, fuzzy, gcc-internal-format
 #| msgid "call to Java constructor with `%s' undefined"
 msgid "call to Java constructor with %qs undefined"
 msgstr "kald af Java-konstruktionsfunktion mens '%s' ikke er defineret"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, fuzzy, gcc-internal-format
 #| msgid "field '%s' not found in class"
 msgid "no suitable %qD found in class %qT"
 msgstr "feltet '%s' blev ikke fundet i klassen"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 #| msgid "request for member `%D' is ambiguous"
 msgid "request for member %qD is ambiguous"
 msgstr "forespørgsel efter medlemmet '%D' er tvetydigt"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "tabelindekset i startværdien er ikke en konstant"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "egenskaber i parametertabelerklæring ignoreret"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, 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:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new kan ikke bruges på en funktionstype"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, fuzzy, gcc-internal-format
 #| msgid "call to Java constructor, while `jclass' undefined"
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "kald af Java-konstruktionsfunktion mens 'jclass' ikke er defineret"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find class$"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "kan ikke finde class$"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "startværdien slutter for tidligt"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "kan ikke klargøre multidimensional tabel med startværdi"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "ukendt tabelstørrelse i delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, 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"
@@ -33815,13 +33810,13 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, fuzzy, gcc-internal-format
 #| msgid "the mangled name of `%D' will change in a future version of GCC"
 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -33832,13 +33827,13 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "generel thunk-kode mislykkes for metoden '%#D' som bruger '...'"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member `%#D', can't use default assignment operator"
 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:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member `%#D', can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -33854,106 +33849,106 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "member initializers for `%#D'"
 msgid "initializer for %q+#D is invalid"
 msgstr "medlemsstartværdier for '%#D'"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized non-static const member %q#D"
 msgstr "konstant medlem '%D' uden startværdi"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized reference member `%D'"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "referencemedlem '%D' uden startværdi"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, fuzzy, gcc-internal-format
 #| msgid "(use `=' to initialize static data members)"
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr "(brug '=' for at klargøre statiske datamedlemmer)"
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of `%#D'"
 msgid "defaulted declaration %q+D"
 msgstr "skabelonserklæring af '%#D'"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "cast does not match function type"
 msgid "does not match expected signature %qD"
 msgstr "typeomtvingelse passer ikke til funktionstype"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a template cannot be defaulted"
 msgstr "skabelonsparametre kan ikke være venner"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' cannot be declared"
 msgid "%qD cannot be defaulted"
 msgstr "'%#D' kan ikke erklæres"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "%Hslutningen af filen læst inden i standardparameter"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, fuzzy, gcc-internal-format
 #| 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"
 msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
@@ -34109,25 +34104,25 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr "%s: %s: "
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' hides constructor for `%#T'"
 msgid "%q#D hides constructor for %q#T"
 msgstr "'%#D' skjuler konstruktionsfunktion for '%#T'"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' conflicts with previous using declaration `%#D'"
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "'%#D' strider mod tidligere using-erklæring '%#D'"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 #| msgid "previous non-function declaration `%#D'"
 msgid "previous non-function declaration %q+#D"
 msgstr "tidligere ikke-funktionserklæring '%#D'"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, fuzzy, gcc-internal-format
 #| msgid "conflicts with function declaration `%#D'"
 msgid "conflicts with function declaration %q#D"
@@ -34135,7 +34130,7 @@ msgstr "strider mod funktionserkl
 
 #. It's a nested name with template parameter dependent scope.
 #. This can only be using-declaration for class member.
-#: cp/name-lookup.c:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a namespace"
 msgid "%qT is not a namespace"
@@ -34143,138 +34138,138 @@ msgstr "'%T' er ikke et navnerum"
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, fuzzy, gcc-internal-format
 #| msgid "a using-declaration cannot specify a template-id.  Try `using %D'"
 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:2400
+#: cp/name-lookup.c:2405
 #, fuzzy, gcc-internal-format
 #| msgid "namespace `%D' not allowed in using-declaration"
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "navnerum '%D' ikke tilladt i using-erklæring"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' not declared"
 msgid "%qD not declared"
 msgstr "'%D' ikke erklæret"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is already declared in this scope"
 msgid "%qD is already declared in this scope"
 msgstr "'%D' er allerede erklæret i dette navnerum"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names destructor"
 msgstr "'%D' navngiver en konstruktionsfunktion"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names constructor"
 msgstr "'%D' navngiver en konstruktionsfunktion"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "'%D' navngiver en konstruktionsfunktion"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, fuzzy, gcc-internal-format
 #| msgid "no members matching `%D' in `%#T'"
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "ingen medlemmer passer til '%D' i '%#T'"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' not in a namespace surrounding `%D'"
 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:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate type qualifiers in %s declaration"
 msgid "explicit qualification in declaration of %qD"
 msgstr "dobbelte typemodifikationer i %s-erklæring"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' should have been declared inside `%D'"
 msgid "%qD should have been declared inside %qD"
 msgstr "'%D' skulle have været erklæret inden i '%D'"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "egenskabsdirektivet '%s' ignoreret"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, fuzzy, gcc-internal-format
 #| msgid "namespace alias `%D' not allowed here, assuming `%D'"
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "navnerumsalias '%D' er ikke tilladt her, antager '%D'"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -34420,7 +34415,7 @@ msgstr "ugyldig roteringsinstruktion"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "overløb i konstant udtryk"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -34659,7 +34654,7 @@ msgstr "skabelons-id '%D' benyttet som erkl
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -34864,7 +34859,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr "I sætningsfunktion"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "empty body in an else-statement"
 msgid "expected selection-statement"
@@ -34896,7 +34891,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "uventet operand"
@@ -34912,12 +34907,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ forbyder beregnede goto'er"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "uventet operand"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -34955,7 +34950,7 @@ msgstr "lagringsklasseanvisninger er ugyldige i vennefunktionserkl
 msgid "class definition may not be declared a friend"
 msgstr "funktionen '%D' kan ikke erklæres friend"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -35038,13 +35033,13 @@ msgstr "uventet operand"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "det reserverede ord 'export' er ikke implementeret og vil blive ignoreret"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "'%D' kan ikke have standardparametre"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "template parameter pack cannot have a default argument"
@@ -35061,7 +35056,7 @@ msgstr "skabelonsparametre kan ikke v
 msgid "expected template-id"
 msgstr "uventet operand"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<<%>"
@@ -35199,13 +35194,13 @@ msgstr ""
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Aktivér automatisk skabelonsinstantiering"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' in `%D' which does not enclose `%D'"
 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' in `%D' which does not enclose `%D'"
 msgid "declaration of %qD in %qD which does not enclose %qD"
@@ -35254,79 +35249,79 @@ msgstr "navnerum '%D' ikke tilladt i using-erkl
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%s: function definition not converted\n"
 msgid "a function-definition is not allowed here"
 msgstr "%s: funktionsdefinitionen er ikke omdannet\n"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "en global registervariabel følger en funktionsdefinition"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "empty scalar initializer"
 msgid "expected initializer"
 msgstr "tom skalarstartværdi"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "Ugyldig erklæring"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 #| msgid "initializer specified for non-member function `%D'"
 msgid "initializer provided for function"
 msgstr "startværdi angivet for ikke-medlemsfunktion '%D'"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, fuzzy, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "egenskaber i parametertabelerklæring ignoreret"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array bound is not an integer constant"
 msgstr "tabelindeks er ikke et heltal"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "opretter henvisning til medlemsreference af typen '%T'"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "`%D::%D' is not a template"
 msgid "%<%T::%E%> is not a type"
 msgstr "'%D::%D' er ikke en skabelon"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "ugyldig brug af ikke-statisk felt '%D'"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -35335,262 +35330,262 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "ugyldig erklærer"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "empty declaration"
 msgid "expected declarator"
 msgstr "tom erklæring"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is a namespace"
 msgid "%qD is a namespace"
 msgstr "'%D' er et navnerum"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type `%T'"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "uventet operand"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate case value"
 msgid "duplicate cv-qualifier"
 msgstr "case-værdi optræder mere end én gang"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "multiple `virtual' specifiers"
 msgid "duplicate virt-specifier"
 msgstr "mere end én 'virtual'-angivelse"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `%D'"
 msgid "invalid use of %<auto%>"
 msgstr "ugyldig brug af '%D"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "uventet operand"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, fuzzy, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "standardparameter givet til %d. parameter for '%#D'"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "'%D' kan ikke have standardparametre"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "parameter pack cannot have a default argument"
 msgstr "'%D' kan ikke have standardparametre"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ tillader ikke udpegede startværdier"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ tillader ikke udpegede startværdier"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 msgid "expected class-name"
 msgstr "uventet operand"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "'%s' er erklæret inline efter dens definition"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "'%s' er erklæret inline efter dens definition"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "kan ikke finde filen for klassen %s"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "friend-erklæringen er ikke i klassedefinitionen"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of `%D'"
 msgid "invalid class name in declaration of %qD"
 msgstr "ugyldig omerklæring af '%D'"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "ekstra modifikation '%T::' af medlemmet '%D' ignoreret"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "eksplicit specialisering følger ikke efter 'template <>'"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "ikke-skabelon benyttet som skabelon"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 #| msgid "previous definition of `%#T'"
 msgid "previous definition of %q+#T"
 msgstr "tidligere definition af '%#T'"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "uventet operand"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 #| msgid "brace-enclosed initializer used to initialize `%T'"
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, fuzzy, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "bruger 'typename' uden for en skabelon"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "new kan ikke bruges på en referencetype"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of `%D'"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "ugyldig omerklæring af '%D'"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'"
@@ -35599,338 +35594,338 @@ msgstr "for f
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, fuzzy, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "--driver understøttes ikke længere"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 #| msgid "invalid declaration of member template `%#D' in local class"
 msgid "invalid declaration of member template in local class"
 msgstr "ugyldig erklæring af medlemsskabelon '%#D' i lokal klasse"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "skabelon med C-kædning"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization here"
 msgid "invalid explicit specialization"
 msgstr "eksplicit specialisering her"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of `%#D'"
 msgid "template declaration of %<typedef%>"
 msgstr "skabelonserklæring af '%#D'"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization here"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "eksplicit specialisering her"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "'>>' skulle have været '> >' i skabelonsklassenavn"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, fuzzy, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "'>>' skulle have været '> >' i skabelonsklassenavn"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid use of %qD in linkage specification"
 msgstr "ugyldig stamklasseangivelse"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 #| msgid "`__thread' before `extern'"
 msgid "%<__thread%> before %qD"
 msgstr "'__thread' før 'extern'"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<return%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<extern%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<operator%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "uventet operand"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<*%>"
 msgstr "';' forventet"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<~%>"
 msgstr "';' forventet"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' tag used in naming `%#T'"
 msgid "%qs tag used in naming %q#T"
 msgstr "'%s'-mærke benyttet i navngivning af '%#T'"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "'%s' tidligere erklæret her"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "'%#D' omerklæret som en anden form for symbol"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "%Hslutningen af filen læst inden i standardparameter"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "Class or interface declaration expected"
 msgid "objective-c++ method declaration is expected"
 msgstr "Klasse- eller grænsefladeerklæring forventet"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register name `%s' for register variable"
 msgid "invalid type for instance variable"
 msgstr "ugyldigt registernavn '%s' for registervariabel"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 #| msgid "Identifier expected"
 msgid "identifier expected after %<@protocol%>"
 msgstr "Kaldenavn forventet"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored for `%s'"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "'%s'-egenskaben ignoreret for '%s'"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "ugyldig typeparameter"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "iteration variable %qD should not be reduction"
 msgstr "registervariabel '%s' benyttet i indlejret funktion"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "not enough type information"
 msgid "not enough collapsed for loops"
 msgstr "ikke tilstrækkelig information om typen"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of #pragma GCC java_exceptions"
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "ragelse i slutningen af #pragma GCC java_exceptions"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, fuzzy, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "profilering understøttes ikke endnu"
@@ -36731,17 +36726,17 @@ msgstr "skabelonsinstantieringsdybden overskrider maksimum p
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= 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:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 #| msgid "instantiation of `%D' as type `%T'"
 msgid "instantiation of %q+D as type %qT"
@@ -36760,291 +36755,291 @@ msgstr "instantiering af '%D' som typen '%T'"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 #| msgid "sizeof applied to a function type"
 msgid "variable %qD has function type"
 msgstr "sizeof benyttet på en funktionstype"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 #| msgid "invalid parameter type `%T'"
 msgid "invalid parameter type %qT"
 msgstr "ugyldig parametertype '%T'"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 #| msgid "in declaration `%D'"
 msgid "in declaration %q+D"
 msgstr "i erklæringen '%D'"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 #| msgid "function returns an aggregate"
 msgid "function returning an array"
 msgstr "funktion returnerer en værdi af en sammensat type"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' declared as function returning a function"
 msgid "function returning a function"
 msgstr "'%s' er erklæret som en funktion der returnerer en funktion"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member function of non-class type `%T'"
 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "danner reference til void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type `%T'"
 msgid "forming pointer to reference type %qT"
 msgstr "danner %s til referencetypen '%T'"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type `%T'"
 msgid "forming reference to reference type %qT"
 msgstr "danner %s til referencetypen '%T'"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type `%T'"
 msgid "creating pointer to member of non-class type %qT"
 msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 msgid "creating pointer to member reference type %qT"
 msgstr "opretter henvisning til medlemsreference af typen '%T'"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 msgid "creating pointer to member of type void"
 msgstr "opretter henvisning til medlemsreference af typen '%T'"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, fuzzy, gcc-internal-format
 #| msgid "creating array of `%T'"
 msgid "creating array of %qT"
 msgstr "opretter tabel af '%T'"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, 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:11714
+#: cp/pt.c:11740
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class, struct, or union type"
 msgid "%qT is not a class, struct, or union type"
 msgstr "'%T' er ikke en class-, struct- eller union-type"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, fuzzy, gcc-internal-format
 #| msgid "use of `%s' in template"
 msgid "use of %qs in template"
 msgstr "brug af '%s' i skabelon"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type `%T' does not match destructor name `~%T'"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, 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:12033
+#: cp/pt.c:12059
 #, 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:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 #| msgid "missing static field `%s'"
 msgid "using invalid field %qD"
 msgstr "manglende statisk felt '%s'"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of void expression"
 msgid "invalid use of pack expansion expression"
 msgstr "ugyldig brug af void-udtryk"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' undeclared here (not in a function)"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "'%s' ikke erklæret her (ikke i en funktion)"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class or namespace"
 msgid "%qT is not a class or namespace"
 msgstr "'%T' er ikke en klasse eller et navnerum"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class or namespace"
 msgid "%qD is not a class or namespace"
 msgstr "'%T' er ikke en klasse eller et navnerum"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, fuzzy, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "skabelonsparameter '%T' benytter anonym type"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "template argument for %qD uses local type %qT"
 msgstr "standardparameter for '%#D' har typen '%T'"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, fuzzy, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "skabelonsparameter '%T' er en variabelt ændret type"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "størrelsen af medlemmet '%D' er ikke konstant"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, fuzzy, gcc-internal-format
 #| msgid "  trying to instantiate `%D'"
 msgid "  trying to instantiate %qD"
 msgstr "  ved forsøg på at instantiere '%D'"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous class template instantiation for `%#T'"
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "tvetydig klasseskabelonsinstantiering for '%#T'"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template `%#D'"
 msgid "explicit instantiation of non-template %q#D"
 msgstr "eksplicit instantiering af ikke-skabelon '%#D'"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, fuzzy, gcc-internal-format
 #| msgid "no matching template for `%D' found"
 msgid "no matching template for %qD found"
 msgstr "ingen passende skabelon for '%D' fundet"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type `%T'"
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%#D'"
 msgid "explicit instantiation of %q#D"
 msgstr "eksplicit instantiering af '%#D'"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate explicit instantiation of `%#D'"
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "'%#D' er blevet eksplicit instantieret mere end én gang"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `%D' applied to template instantiation"
 msgid "storage class %qD applied to template instantiation"
 msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template `%#D'"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "eksplicit instantiering af ikke-skabelon '%#D'"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type `%T'"
 msgid "explicit instantiation of non-template type %qT"
 msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%#T' before definition of template"
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "eksplicit instantiering af '%T' før definering af skabelonen"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate explicit instantiation of `%#T'"
 msgid "duplicate explicit instantiation of %q#T"
@@ -37057,37 +37052,37 @@ msgstr "'%#T' er blevet eksplicit instantieret mere end 
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%D' but no definition available"
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "invalid catch parameter"
 msgid "invalid template non-type parameter"
 msgstr "ugyldig catch-parameter"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant "
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, fuzzy, gcc-internal-format
 #| msgid "brace-enclosed initializer used to initialize `%T'"
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -37095,12 +37090,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -37367,7 +37362,7 @@ msgstr "ugyldig definition af modificeret type '%T'"
 msgid "invalid base-class specification"
 msgstr "ugyldig stamklasseangivelse"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' not declared"
 msgid "%qD is not captured"
@@ -37558,290 +37553,290 @@ msgstr "ugyldig returtype for funktionen '%#D'"
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 #| msgid "initializer invalid for static member with constructor"
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "tildeling af startværdi er ugyldig for statisk medlem med konstruktionsfunktion"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr ""
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "friend-erklæringen er ikke i klassedefinitionen"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function `%D'"
 msgid "call to non-constexpr function %qD"
 msgstr "kald af ikke-funktion '%D'"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' implicitly declared before its definition"
 msgid "%qD used before its definition"
 msgstr "'%s' er underforstået erklæret efter dens definition"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol `%s' has circular dependency"
 msgid "call has circular dependency"
 msgstr "protokollen '%s' har cirkulær afhængighed"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "%q+E is not a constant expression"
 msgstr "Manglende eller ugyldigt konstant udtryk"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript out of bound"
 msgstr "tabelindeks er ikke et heltal"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "%qE is not a constant expression"
 msgstr "Manglende eller ugyldigt konstant udtryk"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "overløb i konstant udtryk"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "Manglende eller ugyldigt konstant udtryk"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%D' is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "excess elements in union initializer"
 msgid "%qD used in its own initializer"
 msgstr "for mange elementer i union-startværdi"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "%q#D is not const"
 msgstr "'%s' er ikke en funktion,"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "`%+#D' is private"
 msgid "%q#D is volatile"
 msgstr "'%+#D' er privat"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "'%D' blev ikke erklæret i dette virkefelt"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "størrelse i tabel-new skal være en heltalstype"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "enum- og ikke enum-type i betinget udtryk"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "størrelsen af medlemmet '%D' er ikke konstant"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected address expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "uventet adresseudtryk"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "størrelsen af medlemmet '%D' er ikke konstant"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "tabelindekset i startværdien er ikke en konstant"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unexpected type for `id' (%s)"
 msgid "unexpected AST of kind %s"
 msgstr "uventet type for 'id' (%s)"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare %s to references"
 msgid "cannot capture %qE by reference"
 msgstr "kan ikke erklære %s til referencer"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, fuzzy, gcc-internal-format
 #| msgid "`%V' qualifiers cannot be applied to `%T'"
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "modifikationerne '%V' kan ikke anvendes på '%T'"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to Java class definitions"
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "egenskaben '%s' kan kun anvendes med Java-klassedefinitioner"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to class definitions"
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
 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:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "den udbedte init_priority er ikke en heltalskonstant"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, fuzzy, gcc-internal-format
 #| msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
 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:2893
+#: cp/tree.c:2905
 #, 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:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "%qE attribute is not supported on this platform"
 msgstr "egenskaben '%s' er ikke understøttet på denne platform"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_*-kontrol: mislykkedes i %s, ved %s:%d"
@@ -38908,138 +38903,138 @@ msgstr "konstruktionsfunktionsyntaks benyttet, men ingen konstruktionsfunktion e
 msgid "cannot initialize arrays using this syntax"
 msgstr "kan ikke tildele tabeller startværdier med denne syntaks"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-tabel får tildelt startværdi fra en ikke-bred streng"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "int-tabel får tildelt startværdi fra en ikke-bred streng"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "startværdistrengen til char-tabellen er for lang"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 #| msgid "missing initializer for member `%D'"
 msgid "missing initializer for member %qD"
 msgstr "manglende startværdi for medlemmet '%D'"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized const member %qD"
 msgstr "konstant medlem '%D' uden startværdi"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 #| msgid "member `%D' with uninitialized const fields"
 msgid "member %qD with uninitialized const fields"
 msgstr "medlem '%D' med konstante felter uden startværdi"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, fuzzy, gcc-internal-format
 #| msgid "member `%D' is uninitialized reference"
 msgid "member %qD is uninitialized reference"
 msgstr "medlemmet '%D' er en reference uden startværdi"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, fuzzy, gcc-internal-format
 #| msgid "no field `%D' in union being initialized"
 msgid "no field %qD found in union being initialized"
 msgstr "intet felt '%D' i union der tildeles startværdi"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "indeksværdi i stedet for feltnavn i union-startværdi"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "fundet en henvisningsefterfølgelse der går i ring"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 #| msgid "base operand of `->' has non-pointer type `%T'"
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "grundoperanden til '->' har en ikke-henvisningstype '%T'"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, fuzzy, gcc-internal-format
 #| msgid "result of `operator->()' yields non-pointer result"
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "resultatet af 'operator->()' er ikke en henvisning"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, fuzzy, gcc-internal-format
 #| msgid "base operand of `->' is not a pointer"
 msgid "base operand of %<->%> is not a pointer"
 msgstr "grundoperanden til '->' er ikke en henvisning"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, fuzzy, gcc-internal-format
 #| msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "'%E' kan ikke bruges som en medlemshenvisning eftersom udtrykkets type er '%T'"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 #| msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "kan ikke anvende medlemshenvisning '%E' på '%E' som er af den ikke-sammensatte type '%T'"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, fuzzy, gcc-internal-format
 #| msgid "member type `%T::' incompatible with object type `%T'"
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type `%T'"
 msgid "functional cast to array type %qT"
 msgstr "ugyldig omtvingelse til funktionstypen '%T'"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "default-initialization of `%#D', which has reference type"
 msgid "invalid value-initialization of reference type"
 msgstr "standardklargøring af '%#D' som er af en referencetype"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 #| msgid "call to function `%D' which throws incomplete type `%#T'"
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "kald af en funktion '%D' som kaster en ufuldstændig type '%#T'"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 #| msgid "call to function which throws incomplete type `%#T'"
 msgid "call to function which throws incomplete type %q#T"
@@ -39102,197 +39097,197 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "Tenkonstant ved %0 har ingen afsluttende apostrof ved %1"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "array subscript has type `char'"
 msgid "Expected array subscript at %C"
 msgstr "tabelindeks er af typen 'char'"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "array subscript has type `char'"
 msgid "Expected array subscript stride at %C"
 msgstr "tabelindeks er af typen 'char'"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Null element at %0 for array reference at %1"
 msgid "Invalid form of array reference at %C"
 msgstr "Nulelement ved %0 for tabelreference ved %1"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Null element at %0 for array reference at %1"
 msgid "Invalid form of coarray reference at %C"
 msgstr "Nulelement ved %0 for tabelreference ved %1"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "second arg to `__builtin_expect' must be a constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "den anden parameter til '__builtin_expect' skal være en konstant"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad specification for deferred shape array at %C"
 msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad specification for assumed size array at %C"
 msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Can't specify array dimension in a declaration"
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Kan ikke angive tabeldimension i en erklæring"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "\"%s\" må ikke optræde i makroparameterliste"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Min/max instructions not allowed"
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Min/max-instruktioner ikke tilladt"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -39328,7 +39323,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
@@ -39443,7 +39438,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -39526,8 +39521,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -39675,7 +39670,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -39806,43 +39801,43 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments to %s `%+#D'"
 msgid "Too many arguments to %s at %L"
 msgstr "for mange parametre til %s '%+#D'"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -39854,7 +39849,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -40146,7 +40141,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -40161,7 +40156,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -40171,7 +40166,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "initialization of new expression with `='"
 msgid "Expected an initialization expression at %C"
@@ -40382,7 +40377,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -40402,865 +40397,865 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "\"%s\" må ikke optræde i makroparameterliste"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "conflicts with function declaration `%#D'"
 msgid "Unexpected junk after function declaration at %C"
 msgstr "strider mod funktionserklæring '%#D'"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "constructor cannot be static member function"
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Mystisk tal i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RETURN statement at %0 invalid within a main program unit"
 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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RETURN statement at %0 invalid within a main program unit"
 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:5426
+#: fortran/decl.c:5427
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "overløb i konstant udtryk"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing first operand for binary operator at %0"
 msgid "Missing closing paren for binding label at %C"
 msgstr "Manglende første operand for binær operator ved %0"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Unexpected END statement at %C"
 msgstr "Ikke-understøttet VXT-sætning ved %0"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Extraneous comma in FORMAT statement at %0"
 msgid "Expecting %s statement at %C"
 msgstr "Ekstra komma i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "duplicate label `%s' in switch statement"
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "mere end én '%s'-etiket i switch-sætningen"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "duplicate label `%s' in switch statement"
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "mere end én '%s'-etiket i switch-sætningen"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing %A specifier in statement at %0"
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Manglende %A-angivelse i sætning ved %0"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "predicate must be an identifier"
 msgid "Cray pointer at %C must be an integer"
 msgstr "udsagn skal være et kaldenavn"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Expected \",\" or end of statement at %C"
 msgstr "Ikke-understøttet VXT-sætning ved %0"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Mystisk tal i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
 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:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
 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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious sign in FORMAT statement at %0"
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Mystisk fortegn i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "initializing array with parameter list"
 msgid "Initializing already initialized variable at %C"
 msgstr "klargør tabel med en parameterliste"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Extraneous comma in FORMAT statement at %0"
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Ekstra komma i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Mystisk tal i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Ikke-understøttet VXT-sætning ved %0"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Mystisk tal i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Ikke-understøttet VXT-sætning ved %0"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Mystisk tal i FORMAT-sætning ved %0"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "'%D' kan ikke være trådlokal eftersom den er af en ikke-POD type '%T'"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Type name at %0 not the same as name at %1"
 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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type name expected before `*'"
 msgid "ENUM definition statement expected before %C"
 msgstr "der forventedes et typenavn før '*'"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "multiple access specifiers"
 msgid "Duplicate access-specifier at %C"
 msgstr "mere end én tilgangsangivelse"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "multiple access specifiers"
 msgid "Expected access-specifier at %C"
 msgstr "mere end én tilgangsangivelse"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "')' expected"
 msgid "')' expected at %C"
 msgstr "')' forventet"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown register name: %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "ukendt registernavn: %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -41510,27 +41505,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -41798,7 +41793,7 @@ msgid "can't open input file: %s"
 msgstr "kan ikke åbne uddatafilen '%s'"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "creating array of `%T'"
@@ -41919,12 +41914,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -44012,7 +44007,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -45131,963 +45126,963 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Null argument at %0 for statement function reference at %1"
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "Nulparameter ved %0 for sætningsfunktionsreference ved %1"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inconsistent instance variable specification"
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "inkonsistent instansvariabelangivelse"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "use of `%D' is ambiguous"
 msgid "'%s' at %L is ambiguous"
 msgstr "brug af '%D' er tvetydigt"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Label %A already defined at %1 when redefined at %0"
 msgid "Label %d referenced at %L is never defined"
 msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function `%A' defined at %0 is not used"
 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:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Ekstern procedure '%A' er overbragt som faktisk parameter ved %0, men ikke eksplicit erklæret EXTERNAL"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "use of `%D' is ambiguous"
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "brug af '%D' er tvetydigt"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in this context"
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "Sætning ved %0 er ugyldig i denne kontekst"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument of `%s' attribute is not a string constant"
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "henvisningsvariabler er ikke tilladt som case-værdier"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "'%s' at %L is not a function"
 msgstr "'%s' er ikke en funktion,"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "shared and mdll are not compatible"
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "shared og mdll er indbyrdes uforenelige"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument 3 of `%s' must be a 2-bit literal"
 msgid "Argument dim at %L must be scalar"
 msgstr "parameter til '%s' skal være en 2 bit-konstant"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array `%A' at %0 is too large to handle"
 msgid "Array index at %L is an array of rank %d"
 msgstr "Tabellen '%A' ved %0 er for stor til at håndtere"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring begin/end point at %0 out of defined range"
 msgid "Substring end index at %L must be scalar"
 msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "requested alignment is too large"
 msgid "Substring end index at %L is too large"
 msgstr "angivet justering er for stor"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array or substring specification for `%A' out of range in statement at %0"
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array or substring specification for `%A' out of range in statement at %0"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No label definition for FORMAT statement at %0"
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No label definition for FORMAT statement at %0"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -46096,177 +46091,177 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "udtrykket er af en ufuldstændig type"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in context established by statement at %1"
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -46274,959 +46269,959 @@ 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:8597
+#: fortran/resolve.c:8599
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in context established by statement at %1"
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Ikke-understøttet VXT-sætning ved %0"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Integer at %0 too large"
 msgid "String length at %L is too large"
 msgstr "Heltal ved %0 for stort"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%s' has both `extern' and initializer"
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "slutfeltet '%s' bliver måske ikke klargjort"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' must take exactly one argument"
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "'%s' skal tage mod én parameter"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "trampolines not yet implemented"
 msgid "Finalization at %L is not yet implemented"
 msgstr "trampoliner understøttes ikke endnu"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "incompatible types in %s"
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "uforenelige typer i %s"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "Label %d at %L defined but not used"
 msgstr "etiketten '%D' er defineret, men ikke benyttet"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "Label %d at %L defined but cannot be used"
 msgstr "etiketten '%D' er defineret, men ikke benyttet"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -47397,35 +47392,35 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "accumulator number is out of bounds"
 msgid "DIM argument at %L is out of bounds"
 msgstr "akkumulatortal er uden for det gyldig interval"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -47433,48 +47428,48 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "function call has aggregate value"
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "funktionskald har en sammensat værdi"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -47853,17 +47848,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -48503,18 +48498,18 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr "kunne ikke bestemme dato og tid"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not find specs file %s\n"
 msgid "could not parse file offset"
 msgstr "kunne ikke finde specifikationsfilen %s\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected offset"
@@ -48526,69 +48521,69 @@ msgstr "uventet operand"
 msgid "invalid line in the resolution file"
 msgstr "ugyldigt register i instruktionen"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "ugyldigt register i instruktionen"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "kan ikke åbne %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "kan ikke åbne %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "kan ikke åbne %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "åbner uddatafilen %s"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "ved skrivning af uddata til %s"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "åbner uddatafilen %s"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "Could not open source file %s.\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "Kunne ikke åbne kildefilen %s.\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -54971,6 +54966,9 @@ msgstr "opretter v
 #~ msgid "more than one 'i' or 'j' suffix on integer constant"
 #~ msgstr "mere end én 'i'- eller 'j'-endelse i heltalskonstant"
 
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "ugyldig endelse i heltalskonstant"
+
 #~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
 #~ msgstr "heltalskonstant er for stor til denne konfiguration af oversætteren - afkortet til %d bit"
 
index 5d0669f..4ebb570 100644 (file)
Binary files a/gcc/po/de.gmo and b/gcc/po/de.gmo differ
index 79e9ac4..4d77d69 100644 (file)
@@ -6,10 +6,10 @@
 # Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: gcc 4.7.1\n"
+"Project-Id-Version: gcc 4.7.2\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
-"PO-Revision-Date: 2012-06-24 13:30+0200\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
+"PO-Revision-Date: 2012-09-25 11:30+0200\n"
 "Last-Translator: Roland Stigge <stigge@antcom.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -27,7 +27,7 @@ msgstr "<anonym>"
 msgid "({anonymous})"
 msgstr "({anonym})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "Zeilenende erwartet"
@@ -37,8 +37,8 @@ msgstr "Zeilenende erwartet"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "%<;%> erwartet"
@@ -50,13 +50,13 @@ msgstr "%<;%> erwartet"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "%<(%> erwartet"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "%<,%> erwartet"
@@ -72,14 +72,14 @@ msgstr "%<,%> erwartet"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "%<)%> erwartet"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "%<]%> erwartet"
@@ -88,25 +88,25 @@ msgstr "%<]%> erwartet"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "%<;%>, %<,%> oder %<)%> erwartet"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "%<}%> erwartet"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "%<{%> erwartet"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "%<:%> erwartet"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "%<while%> erwartet"
@@ -115,34 +115,34 @@ msgstr "%<while%> erwartet"
 msgid "expected %<.%>"
 msgstr "%<.%> erwartet"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "%<@end%> erwartet"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "%<>%> erwartet"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "%<,%> oder %<)%> erwartet"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "%<=%> erwartet"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "%<#pragma omp section%> oder %<}%> erwartet"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "%<[%> erwartet"
@@ -322,12 +322,12 @@ msgstr "»%%l«-Operand ist keine Marke"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "Gleitkommakonstante falsch benutzt"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "ungültiger Ausdruck als Operand"
@@ -1424,20 +1424,20 @@ msgstr "unerkennbarer Befehl:"
 msgid "insn does not satisfy its constraints:"
 msgstr "Befehl erfüllt nicht seine Bedingungen:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "erzeugt und mit anderen Einstellungen von »%s« verwendet"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "Platz im Hauptspeicher reicht nicht aus"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "erzeugt und mit anderen Einstellungen von -fpic verwendet"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "erzeugt und mit anderen Einstellungen von -fpie verwendet"
 
@@ -2036,195 +2036,195 @@ msgstr "Kleinster Abstand zwischen möglicherweise in Konflikt stehendem Speiche
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Höchstzahl der RTL-Knoten, die als letzte Werte des Kombinierers aufgezeichnet werden können"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Obere Schranke zum gemeinsamen Verwenden von Ganzzahlkonstanten"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Mindestanzahl der zum Umschalten auf vollständige virtuelle Umbenennungen zu betrachtenden virtuellen Mappings"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Verhältnis zwischen virtuellen Mappings und virtuellen Symbolen für vollständige virtuelle Umbenennungen"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Untere Schranke für einen für Stack-Smashing-Protection betrachteten Puffer"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Höchstzahl der in einem Block erlaubten Anweisungen, die für Sprungbehandlung vervielfältigt werden müssen"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Die Höchstzahl der Felder in einer Struktur, bevor Zeigeranalyse sie als einzelne Variable behandelt"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Höchstzahl der vom Scheduler während der ersten Planphase fertig zur Ausführung zu betrachtenden Anweisungen"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr "Höchstzahl der aktiven lokalen Speicherungen bei RTL-Eliminierung toter Speicherungen"
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "Die Anzahl der ausgeführten Befehle bevor Prefetch abgeschlossen ist"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "Die Anzahl der Prefetches, die gleichzeitig laufen können"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "Die Größe des L1-Caches"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "Die Größe einer L1-Cacheline"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "Die Größe des L2-Caches"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Ob kanonische Typen zu verwenden sind"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr "Maximalgröße der partiellen Aufwandsmenge, wenn Baumvoroptimierung ausgeführt wird"
 
-#: params.def:775
+#: params.def:776
 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:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr "Maximale Schleifenanzahl für regionales RA"
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr "Maximale Größe der Konflikttabelle in MB"
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "Die Anzahl der Register in jeder Klasse, die von Schleifeninvariantenbewegung freigehalten werden"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "Maximales Verhältnis zwischen Feldgröße und Switch-Zweigen, wobei Switch-Umwandlung erfolgt"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr "Größe der Kacheln für Schleifenblockierung"
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "Höchstzahl der Parameter in einem SCoP"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr "Höchstzahl der Basis-Blöcke pro Funktion, die von Graphite analysiert werden"
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr "Höchstzahl der Datenreferenzen in Schleife zum Aufbau der Abhängigkeiten der Schleifendaten"
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "Höchstzahl der Basis-Blöcke in Schleife für Schleifeninvariantenbewegung"
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Höchstzahl der in Basis-Block zu betrachtenden Anweisungen für SLP-Vektorisierung"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr "Kleinstes Verhältnis von Befehlen zu Prefetches um Prefetching für eine Schleife mit unbekannter Frequentierung zu aktivieren"
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr "Kleinstes Verhältnis von Befehlen zu Speicheroperationen, um Prefetching in einer Schleife zu aktivieren"
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr "Maximale Größe variablenverfolgender Hash-Tabellen"
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr "Größte Rekursionstiefe für Ersetzung von variablenverfolgenden Ausdrücken"
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr "Kleinste UID für Nicht-Debug-Befehl"
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr "Maximales Größenwachstum neuer von ipa-sra durch Ersetzen von Zeigern auf Aggregate erzeugter Parameter"
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr "Größe in Bytes nach der thread-lokale Zusammenfassungen mit Logging-Funktionen statt mit Save/Restore-Paaren instrumentiert werden sollten"
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr "Maximale Größe einer jedem Parameter zugeordneten Liste von Werten für interprozedurale Konstantenweitergabe"
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr "Schwellwert für Auswertung der Möglichkeit von IPA-CP, der noch als vorteilhaft zum Kopieren betrachtet wird"
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr "Anzahl der Partitionen, in die das Programm aufgeteilt werden soll"
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr "Kleinste Größe einer Partition für LTO (in voraussichtlichen Befehlen)"
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "Höchstzahl der nach Alternativen zu durchsuchenden Namensräume wenn Nachschlagen des Namens fehlschlägt"
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "Höchstzahl von bedingten Speicherpaaren, die ausgegeben werden können"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr "Kleinste Zahl unterschiedlicher Werte für die eine Sprungtabelle besser als ein Baum bedingter Sprünge ist; bei 0 wird der Standard für diese Maschine verwendet"
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr "Neue Daten-Races bei Ladeoperationen zulassen"
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr "Neue Daten-Races bei Speicheroperationen zulassen"
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Neue Daten-Races bei gepackten Ladeoperationen zulassen"
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Neue Daten-Races bei gepackten Speicheroperationen zulassen"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr "Höchstzahl der parallel ausgeführten Befehle im neuverbundenen Baum setzen. Bei 0 die zielabhängige Heuristik verwenden."
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr "Höchstzahl der ähnlichen BBs, mit denen ein BB verglichen wird"
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr "Höchstzahl der Iterationen des Durchgangs über eine Funktion"
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr "Höchstzahl der Zeichenketten, für die der Strlen-Optimierungsdurchgang Zeichenkettenlängen aufzeichnet"
 
@@ -2557,18 +2557,18 @@ msgid "invalid %%r value"
 msgstr "Ungültiger %%r-Wert"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "Ungültiger %%R-Wert"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "Ungültiger %%N-Wert"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "Ungültiger %%P-Wert"
@@ -2583,12 +2583,12 @@ msgstr "Ungültiger %%h-Wert"
 msgid "invalid %%L value"
 msgstr "Ungültiger %%L-Wert"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "Ungültiger %%m-Wert"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "Ungültiger %%M-Wert"
@@ -2599,7 +2599,7 @@ msgid "invalid %%U value"
 msgstr "Ungültiger %%U-Wert"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "Ungültiger %%s-Wert"
@@ -2609,7 +2609,7 @@ msgstr "Ungültiger %%s-Wert"
 msgid "invalid %%C value"
 msgstr "Ungültiger %%C-Wert"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "Ungültiger %%E-Wert"
@@ -2620,38 +2620,38 @@ msgid "unknown relocation unspec"
 msgstr "Unbekanntes relocation unspec"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "Ungültiger %%xn-Code"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "angegebene Thumb-Anweisung"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "angegebene Anweisung in bedingter Sequenz"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "Operand für Code »%c« nicht unterstützt"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "ungültiger Schiebeoperand"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2659,79 +2659,79 @@ msgstr "ungültiger Schiebeoperand"
 msgid "invalid operand for code '%c'"
 msgstr "ungültiger Operand für Code »%c«"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "Anweisung wird niemals ausgeführt"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "fehlender Operand"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "Funktionsparameter können nicht Typ __fp16 haben"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "Funktionen können nicht Typ __fp16 zurückgeben"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, 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:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "Operanden für %T/%t müssen reg + const_int sein:"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr "falsche Adresse, keine E/A-Adresse:"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 msgid "bad address, not a constant:"
 msgstr "falsche Adresse, keine Konstante:"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "Falsche Adresse, nicht (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "Falsche Adresse, nicht post_inc oder pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "Interner Compiler-Fehler. Falsche Adresse:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "Interner Compiler-Fehler. Unbekannter Modus:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "Ungültiger Befehl:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "Falscher Befehl:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "Falscher Kopierbefehl:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "Falscher Schiebe-Befehl:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "Interner Compiler-Fehler. Falsche Verschiebung:"
 
@@ -2747,7 +2747,7 @@ msgstr "ungültiger const_double-Operand"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2977,72 +2977,72 @@ msgstr "Falscher Operand für output_move_double"
 msgid "bad output_condmove_single operand"
 msgstr "Falscher Operand für output_condmove_single"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "ungültiges UNSPEC als Operand"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "»%%&« ohne lokale dynamische TLS-Referenzen verwendet"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "ungültige Operandengröße für Operandencode »%c«"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "ungültiger Operandentyp mit Operandencode »%c« verwendet"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "Operand ist kein Bedingungscode, ungültiger Operandencode »D«"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, 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:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "Operand ist weder eine Konstante noch ein Bedingungscode, ungültiger Operandencode »F«"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "Operand ist weder eine Konstante noch ein Bedingungscode, ungültiger Operandencode »f«"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "Operand ist keine ausgleichbare Speicherreferenz, ungültiger Operandencode »H«"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "Operand ist kein Bedingungscode, ungültiger Operandencode »Y«"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "ungültiger Operandencode »%c«"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "ungültige Bedingungen für Operand"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "unbekannter Befehlsmodus"
 
@@ -3093,13 +3093,13 @@ msgstr "ungültige Umwandlung in %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "ungültige Operation auf %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "ungültiger %%P-Operand"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "ungültiger %%p-Wert"
@@ -3178,7 +3178,7 @@ msgid "post-increment address is not a register"
 msgstr "Post-Increment-Adresse ist kein Register"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "Falsche Adresse"
 
@@ -3313,115 +3313,115 @@ msgstr "Stapelspeicher aufgebraucht.\n"
 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:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx benötigt Hardware-Gleitkomma"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx und -mpaired sind unverträglich"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "-mvsx mit Little-Endian-Code verwendet"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr "-mvsx benötigt indizierte Adressierung"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx und -mno-altivec sind unverträglich"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec schaltet vsx aus"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "ungültige Bewegung"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "Ungültiger %%c-Wert"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "ungültiger %%f-Wert"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "ungültiger %%F-Wert"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "ungültiger %%G-Wert"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "ungültiger %%j-Code"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "ungültiger %%J-Code"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "ungültiger %%k-Wert"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "ungültiger %%K-Wert"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "ungültiger %%O-Wert"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "ungültiger %%q-Wert"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "ungültiger %%S-Wert"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "ungültiger %%T-Wert"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "ungültiger %%u-Wert"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "ungültiger %%v-Wert"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "ungültiger %%x-Wert"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "ungültiger %%y-Wert, bitte »Z«-Bedingung probieren"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "AltiVec-Argument an Funktion ohne Prototyp übergeben"
 
@@ -3510,25 +3510,25 @@ msgstr "ungültiger Ausdruck für Ausgabemodifizierer »%c«"
 msgid "invalid operand for code: '%c'"
 msgstr "ungültiger Operand für Code: »%c«"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "ungültiger Operand für %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "ungültiger Operand für %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "erzeugt und mit anderen Architekturen / ABIs verwendet"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "erzeugt und mit anderen ABIs verwendet"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "erzeugt und mit anderer Bytereihenfolge verwendet"
 
@@ -3547,13 +3547,13 @@ msgstr "ungültiger %%A-Operand"
 msgid "invalid %%B operand"
 msgstr "ungültiger %%B-Operand"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "ungültiger %%C-Operand"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "ungültiger %%D-Operand"
@@ -3598,57 +3598,57 @@ msgstr "»o«-Operand ist nicht konstant"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: unbekannter Code"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "ungültiger %%c-Operand"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "ungültiger %%d-Operand"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, c-format
 msgid "invalid %%H specifier"
 msgstr "ungültiger %%H-Spezifizierer"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, c-format
 msgid "invalid %%h operand"
 msgstr "ungültiger %%h-Operand"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, c-format
 msgid "invalid %%I operand"
 msgstr "ungültiger %%I-Operand"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, c-format
 msgid "invalid %%i operand"
 msgstr "ungültiger %%i-Operand"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, c-format
 msgid "invalid %%j operand"
 msgstr "ungültiger %%j-Operand"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, c-format
 msgid "invalid %%%c operand"
 msgstr "ungültiger %%%c-Operand"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, c-format
 msgid "invalid %%N operand"
 msgstr "ungültiger %%N-Operand"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "ungültiger Operand für Spezifizierer »r«"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr "Operand kann noch nicht ausgegeben werden; Code == %d (%c)"
@@ -3962,7 +3962,7 @@ msgstr "%s:%d:   in constexpr-Ersetzung von %qs"
 msgid "candidates are:"
 msgstr "Kandidaten sind:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4330,11 +4330,11 @@ msgstr "Block-IF"
 msgid "implied END DO"
 msgstr "impliziertes END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "Zuweisung"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "Zeigerzuweisung"
 
@@ -4342,123 +4342,123 @@ msgstr "Zeigerzuweisung"
 msgid "simple IF"
 msgstr "einfaches IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr "Modulprozedur"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr "interne Funktion"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "Elementares Unterprogramm"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Ungültiger Kontext für NULL()-Zeiger bei %%L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, 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:3830
+#: fortran/resolve.c:3832
 #, 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:3845
+#: fortran/resolve.c:3847
 #, 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:3864
+#: fortran/resolve.c:3866
 #, 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:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Operand des Operators .not. bei %%L ist %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "COMPLEX-Größen können nicht bei %L verglichen werden"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, 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:3927
+#: fortran/resolve.c:3929
 #, 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:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Unbekannter Operator »%s« bei %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "Operand des Benutzeroperators »%s« bei %%L ist %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, 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:4029
+#: fortran/resolve.c:4031
 #, 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:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr "Schleifenvariable"
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr "Iteratorvariable"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr "Anfangs-Ausdruck in DO-Schleife"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr "End-Ausdruck in DO-Schleife"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr "Schrittausdruck in DO-Schleife"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE Objekt"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr "ALLOCATE Objekt"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr "STAT-Variable"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr "ERRMSG-Variable"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr "Element in READ"
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr "Variable ACQUIRED_LOCK"
 
@@ -4467,7 +4467,7 @@ msgstr "Variable ACQUIRED_LOCK"
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "Unterschiedliche CHARACTER-Längen (%ld/%ld) in Feldkonstruktor"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr "Ganzzahlüberlauf bei der Berechnung des zu reservierenden Speichers"
 
@@ -4790,6 +4790,18 @@ msgstr "mthreads und mlegacy-threads können nicht zusammen verwendet werden"
 msgid "cannot use mshared and static together"
 msgstr "mshared und static können nicht zusammen verwendet werden"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4879,26 +4891,10 @@ msgstr "GNU Objective C unterstützt keine traditionelle Übersetzung mehr"
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr "objc-cpp-output ist veraltet; bitte stattdessen objective-c-cpp-output verwenden"
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "Die Option -shared wird derzeit nicht für VAX ELF unterstützt"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran unterstützt nicht -E ohne -cpp"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a unterstützt nicht Little-Endian"
@@ -4911,6 +4907,10 @@ msgstr " in Konflikt stehende Codeerzeugungsschalter verwendet"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr "objc++-cpp-output ist veraltet; bitte stattdessen objective-c++-cpp-output verwenden"
 
+#: config/vax/netbsd-elf.h:51
+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/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "Profiling wird mit -mg nicht unterstützt"
@@ -7603,8 +7603,8 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Renesas(vormals Hitachi)/SuperH-Aufrufkonventionen folgen"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr "IEEE-Befolgung für Gleitkommacode erhöhen"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "IEEE-Befolgung für Gleitkommavergleiche erhöhen"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -11801,224 +11801,220 @@ msgstr "Shared Library erzeugen"
 msgid "Create a position independent executable"
 msgstr "Eine lageunabhängige ausführbare Datei erzeugen"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr "ungültige Typ-Verwendung"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr "Konstante verweist auf sich selbst"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "numerischer Typ erwartet"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr "boolescher Typ erwartet"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "Ganzzahlausdruck oder boolscher Typ erwartet"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 msgid "invalid operand for unary %<&%>"
 msgstr "ungültiger Operand für unäres %<&%>"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "Zeiger erwartet"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr "inkompatible Typen in binärem Ausdruck"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr "Schiebeoperation eines Nicht-Ganzzahloperanden"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr "Schiebeweite ist keine vorzeichenlose Ganzzahl"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr "negative Schiebeweite"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "Objekt ist keine Methode"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr "Methodentyp passt nicht zum Objekttyp"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr "ungültige Verwendung von %<...%> mit eingebauter Funktion"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "Nicht genug Argumente"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "zu viele Argumente"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 msgid "argument 1 must be a map"
 msgstr "Argument 1 muss eine Abbildung sein"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 msgid "invalid type for make function"
 msgstr "ungültiger Typ für »make«-Funktion"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr "Bei Reservierung einer Scheibe wird Länge benötigt"
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr "falsche Größe für make"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr "Falsche Größe bei Scheiben-Erzeugung"
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 msgid "too many arguments to make"
 msgstr "zu viele Argumente für make"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr "Argument muss Feld oder Scheibe oder Kanal sein"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr "Argument muss Zeichenkette oder Feld oder Scheibe oder Abbildung oder Kanal sein"
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 msgid "unsupported argument type to builtin function"
 msgstr "nicht unterstützter Argumenttyp für eingebaute Funktion"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr "Argument muss ein Kanal sein"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr "Nur-Empfangs-Kanal kann nicht geschlossen werden"
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 msgid "argument must be a field reference"
 msgstr "Argument muss eine Feldreferenz sein"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr "linkes Argument muss eine Scheibe sein"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr "Elementtypen müssen dieselben sein"
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 msgid "first argument must be []byte"
 msgstr "erstes Argument muss []byte sein"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr "zweites Argument muss eine Scheibe oder Zeichenkette sein"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 msgid "argument 2 has invalid type"
 msgstr "Argument 2 hat ungültigen Typen"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr "Argument muss komplexen Typen haben"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr "komplexe Argumente müssen identische Typen haben"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr "komplexe Argumente müssen Gleitkommatyp haben"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 msgid "invalid use of %<...%> with non-slice"
 msgstr "ungültige Verwendung von %<...%> mit Nicht-Slice"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "Funktion erwartet"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr "inkompatible Typen für Empfänger"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "ungültige Verwendung von %<this%> bei Aufruf einer nicht-variadischen Funktion"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr "Anzahl der Ergebnisse passt nicht zur Anzahl der Werte"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "Index muss eine Ganzzahl sein"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr "Scheibenende muss eine Ganzzahl sein"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr "Scheibe ohne adressierbaren Wert"
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr "inkompatible Typen für Abbildungsindex"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr "Schnittstelle oder Zeiger auf Schnittstelle erwartet"
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr "zu viele Ausdrücke für Struktur"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr "zu wenig Ausdrücke für Struktur"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr "ungültige »unsafe.Pointer«-Umwandlung"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr "Typbehauptung nur gültig für Schnittstellentypen"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr "unmögliche Typenbehauptung: Typ implementiert nicht Schnittstelle"
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr "Kanal erwartet"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr "ungültiges Empfangen auf Nur-Sende-Kanal"
 
@@ -12054,19 +12050,23 @@ msgstr "zu viele Werte in Rückgabeanweisung"
 msgid "expected boolean expression"
 msgstr "boolscher Ausdruck erwartet"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr "Typ-Switch mit Nicht-Interface-Wert ist nicht möglich"
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr "inkompatible Typen in »send«"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr "ungültiges »send« auf Nur-Empfangs-Kanal"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr "zu viele Variablen in Bereichsklausel mit Kanal"
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr "Bereichsklausel muss Feld, Scheibe, Zeichenkette, Abbildung oder Kanaltyp haben"
 
@@ -12351,7 +12351,7 @@ msgstr "nicht-ganzzahliges Argument 1 für __atomic_is_lock_free"
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%Kungültige Verwendung von %<__builtin_va_arg_pack ()%>"
@@ -12445,13 +12445,13 @@ msgstr "%KVersuch, Nicht-Heap-Objekt freizugeben"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void-Wert nicht ignoriert wie es sein sollte"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "Konvertierung zu Nicht-Skalar-Typ verlangt"
@@ -12826,7 +12826,7 @@ msgstr "switch springt in Anweisungs-Ausdruck"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE als falsche Symbolart definiert"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "Ungültige Verwendung von %<restrict%>"
@@ -12954,7 +12954,7 @@ msgstr "Objekt variabler Größe darf nicht initialisiert werden"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "Variable %qD hat Initialisierung, aber unvollständigen Typ"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "inline-Funktion %q+D wurde das Attribut »noinline« gegeben"
@@ -12964,7 +12964,7 @@ msgstr "inline-Funktion %q+D wurde das Attribut »noinline« gegeben"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "nicht initialisiertes konstantes Element %qT ist in C++ ungültig"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%qD sollte initialisiert werden"
@@ -13862,7 +13862,7 @@ msgstr "Argument %qD passt nicht zu eingebautem Prototypen"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "Argument %qD passt nicht zum Prototypen"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "keine return-Anweisung in nicht void zurückgebender Funktion"
@@ -14065,7 +14065,7 @@ msgstr "ISO-C erlaubt kein zusätzliches %<;%> außerhalb einer Funktion"
 msgid "unknown type name %qE"
 msgstr "unbekannter Typname: %qE"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "Deklarationsspezifizierer erwartet"
@@ -14075,7 +14075,7 @@ msgstr "Deklarationsspezifizierer erwartet"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "%<;%>, Bezeichner oder %<(%> erwartet"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "Präfixattribute werden für Methoden ignoriert"
@@ -14123,7 +14123,7 @@ msgstr "ISO-C99 unterstützt nicht %<_Static_assert%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO-C90 unterstützt nicht %<_Static_assert%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "Zeichenkettenliteral erwartet"
@@ -14155,8 +14155,8 @@ msgstr "statische Behauptung gescheitert: %E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "Bezeichner erwartet"
@@ -14490,77 +14490,77 @@ msgstr "Methodendeklaration in Objective-C erwartet"
 msgid "no type or storage class may be specified here,"
 msgstr "hier darf kein Typ oder Speicherklasse angegeben werden,"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "unbekanntes Eigenschaftsattribut"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "fehlendes %<=%> (hinter Attribut %<getter%>)"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "fehlendes %<=%> (hinter Attribut %<setter%>)"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "das %<setter%>-Attribut darf nur einmal angegeben werden"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr "Setter-Name muss mit %<:%> beendet werden"
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "das %<getter%>-Attribut darf nur einmal angegeben werden"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, 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:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, 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:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> darf nur in Verbundanweisungen verwendet werden"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskyield%> darf nur in Verbundanweisungen verwendet werden"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, 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"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> muss zuerst kommen"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "zu viele %qs-Klauseln"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "Collapse-Argument erfordert positiven konstanten Ganzzahlausdruck"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "%<none%> oder %<shared%> erwartet"
@@ -14575,42 +14575,42 @@ msgstr "Ganzzahlausdruck erwartet"
 msgid "%<num_threads%> value must be positive"
 msgstr "Wert von %<num_threads%> muss positiv sein"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> oder %<max%> erwartet"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "Ablauf %<runtime%> akzeptiert keinen Parameter %<chunk_size%>"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "Ablauf %<auto%> akzeptiert keinen Parameter %<chunk_size%>"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "ungültige Ablaufart"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "Klausel %<#pragma omp%> erwartet"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs ist für %qs ungültig"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "ungültige Form von %<#pragma omp atomic%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "ungültiger Operator für %<#pragma omp atomic%>"
@@ -14620,7 +14620,7 @@ msgstr "ungültiger Operator für %<#pragma omp atomic%>"
 msgid "expected %<(%> or end of line"
 msgstr "%<(%> oder Zeilenende erwartet"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "für Anweisung erwartet"
@@ -14635,12 +14635,12 @@ msgstr "Schleifendeklaration oder Initialisierung erwartet"
 msgid "not enough perfectly nested loops"
 msgstr "nicht genügend perfekt geschachtelte Schleifen"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "zusammengelegte Schleifen sind nicht perfekt geschachtelt"
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "Schleifenvariable %qD sollte nicht »firstprivate« sein"
@@ -14665,27 +14665,27 @@ msgstr "automatische Variable %qE kann nicht %<threadprivate%> sein"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%> %qE hat unvollständigen Typen"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr "%<__transaction_cancel%> ohne eingeschaltete Unterstützung für transaktionsbasierten Speicher"
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr "%<__transaction_cancel%> innerhalb eines %<__transaction_relaxed%>"
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr "äußeres %<__transaction_cancel%> nicht innerhalb des äußeren %<__transaction_atomic%>"
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr "  oder einer %<transaction_may_cancel_outer%>-Funktion"
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr "%<__transaction_cancel%> nicht innerhalb von %<__transaction_atomic%>"
@@ -15463,7 +15463,7 @@ msgstr "Feld mit geklammerter Zeichenkettenkonstante initialisiert"
 msgid "initialization of a flexible array member"
 msgstr "Initialisierung eines flexiblen Feld-Elements"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-Feld mit wide-Zeichenkette initialisiert"
@@ -15669,223 +15669,223 @@ msgstr "%<return%> mit Wert in void zurückgebender Funktion"
 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:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "Funktion liefert Adresse einer lokalen Variablen zurück"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch-Größe ist keine Ganzzahl"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "»case«-Marke ist kein konstanter Ganzzahlausdruck"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case-Marke nicht innerhalb einer switch-Anweisung"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%>-Marke nicht innerhalb einer switch-Anweisung"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "es wird empfohlen, explizite geschweifte Klammern zu setzen, um mehrdeutiges %<else%> zu vermeiden"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break-Anweisung nicht innerhalb einer Schleife oder »switch«"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue-Anweisung nicht innerhalb einer Schleife"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "break-Anweisung mit OpenMP für Schleife verwendet"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "Anweisung ohne Effekt"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "Ausdrucksanweisung hat unvollständigen Typ"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr "Umwandlung von Skalar in Vektor führt zum Abschneiden"
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "Rechts-Schiebe-Weite ist negativ"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "Rechts-Schiebe-Weite >= Breite des Typs"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "Links-Schiebe-Weite ist negativ"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "Links-Schiebe-Weite >= Breite des Typs"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr "Vergleich von Vektoren mit verschiedenen Element-Typen"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr "Vergleich von Vektoren mit unterschiedlicher Elementanzahl"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "Vergleich von Gleitkomma mit == oder != ist unsicher"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr "Vergleich wird stets als %<false%> ausgewertet da die Adresse von %qD nie NULL wird"
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr "Vergleich wird stets als %<true%> ausgewertet da die Adresse von %qD nie NULL wird"
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "Vergleich von Zeigern auf disjunkte Adressräume"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "in Vergleich verschiedener Zeigertypen fehlt Typkonvertierung"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "Vergleich zwischen Zeiger und Ganzzahl"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "Vergleich von vollständigen und unvollständigen Zeigern"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "geordneter Vergleich von Zeiger mit Null-Zeiger"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "geordneter Vergleich von Zeiger mit Ganzzahlnull"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "implizite Umwandlung von %qT in %qT zur Anpassung an anderen Operanden des Binärausdrucks"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, 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:10582
+#: c-typeck.c:10588
 #, 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:10586
+#: c-typeck.c:10592
 #, 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:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr "Vektortyp verwendet, wo Skalars benötigt wird"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE hat ungültigen Typ für %<reduction%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE hat ungültigen Typ für %<reduction(%s)%>"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE muss für %<copyin%> %<threadprivate%> sein"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE ist in Klausel %qs keine Variable"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE tritt in dieser Datenklausel mehrfach auf"
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE ist in Klausel %<firstprivate%> keine Variable"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE ist in Klausel %<lastprivate%> keine Variable"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE ist vorbestimmt %qs für %qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr "C++ erfordert weitergegebenen Typ, nicht Enum-Typ, in %<va_arg%>"
@@ -16905,7 +16905,7 @@ msgstr "Herrscher über %d sollte %d sein, nicht %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr "Mehrere EH-Persönlichkeiten werden nur mit Assemblern unterstützt, die die Direktive .cfi_personality unterstützen"
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr "Nicht-Delegitimiertes UNSPEC %s (%d) am Variablenort gefunden"
@@ -17025,12 +17025,12 @@ msgstr "wenn ein »volatile«-Objekt über mehrere Bereiche mit Typgröße geht,
 msgid "local frame unavailable (naked function?)"
 msgstr "lokaler Rahmen nicht verfügbar (nackte Funktion?)"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%KAufruf von %qs mit Attributfehler deklariert: %s"
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%KAufruf von %qs mit Attributwarnung deklariert: %s"
@@ -17115,27 +17115,27 @@ msgstr "Faltungstest: ursprünglicher Baum durch Faltung geändert"
 msgid "total size of local objects too large"
 msgstr "Gesamtgröße der lokalen Objekte zu hoch"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "unmögliche Bedingung in »asm«"
 
-#: function.c:3959
+#: function.c:3974
 #, 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:3980
+#: function.c:3995
 #, 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "Funktion gibt Aggregat zurück"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "unbenutzter Parameter %q+D"
@@ -17564,62 +17564,62 @@ msgstr "GIMPLE-Prüfung: %s(%s) erwartet, haben %s(%s) in %s, bei %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "Ergebnis einer %<void%> zurückgebenden Funktion verwendet"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "ungültiger L-Wert in asm-Ausgabe %d"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "Eingabe von Nicht-Speicher %d muss im Speicher bleiben"
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "Speichereingabe %d ist nicht direkt adressierbar"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "threadprivate Variable %qE in unverknüpfter Task verwendet"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr "umgebende Task"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr "%qE in umgebender Parallele nicht angegeben"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr "umgebende Parallele"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "Schleifenvariable %qE sollte »private« sein"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "Schleifenvariable %qE sollte nicht »firstprivate« sein"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "Schleifenvariable %qE sollte nicht Reduktion sein"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "%s Variable %qE ist im äußeren Kontext »private«"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "Gimplifikation gescheitert"
@@ -17823,48 +17823,48 @@ msgstr "Variable %qD als Funktion redeklariert"
 msgid "function %qD redeclared as variable"
 msgstr "Funktion %qD als Variable redeklariert"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "Sperrregion darf nicht in arbeitsteilender, kritischer, geordneter, Master- oder »explicit task«-Region eng geschachtelt sein"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "arbeitsteilende Region darf nicht in arbeitsteilender, kritischer, geordneter, Master- oder »explicit task«-Region eng geschachtelt sein"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "Master-Region darf nicht innerhalb arbeitsteilender oder »explicit task«-Region eng geschachtelt sein"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "geordnete Region darf nicht innerhalb kritischer oder »explicit task«-Region eng geschachtelt sein"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, 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:1905
+#: omp-low.c:1914
 #, 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:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "ungültiger Ausgang von strukturiertem OpenMP-Block"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "ungültiger Eintritt in strukturierten OpenMP-Block"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "ungültiger Zweig zu/von strukturiertem OpenMP-Block"
@@ -17960,12 +17960,12 @@ msgstr "transaktionsbasierter Speicher wird von Nicht-Aufruf-Ausnahmen nicht unt
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr "Abschnittsanker müssen ausgeschaltet sein, wenn Toplevel-Neuordnung ausgeschaltet ist"
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition funktioniert auf dieser Architektur nicht mit Ausnahmen"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition unterstützt auf dieser Architektur nicht Unwind-Info"
@@ -18335,8 +18335,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "%qs kann nicht als ein festes Register verwendet werden"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "unbekannter Registername: %s"
@@ -18641,7 +18641,7 @@ msgstr "gepacktes Attribut führt zu ineffizienter Ausrichtung"
 msgid "packed attribute is unnecessary"
 msgstr "gepacktes Attribut ist unnötig"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "Ausrichtung der Feldelemente ist größer als Elementgröße"
@@ -18661,12 +18661,12 @@ msgstr "geschachtelte Funktionen werden auf diesem Ziel nicht unterstützt"
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections wird für dieses Ziel nicht unterstützt"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "Ziel-Attribut wird auf dieser Maschine nicht unterstützt"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma GCC target wird für diese Maschine nicht unterstützt"
@@ -18856,7 +18856,7 @@ msgstr "ungültige volatile-Verwendung von %qD innerhalb von Transaktion"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr "Funktionsaufruf von %<transaction_may_cancel_outer%> nicht innerhalb von äußerer Transaktion oder %<transaction_may_cancel_outer%>"
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr "unsicherer Funktionsaufruf %qD innerhalb von atomarer Transaktion"
@@ -18871,7 +18871,7 @@ msgstr "unsicherer Funktionsaufruf %qE innerhalb von atomarer Transaktion"
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "unsicherer indirekter Funktionsaufruf innerhalb von atomarer Transaktion"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr "unsicherer Funktionsaufruf %qD innerhalb von %<transaction_safe%>-Funktion"
@@ -18886,7 +18886,7 @@ msgstr "unsicherer Funktionsaufruf %qE innerhalb von %<transaction_safe%>-Funkti
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr "unsicherer indirekter Funktionsaufruf innerhalb von %<transaction_safe%>-Funktion"
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "in atomarer Transaktion ist kein asm erlaubt"
@@ -18921,7 +18921,7 @@ msgstr "äußere Transaktion in %<transaction_may_cancel_outer%>-Funktion"
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr "äußere Transaktion in %<transaction_safe%>-Funktion"
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "%Kasm in %<transaction_safe%>-Funktion ist nicht erlaubt"
@@ -19541,117 +19541,117 @@ msgstr "Abzugsdatei %qs konnte nicht geöffnet werden: %m"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "unbekannte Option %q.*s in %<-fdump-%s%> wird ignoriert"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr "BB %i hat mehrere EH-Kanten"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr "BB %i kann nicht werfen, hat aber eine EH-Kante"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "BB %i: letzte Anweisung hat falsch gesetztes LP"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr "dem BB %i fehlt eine EH-Kante"
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "falsche EH-Kante %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr "dem BB %i fehlt eine Kante"
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr "BB %i hat zu viele »fallthru«-Kanten"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr "BB %i hat falsche Kante"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr "BB %i hat falsche »fallthru«-Kante"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "Funktion %q+F kann nie kopiert werden, da sie ein nichtlokales »goto« empfängt"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "Funktion %q+F kann nie kopiert werden, da sie die Adresse einer lokalen Marke in statischer Variablen speichert"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, 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:3122
+#: tree-inline.c:3123
 #, 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:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, 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:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, 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:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, 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:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "»inline« beim Aufruf von always_inline %q+F gescheitert: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "von hier aufgerufen"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "»inline« beim Aufruf von %q+F gescheitert: %s"
@@ -19687,7 +19687,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA-Beschädigung"
@@ -19927,72 +19927,72 @@ msgstr "Vektoroperation wird mit einzelner skalarer Operation ausgeweitet"
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr "Vektorumverteilungsoperation wird stückweise ausgeweitet"
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "Feldindex ist außerhalb der Feldgrenzen"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "Feldindex ist oberhalb der Feldgrenzen"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "Feldindex ist unterhalb der Feldgrenzen"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, 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:6034
+#: tree-vrp.c:6006
 #, 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-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »unwahr«"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »wahr«"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "Annahme, dass vorzeichenbehafteter Überlauf nicht auftritt, wenn %</%> oder %<%%%> auf %<>>%> oder %<&%> vereinfacht wird"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "Annahme, dass vorzeichenbehafteter Überlauf nicht auftritt, wenn %<abs (X)%> auf %<X%> oder %<-X%> vereinfacht wird"
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "auf %qT nach einer Definition angewandte Attribute werden ignoriert"
 
-#: tree.c:5460
+#: tree.c:5475
 #, 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:5472
+#: tree.c:5487
 #, 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:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%qD ohne Attribut »dllimport« redeklariert: vorheriges »dllimport« ignoriert"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20006,141 +20006,141 @@ msgstr "%qD ohne Attribut »dllimport« redeklariert: vorheriges »dllimport« i
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "Attribut %qE wird ignoriert"
 
-#: tree.c:5570
+#: tree.c:5585
 #, 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:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "Funktionsdefinition von %q+D ist als »dllimport« markiert"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "Variablendefinition von %q+D ist als dllimport markiert"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "für Symbol %q+D wird wegen des Attributes %qE externe Bindung benötigt"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qE impliziert Standardsichtbarkeit, aber %qD wurde bereits mit anderer Sichtbarkeit deklariert"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "Felder von Funktionen sind sinnlos"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "Rückgabetyp der Funktion kann keine Funktion sein"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-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:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-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:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qD ist veraltet (deklariert bei %s:%d): %s"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qD ist veraltet (deklariert bei %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qE ist veraltet (deklariert bei %s:%d): %s"
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qE ist veraltet (deklariert bei %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "Typ ist veraltet (deklariert bei %s:%d): %s"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "Typ ist veraltet (deklariert bei %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%qE ist veraltet: %s"
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%qE ist veraltet"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "Typ ist veraltet: %s"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "Typ ist veraltet"
@@ -20356,12 +20356,12 @@ msgstr "Bereichsfehler im Vektor %s %s, in %s bei %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "kein »sclass« für %s Stab (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr "Bytecode-Strom: Marke %s statt %s erwartet"
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr "Bytecode-Strom: Marke %s ist nicht im erwarteten Wertebereich [%s, %s]"
@@ -20376,8 +20376,8 @@ msgstr "%qD ist außerhalb des Funktionsgültigkeitsbereiches nicht definiert"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "Zeichenkettenlänge %qd ist größer als die Länge %qd, die von ISO-C%d-Compilern unterstützt werden muss"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "Überlauf in Konstanten-Ausdruck"
@@ -20999,40 +20999,40 @@ msgstr "Attribut %qE ignoriert für %qE"
 msgid "invalid vector type for attribute %qE"
 msgstr "Ungültiger Vektortyp für Attribut %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "Vektorgröße kein ganzzahliges Vielfaches der Komponentengröße"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "Vektorgröße Null"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "Komponentenanzahl des Vektors ist keine Zweierpotenz"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "Nicht-Null-Attribut ohne Argumente für einen Nicht-Prototyp"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "Nicht-Null-Argument hat ungültige Operandenzahl (Argument %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "Nicht-Null-Argument mit Operandenzahl außerhalb des Wertebereiches (Argument %lu, Operand %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "Nicht-Null-Argument referenziert Nicht-Zeiger-Operanden (Argument %lu, Operand %lu)"
@@ -21072,12 +21072,12 @@ msgstr "Attribut %qE benötigt Prototypen mit benannten Argumenten"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "Attribut %qE gilt nur für variadische Funktionen"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "Angeforderte Position ist keine Ganzzahlkonstante"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "Angeforderte Position ist kleiner als Null"
@@ -22828,229 +22828,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "Falscher Wert %qs für -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "Falscher eingebauter fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "Schalter -mcpu=%s steht mit dem Schalter -march=%s in Konflikt"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "Ziel-CPU unterstützt nicht ARM-Modus"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "Ziel-CPU unterstützt keine Zusammenarbeit"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "Ziel-CPU unterstützt keine THUMB-Befehle"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "Das Aktivieren der Ablaufverfolgung ist nur bei der Übersetzung für THUMB sinnvoll"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "Das Aktivieren der Unterstützung der Aufgerufenen-Zusammenarbeit ist nur bei der Übersetzung für THUMB sinnvoll"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check inkompatibel mit -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic und -mapcs-reent sind inkompatibel"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "wieder einsprungsfähiger APCS Code nicht unterstützt. Ignoriert."
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g mit -mno-apcs-frame könnte vernünftige Fehlersuche verhindern"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "Die Übergabe von Gleitkommaargumenten in FP-Registern wird noch nicht unterstützt"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr "%<mwords-little-endian%> ist veraltet und wird in einer zukünftigen Version entfernt"
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt erfordert ein AAPCS-komptibles ABI für den richtigen Einsatz"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt ABI erfordert eine iwmmxt-fähige CPU"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr "FPA wird im AAPCS nicht unterstützt"
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS unterstützt nicht -mcaller-super-interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS unterstützt nicht -mcallee-super-interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt und Hardware-Gleitkomma"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 ohne ldrh"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard und VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15 kann nicht mit 16-Bit-Thumb verwendet werden"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "Grenze für Strukturgröße kann nur auf 8, 32 oder 64 gesetzt werden"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "Grenze für Strukturgröße kann nur auf 8 oder 32 gesetzt werden"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC ist mit Thumb unverträglich"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC ist mit -msingle-pic-base unverträglich"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= ist ohne -fpic nutzlos"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "»%s« kann nicht für PIC-Register verwendet werden"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "Ziel-CPU unterstützt nicht unausgerichteten Zugriffe"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition wird auf dieser Architektur nicht unterstützt"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr "von nicht-AAPCS abgeleitete PCS-Variante"
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr "variadische Funktionen müssen die AAPCS-Basisvariante verwenden"
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "PCS-Variante"
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr "Thumb-1 Hardware-Gleitkomma VFP ABI"
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "Attribut %qE bezieht sich nur auf Funktionen"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "Wirkliche Stelle des gestapelten Parameters kann nicht berechnet werden"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "Argument muss eine Konstante sein"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "Wähler muss »immediate« sein"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "Maske muss »immediate« sein"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "keine unteren Register für das Hervorholen der hohen Register verfügbar"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "Interrupt-Dienst-Routinen können nicht im »Thumb«-Modus codiert werden"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "Zerstörung von %<va_list%> hat sich in GCC 4.4 geändert"
@@ -23090,87 +23090,87 @@ msgstr "Funktion %qs kann keinen Wert zurückgeben"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs scheint ein falsch geschriebener Handler für %s zu sein"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr "»builtin_return_address« enthält nur 2 Adressbytes"
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr "Zeigeroffset von Symbol könnte falsch sein"
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr "Zugriff auf Datenspeicher mit Programmspeicheradresse"
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr "Zugriff auf Programmspeicher mit Datenspeicheradresse"
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "festes Register %s zur Parameterübergabe an Funktion verwendet"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "Schreibzugriff auf Adressraum %qs wird nicht unterstützt"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr "%qT verwendet Adressraum %qs hinter Flash von %qs"
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr "%s %q+D verwendet Adressraum %qs hinter Flash von %qs"
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "Zeiger auf Adressraum %qs muss in %qT konstant sein"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "Zeiger auf Adressraum %qs muss in %s %q+D konstant sein"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr "Variable %q+D im Adressraum %qs hinter Flash von %qs"
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr "Variable %q+D muss konstant sein, um mit %qs in Nur-Lese-Abschnitt gelegt zu werden"
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "nicht initialisierte Variable %q+D in Programmspeicherbereich platziert"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs nur für Assemblierung unterstützt"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "%s erwartet eine Ganzzahlkonstante zur Compile-Zeit"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "%s erwartet eine Long-Ganzzahlkonstante als erstes Argument zur Compile-Zeit"
@@ -23510,411 +23510,411 @@ msgstr "PCH-Datei kann nicht erweitert werden: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "Position in PCH-Datei kann nicht gesetzt werden: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "Falscher Wert (%s) für %stune=%s %s"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "%stune=x86-64%s ist veraltet; stattdessen entsprechend %stune=k8%s oder %stune=generic%s verwenden"
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr "-mstringop-strategy=rep_8byte wird für 32-Bit-Code nicht unterstützt"
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "Codemodell %qs wird im x32-Modus nicht unterstützt"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "Codemodell %s unterstützt keinen PIC-Modus"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "-masm=intel wird in dieser Konfiguration nicht unterstützt"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i-Bit-Modus nicht einkompiliert"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "generische CPU kann nur für %stune=%s %s verwendet werden"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "falscher Wert (%s) für %sarch=%s %s"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "-mregparm wird im 64-Bit-Modus ignoriert"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d ist nicht zwischen 0 und %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s wird im 64-Bit-Modus ignoriert"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-mpreferred-stack-boundary wird für dieses Ziel nicht unterstützt"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d ist nicht zwischen %d und %d"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d ist nicht zwischen %d und 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "%ssseregparm%s ohne aktiviertes SSE verwendet"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE-Befehlssatz ausgeschaltet, es wird 387-Arithmetik verwendet"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387-Befehlssatz ausgeschaltet, es wird SSE-Arithmetik verwendet"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "Abwicklungstabellen erfordern derzeit entweder einen Rahmenzeiger oder %saccumulate-outgoing-args%s für Korrektheit"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "Stack-Überprüfung erfordert %saccumulate-outgoing-args%s für Korrektheit"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr "-mfentry wird für 32 Bit in Kombination mit -fpic nicht unterstützt"
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mno-fentry ist nicht mit SEH verträglich"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "unbekannte Option für -mrecip=%s"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "attribute(target(\"%s\")) ist unbekannt"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "option(\"%s\") wurde bereits spezifiziert"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "Attribute fastcall und regparm sind nicht verträglich"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "Attribute regparam und thiscall sind nicht verträglich"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "Attribut %qE benötigt eine Ganzzahlkonstante als Argument"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "Argument für Attribut %qE ist größer als %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "Attribute fastcall und cdecl sind nicht verträglich"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "Attribute fastcall und stdcall sind nicht verträglich"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "Attribute fastcall und thiscall sind nicht verträglich"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "Attribute stdcall und cdecl sind nicht verträglich"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "Attribute stdcall und fastcall sind nicht verträglich"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "Attribute stdcall und thiscall sind nicht verträglich"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "Attribute cdecl und thiscall sind nicht verträglich"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "Attribut %qE wird für für Nicht-Klassen-Methode verwendet"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, 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:5232
+#: config/i386/i386.c:5239
 #, 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:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "ms_hook_prologue ist mit geschachtelter Funktion nicht verträglich"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr "Attribut ms_abi erfordert -maccumulate-outgoing-args oder darauf hinauslaufende Unter-Ziel-Optimierung"
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "AVX-Vektorargument ohne eingeschaltetes AVX ändert das ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "Das ABI der Struct-Übergabe mit einem flexiblen Feldelement hat sich in GCC 4.4 geändert"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "Das ABI der Union-Übergabe mit »long double« hat sich in GCC 4.4 geändert"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "Das ABI der Strukturübergabe mit komplexem Gleitkommaelement hat sich in GCC 4.4 geändert"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "SSE-Registerrückgabe mit SSE ausgeschaltet"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "SSE-Registerargument mit SSE ausgeschaltet"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "x87-Registerrückgabe mit ausgeschaltetem x87"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, 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:6721
+#: config/i386/i386.c:6728
 #, 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:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "Das ABI der Parameterübergabe mit %d-Byte-Ausrichtung hat sich in GCC 4.6 geändert"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, 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:7442
+#: config/i386/i386.c:7449
 #, 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:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr "Attribut ms_hook_prologue ist mit -mfentry für 32 Bit nicht verträglich"
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "-fsplit-stack unterstützt nicht fastcall mit geschachtelter Funktion"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "-fsplit-stack unterstützt nicht 2 Registerparameter für eine geschachtelte Funktion"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "-fsplit-stack unterstützt nicht 3 Registerparameter"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "erweiterte Register haben keine oberen Hälften"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "nicht unterstützte Operandengröße für erweitertes Register"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "Nicht-Ganzzahl-Operand mit Operandencode »%c« verwendet"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "Das letzte Argument muss ein 2-Bit-Immediate sein"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "fünftes Argument muss ein 8-Bit-Immediate sein"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "drittes Argument muss ein 8-Bit-Immediate sein"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "Das letzte Argument muss ein 1-Bit-Immediate sein"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "Das letzte Argument muss ein 4-Bit-Immediate sein"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "Das letzte Argument muss ein 1-Bit-Immediate sein"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "Das letzte Argument muss ein 5-Bit-Immediate sein"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "Das vorletzte Argument muss ein 8-Bit-Immediate sein"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "Das letzte Argument muss ein 8-Bit-Immediate sein"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "Das letzte Argument muss ein 32-Bit-Immediate sein"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, 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:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE erfordert unbekannte ISA-Option"
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE erfordert ISA-Option %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "das letzte Argument muss ein Immediate sein"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "letztes Argument muss Skalierung 1, 2, 4, 8 sein"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "Attribut %qE nur für 32 Bit verfügbar"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "Argument des Attributes %qE ist weder Null noch Eins"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "Attribute ms_abi und sysv_abi sind nicht verträglich"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "%qE-inkompatibles Attribut wird ignoriert"
@@ -23984,13 +23984,13 @@ msgstr "Adressbereichsattribut kann nicht für Funktionen angegeben werden"
 msgid "%qE attribute requires a string constant argument"
 msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24062,7 +24062,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "Attribut %qE wird für Ziel R8C nicht unterstützt"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "Attributargument %qE ist keine Ganzzahlkonstante"
@@ -24117,7 +24117,7 @@ msgstr "mehrere Interruptattribute sind nicht erlaubt"
 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:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "Ausdruck der Stapelgrenze wird nicht unterstützt"
@@ -24460,62 +24460,62 @@ msgstr "eingebaute Funktion %qE nicht für MIPS16 unterstützt"
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs unterstützt keinen MIPS16-Code"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC für ABIs außer o32 und o64"
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr "MIPS16 -mxgot Code"
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr "Hardware-Gleitkommacode für MIPS16 für ABIs außer o32 und o64"
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, 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:15828
+#: config/mips/mips.c:15834
 #, 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:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%> mit einem 32-Bit-Prozessor verwendet"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> mit einem 64-Bit-ABI verwendet"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%> mit einem 32-Bit-ABI verwendet"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "nicht unterstützte Kombination: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, 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:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "%qs ist mit %qs unverträglich"
@@ -24525,57 +24525,57 @@ msgstr "%qs ist mit %qs unverträglich"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "die Kombination von %qs und %qs ist mit %qs unverträglich"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, 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:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> erfordert %<-mexplicit-relocs%>"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr "Kleindatenzugriffe für %qs nicht möglich"
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> erfordert %<-mpaired-single%>"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs muss mit %qs verwendet werden"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "die Architektur %qs unterstützt keine paarweisen Einzel-Befehle"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs erfordert ein Ziel, das den %qs-Befehl unterstützt"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs erfordert sprungwahrscheinliche Befehle"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "die Architektur %qs unterstützt nicht den synci-Befehl"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "Profiling für mips16-Funktionen"
@@ -24856,307 +24856,307 @@ msgstr "Übergabe des Arguments %d von %qE entfernt Kennzeichner von Zeiger-Ziel
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "ungültige Parameterkombination für intrinsisches AltiVec"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-mrecip erfordert -ffinite-math oder -ffast-math"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip erfordert -fno-trapping-math oder -ffast-math"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip erfordert -freciprocal-math oder -ffast-math"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 erfordert PowerPC64-Architektur voraus, eingeschaltet"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr "nicht für SPE-ABI konfiguriert"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "AltiVec wird für dieses Ziel nicht unterstützt"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "SPE wird für dieses Ziel nicht unterstützt"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, 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:2746
+#: config/rs6000/rs6000.c:2745
 #, 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:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr "unbekannte ABI-Typ (%s) für Vektorisierungsbibliothek bei Schalter -mveclibabi="
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr "Ziel-Attribut oder Pragma ändert Größe von long double"
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr "Ziel-Attribut oder Pragma ändert AltiVec ABI"
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr "Ziel-Attribut oder Pragma ändert darwin64 ABI"
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr "Ziel-Attribut oder Pragma ändert SPE ABI"
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr "Ziel-Attribut oder Pragma ändert Gleitkomma mit einfacher Genauigkeit"
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr "Ziel-Attribut oder Pragma ändert Gleitkomma mit doppelter Genauigkeit"
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, 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:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, 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:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "interner Fehler: Eingebaute Funktion %s bereits verarbeitet"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "Argument 3 muss ein vorzeichenloses 2-Bit-Symbol sein"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "Argument 3 muss ein vorzeichenloses 1-Bit-Symbol sein"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, 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:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "ungelöste Überladung des eingebauten Altivec %qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, 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:11119
+#: config/rs6000/rs6000.c:11118
 #, 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "Eingebaute Funktion %s ist nur für den Cell-Prozessor gültig"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "Eingebaute Funktion %s erfordert die Option -mvsx"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "Eingebaute Funktion %s erfordert die Option -maltivec"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "Eingebaute Funktion %s erfordert die Option -mpaired"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "Eingebaute Funktion %s erfordert die Option -mspe"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "Eingebaute Funktion %s wird mit den aktuellen Optionen nicht unterstützt"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "interner Fehler: eingebaute Funktion %s hatte keinen Typ"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "interner Fehler: eingebaute Funktion %s hatte unerwarteten Rückgabetyp %s"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr "interner Fehler: Eingebaute Funktion %s, Argument %d hatte unerwarteten Argumenttypen %s"
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "Stapelrahmen zu groß"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr "Bei Verwendung der Option -mno-pointers-to-nested-functions kann nicht die Adresse einer geschachtelten Funktion verwendet werden."
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, 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:24119
+#: config/rs6000/rs6000.c:24142
 #, 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:24121
+#: config/rs6000/rs6000.c:24144
 #, 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:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "Verwendung dezimaler Gleitkommatypen in AltiVec-Typen ist ungültig"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "Verwendung von %<long%> in AltiVec-Typen ist für 64-Bit-Code ohne -mvsx ungültig"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, 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:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "Verwendung von %<long long%> in AltiVec-Typen ist ohne -mvsx ungültig"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "Verwendung von %<double%> in AltiVec-Typen ist ohne -mvsx ungültig"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "Ausgabe der Mikrocode-Anweisung %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "Ausgabe der bedingten Mikrocode-Anweisung %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "ungültige CPU »%s« für %s\"%s\"%s"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%s\"%s\"%s ist nicht erlaubt"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "%s\"%s\"%s ist ungültig"
@@ -25389,63 +25389,63 @@ msgstr "Rahmengröße von %qs ist %wd Bytes"
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs verwendet dynamische Stackanforderung"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "-fschedule-insns wird wegen Ausnahmebehandlungsfehler ignoriert"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, 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/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, 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:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "Attribut %qE bezieht sich nur auf Interruptfunktionen"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "Attribut %qE wird nur auf SH2A unterstützt"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "Attribut interrupt_handler ist mit -m5-compact unverträglich"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "Attribut %qE gilt nur für SH2A"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "Argument des Attributs %qE sollte zwischen 0 und 255 sein"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "Argument des Attributs %qE ist keine Zeichenkettenkonstante"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, 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:11639
+#: config/sh/sh.c:11642
 #, 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:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr "aufrufzerstörtes Zielregister erforderlich"
@@ -25567,12 +25567,12 @@ msgstr "Attribut %<__BELOW100__%> bezieht sich nur auf Variablen"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "Attribut __BELOW100__ nicht mit Speicherklasse »auto« erlaubt"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "Falscher eingebauter ICode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "Operand muss »immediate« mit korrekter Größe sein"
@@ -25787,38 +25787,38 @@ msgstr "%<-gnat%> falsch buchstabiert als %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr "-fexcess-precision=standard für Ada"
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "Attribut %qs wird ignoriert"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "Attribut %qs benötigt Prototypen mit benannten Argumenten"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "Attribut %qs gilt nur für variadische Funktionen"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "Attribut %qE hat keinen Effekt"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "ungültiger Vektortyp für Attribut %qs"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "Attribut %qs bezieht sich nur auf Feldtypen"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "ungültiger Elementtyp für Attribut %qs"
@@ -26255,7 +26255,7 @@ msgstr "Elementfunktion %qD kann nicht ohne Objekt aufgerufen werden"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "Übergabe von %qT wählt %qT statt %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  in Aufruf von %qD"
@@ -26315,425 +26315,425 @@ msgstr "ungültige Initialisierung einer nicht-konstanten Referenz des Typs %qT
 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"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 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:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java-Klasse %qT kann keinen Destruktor haben"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, 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:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D kann nicht überladen werden"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "mit %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, 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:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "Zugriffsangaben für Feld %qE stehen in Konflikt, ignoriert"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D ungültig in %q#T"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, 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:1247
+#: cp/class.c:1248
 #, 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:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "Es kann nicht von %<final%>-Basis %qT in abgeleiteten Typ %qT abgeleitet werden"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, 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:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "alle Elementfunktionen in Klasse %qT sind privat"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, 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:1764
+#: cp/class.c:1765
 #, 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:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "%qD wurde nicht eindeutig und endgültig in %qT überschrieben"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+#D als »final« markiert, ist aber nicht »virtual«"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr "%q+#D als override markiert, überschreibt aber nicht"
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D war versteckt"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  von %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, 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:2642
+#: cp/class.c:2643
 #, 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "privates Element %q+#D in anonymer Union"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "privates Element %q+#D in anonymer struct"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "geschütztes Element %q+#D in anonymer Union"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "geschütztes Element %q+#D in anonymer struct"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "Bit-Feld %q+#D mit Nicht-Ganzzahl-Typ"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, 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:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "negative Breite in Bitfeld %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "Breite Null für Bitfeld %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "Breite von %q+D übersteigt seinen Typen"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, 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:2982
+#: cp/class.c:2999
 #, 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:2985
+#: cp/class.c:3002
 #, 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:2987
+#: cp/class.c:3004
 #, 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "uneingeschränkte »Unions« nur mit -std=c++11 oder -std=gnu++11 verfügbar"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "in Union %qT werden mehrere Felder initialisiert"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, 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:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "Feld %q+D deklarierte ungültigerweise einen Funktionstypen"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "Feld %q+D deklarierte ungültigerweise einen Methodentypen"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, 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:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "Feld %q+#D mit gleichem Namen wie Klasse"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T hat Zeigertypen als Elemente"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  aber überschreibt nicht %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  oder %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  aber überschreibt nicht %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, 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:3999
+#: cp/class.c:4016
 #, 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:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr "Methode überschreibt Methoden %<transaction_pure%> und %qE"
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr "als %qE deklarierte Methode überschreibt Methode %qE"
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "umschließende Klasse der nicht-statischen Elementfunktion %q+#D als konstanter Ausdruck ist kein Literaltyp"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%q+T ist kein Literal, denn: "
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "  %q+T hat einen nicht-trivialen Destruktor"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr " %q+T ist kein Aggregat, hat keinen trivialen Standardkonstruktor und hat keinen Konstruktor mit konstantem Ausdruck, der kein Kopier- oder Bewegungskonstruktor ist"
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "  Basisklasse %qT von %q+T ist kein Literal"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "  nicht-statisches Datenelement %q+D hat nicht-literalen Typ"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, 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:5076
+#: cp/class.c:5094
 #, 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"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr "%q+D mit Eingabe einer konstanten Referenz deklariert, aber implizite Deklaration würde nicht-Konstante annehmen"
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr "mit Eingabe einer nicht konstanten Referenz deklariertes %q+D kann im Klassenkörper nicht vorbelegt werden"
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, 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:5442
+#: cp/class.c:5460
 #, 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:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "Redefinition von %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, 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:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "typtransparente Klasse %qT hat keine Felder"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr "typtransparente Klasse %qT hat Basisklassen"
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "typtransparente Klasse %qT hat virtuelle Funktionen"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "Sprachen-Zeichenkette %<\"%E\"%> nicht erkannt"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, 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:6972
+#: cp/class.c:7024
 #, 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:6995
+#: cp/class.c:7047
 #, 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:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "Zeiger auf Element %qD wird angenommen"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, 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:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "zu wenig Typinformationen"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "%qE kann nicht vom Typ %qT in den Typ %qT umgewandelt werden"
@@ -26743,12 +26743,12 @@ msgstr "%qE kann nicht vom Typ %qT in den Typ %qT umgewandelt werden"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "Deklaration von %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "verändert die Bedeutung von %qD von %q+#D"
@@ -26768,7 +26768,7 @@ msgstr "unvollständiger Typ %qT kann nicht nach %qT umgewandelt werden"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "Umwandlung von %qE von %qT nach %qT ist mehrdeutig"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "Null als Null-Zeigerkonstante"
@@ -27671,7 +27671,7 @@ msgstr "%qD als Referenz deklariert, aber nicht initialisiert"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "Name in benannter Initialisierung im GNU-Stil für ein Feld verwendet"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "nicht-trivial markierte Initialisierungen nicht unterstützt"
@@ -27764,8 +27764,8 @@ msgstr "%qT hat kein nicht-statisches Datenelement namens %qD"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr "C99-Bezeichner %qE außerhalb von Aggregatinitialisierung"
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "zu viele Initialisierer für %qT"
@@ -28295,7 +28295,7 @@ msgstr "%q#T ist keine Klasse oder Namensbereich"
 msgid "type %qT is not derived from type %qT"
 msgstr "Typ %qT ist nicht vom Typ %qT abgeleitet"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "Deklaration von %qD als Nicht-Funktion"
@@ -28605,374 +28605,369 @@ msgstr "Referenz auf %q#T kann nicht deklariert werden, da letzteres weder Typed
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr "%<const%> und %<constexpr%> können hier nicht zusammen verwendet werden"
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr " %<volatile%> und %<constexpr%> können hier nicht zusammen verwendet werden"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "Template-ID %qD als Deklarator verwendet"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "Elementfunktionen sind implizite »friends« ihrer Klasse"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "zusätzliche Qualifizierung %<%T::%> an Element %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, 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:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "Elementfunktion %<%T::%s%> kann nicht in %<%T%> deklariert werden"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "Element %<%T::%s%> kann nicht in %qT deklariert werden"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "Nicht-Parameter %qs kann kein Parameterpack sein"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "Feldgröße von %qs ist zu groß"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, 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:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "nur Deklarationen von Konstruktoren können %<explicit%> sein"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "Nicht-Element %qs kann nicht als %<mutable%> deklariert sein"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, 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:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "Funktion %qs kann nicht als %<mutable%> deklariert sein"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "statisches %qs kann nicht als %<mutable%> deklariert sein"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "Konstante %qs kann nicht als %<mutable%> deklariert sein"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "Referenz %qs kann nicht als %<mutable%> deklariert sein"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "»typedef« als %<auto%> deklariert"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "typedef-Name darf kein Spezifizierer mit geschachteltem Namen sein"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, 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:9864
+#: cp/decl.c:9862
 #, 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:9866
+#: cp/decl.c:9864
 #, 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:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "Typkennzeichner für friend-Klassen-Deklaration angegeben"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "%<inline%> für friend-Klassen-Deklaration angegeben"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "Template-Parameter können keine »friends« sein"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, 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:9912
+#: cp/decl.c:9910
 #, 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:9925
+#: cp/decl.c:9923
 #, 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:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "ungültige Qualifizierer an Nicht-Element-Funktionstyp"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "abstrakter Deklarator %qT als Deklaration verwendet"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "%<::%> kann nicht in Parameterdeklaration verwendet werden"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "Parameter als %<auto%> deklariert"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "nicht-statisches Datenelement als %<auto%> deklariert"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "ungültige Verwendung von %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "Deklaration der Funktion %qD in ungültigem Kontext"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "Funktion %qD als virtuell innerhalb einer Union deklariert"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, 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:10106
+#: cp/decl.c:10104
 #, 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:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "Deklaration von %qD als Element %qT"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "Destruktor kann nicht %<constexpr%> sein"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, 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:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "Feld %qD hat unvollständigen Typen"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "Name %qT hat unvollständigen Typen"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  in Instanziierung des Templates %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE ist weder eine Funktion noch Elementfunktion; kann nicht als »friend« deklariert werden"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "statisches Datenelement %qD (constexpr) muss Initialisierung haben"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "nicht-statisches Datenelement %qE als %<constexpr%> deklariert"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "Speicherklasse %<auto%> ungültig für Funktion %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "Speicherklasse %<register%> ungültig für Funktion %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "Speicherklasse %<__thread%> ungültig für Funktion %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "virt-Spezifikation in %qs ist außerhalb einer Klassendefinition nicht erlaubt"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, 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:10324
+#: cp/decl.c:10322
 #, 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:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "virtuelle Nicht-Klassen-Funktion %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "%qs nicht in Klassen-Gültigkeitsbereich definiert"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "%qs in einem Nicht-Klassen-Gültigkeitsbereich definiert"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, 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:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "statische Funktion innerhalb anderer Funktion kann nicht deklariert werden"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, 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:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "statisches Element %qD als %<register%> deklariert"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, 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:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "Deklaration der constexpr-Variable %qD ist keine Definition"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs initialisiert und als %<extern%> deklariert"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs hat sowohl %<extern%> als auch Initialisierung"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "Standardargument für %q#D hat Typ %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, 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:10601
+#: cp/decl.c:10599
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "Standardargument %qE verwendet %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "Standardargument %qE verwendet lokale Variable %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "Parameter %qD hat Java-Klassentyp"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "Parameter %qD deklariert ungültigerweise Methodentyp"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "Parameter %qD bezieht Zeiger auf Feld mit unbekannter Grenze %qT ein"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "Parameter %qD bezieht Referenz auf Feld mit unbekannter Grenze %qT ein"
@@ -28992,168 +28987,168 @@ msgstr "Parameter %qD bezieht Referenz auf Feld mit unbekannter Grenze %qT ein"
 #. 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:10987
+#: cp/decl.c:10998
 #, 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:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD darf nicht innerhalb eines Namensbereiches definiert werden"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD darf nicht als »static« deklariert werden"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD muss eine nichtstatische Elementfunktion sein"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, 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:11171
+#: cp/decl.c:11182
 #, 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:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "Umwandlung in Referenz auf void wird nie einen Typumwandlungsoperator verwenden"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "Umwandlung in void wird nie einen Typumwandlungsoperator verwenden"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "Umwandlung in Referenz auf gleichen Typ wird nie einen Typumwandlungsoperator verwenden"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "Umwandlung in gleichen Typ wird nie einen Typumwandlungsoperator verwenden"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "Umwandlung in Referenz auf Basisklasse wird nie einen Typumwandlungsoperator verwenden"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "Umwandlung in Basisklasse wird nie einen Typumwandlungsoperator verwenden"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO-C++ verbietet Überladen des Operators ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "»%qD« darf keine variable Argumentanzahl haben"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "Suffix-%qD muss %<int%> als sein Argument nehmen"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, 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:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD muss entweder null oder ein Argument nehmen"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "»%D« muss entweder ein oder zwei Argumente nehmen"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "Präfix-%qD sollte %qT zurückgeben"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "Suffix-%qD sollte %qT zurückgeben"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD muss %<void%> nehmen"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD muss genau ein Argument nehmen"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD muss genau zwei Argumente nehmen"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "benutzerdefiniertes %qD wertet immer beide Argumente aus"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD sollte Wert zurückgeben"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD kann keine Standardargumente haben"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "Templatetyp-Parameter %qT wird nach %qs verwendet"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "Templatespezialisierung alias %qT hinter %qs wird verwendet"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "typedef-Name %qD wird nach %qs verwendet"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "%qD hat eine vorherige Deklaration hier"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT als %qs verwendet"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T hat eine vorherige Deklaration hier"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT als enum verwendet"
@@ -29165,88 +29160,88 @@ msgstr "%qT als enum verwendet"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "Template-Argument für %<%s %T%> benötigt"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "Referenz auf %qD ist mehrdeutig"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "Verwendung des enum %q#D ohne vorherige Deklaration"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "Redeklaration von %qT als Nicht-Template"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "vorherige Deklaration %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "abgeleitete Union %qT ist ungültig"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java-Klasse %qT kann nicht mehrere Basen haben"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java-Klasse %qT kann keine virtuellen Basen haben"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, 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:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "rekursiver Typ %qT nicht definiert"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "doppelter Basistyp %qT ungültig"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr "falsche Zuordnung zwischen innerhalb und außerhalb eines Gültigkeitsbereiches in enum %q#T"
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "vorherige Definition hier"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr "falsche Zuordnung des zugrunde liegenden Typs in enum %q#T"
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr "anderer zugrunde liegender Typ in enum %q#T"
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "zugrunde liegender Typ %<%T%> von %<%T%> muss ein eingebauter Typ sein"
@@ -29255,72 +29250,72 @@ msgstr "zugrunde liegender Typ %<%T%> von %<%T%> muss ein eingebauter Typ sein"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, 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:12407
+#: cp/decl.c:12424
 #, 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:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "erhöhter Aufzählungswert ist zu groß für %<unsigned long%>"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "Überlauf in Aufzählungswerten bei %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "Aufzählungswert %E ist zu groß für zugrunde liegenden Typ %<%T%>"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "Rückgabetyp %q#T ist unvollständig"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "Rückgabetyp hat Java-Klassentyp %q#T"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> sollte eine Referenz auf %<*this%> zurück geben"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "keine vorherige Deklaration für %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "ungültige Funktionsdeklaration"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "Parameter %qD leer definiert"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "Parameter %q+D gesetzt, aber nicht verwendet"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "ungültige Elementfunktionsdeklaration"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD ist bereits in Klasse %qT definiert"
@@ -29668,7 +29663,7 @@ msgstr "Ausnahmebehandlung ausgeschaltet, benutzen Sie -fexeptions zum Einschalt
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "wirft NULL, was ganzzahlig, aber kein Zeigertyp ist"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD sollte niemals überladen werden"
@@ -29927,152 +29922,152 @@ msgstr "Typ %qT ist keine direkte Basis von %qT"
 msgid "bad array initializer"
 msgstr "schlechte Feldinitialisierung"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT ist kein Klassentyp"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "unvollständiger Typ %qT hat kein Element %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "ungültiger Zeiger auf Bitfeld %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "ungültige Verwendung der nicht-statischen Elementfunktion %qD"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "ungültige Verwendung des nicht-statischen Datenelementes %qD"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr "nicht initialisiertes Referenzelement in %q#T verwendet %<new%> ohne new-Initialisierung"
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "nicht initialisiertes Referenzelement in %q#T"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "nicht initialisiertes konstantes Element in %q#T verwendet %<new%> ohne new-Initialisierung"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "nicht initialisiertes konstantes Element in %q#T"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "ungültiger Typ %<void%> für %<new%>"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "nicht initialisierte Konstante in %<new%> von %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "Aufruf von Java-Konstruktor mit %qs ist nicht definiert"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, 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:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "Kein passendes %qD in Klasse %qT gefunden"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "Abfrage des Elementes %qD ist mehrdeutig"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "Größe eines nicht konstanten Feldes in new, Länge der Initialisierungsliste kann nicht geprüft werden"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "geklammerte Initialisierung in Feld-»new«"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, 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:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "»new« kann nicht auf Referenztyp angewendet werden"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "»new« kann nicht auf Funktionstyp angewendet werden"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "Aufruf von Java-Konstruktor, wobei %<jclass%> nicht definiert ist"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "%<class$%> kann nicht in %qT gefunden werden"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "Initialisierung endet vorzeitig"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "mehrdimensionales Feld kann nicht initialisiert werden"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, 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:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr "Löschen des Objekts mit abstraktem Klassentyp %qT mit nicht-virtuellem Destruktor bewirkt undefiniertes Verhalten"
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr "Löschen des Objekts mit polymorphem Klassentyp %qT mit nicht-virtuellem Destruktor bewirkt möglicherweise undefiniertes Verhalten"
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "unbekannte Feldgröße in »delete«"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, 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"
@@ -30162,12 +30157,12 @@ msgstr "ausgelassener mittlerer Operand für Operator %<?:%> kann nicht verarbei
 msgid "string literal in function template signature"
 msgstr "Zeichenkettenliteral in Signatur des Funktionstemplate"
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr "-fabi-version=6 (oder =0) verhindert diesen Fehler mit einer Änderung in Vernichtung"
@@ -30177,12 +30172,12 @@ msgstr "-fabi-version=6 (oder =0) verhindert diesen Fehler mit einer Änderung i
 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:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, 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:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, 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"
@@ -30197,98 +30192,98 @@ msgstr "erzeugte Methode %qD zuerst hier erfordert "
 msgid "union member %q+D with non-trivial %qD"
 msgstr "Union-Element %q+D mit nichttrivialem %qD"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "Standardkonstruktor ruft nicht-konstanten Audruck %q+D auf"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "Initialisierung für %q+#D ist ungültig"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "nicht initialisiertes nicht statisches konstantes Element %q#D"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "nicht initialisiertes nicht statisches Referenzelement %q#D"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr "Standardisierter Standardkonstruktor initialisiert nicht %q+#D"
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr "Standardisierter Standardkonstruktor initialisiert kein nicht-statisches Datenelement"
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr "%qT hat virtuelle Basen, Standard-Zuweisungsoperator (move) kann nicht erzeugt werden"
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr "Lambda-Abschlusstyp hat gelöschten Standardkonstruktor"
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr "Lambda-Abschlusstyp hat gelöschten Kopier-Zuweisungsoperator"
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr "%q+#D ist implizit als gelöscht deklariert, da %qT einen Bewegungskonstruktor oder Bewegungs-Zuweisungsoperator deklariert"
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr "%q+#D wird implizit gelöscht, da die Standarddefinition ungültig wäre:"
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "Vorgabe-Deklaration %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "passt nicht zur erwarteten Signatur %qD"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr "Funktion %q+D wurde bei ihrer ersten Deklaration mit einer Ausnahmespezifikation standardisiert, die sich von der impliziten Deklaration %q#D unterscheidet"
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr "Explizit standardisierte Funktion %q+D kann nicht als konstanter Ausdruck deklariert werden, da die implizite Deklaration kein konstaner Ausdruck ist:"
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "ein Template kann nicht vorbelegt werden"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%qD kann nicht vorgegeben werden"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "vorgegebene Funktion %q+D mit Standardargument"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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"
@@ -30425,154 +30420,154 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D verdeckt Konstruktor für %q#T"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, 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:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "vorherige Deklaration %q+#D einer Nicht-Funktion"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, 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:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "namespace %qD in %<using%>-Deklaration nicht erlaubt"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD nicht deklariert"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD wurde in diesem Gültigkeitsbereich bereits deklariert"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> benennt Destruktor"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> benennt Konstruktor"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> benennt Konstruktor in %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, 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:3355
+#: cp/name-lookup.c:3360
 #, 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:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "explizite Qualifizierung in Deklaration von %qD"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD sollte innerhalb von %qD deklariert werden"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "Attribut %qD erfordert ein einzelnes NTBS-Argument"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, 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:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "Attribut-Anweisung %qD wird ignoriert"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, 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:3882
+#: cp/name-lookup.c:3887
 #, 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:3886
+#: cp/name-lookup.c:3891
 #, 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:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr "obere Grenze von %d Namensräumen für %qE durchsucht"
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] "empfohlene Alternative:"
 msgstr[1] "empfohlene Alternativen:"
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr "  %qE"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "Argumentabhängiges Nachschlagen findet %q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX Eintritt in pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX pop_everything () wird verlassen\n"
@@ -30702,7 +30697,7 @@ msgstr "ungültige Template-ID"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "Gleitkommaliteral kann nicht in einem Konstanten-Ausdruck auftreten"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, 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"
@@ -30930,7 +30925,7 @@ msgstr "typedef-Name %qD als Destruktor-Deklarator verwendet"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr "Literale Operator-Suffixe ohne vorangehendes %<_%> sind für zukünftige Standardisierungen reserviert"
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "unqualifiziertes ID erwartet"
@@ -31122,7 +31117,7 @@ msgstr "%<%T::%D%> benennt Konstruktor, nicht den Typ"
 msgid "compound-statement in constexpr function"
 msgstr "zusammengesetzte Anweisung in Funktion als konstantem Audruck"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "Auswahl-Anweisung erwartet"
@@ -31152,7 +31147,7 @@ msgstr "bereichsbasierter %<for%>-Ausdruck mit Typ %qT hat %<begin%>-Element, ab
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr "unvereinbare Anfang-/Ende-Typen in bereichsbasierter %<for%>-Anweisung: %qT und %qT"
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "Iterationsanweisung erwartet"
@@ -31168,12 +31163,12 @@ msgstr "bereichsbasierte %<for%>-Schleifen sind im C++98-Modus nicht erlaubt"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO-C++ verbietet berechnete Gotos"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "Sprunganweisung erwartet"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "zusätzliches %<;%>"
@@ -31210,7 +31205,7 @@ msgstr "decl-Spezifizierung in Bedingung ungültig"
 msgid "class definition may not be declared a friend"
 msgstr "Klassendefinition darf nicht als »friend« deklariert sein"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "Templates dürfen nicht %<virtual%> sein"
@@ -31286,12 +31281,12 @@ msgstr "Operator erwartet"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "Schlüsselwort %<export%> nicht implementiert, und wird ignoriert"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "Templateparameterpack %qD kann kein Standardargument haben"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "Templateparameterpack kann kein Standardargument haben"
@@ -31306,7 +31301,7 @@ msgstr "Template-Parameterpacks können keine Standardargumente haben"
 msgid "expected template-id"
 msgstr "Template-ID erwartet"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "%<%> erwartet"
@@ -31433,12 +31428,12 @@ msgstr "%<;%> oder %<{%> erwartet"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Aufzählungsliste kann nicht zu Template-Instantiierung hinzugefügt werden"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, 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"
@@ -31483,73 +31478,73 @@ msgstr "eine Template-ID darf nicht in »using«-Deklaration auftreten"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr "Zugriffsdeklarationen sind zugunsten von %<using%>-Deklarationen veraltet; Vorschlag: %<using%> hinzufügen"
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "Typen dürfen nicht in Alias-Templatedeklarationen definiert werden"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "eine Funktionsdefinition ist hier nicht erlaubt"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, 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:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr "Konstruktor, Destruktor oder Typumwandlung erwartet"
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr "Initialisierung erwartet"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "ungültiger Typ in Deklaration"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "Initialisierung für Funktion bereitgestellt"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "Attribute hinter geklammerter Initialisierung werden ignoriert"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "Feldgrenze ist keine Ganzzahlkonstante"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "Element des abhängigen Typedef %qT kann nicht definiert werden"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%E%> ist kein Typ"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "ungültige Benutzung des Konstruktors als Template"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, 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"
@@ -31558,247 +31553,247 @@ msgstr "%<%T::%D%> statt %<%T::%D%> verwenden, um den Konstruktor mit qualifizie
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "ungültiger Deklarator"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "Deklarator erwartet"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD ist ein Namensbereich"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "Zeiger auf Element der Nicht-Klasse %q#T kann nicht erzeugt werden"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "Ptr-Operator erwartet"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "doppelter CV-Qualifizierer"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "doppelter Virt-Spezifizierer"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "ungültige Verwendung von %<auto%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "in Template-Argumenten dürfen keine Typen definiert werden"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "Typspezifikation erwartet"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "%<,%> oder %<...%> erwartet"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "Typen dürfen nicht in Parametertypen definiert werden"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "Standardargumente sind nur für Funktionsparameter zugelassen"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "Parameterpack %qD kann kein Standardargument haben"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "Parameterpack kann kein Standardargument haben"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO-C++ erlaubt keine benannten Initialisierungen"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO-C++ erlaubt keine benannten Initialisierungen von C99"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr "Klassenname erwartet"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "%<;%> hinter Klassendefinition erwartet"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "%<;%> hinter Strukturdefinition erwartet"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "%<;%> hinter Uniondefinition erwartet"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "%<{%> oder %<:%> erwartet"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "für eine Klasse kann kein %<override%> angegeben werden"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr "globale Qualifizierung von Klassenname ist ungültig"
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "qualifizierter Name benennt keine Klasse"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "ungültiger Klassenname in Deklaration von %qD"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "zusätzliche Qualifizierung nicht erlaubt"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "einer expliziten Spezialisierung muss %<template <>%> vorausgehen"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "Funktions-Template %qD als Klassentemplate redeklariert"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr "Typnamen-Typ kann nicht aufgelöst werden"
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "vorherige Definition von %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr "Klassenschlüssel erwartet"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "in C++03 muss bei Deklaration eines »friend« ein Klassenschlüssel verwendet werden"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "reiner Spezifizierer bei Funktionsdefinition"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "%<;%> am Ende von Elementdeklaration erwartet"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr "ungültige reine Spezifikation (nur %<= 0%> ist erlaubt)"
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "eine geschweift geklammerte Initialisierung ist hier nicht erlaubt"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr "%<virtual%> mehr als einmal in Basisspezifikation angegeben"
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr "mehr als ein Zugriff in Basisspezifikation angegeben"
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "Schlüsselwort %<typename%> nicht außerhalb von Templates erlaubt"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "Typen dürfen nicht in einer Ausnahmespezifikation definiert werden"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr "dynamische Ausnahmespezifikationen sind in C++0x veraltet; stattdessen %<noexcept%> verwenden"
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "Typen dürfen nicht in Ausnahmedeklarationen definiert werden"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr "spezialisierendes Element %<%T::%E%> erfordert Syntax %<template<>%>"
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "ungültige Deklaration von  %<%T::%E%>"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "zu wenige Templateparameterlisten"
@@ -31807,317 +31802,317 @@ msgstr "zu wenige Templateparameterlisten"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "zu viele Templateparameterlisten"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "benannte Rückgabewerte werden nicht mehr unterstützt"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "ungültige Deklaration eines Elementtemplates in lokaler Klasse"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "Template mit C-Bindung"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "ungültige explizite Spezialisierung"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr "Literales Operatortemplate %qD hat ungültige Parameterliste. Template für Nicht-Typ Argumentpack <char...> erwartet"
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "Templatedeklaration von %<typedef%>"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "explizite Template-Spezialisierung kann keine Speicherklasse haben"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%<>>%> sollte innerhalb einer geschachtelten Templateargumentliste %<> >%> sein"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "falsches %<>>%>; %<>%> verwenden, um eine Templateargumentliste zu beenden"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "ungültige Verwendung von %qD in Spezifizierung der Bindung"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> vor %qD"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "%<new%> erwartet"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "%<delete%> erwartet"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "%<return%> erwartet"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "%<extern%> erwartet"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "%<static_assert%> erwartet"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "%<decltype%> erwartet"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "%<operator%> erwartet"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "%<class%> erwartet"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "%<template%> erwartet"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "%<namespace%> erwartet"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "%<using%> erwartet"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "%<asm%> erwartet"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "%<try%> erwartet"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "%<catch%> erwartet"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "%<throw%> erwartet"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "%<__label__%> erwartet"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "%<@try%> erwartet"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "%<@synchronized%> erwartet"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "%<@throw%> erwartet"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr "%<__transaction_atomic%> erwartet"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "%<__transaction_relaxed%> erwartet"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "%<::%> erwartet"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "%<...%> erwartet"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "%<*%> erwartet"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "%<~%> erwartet"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "%<:%> oder %<::%> erwartet"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "%<class%>, %<typename%> oder %<template%> erwartet"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "Markierung %qs bei Benennung von %q#T verwendet"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "%q#T wurde vorher hier deklariert"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD mit anderem Zugriff redeklariert"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, 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:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "Datei endet in Standardargument"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "unpassendes Objective-C++-Konstrukt %<@%D%>"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr "Objective-C++ Nachrichtenargument(e) erwartet"
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%> muss als Argument einen Typen angeben"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "Ungültiger Objective-C++-Selektorname"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "Objective-C++ Methodendeklaration erwartet"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "Methodenattribute müssen am Ende angegeben werden"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr "überflüssiges %qs zwischen Objective-C++ Methoden"
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "ungültiger Typ für Instanzvariable"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "Bezeichner nach %<@protocol%> erwartet"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr "Attribute dürfen nicht vor dem Objective-C++-Schlüsselwort %<@%D%> angegeben werden"
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "Präfix-Attribute vor %<@%D%> werden ignoriert"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr "ungültiger Typ für Eigenschaft"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "geklammerte Initialisierung ist in OpenMP-%<for%>-Schleife nicht erlaubt"
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "Schleifenvariable %qD sollte nicht Reduktion sein"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "zu wenig zusammengefallen für Schleifen"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr "%<__transaction_relaxed%> ohne eingeschaltete Unterstützung für transaktionsgebundenen Speicher"
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr "%<__transaction_atomic%> ohne eingeschaltete Unterstützung für transaktionsgebundenen Speicher"
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "Ausschuss am Ende von %<#pragma GCC pch_preprocess%>"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "Optimierungen zwischen Modulen noch nicht implementiert für C++"
@@ -32823,17 +32818,17 @@ msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftem
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth= verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr "Argumentpacklängen passen nicht bei Auflösung von %<%T%>"
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr "Argumentpacklängen passen nicht bei Auflösung von %<%E%>"
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "Instanziierung von %q+D als Typ %qT"
@@ -32851,257 +32846,257 @@ msgstr "Instanziierung von %q+D als Typ %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "Variable %qD hat Funktionstyp"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "ungültiger Parametertyp %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "in Deklaration %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "Funktion gibt ein Feld zurück"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "Funktion gibt eine Funktion"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "Referenz auf »void« wird gebildet"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "Zeiger auf Referenztyp %qT wird geformt"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "Referenz auf Referenztyp %qT wird geformt"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, 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:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "Zeiger auf Elementreferenztyp %qT wird erzeugt"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "Zeiger auf Element mit Typ »void« wird erzeugt"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "Feld von %qT wird erzeugt"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, 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:11714
+#: cp/pt.c:11740
 #, 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:11751
+#: cp/pt.c:11777
 #, 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:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "Verwendung von %qs in Template"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "qualifizierender Typ %qT passt nicht zum Destruktornamen ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, 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:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "%<typename %E%> sagen, wenn ein Typ gemeint ist"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "ungültiges Feld %qD wird verwendet"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "falsche Benutzung eines Packauflösungs-Ausdruckes"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "%<...%> verwenden, um Argumentpack aufzulösen"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr "%qD wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden"
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr "Deklarationen in abhängiger Basis %qT wurden bei unqualifizierter Suche nicht gefunden"
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr "stattdessen %<this->%D%> verwenden"
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "stattdessen %<%T::%D%> verwenden"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D hier deklariert, später in Übersetzungseinheit"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT ist keine Klasse oder Namensbereich"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD ist keine Klasse oder Namensbereich"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT ist/verwendet anonymen Typen"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "Templateargument für %qD verwendet lokalen Typ %qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT ist ein variabel modifizierter Typ"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "Ganzzahlausdruck %qE ist nicht konstant"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  Versuch, %qD zu instanziieren"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "mehrdeutige Klassentemplate-Instanziierung für %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "explizite Instanziierung des Nicht-Templates %q#D"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "kein passendes Template für %qD gefunden"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, 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:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "explizite Instanziierung von %q#D"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "doppelte explizite Instanziierung von %q#D"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO-C++ 1998 verbietet die Verwendung von %<extern%> bei expliziten Instanziierungen"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "Speicherklasse %qD auf Templateinstanziierung angewendet"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "explizite Instanziierung des Nicht-Klassen-Templates %qD"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, 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:18065
+#: cp/pt.c:18091
 #, 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:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "doppelte explizite Instanziierung von %q#T"
@@ -33113,32 +33108,32 @@ msgstr "doppelte explizite Instanziierung von %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, 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:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth= verwenden, um dies zu erhöhen) bei Instanziierung von %q+D, möglicherweise von Erzeugung der virtuellen Tabelle"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "ungültiger Nicht-Typ-Parameter für Template"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T ist kein gültiger Typ für einen Nicht-Typ-Parameter eines Templates"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "Ermittlung aus geschweift geklammerter Initialisierungsliste erfordert #include <initializer_list>"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "Variable %q#D mit %<auto%>-Typ in ihrer eigenen Initialisierung verwendet"
@@ -33146,12 +33141,12 @@ msgstr "Variable %q#D mit %<auto%>-Typ in ihrer eigenen Initialisierung verwende
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "%qT kann nicht aus %qE hergeleitet werden"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr "widersprüchliche Herleitung für %qT: %qT und dann %qT"
@@ -33388,7 +33383,7 @@ msgstr "ungültige Definition des qualifizierten Typen %qT"
 msgid "invalid base-class specification"
 msgstr "ungültige Spezifizierung der Basisklasse"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD ist nicht aufgefangen"
@@ -33561,263 +33556,263 @@ msgstr "ungültiger Rückgabetyp %qT der Funktion %q+D als konstantem Ausdruck"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T hat virtuelle Basisklassen"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr "Konstruktor mit konstantem Ausdruck hat keinen leeren Körper"
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr "%<constexpr%>-Konstruktor für Union %qT muss genau ein nicht-statisches Datenelement initialisieren"
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "nicht initialisiertes Element %qD in %<constexpr%>-Konstruktor"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "Körper der Funktion %qD mit konstantem Ausdruck ist keine Rückgabeanweisung"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D ist nicht als Funktion mit konstantem Audruck verwendbar, denn:"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "Ausdruck %qE bezeichnet keine Funktion mit konstantem Ausdruck"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "Aufruf der Funktion %qD, die kein konstanter Ausdruck ist"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "%qD in konstantem Ausdruck aufgerufen"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%qD vor seiner Definition verwendet"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr "Aufruf hat ringförmige Abhängigkeit"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "Auswertungstiefe des konstanten Ausdrucks überschreitet Höchstwert %d (-fconstexpr-depth= verwenden, um dies zu erhöhen)"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%q+E ist kein Konstantenausdruck"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "Feldindex ist außerhalb der Feldgrenzen"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE ist kein Konstantenausdruck"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "veränderliches %qD ist in konstantem Ausdruck nicht verwendbar"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "Zugriff auf Element %qD statt auf initialisiertes Element %qD in Konstantenausdruck"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "auf Wert von %qE wird über ein %qT GL-Wert in Konstantenausdruck zugegriffen"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "der Wert von %qD ist in konstantem Ausdruck nicht verwendbar"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "%qD in seiner eigenen Initialisierung verwendet"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#D ist nicht konstant"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%q#D ist volatile"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD wurde nicht mit konstantem Ausdruck initialisiert"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD wurde nicht als %<constexpr%> definiert"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "%qD hat keinen Ganzzahl- oder Aufzählungstyp"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "Verwendung des Wertes des konstruierten Objektes in konstantem Ausdruck"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "Zwischenergebnis des nicht-literalen Typs %qT in konstantem Ausdruck"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "Ausdruck %qE ist kein konstanter Ausdruck"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "unerwarteter Ausdruck %qE der Art %s"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr "%qT kann nicht der Typ eines vollständigen konstanten Ausdrucks sein, da es veränderliche Sub-Objekte hat"
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "Umwandlung des Zeigertyps %qT in arithmetischen Typ %qT in konstantem Ausdruck"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr "Ausdruck %qE hat Seiteneffekte"
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "Aufruf einer Elementfunktion des konstruierten Objektes in konstantem Ausdruck"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr "Adresse eines Objektes %qE mit thread-lokalem oder automatischem Speicher ist kein konstanter Ausdruck"
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr "Typeid-Ausdruck ist kein konstanter Ausdruck, da %qE polymorphen Typ hat"
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "Unterschied zweier Zeigerausdrücke ist kein konstanter Ausdruck"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "Zeigervergleichsausdruck ist kein konstanter Ausdruck"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "Division durch Null ist kein konstanter Ausdruck"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "nicht konstante Feldinitialisierung"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "unerwarteter AST der Art %s"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "%qE kann nicht per Referenz aufgefangen werden"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "%qD bereits in Lambda-Ausdruck erfasst"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> wurde für diese Lambda-Funktion nicht aufgefangen"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV-Qualifizierer können nicht auf %qT angewendet werden"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, 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:2834
+#: cp/tree.c:2846
 #, 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:2840
+#: cp/tree.c:2852
 #, 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:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "angefordertes init_priority ist keine Ganzzahlkonstante"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "angefordertes init_priority ist außerhalb des Wertebereiches"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "Attribut %qE wird auf dieser Plattform nicht unterstützt"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "Überprüfung von lang_*: in %s, bei %s:%d gescheitert"
@@ -34760,122 +34755,122 @@ msgstr "Konstruktorsyntax verwendet, aber kein Konstruktor für Typ %qT deklarie
 msgid "cannot initialize arrays using this syntax"
 msgstr "mit dieser Syntax können keine Felder initialisiert werden"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "verengende Umwandlung von %qE von %qT nach %qT in { }"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "verengende Umwandlung von %qE von %qT nach %qT in { } ist in C++11 ungültig"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-Feld mit Nicht-wide-Zeichenkette initialisiert"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "Ganzzahlfeld mit unverträglicher wide-Zeichenkette initialisiert"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "Initialisierungs-Zeichenkette für char-Feld ist zu lang"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "Aggregat des Typs %qT kann nicht mit zusammengesetztem Literal initialisiert werden"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "Feld muss mit Initialisierung mit umgebenden geschweiften Klammern initialisiert werden"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "Initialisierung für Element %qD fehlt"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "nicht initialisiertes konstantes Element %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "Element %qD mit nicht initialisierten konstanten Feldern"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "Element %qD ist nicht initialisierte Referenz"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "kein Feld %qD in initialisierter Union gefunden"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "Indexwert statt Feldname in Union-Initialisierung"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "ringförmige Zeigerdelegation erkannt"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "Basisoperand von %<->%> hat Nicht-Zeiger-Typ %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "Ergebnis von %<operator->()%> ergibt Nicht-Zeiger-Ergebnis"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "Basisoperand von %<->%> ist kein Zeiger"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE kannt nicht als Elementzeiger verwendet werden, da es vom Typ %qT ist"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "Elementzeiger %qE kann nicht auf %qE angewandt werden, da letzteres vom Nicht-Klassen-Typ %qT ist"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "funktionale Umwandlung in Feldtyp %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "ungültige Wert-Initialisierung von Referenztyp"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, 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:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "Aufruf einer Funktion, die unvollständigen Typen %q#T wirft"
@@ -34935,187 +34930,187 @@ msgstr "Ganzzahl außerhalb des symmetrischen Bereiches wegen Standard-Fortran-K
 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/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Feldindex erwartet bei %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Unerwartetes '*' in Coarray-Index bei %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Schrittweiten in Coarray-Index bei %C nicht erlaubt"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Feldindexsprung erwartet bei %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Ungültige Form der Feldreferenz bei %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "Feldreferenz bei %C kann nicht mehr als %d Dimensionen haben"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr "Coarray bei %C ausgeschaltet, -fcoarray= zum Einschalten verwenden"
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "Unerwarteter Coarray-Bezeichner bei %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr "Zu wenige Codimensionen bei %C, %d statt %d erwartet"
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr "Zu viele Codimensionen bei %C, %d statt %d erwartet"
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "Unerwartetes '*' für Codimension %d von %d bei %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "Ungültige Form der Coarray-Referenz bei %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr "Ungültige Codimension %d bei %C, nur %d Codimensionen existieren"
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 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:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr "Ausdruck bei %L muss in diesem Kontext eine Konstante sein"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "Erwarteter Ausdruck in Feldspezifikation bei %C"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Falsche Feldangabe für Feld mit implizit gebildeter Form bei %C"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-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:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr "Falsche Feldangabe für Feld mit durch Vermutung gebildeter Form bei %C"
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-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:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-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:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Andere Dimension in Felddeklaration bei %C erwartet"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "Feldspezifikation bei %C hat mehr als %d Dimensionen"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Fortran 2008: Feldspezifikation bei %C mit mehr als 7 Dimensionen"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2008: Coarray-Deklaration bei %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr "Obere Grenze der letzten Coarray-Dimension muss '*' bei %C sein"
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-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:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "Syntaxfehler in Feldkonstruktor bei %C"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003: Feldkonstruktoren im [...]-Stil bei %C"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Fortran 2003: Feldkonstruktor mit Typspezifikation bei %C"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "Typspezifikation bei %L kann keine Parameter mit aufgeschobenem Typ haben"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Leerer Feldkonstruktor bei %C ist nicht erlaubt"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "Element in Feldkonstruktor %s bei %L ist %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "Iteratorschritt bei %L kann nicht Null sein"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr "Die Anzahl der Elemente im Feldkonstruktor bei %L erfordert Erhöhung der erlaubten oberen Grenze %d. Siehe Option -fmax-array-constructor"
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr "Unterschiedliche CHARACTER-Längen (%d, %d) in Feldkonstruktor bei %L"
@@ -35150,7 +35145,7 @@ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss REAL oder COMPLEX s
 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:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine Konstante sein"
@@ -35260,7 +35255,7 @@ msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dime
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "Ungleiche Zeichenlängen (%ld, %ld) in %s bei %L"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-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"
@@ -35343,8 +35338,8 @@ msgstr "»%s« Argument des intrinsischen »%s« bei %L muss vom Typ REAL oder I
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003: intrinsisches »%s« mit KIND-Argument bei %L"
@@ -35489,7 +35484,7 @@ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss POINTER, ALLOCATABL
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "Fortran 2003: intrinsisches NULL mit reservierbarem MOLD bei %L"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "Argument »%s« des intrinsischen »%s« bei %L muss mindestens so viele Elemente haben wie es .TRUE.-Werte »%s« (%ld/%d) gibt"
@@ -35619,42 +35614,42 @@ msgstr "Die Anzahl der Feldelemente des SUB-Arguments für IMAGE_INDEX bei %L so
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr "DIM-Argument ohne ARRAY-Argument ist für intrinsisches THIS_IMAGE bei %L nicht erlaubt"
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-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:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-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"
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "Argument »%s« des intrinsischen »%s« bei %L muss den selben Rang wie »%s« haben oder skalar sein"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen gleiche Form haben."
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "Größe des Arguments »%s« des intrinsischen »%s« bei %L ist zu klein (%i/%i)"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Zu viele Argumente für %s bei %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-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"
@@ -35666,7 +35661,7 @@ msgstr "Polymorphe Objekte oder Komponenten mit vermuteter Größe, so wie bei %
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr "Höchste Erweiterungsstufe mit Typ »%s« bei %L erreicht"
@@ -35946,7 +35941,7 @@ msgstr "Nicht-PARAMETER-Symbol »%s« bei %L kann nicht implizite Form haben"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2008: Feld mit impliziter Form bei %L"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "Doppelte Feldspezifikation für Cray-Zeigerende bei %C"
@@ -35961,7 +35956,7 @@ msgstr "Der Typ von »%s« bei %C wurde nicht innerhalb der Schnittstelle deklar
 msgid "Extension: Old-style initialization at %C"
 msgstr "Erweiterung: Initialisierung im alten Stil bei %C"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "Initialisierung bei %C ist nicht für eine Zeigervariable"
@@ -35971,7 +35966,7 @@ msgstr "Initialisierung bei %C ist nicht für eine Zeigervariable"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "Zeigerinitialisierung bei %C benötigt »=>«, nicht »=«"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Initialisierungsausdruck bei %C erwartet"
@@ -36168,7 +36163,7 @@ msgstr "Fortran 2003: ASYNCHRONOUS-Attribut bei %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2008: CONTIGUOUS-Attribut bei %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr "PROTECTED bei %C nur in Spezifikationsabschnitts eines Moduls erlaubt"
@@ -36188,834 +36183,834 @@ msgstr "Fortran 2003: VALUE-Attribut bei %C"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003: VOLATILE-Attribut bei %C"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr "Mehrere Bezeichner mit einzelner Spezifikation NAME= bei %C angegeben"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-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:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-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:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-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:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-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:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-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:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-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:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-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:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-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:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-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:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "Syntaxfehler in Daten-Deklaration bei %C"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2008: IMPURE-Prozedur bei %C"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr "PURE und IMPURE dürfen bei %C nicht gleichzeitig stehen"
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-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:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Unerwartete Angaben in formaler Argumentliste bei %C"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "Doppeltes Symbol »%s« in formaler Argumentliste bei %C"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-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:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "Unerwartete Angaben hinter Funktionsdeklaration bei %C"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Fortran 2008: BIND(C)-Attribut bei %L kann nicht für eine interne Prozedur angegeben werden"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "Schnittstelle »%s« bei %C kann nicht allgemein sein"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "Schnittstelle »%s« bei %C kann keine Anweisungsfunktion sein"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-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:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-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:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-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:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-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:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "Prozedur »%s« bei %L hat bereits grundlegenden Typen %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Syntaxfehler in PROCEDURE-Anweisung bei %C"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "»::« nach Bindeattributen bei %C erwartet"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr "NOPASS oder explizite Schnittstelle bei %C erforderlich"
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003: Prozedurzeiger-Komponente bei %C"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "Syntaxfehler in Prozedurzeiger-Komponente bei %C"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr "PROCEDURE bei %C muss in einer allgemeinen Schnittstelle sein"
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003: PROCEDURE-Anweisung bei %C"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "Formale Argumentliste in Funktionsdefinition bei %C erwartet"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-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:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2008: Veraltete Funktion: ENTRY-Anweisung bei %C"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-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:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-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:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-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:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-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:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-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:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-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:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-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:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-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:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-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:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-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:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-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:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr "Erforderte Klammern vor BIND(C) bei %C fehlen"
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-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:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "Schließendes Anführungszeichen »\"« für Bindungsmarke bei %C fehlt"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "Schließendes Anführungszeichen »'« für Bindungsmarke bei %C fehlt"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "Schließende Klammer für Bindungsmarke bei %C fehlt"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-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:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-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:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-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:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "Unerwartete END-Anweisung bei %C"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Fortran 2008: END-Anweisung statt %s-Anweisung bei %L"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "%s-Anweisung bei %L erwartet"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "%s-Anweisung bei %C erwartet"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-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:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "Beendenden Namen bei %C erwartet"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "Marke »%s« für %s-Anweisung bei %C erwartet"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Fehlende Feldspezifikation bei %L in DIMENSION-Anweisung"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-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:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Feldspezifikation bei %L in CODIMENSION-Anweisung fehlt"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "Feldspezifikation muss bei %L aufgeschoben werden"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Unerwartetes Zeichen in Variablenliste bei %C"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "»(« bei %C erwartet"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "Variablennamen bei %C erwartet"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "Cray-Zeiger bei %C muss eine Ganzzahl sein"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-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:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "»,« bei %C erwartet"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "»)« bei %C erwartet"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "»,« oder Ende der Anweisung bei %C erwartet"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr "INTENT ist in BLOCK bei %C nicht erlaubt"
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr "OPTIONAL ist in BLOCK bei %C nicht erlaubt"
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-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:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2008: CONTIGUOUS-Anweisung bei %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-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:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-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:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003: PROTECTED-Anweisung bei %C"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Syntaxfehler in PROTECTED-Anweisung bei %C"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-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:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "Variablennamen bei %C in PARAMETER-Anweisung erwartet"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Zeichen »=« in PARAMETER-Anweisung bei %C erwartet"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "Ausdruck bei %C in PARAMETER-Anweisung erwartet"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Initialisierung einer bereits initialisierten Variablen bei %C"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Unerwartete Zeichen in PARAMETER-Anweisung bei %C"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr "Umfassende SAVE-Anweisung bei %C folgt vorheriger SAVE-Anweisung"
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "SAVE-Anweisung bei %C folgt umfassender SAVE-Anweisung"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Syntaxfehler in SAVE-Anweisung bei %C"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr "VALUE ist in BLOCK bei %C nicht erlaubt"
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003: VALUE-Anweisung bei %C"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Syntaxfehler in VALUE-Anweisung bei %C"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003: VOLATILE-Anweisung bei %C"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr "VOLATILE für Coarray-Variable »%s« bei »%C« angegeben, die use-/host-assoziiert ist"
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Syntaxfehler in VOLATILE-Anweisung bei %C"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: ASYNCHRONOUS-Anweisung bei %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Syntaxfehler in ASYNCHRONOUS-Anweisung bei %C"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-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:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2008: »::« in MODULE PROCEDURE-Anweisung bei %L"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "Intrinsische Prozedur bei %L kann keine MODULE PROCEDURE sein"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "Mehrdeutiges Symbol in TYPE-Definition bei %C"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr "Kein solches Symbol in TYPE-Definition bei %C"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr "»%s« in EXTENDS-Ausdruck bei %C ist kein abgeleiteter Typ"
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr "»%s« kann bei %C nicht erweitert werden, da es BIND(C) ist"
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "»%s« kann bei %C nicht erweitert werden, da es ein SEQUENCE-Typ ist"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-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:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-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:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003: ABSTRACT-Typ bei %C"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "»::« in TYPE-Definition bei %C erwartet"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-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:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-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:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-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:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003: ENUM AND ENUMERATOR bei %C"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "Zähler übersteigt den C-Ganzzahltyp bei %C"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "ENUMERATOR %L nicht mit Ganzzahlausdruck initialisiert"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "Anweisung zur ENUM-Definition vor %C erwartet"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "Syntaxfehler in ENUMERATOR-Definition bei %C"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "Doppelte Zugriffsspezifikation bei %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr "Bindeattribute legen bereits Durchleitung fest, unzulässiges NOPASS bei %C"
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr "Bindeattribute legen bereits Durchleitung fest, unzulässiges PASS bei %C"
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "Doppeltes POINTER-Attribut bei %C"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "Doppeltes NON_OVERRIDABLE bei %C"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr "Doppeltes DEFERRED bei %C"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "Zugriffsspezifikation bei %C erwartet"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "Bindeattribut bei %C erwartet"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr "NON_OVERRIDABLE und DEFERRED können nicht gleichzeitig bei %C auftreten"
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr "POINTER-Attribut ist für Prozedurzeiger-Komponente bei %C erforderlich"
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr "Schnittstellenname nach »(« bei %C erforderlich"
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "»)« bei %C erwartet"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "Schnittstelle muss für DEFERRED-Bindung bei %C angegeben werden"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr "PROCEDURE(Schnittstelle) bei %C sollte als DEFERRED deklariert sein"
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "Bindungsname bei %C erwartet"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2008: PROCEDURE-Liste bei %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr "»=> target« ist ungültig für DEFERRED-Bindung bei %C"
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr "»::« in PROCEDURE-Bindung mit explizitem Ziel bei %C erforderlich"
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "Bindungsziel hinter »=>« bei %C erforderlich"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr "Typ »%s« mit DEFERRED-Bindung bei %C ist nicht ABSTRACT"
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Es gibt bereits eine Prozedur mit Bindungsname »%s« für den abgeleiteten Typ »%s« bei %C"
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr "GENERIC bei %C muss innerhalb eines CONTAINS eines abgeleiteten Typs sein"
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "»::« bei %C erwartet"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Generischer Name oder Operatordeskriptor bei %C erwartet"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "»=>« bei %C erwartet"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Es gibt bereits eine nicht-generische Prozedur mit Bindungsname »%s« für den abgeleiteten Typ »%s« bei %C"
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr "Bindung bei %C muss den selben Zugriff wie bereits definierte Bindung »%s« haben"
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "Spezifischer Bindungsname bei %C erwartet"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "»%s« bereits als spezifische Bindung für das allgemeine »%s« bei %C definiert"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr "Ausschuss hinter GENERIC-Bindung bei %C"
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr "FINAL-Deklaration bei %C muss innerhalb eines CONTAINS-Abschnitts eines abgeleiteten Typs stehen"
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr "Deklaration abgeleiteten Typs mit FINAL bei %C muss im Spezifikationsteil eines Moduls sein"
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr "Leeres FINAL bei %C"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "Prozedurname im Modul bei %C erwartet"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "»,« bei %C erwartet"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "Unbekannter Prozedurname »%s« bei %C"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "»%s« bei %C ist bereits als FINAL-Prozedur definiert!"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Unbekanntes Attribut in !GCC$ ATTRIBUTES-Anweisung bei %C"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Syntaxfehler in !GCC$ ATTRIBUTES-Anweisung bei %C"
@@ -37255,27 +37250,27 @@ msgstr "POINTER-wertige Funktion tritt auf rechter Seite der Zuweisung bei %L au
 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:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-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:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-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:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-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"
@@ -37536,7 +37531,7 @@ msgid "can't open input file: %s"
 msgstr "Eingabedatei »%s« kann nicht geöffnet werden"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -37652,12 +37647,12 @@ msgstr "Erstes Argument der definierten Zuweisung bei %L muss INTENT(OUT) oder I
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "Zweites Argument der definierten Zuweisung bei %L muss INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "Erstes Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "Zweites Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein"
@@ -39676,7 +39671,7 @@ msgstr "Unerwarteter Ausschuss hinter $OMP BARRIER-Anweisung bei %C"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Unerwarteter Ausschuss hinter NOWAIT-Klausel bei %C"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "IF-Klausel bei %L erfordert einen skalaren LOGICAL-Ausdruck"
@@ -40765,943 +40760,943 @@ msgstr "Fortran 2008: Argument »%s« des reinen Unterprogrammes »%s« bei %L m
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "Für Argument »%s« des reinen Unterprogrammes »%s« bei %L muss INTENT oder das VALUE-Attribut angegeben werden"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "Koarray-Scheinargument »%s« bei %L für elementare Prozedur"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-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:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "Argument »%s« der elementaren Prozedur bei %L kann kein ALLOCATABLE-Attribut haben"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-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:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-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:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "Für Argument »%s« der elementaren Prozedur »%s« bei %L muss INTENT angegeben werden"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-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:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-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:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "Enthaltene Funktion »%s bei %L hat keinen IMPLICIT-Typ«"
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-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:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Zeichenwertiges %s »%s« bei %L darf keine vermutete Länge haben"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "Funktion %s bei %L hat Einträge mit unpassenden Feldspezifikationen"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-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:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-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:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-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:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-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:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-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:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-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:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-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:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-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:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-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:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-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:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-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:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-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:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "COMMON-Block »%s« bei %L kann nicht das EXTERNAL-Attribut haben"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-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:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-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:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-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:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "Komponenten des Strukturkonstruktors »%s« bei %L sind PRIVATE"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "Der Rang des Elements im Strukturkonstruktor bei %L passt nicht zu dem der Komponente (%d/%d)"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "Das Element im Strukturkonstruktor bei %L für Zeigerkomponente »%s« ist %s, sollte aber %s sein"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "Die NULL im Strukturkonstruktor bei %L wird auf Komponente »%s« angewandt, was aber weder ein POINTER noch ein ALLOCATABLE ist"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "Unpassende Schnittstelle für Prozedurzeiger-Komponente »%s« in Strukturkonstruktor bei %L: %s"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "Das Element im Strukturkonstruktor bei %L für Zeigerkomponente »%s« sollte ein POINTER oder ein TARGET sein"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "Ziel der Zeigerinitialisierung bei %L darf nicht ALLOCATABLE sein"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Ziel der Zeigerinitialisierung bei %L muss das SAVE-Attribut haben"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "Ungültiger Ausdruck im Strukturkonstruktor für Zeigerkomponente »%s« bei %L in PURE-Prozedur"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "»%s« bei %L ist mehrdeutig"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-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:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-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:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-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:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "INTRINSIC deklariertes »%s« bei %L existiert nicht"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr "Das bei %2$L deklarierte INTRINSIC »%1$s« ist in den derzeitigen Standardeinstellungen nicht verfügbar, außer %3$s. Entsprechende Option -std=* verwenden, oder -fall-intrinsics einschalten, um es zu verwenden."
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr "Nicht-RECURSIVE Prozedur »%s« bei %L ruft sich möglicherweise rekursiv selbst auf. Sollte als RECURSIVE oder mit -frecursive verwendet werden"
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Marke %d wird bei %L referenziert aber nirgendwo definiert"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-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:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-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:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Fortran 2008: Interne Prozedur »%s« wird als effektives Argument bei %L verwendet"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-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:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-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:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "Symbol »%s« bei %L ist mehrdeutig"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "Wertargument bei %L hat keinen numerischen Typ"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "Wertargument bei %L kann kein Feld oder Feldabschnitt sein"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "Wertargument bei %L ist in diesem Kontext nicht erlaubt"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "Übergabe der eingebauten Prozedur über die Speicherstelle ist bei %L nicht erlaubt"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr "Koindiziertes effektives Argument bei %L mit endgültiger Zeigerkomponente"
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 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:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 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:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Unpassende Zeichenlänge in Rückgabetyp der Funktion »%s« bei %L (%ld/%ld)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Unpassender Rückgabetyp der Funktion »%s« bei %L (%s/%s)"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr "Scheinargument »%s« der Prozedur »%s« bei %L hat Attribut, das explizite Schnittstelle für diese Prozedur erfordert"
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "Prozedur »%s« bei %L mit Scheinargument »%s« mit vermuteter Form muss explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "Prozedur »%s« bei %L mit Koarray-Scheinargument »%s« muss explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "Prozedur »%s« bei %L mit parametrisiertem Argument »%s« abgeleiteten Typs muss explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "Prozedur »%s« bei %L mit polymorphem Scheinargument »%s« muss explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr "Referenz auf Funktion »%s« bei %L braucht entweder explizite Schnittstelle oder der Rang ist falsch"
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "Funktion »%s« bei %L mit POINTER- oder ALLOCATABLE-Ergebnis muss eine explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "Nichtkonstante Zeichenlängenfunktion »%s« bei %L muss eine explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "Elementare Prozedur »%s« bei %L muss eine explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "Prozedur »%s« bei %L mit BIND(C)-Attribut muss eine explizite Schnittstelle haben"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-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:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-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:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-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:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-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:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "Funktion »%s« bei %L hat IMPLICIT-Typ"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "Argument von »%s« bei %L ist keine Variable"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-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:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-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:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "Koindiziertes Argument bei »%s«-Aufruf bei %L nicht erlaubt"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "Feldabschnitt bei »%s«-Aufruf bei %L nicht erlaubt"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "Feldabschnitt bei »%s«-Aufruf bei %L"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-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:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "Parameter »%s« für »%s« bei %L muss ein Skalar sein"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "Parameter »%s« für »%s« bei %L darf nicht polymorph sein"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-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:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-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:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "»%s« bei %L ist keine Funktion"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-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:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-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:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "Referenz auf Nicht-PURE-Funktion »%s« bei %L innerhalb eines DO CONCURRENT %s"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-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:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "Eintrag »%s« bei %L kann nicht rekursiv aufgerufen werden, da Funktion »%s« nicht RECURSIVE ist"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "Funktion »%s« bei %L kann nicht rekursiv aufgerufen werden, da sie nicht RECURSIVE ist"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-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:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "Unterprogrammaufruf von »%s« in DO CONCURRENT-Block bei %L ist nicht PURE"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr "Unterprogrammaufruf von »%s« bei %L ist nicht PURE"
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-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:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-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:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-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:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-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:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-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:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-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:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-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:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "Eintrag »%s« bei %L kann nicht rekursiv aufgerufen werden, da Unterprogramm »%s« nicht RECURSIVE ist"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "SUBROUTINE »%s« bei %L kann nicht rekursiv aufgerufen werden, da sie nicht RECURSIVE ist"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "Formen der Operanden bei %L und %L stimmen nicht überein"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "Feldreferenz bei %L ist außerhalb der Grenzen (%ld < %ld) in Kodimension %d"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "Feldreferenz bei %L ist außerhalb der Grenzen (%ld > %ld) in Kodimension %d"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "Unzulässiger Schritt von Null bei %L"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Untere Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Untere Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Obere Feldreferenz bei %L ist außerhalb der Schranken (%ld < %ld) in Dimension %d"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Obere Feldreferenz bei %L ist außerhalb der Schranken (%ld > %ld) in Dimension %d"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "Rechte obere Schranke des Feldabschnitts angenommener Größe nicht angegeben bei %L"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "Unpassende Ränge in Feldreferenz bei %L (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "Unpassende Ränge des Koindex in Feldreferenz bei %L (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "Koindex der Kodimension %d muss bei %L ein Skalar sein"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "Feldindex bei %L muss skalar sein"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "Feldindex bei %L muss INTEGER-Typ haben, %s gefunden"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Erweiterung: REAL-Feld-Index bei %L"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "Argument dim bei %L muss skalar sein"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "Argument dim bei %L muss INTEGER-Typ haben"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Feldindex bei %L ist ein Feld mit Rang %d"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "Anfangs-Index der Teilzeichenkette bei %L muss INTEGER-Typ haben"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "Anfangs-Index der Teilzeichenkette bei %L muss skalar sein"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "Anfangs-Index der Teilzeichenkette bei %L ist kleiner als Eins"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "End-Index der Teilzeichenkette bei %L muss INTEGER-Typ haben"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "End-Index der Teilzeichenkette bei %L muss skalar sein"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "End-Index der Teilzeichenkette bei %L überschreitet Zeichenkettenlänge"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "End-Index der Teilzeichenkette bei %L ist zu groß"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "Komponente rechts einer Teilreferenz mit Rang größer Null darf kein POINTER-Attribut bei %L haben"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "Komponente rechts einer Teilreferenz mit Rang ungleich Null darf bei %L kein Attribut ALLOCATABLE haben"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "Zwei oder mehr Teilreferenzen mit Rang größer Null dürfen nicht bei %L angegeben werden"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-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:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr "Polymorphes Subobjekt des koindizierten Objektes bei %L"
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr "Koindiziertes Objekt mit polymorpher reservierbarer Subkomponente bei %L"
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "Weitergegebenes Objekt bei %L muss Skalar sein"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr "Basisobjekt für Aufruf der Prozedurzeigerkomponente bei %L hat abstrakten Typ »%s«"
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr "Basisobjekt für Aufruf der typgebundenen Prozedur bei %L hat abstrakten Typ »%s«"
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "Basisobjekt für Aufruf der typgebundenen NOPASS-Prozedur bei %L muss skalar sein"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr "Keine passende spezifische Bindung für Aufruf des GENERIC »%s« bei %L gefunden"
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "'%s' bei %L sollte eine SUBROUTINE sein"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "»%s« bei %L sollte eine FUNCTION sein"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s bei %L muss skalar sein"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "Gelöscht: %s bei %L muss eine Ganzzahl sein"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s bei %L muss INTEGER sein"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "Schrittausdruck in DO-Schleife bei %L kann nicht Null sein"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr "DO-Schleife bei %L wird null mal ausgeführt"
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "FORALL-Indexname bei %L muss skalarer INTEGER sein"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "FORALL-Anfangsausdruck bei %L muss skalarer INTEGER sein"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "FORALL-Endausdruck bei %L muss skalarer INTEGER sein"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "FORALL-Schrittausdruck bei %L muss skalares %s sein"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "FORALL-Schrittausdruck bei %L kann nicht Null sein"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-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:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "ALLOCATE-Objekt bei %L muss ALLOCATABLE oder ein POINTER sein"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr "Koindiziertes reservierbares Objekt bei %L"
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr "Quell-Ausdruck bei %L muss skalar sein oder den selben Rang wie das ALLOCATE-Objekt bei %L haben"
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr "Quell-Ausdruck bei %L und ALLOCATE-Objekt bei %L müssen die selbe Form haben"
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr "Typ der Entität bei %L ist mit Quellausdruck bei %L typunverträglich"
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr "Das ALLOCATE-Objekt bei %L und der Quellausdruck bei %L sollten Typparameter der gleichen Art haben"
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr "Der Quellausdruck bei %L sollte weder LOCK_TYPE noch LOCK_TYPE-Komponente haben, wenn ALLOCATE-Objekt bei %L ein Koarray ist"
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr "Reservierung von %s mit ABSTRACT-Basistyp bei %L erfordert Typspezifikation oder Quellausdruck"
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr "Reservierung von %s bei %L mit Typspezifikation erfordert den selben Zeichenkettenlängenparameter wie in der Deklaration"
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "In ALLOCATE-Anweisung bei %L ist Feld-Spezifikation erforderlich"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Koarray-Spezifikation in ALLOCATE-Anweisung bei %L erforderlich"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Falsche Feldspezifikation in ALLOCATE-Anweisung bei %L"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in 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:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "In Koindex-Spezifikation in ALLOCATE-Anweisung bei %L wird »*« erwartet"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Falsche Koarray-Spezifikation in ALLOCATE-Anweisung bei %L"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "Stat-Variable bei %L muss skalare INTEGER-Variable sein"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "Stat-Variable bei %L sollte nicht %s innerhalb der gleichen %s-Anweisung sein"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr "ERRMSG bei %L ist ohne STAT-Marke nutzlos"
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "ERRMSG-Variable bei %L muss skalare CHARACTER-Variable sein"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr "ERRMSG-Variable bei %L sollte nicht »%s« innerhalb der selben »%s«-Anweisung sein"
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr "ALLOCATE-Objekt bei %L tritt auch bei %L auf"
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr "ALLOCATE-Objekt bei %L ist Subobjekt des Objekts bei %L"
@@ -41710,175 +41705,175 @@ msgstr "ALLOCATE-Objekt bei %L ist Subobjekt des Objekts bei %L"
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "CASE-Marke bei %L überschneidet sich mit CASE-Marke bei %L"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "Ausdruck in CASE-Anweisung bei %L muss Typ %s haben"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "Ausdruck in CASE-Anweisung bei %L muss von der Art %d sein"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "Ausdruck in CASE-Anweisung bei %L muss skalar sein"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "Auswahlausdruck in berechneter GOTO-Anweisung bei %L muss ein skalarer Ganzzahlausdruck sein"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "Argument der SELECT-Anweisung bei %L kann nicht %s sein"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "Ausdruck in CASE-Anweisung bei %L ist nicht im Bereich von %s"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "Der DEFAULT CASE bei %L kann nicht von zweitem DEFAULT CASE bei %L gefolgt werden"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "Logischer Bereich in CASE-Anweisung bei %L ist nicht erlaubt"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "Konstanter logischer Wert in CASE-Anweisung wird bei %L wiederholt"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "Bereichsspezifikation bei %L kann nie passen"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "Logischer SELECT CASE Block bei %L hat mehr als zwei Fälle"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Zugeordneter Name »%s« bei %L wird als Feld verwendet"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "Selektor sollte in SELECT TYPE-Anweisung bei %L polymorph sein"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "Abgeleiteter Typ »%s« bei %L muss erweiterbar sein"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "Abgeleiteter Typ »%s« bei %L muss eine Erweiterung von »%s« sein"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr "Doppelter CLASS IS-Block in SELECT TYPE-Anweisung bei %L"
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr "Intrinsisches NULL bei %L in Anweisung zum Datenaustausch erfordert MOLD="
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr "Element zum Datenaustausch bei %L kann nicht polymorph sein, außer es wird von einer definierten E/A-Prozedur verarbeitet"
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "Datenübertragungselement bei %L kann keine POINTER-Komponenten haben, außer es wird von einer definierten E/A-Prozedur verarbeitet"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "Datenübertragungselement bei %L kann keine Prozedurzeiger-Komponenten haben"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "Datenübertragungselement bei %L kann keine ALLOCATABLE-Komponenten haben, außer es wird von einer definierten E/A-Prozedur verarbeitet"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "Datenübertragungselement bei %L kann keine PRIVATE-Komponenten haben"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "Datenübertragungselement bei %L kann keine vollständige Referenz auf Feld vermuteter Größe sein"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "Lock-Variable bei %L muss Skalar mit LOCK_TYPE sein"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "»STAT=«-Argument bei %L muss skalare INTEGER-Variable sein"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "»ERRMSG=«-Argument bei %L muss skalare CHARACTER-Variable sein"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "»ACQUIRED_LOCK=«-Argument bei %L muss skalare LOGICAL-Variable sein"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "Argument für Imageset bei %L muss Skalar oder Rang-1-INTEGER-Ausdruck sein"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "Argument für Imageset bei %L muss zwischen 1 und num_images() liegen"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Anweisung bei %L ist keine gültige Sprungzielanweisung für Sprungziel bei %L"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr "Sprung bei %L könnte Endlosschleife bewirken"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr "GOTO-Anweisung bei %L hinterlässt CRITICAL-Konstrukt für Marke bei %L"
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke bei %L"
@@ -41886,950 +41881,950 @@ msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke be
 #. The label is not in an enclosing block, so illegal.  This was
 #. allowed in Fortran 66, so we allow it as extension.  No
 #. further checks are necessary in this case.
-#: fortran/resolve.c:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Marke bei %L ist nicht im gleichen Block wie GOTO-Anweisung bei %L"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "WHERE-Maske bei %L hat ungültige Form"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "WHERE-Zuweisungsziel bei %L hat ungültige Form"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr "Benutzerdefinierte Nicht-ELEMENTAL-Zuweisung in WHERE bei %L"
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Nicht unterstützte Anweisung in WHERE bei %L"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Zuweisung an FORALL-Indexvariable bei %L"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "Das FORALL mit Index »%s« wird nicht auf der linken Seite der Zuweisung bei %L verwendet und könnte somit mehrere Zuweisungen an dieses Objekt auslösen"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "Ein äußeres FORALL-Konstrukt hat bereits einen Index mit Namen %L"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "Klausel WHERE/ELSEWHERE bei %L erfordert ein LOGICAL-Feld"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-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:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "Koindizierter Ausdruck bei %L wird einer Variable abgeleiteten Typs mit einer POINTER-Komponente in einer PURE-Prozedur zugewiesen"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 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:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "Zuweisung an koindizierte Variable bei %L in einer PURE-Prozedur"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr "Variable darf in intrinsischer Zuweisung bei %L nicht polymorph sein - bitte prüfen, ob es ein passendes spezifisches Unterprogramm für den »=«-Operator gibt"
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr "Koindizierte Variable darf keine reservierbare endgültige Komponente in Zuweisung bei %L haben"
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr "Anweisung ASSIGNED GOTO bei %L erfordert eine INTEGER-Variable"
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-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:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "Alternative RETURN-Anweisung bei %L erfordert einen SCALAR-INTEGER-Spezifizierer als Rückgabe"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "ASSIGN-Anweisung bei %L erfordert eine skalare Standard-INTEGER-Variable"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr "Arithmetische IF-Anweisung bei %L erfordert einen numerischen Ausdruck"
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "Abbruchbedingung der DO WHILE-Schleife bei %L muss ein skalarer LOGICAL-Ausdruck sein"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "FORALL-Maskenklausel bei %L erfordert einen skalaren LOGICAL-Ausdruck"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-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:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-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:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr "CHARACTER-Variable bei %L hat negative Länge %d, die Länge wurde auf Null gesetzt"
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "Zeichenkettenlänge bei %L ist zu groß"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-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:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr "Skalares Objekt »%s« bei %L kann nicht ALLOCATABLE sein"
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "Feldzeiger »%s« bei %L muss aufgeschobene Form haben"
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "Feld »%s« bei %L kann keine aufgeschobene Form haben"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "Typ »%s« der CLASS-Variable »%s« bei %L ist nicht erweiterbar"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr "CLASS-Variable »%s« bei %L muss Attrappe, reservierbar oder Zeiger sein"
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 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:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr "Fortran 2008: Inbegriffenes SAVE für Modulvariable »%s« bei %L, benötigt wegen Standardkonstruktor"
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-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:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr "Entität »%s« bei %L hat Parameter mit aufgeschobenem Typ und benötgt entweder das POINTER- oder ALLOCATABLE-Attribut"
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "Entität mit vermuteter Zeichenlänge bei %L muss ein Scheinargument oder ein PARAMETER sein"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-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:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "COMMON-Variable »%s« bei %L muss konstante Zeichenlänge haben"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "Zuordnungsfähiges »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "Externes »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "Schein-»%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "Intrinsisches »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "Funktionsergebnis »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "Automatisches Feld »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-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:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-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:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "Funktion »%s« bei %L kann keine Initialisierung haben"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-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:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-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:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "Anweisungsfunktion »%s« bei %L darf nicht POINTER- oder ALLOCATABLE-Attribut haben"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-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:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-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:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht pure sein"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht rekursiv sein"
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "Veraltet: CHARACTER(*)-Funktion »%s« bei %L"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "Attribut PROCEDURE steht mit Attribut SAVE in »%s« bei %L in Konflikt"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "Attribut PROCEDURE steht mit Attribut INTENT in »%s« bei %L in Konflikt"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "Attribut PROCEDURE steht mit Attribut RESULT in »%s« bei %L in Konflikt"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "Attribut EXTERNAL steht mit Attribut FUNCTION in »%s« bei %L in Konflikt"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr "Dem Ergebnis »%s« als Prozedurzeiger bei %L fehlt das POINTER-Attribut"
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "FINAL-Prozedur »%s« bei %L ist keine SUBROUTINE"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "FINAL-Prozedur bei %L muss genau ein Argument haben"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "Argument der FINAL-Prozedur bei %L muss Typ »%s« haben"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "Argument der FINAL-Prozedur bei %L darf kein POINTER sein"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "Argument der FINAL-Prozedur bei %L darf nicht ALLOCATABLE sein"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "Argument der FINAL-Prozedur bei %L darf nicht OPTIONAL sein"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "Argument der FINAL-Prozedur bei %L darf nicht INTENT(OUT) sein"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Nicht-skalare FINAL-Prozedur bei %L sollte Argument mit vermuteter Form haben"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "Bei %2$L deklarierte FINAL-Prozedur »%1$s« hat den selben Rang (%3$d) wie »%4$s«"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr "Bei %2$L wurde nur FINAL-Feldprozedur für abgeleiteten Typ »%1$s« definiert, skalare wird ebenfalls empfohlen"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Finalisierung bei %L ist noch nicht implementiert"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr "»%s« und »%s« können nicht gemischte FUNCTION/SUBROUTINE für GENERIC »%s« bei %L sein"
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr "»%s« und »%s« für GENERIC »%s« bei %L sind mehrdeutig"
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr "Undefinierte spezifische Bindung »%s« als Ziel des GENERIC »%s« bei %L"
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr "GENERIC »%s« bei %L muss auf spezifische Bindung abzielen, »%s« ist ebenfalls GENERIC"
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr "GENERIC »%s« bei %L kann nicht spezifische Bindung mit gleichem Namen überschreiben"
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr "Typgebundener Operator bei %L kann nicht NOPASS sein"
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "»%s« muss eine Modulprozedur oder eine externe Prozedur mit expliziter Schnittstelle bei %L sein"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Prozedur »%s« mit PASS(%s) bei %L hat kein Argument »%s«"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Prozedur »%s« mit PASS bei %L muss mindestens ein Argument haben"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "Nicht-polymorphes Scheinargument von %s für weitergegebenes Objekt bei %L"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "Argument »%s« von »%s« mit PASS(%s) bei %L muss abgeleiteten Typ »%s« haben"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "Scheinargument von %s für weitergegebenes Objekt bei %L muss ein Skalar sein"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "Scheinargument von %s für weitergegebenes Objekt bei %L darf nicht ALLOCATABLE sein"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "Scheinargument von %s für weitergegebenes Objekt bei %L darf nicht POINTER sein"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "Prozedur »%s« bei %L hat den gleichen Namen wie eine Komponente von »%s«"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "Prozedur »%s« bei %L hat den selben Namen wie eine vererbte Komponente von »%s«"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr "Bei %2$L deklarierter abgeleiteter Typ »%1$s« muss ABSTRACT sein, da »%3$s« DEFERRED und nicht überschrieben ist"
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr "Da der erweiterte Typ »%s« bei %L eine Koarray-Komponente hat, sollte der Elterntyp »%s« auch eine haben"
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr "Nicht-erweiterbarer abgeleiteter Typ »%s« bei %L darf nicht ABSTRACT sein"
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr "Zeichenkettenkomponente »%s« aufgeschobener Länge bei %L wird noch nicht unterstützt"
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "Koarray-Komponente »%s« bei %L muss reservierbar mit aufgeschobener Form sein"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "Komponente »%s« bei %L mit TYPE(C_PTR) oder TYPE(C_FUNPTR) sollte kein Koarray sein"
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "Komponente »%s« bei %L mit Koarray-Komponente sollte ein Nicht-Zeiger und nicht-reservierbares Skalar sein"
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr "Komponente »%s« bei %L hat das CONTIGUOUS-Attribut, aber ist kein Feldzeiger"
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "Von Prozedurzeigerkomponente »%2$s« bei %3$L verwendete Schnittstelle »%1$s« ist in späterer PROCEDURE-Anweisung deklariert"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "Schnittstelle »%s« der Prozedurzeiger-Komponente »%s« bei %L muss explizit sein"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Prozedurzeiger-Komponente »%s« mit PASS(%s) bei %L hat kein Argument »%s«"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Prozedurzeiger-Komponente »%s« mit PASS bei %L muss mindestens ein Argument haben"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "Argument »%s« von »%s« mit PASS(%s) bei %L muss abgeleiteten Typ »%s« haben"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Parameter »%s« von »%s« mit PASS(%s) bei %L muss skalar sein"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Argument »%s« von »%s« mit PASS(%s) bei %L darf kein POINTER-Attribut haben"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "Argument »%s« von »%s« mit PASS(%s) bei %L darf nicht ALLOCATABLE sein"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "Komponente »%s« von »%s« bei %L hat den gleichen Namen wie eine geerbte typgebundene Prozedur"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-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:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr "Zeichenkomponente »%s« von »%s« bei %L mit aufgeschobener Länge muss POINTER oder ALLOCATABLE sein"
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr "Fortran 2003: Die Komponente »%s« ist ein PRIVATE-Typ und kann nicht Komponente von »%s« sein, die PUBLIC bei %L ist"
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr "Polymorphe Komponente %s bei %L in SEQUENCE oder BIND(C)-Typ %s"
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "Komponente %s des bei %L deklarierten SEQUENCE-Typen hat kein SEQUENCE-Attribut"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-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:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "Komponente »%s« mit CLASS bei %L muss allozierbar oder Zeiger sein"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr "Fortran 2003: Allgemeiner Name »%s« der Funktion »%s« bei %L ist der gleiche wie der des abgeleiteten Typs bei %L"
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Feld »%s« mit vermuteter Größe in Namensliste »%s« bei %L ist nicht erlaubt"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-Feldobjekt »%s« mit vermuteter Form in Namensliste »%s« bei %L"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-Feldobjekt »%s« ohne konstante Form in Namensliste »%s« bei %L"
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-Objekt »%s« ohne konstante Zeichenlänge in Namensliste »%s« bei %L"
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L ist polymorph und erfordert eine definierte Ein-/Ausgabeprozedur"
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr "Fortran 2003: NAMELIST-Objekt »%s« in Namensliste »%s« bei %L mit ALLOCATABLE- oder POINTER-Komponenten"
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L hat ALLOCATABLE- oder POINTER-Komponenten und erfordert daher eine definierte Ein-/Ausgabeprozedur"
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-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:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-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:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-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:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-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:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-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:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-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:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "Unverträglicher abgeleiteter Typ in PARAMETER bei %L"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "Attribut PROTECTED steht mit Attribut EXTERNAL bei %L in Konflikt"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "Attribut PROCEDURE steht mit Attribut PROTECTED bei %L in Konflikt"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr "»%s« bei %L hat Attribut CONTIGUOUS, aber ist kein Feldzeiger oder Feld vermuteter Größe"
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "Feld mit vermuteter Größe bei %L muss ein Schein-Argument sein"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "Feld mit vermuteter Form bei %L muss ein Scheinargument sein"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "Symbol bei %L ist keine Scheinvariable"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-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:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-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:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-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:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-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:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 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:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-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:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr "Variable %s bei %L mit LOCK_TYPE oder mit Subkomponente mit LOCK_TYPE muss ein Koarray sein"
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-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:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Scheinargument »%s« bei %L mit LOCK_TYPE sollte nicht INTENT(OUT) sein"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "Funktionsergebnis »%s« bei %L sollte kein Koarray sein oder Koarray-Komponente haben"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "Variable »%s« bei %L mit TYPE(C_PTR) oder TYPE(C_FUNPTR) sollte kein Koarray sein"
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "Variable »%s« bei %L mit Koarraykomponente sollte ein Nichtzeiger, nichtallozierbares Skalar sein"
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr "Variable »%s« bei %L ist ein Koarray und ist weder ALLOCATABLE, SAVE, noch ein Scheinargument"
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "Koarray-Variable »%s« bei %L sollte keine Kodimensionen mit aufgeschobener Form haben"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "Zuordnungsfähige Koarray-Variable »%s« bei %L muss aufgeschobene Form haben"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr "Variable '%s' bei %L ist INTENT(OUT) und kann daher kein reservierbares Coarray sein oder Coarray-Komponenten haben"
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "Coarray-Hilfsvariable '%s' bei %L in BIND(C)-Prozedur '%s' nicht erlaubt"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "Threadprivate bei %L ist nicht SAVEd"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-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:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-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:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "DATA-Element '%s' bei %L kann keinen Coindex haben"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr "DATA-Element '%s' bei %L ist ein Zeiger und muss daher ein vollständiges Feld sein"
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "Abschnitt eines nicht konstanten Feldes bei %L in DATA-Anweisung"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "DATA-Anweisung bei %L hat mehr Variablen als Werte"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr "Anfang der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr "Ende der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr "Schritt der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "DATA-Anweisung bei %L hat mehr Werte als Variablen"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Marke %d bei %L definiert, aber nicht verwendet"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "Marke %d bei %L definiert, kann aber nicht verwendet werden"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-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:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-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:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-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:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-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:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "Syntaxfehler in EQUIVALENCE-Anweisung bei %L"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr "Entweder alle oder keines der Objekte in bei %L gesetztem EQUIVALENCE sollte das Attribut PROTECTED haben"
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-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:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-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:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-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:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-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:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "Teilzeichenkette bei %L hat Länge Null"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Fortran 2003: PUBLIC-Funktion »%s« bei %L mit PRIVATE-Typen »%s«"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY »%s« bei %L hat keinen IMPLICIT-Typ"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-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:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-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:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-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:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "Erstes Argument der Operatorschnittstelle bei %L kann nicht optional sein"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "Zweites Argument der Operatorschnittstelle bei %L kann nicht optional sein"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "Operatorschnittstelle bei %L darf höchstens zwei Argumente haben"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-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"
@@ -42995,34 +42990,34 @@ msgstr "Größe des zweiten Arguments von %s überschreitet Bit-Größe bei %L"
 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:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "DIM-Argument bei %L ist außerhalb der Grenzen"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-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:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-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:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-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:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-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:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "Zweites Argument von MOD bei %L ist Null"
@@ -43030,47 +43025,47 @@ msgstr "Zweites Argument von MOD bei %L ist Null"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "Zweites Argument von MODULO bei %L ist Null"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "Ergebnis von NEAREST ist NaN bei %L"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr "Argument NCOPIES des intrinsischen REPEAT ist bei %L negativ"
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-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:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "Ergebnis von SCALE überschreitet seine Art bei %L"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "Argument von SQRT bei %L hat negativen Wert"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr "Außerhalb des Wertebereichs in IMAGE_INDEX bei %L für Dimension %d, SUB hat %ld und untere Grenze für COARRAY ist %ld"
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr "Außerhalb des Wertebereichs in IMAGE_INDEX bei %L für Dimension %d, SUB hat %ld und obere Grenze für COARRAY ist %ld"
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr "Zeichen »%s« in Zeichenkette bei %L kann nicht in Zeichenart %d umgewandelt werden"
@@ -43439,17 +43434,17 @@ msgstr "Überlappende ungleiche Initialisierungen in EQUIVALENCE bei %L"
 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-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr "Bei %L wird ein vorübergehendes Feld für Argument »%s« erzeugt"
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end 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:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "Falscher Ausdruckstyp beim Durchlaufen (%d)"
@@ -44059,17 +44054,17 @@ msgstr "Bytecode-Strom: Ausschuss am Ende des »symbols«-Abschnitts"
 msgid "could not parse hex number"
 msgstr "Hex-Zahl konnte nicht eingelesen werden"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "unerwarteter Dateiname %s in Linker-Auflösungsdatei. %s erwartet"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "Datei-Offset konnte nicht eingelesen werden"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr "unerwarteter Offset"
@@ -44079,67 +44074,67 @@ msgstr "unerwarteter Offset"
 msgid "invalid line in the resolution file"
 msgstr "ungültige Zeile in Auflösungsdatei"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "ungültige Auflösung in Auflösungsdatei"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr "Auflösungs-Sub-ID "
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "LTO-Deklarationen von %s können nicht gelesen werden"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "»%s« kann nicht geöffnet werden"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "»%s« kann nicht abgebildet werden"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "»%s« kann nicht gelesen werden"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr "kein Dateiname für LTRANS-Ausgabeliste angegeben"
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "LTRANS-Ausgabeliste »%s« wird geöffnet: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr "lto_obj_file_open() gescheitert"
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "beim Schreiben in LTRANS-Ausgabeliste %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "LTRANS-Ausgabeliste »%s« wird geschlossen: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "Datei zur Symbolauflösung konnte nicht geöffnet werden: %m"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr "Fehler beim Einfügen von Übersetzungseinheiten"
@@ -45079,6 +45074,12 @@ msgstr "%<-fobjc-sjlj-exceptions%> wird für %<-fnext-runtime%> ignoriert, wenn
 msgid "creating selector for nonexistent method %qE"
 msgstr "für nicht existierende Methode %qE wird Selektor erzeugt"
 
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "ungültige »unsafe.Pointer«-Umwandlung"
+
+#~ msgid "both %<const%> and %<constexpr%> cannot be used here"
+#~ msgstr "%<const%> und %<constexpr%> können hier nicht zusammen verwendet werden"
+
 #~ msgid "floating point constant truncated to integer"
 #~ msgstr "Gleitkommakonstante auf Ganzzahl abgeschnitten"
 
index 3c36ecc..6773c06 100644 (file)
Binary files a/gcc/po/el.gmo and b/gcc/po/el.gmo differ
index 2b46ae7..79f787c 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.0-b20041128\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -26,7 +26,7 @@ msgstr "((ανώνυμο))"
 msgid "({anonymous})"
 msgstr "((ανώνυμο))"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 msgid "expected end of line"
 msgstr "Μη ορισμένο όνομα %s"
@@ -36,8 +36,8 @@ msgstr "Μη ορισμένο όνομα %s"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -49,13 +49,13 @@ msgstr "Μη ορισμένο όνομα %s"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "Μη ορισμένο όνομα %s"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -71,14 +71,14 @@ msgstr "Μη ορισμένο όνομα %s"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "Μη ορισμένο όνομα %s"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -87,25 +87,25 @@ msgstr "Μη ορισμένο όνομα %s"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "Μη ορισμένο όνομα %s"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, fuzzy, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "Μη ορισμένο όνομα %s"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -115,34 +115,34 @@ msgstr "Μη ορισμένο όνομα %s"
 msgid "expected %<.%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, fuzzy, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -317,12 +317,12 @@ msgstr ""
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, fuzzy, c-format
 msgid "invalid expression as operand"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
@@ -1425,20 +1425,20 @@ msgstr "Μη αναγνωρίσιμη μεταβλητή `%s'"
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr ""
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr ""
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr ""
 
@@ -2053,195 +2053,195 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr ""
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr ""
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2588,18 +2588,18 @@ msgid "invalid %%r value"
 msgstr "μη έγκυρος χρήστης"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, fuzzy, c-format
 msgid "invalid %%R value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, fuzzy, c-format
 msgid "invalid %%N value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, fuzzy, c-format
 msgid "invalid %%P value"
 msgstr "μη έγκυρος χρήστης"
@@ -2614,12 +2614,12 @@ msgstr "μη έγκυρος χρήστης"
 msgid "invalid %%L value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, fuzzy, c-format
 msgid "invalid %%m value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, fuzzy, c-format
 msgid "invalid %%M value"
 msgstr "μη έγκυρος χρήστης"
@@ -2630,7 +2630,7 @@ msgid "invalid %%U value"
 msgstr "μη έγκυρος χρήστης"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, fuzzy, c-format
 msgid "invalid %%s value"
 msgstr "μη έγκυρος χρήστης"
@@ -2640,7 +2640,7 @@ msgstr "μη έγκυρος χρήστης"
 msgid "invalid %%C value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, fuzzy, c-format
 msgid "invalid %%E value"
 msgstr "μη έγκυρος χρήστης"
@@ -2651,38 +2651,38 @@ msgid "unknown relocation unspec"
 msgstr "Δεν είναι δυνατόν να βρεθεί ο τύπος του επεξεργαστή."
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, fuzzy, c-format
 msgid "invalid %%xn code"
 msgstr "μη έγκυρο δικαίωμα"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, fuzzy, c-format
 msgid "predicated Thumb instruction"
 msgstr "Ακατάλληλη εντολή"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, fuzzy, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 msgid "invalid shift operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2690,84 +2690,84 @@ msgstr "μη έγκυρος χρήστης"
 msgid "invalid operand for code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 msgid "instruction never executed"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, fuzzy, c-format
 msgid "missing operand"
 msgstr "έχει παραληφθεί η λίστα με τα πεδία"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 msgid "function parameters cannot have __fp16 type"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr ""
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 msgid "bad address, not a constant:"
 msgstr "%s' δεν είναι ισχύων θετικός ακέραιος."
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 #, fuzzy
 msgid "invalid insn:"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 #, fuzzy
 msgid "incorrect insn:"
 msgstr "λάθος συνθηματικό"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 #, fuzzy
 msgid "unknown move insn:"
 msgstr "άγνωστο σετ `%s'"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
@@ -2783,7 +2783,7 @@ msgstr "μη έγκυρος χρήστης"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3048,73 +3048,73 @@ msgstr "αρχείο εξόδου"
 msgid "bad output_condmove_single operand"
 msgstr "αρχείο εξόδου"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, fuzzy, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "μη έγκυρη μετατόπιση UTC"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr ""
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr ""
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr ""
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr ""
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, fuzzy, c-format
 msgid "invalid operand code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, fuzzy, c-format
 msgid "invalid constraints for operand"
 msgstr "μη έγκυρος χρήστης"
 
 # src/grep.c:1133
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 #, fuzzy
 msgid "unknown insn mode"
 msgstr "άγνωστη μέθοδος καταλόγων"
@@ -3169,13 +3169,13 @@ msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαρ
 msgid "invalid operation on %<__fpreg%>"
 msgstr "Μη έγκυρος χαρακτήρας παραβολής"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, fuzzy, c-format
 msgid "invalid %%P operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, fuzzy, c-format
 msgid "invalid %%p value"
 msgstr "μη έγκυρος χρήστης"
@@ -3256,7 +3256,7 @@ msgid "post-increment address is not a register"
 msgstr ""
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 #, fuzzy
 msgid "bad address"
 msgstr "Εσφαλμένη διεύθυνση"
@@ -3395,117 +3395,117 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 msgid "-mvsx needs indexed addressing"
 msgstr "Ακατάλληλη χρήση του διαμορφωτή διεύθυνσης"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 msgid "bad move"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 msgid "invalid %%c value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, fuzzy, c-format
 msgid "invalid %%f value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, fuzzy, c-format
 msgid "invalid %%F value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, fuzzy, c-format
 msgid "invalid %%G value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, fuzzy, c-format
 msgid "invalid %%j code"
 msgstr "μη έγκυρο δικαίωμα"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, fuzzy, c-format
 msgid "invalid %%J code"
 msgstr "μη έγκυρο δικαίωμα"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, fuzzy, c-format
 msgid "invalid %%k value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, fuzzy, c-format
 msgid "invalid %%K value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, fuzzy, c-format
 msgid "invalid %%O value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, fuzzy, c-format
 msgid "invalid %%q value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, fuzzy, c-format
 msgid "invalid %%S value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, fuzzy, c-format
 msgid "invalid %%T value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, fuzzy, c-format
 msgid "invalid %%u value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, fuzzy, c-format
 msgid "invalid %%v value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, fuzzy, c-format
 msgid "invalid %%x value"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "μη έγκυρη μέτρηση επανάληψης `%s' στη κατασκευή [c*n]"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 #, fuzzy
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "πολύ λίγα ορίσματα"
@@ -3595,25 +3595,25 @@ msgstr "Μη έγκυρη επιλογή `%s'"
 msgid "invalid operand for code: '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, fuzzy, c-format
 msgid "invalid operand to %%R"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, fuzzy, c-format
 msgid "invalid operand to %%S"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr ""
 
@@ -3632,13 +3632,13 @@ msgstr "μη έγκυρος χρήστης"
 msgid "invalid %%B operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 msgid "invalid %%C operand"
 msgstr "μη έγκυρη μετατόπιση UTC"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 msgid "invalid %%D operand"
 msgstr "μη έγκυρος χρήστης"
@@ -3683,57 +3683,57 @@ msgstr "μη τερματιζμένο αλφαριθμητικό σταθερά
 msgid "xstormy16_print_operand: unknown code"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, fuzzy, c-format
 msgid "invalid %%c operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, fuzzy, c-format
 msgid "invalid %%d operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 msgid "invalid %%H specifier"
 msgstr "μη έγκυρο δικαίωμα"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 msgid "invalid %%h operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 msgid "invalid %%I operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 msgid "invalid %%i operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 msgid "invalid %%j operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 msgid "invalid %%%c operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 msgid "invalid %%N operand"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4069,7 +4069,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr ""
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4474,12 +4474,12 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 #, fuzzy
 msgid "assignment"
 msgstr "προσπέρασμα ορίσματος"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 msgid "pointer assignment"
 msgstr "προσπέρασμα ορίσματος"
@@ -4488,128 +4488,128 @@ msgstr "προσπέρασμα ορίσματος"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "In function"
 msgid "internal function"
 msgstr "Στη συνάρτηση"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 #, fuzzy
 msgid "elemental procedure"
 msgstr "πολύ λίγα ορίσματα"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 #, fuzzy
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 msgid "End expression in DO loop"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4618,7 +4618,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4944,6 +4944,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5046,28 +5058,11 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-#, fuzzy
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "Η λειτουργία δεν υποστηρίζεται"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 msgid "gfortran does not support -E without -cpp"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 #, fuzzy
 msgid "SH2a does not support little-endian"
@@ -5081,6 +5076,11 @@ msgstr ""
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+#, fuzzy
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "Η λειτουργία δεν υποστηρίζεται"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 msgid "profiling not supported with -mg"
@@ -7880,7 +7880,7 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr ""
 
 #: config/sh/sh.opt:278
@@ -12204,268 +12204,263 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 msgid "invalid use of type"
 msgstr "μη έγκυρος χρήστης"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 msgid "expected numeric type"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 msgid "expected boolean type"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 msgid "expected integer or boolean type"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 msgid "expected pointer"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 msgid "incompatible types in binary expression"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 msgid "shift of non-integer operand"
 msgstr "Ο κατάλογος `%s' δεν είναι προσιτός."
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 msgid "negative shift count"
 msgstr "ελάχιστο μέγεθος αλφαριθμητικού"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 msgid "object is not a method"
 msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 msgid "method type does not match object type"
 msgstr "λάθος αριθμός ορισμάτων"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 msgid "invalid use of %<...%> with builtin function"
 msgstr "μη έγκυρος αριθμός πεδίου: `%s'"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "χωρίς ορίσματα"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 msgid "too many arguments"
 msgstr "πάρα πολλά ορίσματα"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 msgid "argument 1 must be a map"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "Μη έγκυρη παράμετρος"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 msgid "bad size for make"
 msgstr "Ακατάλληλη τιμή στο ai_flags"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 msgid "too many arguments to make"
 msgstr "πάρα πολλά ορίσματα"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "πάρα πολλά ορίσματα"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 msgid "argument must be channel"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 msgid "left argument must be a slice"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 msgid "first argument must be []byte"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 msgid "second argument must be slice or string"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 msgid "argument 2 has invalid type"
 msgstr "μη πλήρης εγγραφή"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 msgid "argument must have complex type"
 msgstr "μη πλήρης εγγραφή"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 msgid "complex arguments must have identical types"
 msgstr "διπλός προσδιοριστής μηνύματος"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 msgid "complex arguments must have floating-point type"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "μη έγκυρος χρήστης"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 msgid "expected function"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 msgid "incompatible type for receiver"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "μη έγκυρος αριθμός πεδίου: `%s'"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 msgid "number of results does not match number of values"
 msgstr "λάθος αριθμός ορισμάτων"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 msgid "index must be integer"
 msgstr "διπλός προσδιοριστής μηνύματος"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 msgid "slice end must be integer"
 msgstr "διπλός προσδιοριστής μηνύματος"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 #, fuzzy
 msgid "slice of unaddressable value"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 msgid "incompatible type for map index"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 msgid "too many expressions for struct"
 msgstr "υπερβολικά πολλά δευτερόλεπτα αναπήδησης"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 msgid "too few expressions for struct"
 msgstr "πολύ λίγα ορίσματα"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "Μη έγκυρη κανονική έκφραση"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 #, fuzzy
 msgid "type assertion only valid for interface types"
 msgstr "Μη έγκυρος εξακριβωτής(verifier) εξυπηρετούμενου"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 msgid "expected channel"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12507,20 +12502,24 @@ msgstr "Έχει παραληφθεί εντολή"
 msgid "expected boolean expression"
 msgstr "Μη έγκυρη προπορευόμενη κανονική έκφραση"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 msgid "incompatible types in send"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12815,7 +12814,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "μη έγκυρος αριθμός από γραμμές"
@@ -12909,13 +12908,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
@@ -13291,7 +13290,7 @@ msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "μη έγκυρος αριθμός από γραμμές"
@@ -13419,7 +13418,7 @@ msgstr ""
 msgid "variable %qD has initializer but incomplete type"
 msgstr "μη πλήρης εγγραφή"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
@@ -13429,7 +13428,7 @@ msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "η κλάση χαρακτήρων `%s' ορίστηκε ήδη"
@@ -14330,7 +14329,7 @@ msgstr "λάθος αριθμός ορισμάτων"
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, fuzzy, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό"
@@ -14533,7 +14532,7 @@ msgstr ""
 msgid "unknown type name %qE"
 msgstr "άγνωστος χαρακτήρας `%s'"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "δημιουργία αρχείου `%s'\n"
@@ -14543,7 +14542,7 @@ msgstr "δημιουργία αρχείου `%s'\n"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "το `%s' είναι πρόγονος του `%s'"
@@ -14591,7 +14590,7 @@ msgstr "αρχεία fifo δεν υποστηρίζονται"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "αρχεία fifo δεν υποστηρίζονται"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, fuzzy, gcc-internal-format
 msgid "expected string literal"
 msgstr "μη τερματιζόμενo αλφαριθμητικό"
@@ -14623,8 +14622,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, fuzzy, gcc-internal-format
 msgid "expected identifier"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
@@ -14958,77 +14957,77 @@ msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χ
 msgid "no type or storage class may be specified here,"
 msgstr "Εγγραφή ονομάτων των επιλεγμένων λέξεων-κλειδιών"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "πάρα πολλά ορίσματα"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -15043,42 +15042,42 @@ msgstr "Μη έγκυρη προπορευόμενη κανονική έκφρα
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "μη έγκυρο δικαίωμα"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, fuzzy, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%s' δεν είναι ισχύων θετικός ακέραιος."
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
@@ -15088,7 +15087,7 @@ msgstr "κακοδιαμορφωμένη γραμμή αγνοήθηκε"
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 msgid "for statement expected"
 msgstr "αναμενόταν ')'\n"
@@ -15103,12 +15102,12 @@ msgstr "διπλό όνομα χαρακτήρα `%s'"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -15133,27 +15132,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "μη πλήρης εγγραφή"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15941,7 +15940,7 @@ msgstr "μη τερματιζμένο αλφαριθμητικό σταθερά
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr ""
@@ -16147,223 +16146,223 @@ msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστ
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr ""
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "μη έγκυρος αριθμός από γραμμές"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, fuzzy, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17390,7 +17389,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17510,12 +17509,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr ""
@@ -17600,27 +17599,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "Ο κατάλογος `%s' δεν είναι προσιτός."
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: function.c:4896
+#: function.c:4911
 #, fuzzy, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "άγνωστος χαρακτήρας `%s'"
@@ -18056,62 +18055,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστρέφει μη-κενό"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "Η παράμετρος κινητής υποδιαστολής δεν είναι έγκυρη: %s"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "Ο κατάλογος `%s' δεν είναι προσιτός."
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -18315,48 +18314,48 @@ msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 msgid "function %qD redeclared as variable"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -18453,12 +18452,12 @@ msgstr "Η λειτουργία δεν υποστηρίζεται"
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -18820,8 +18819,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "άγνωστος χαρακτήρας `%s'"
@@ -19126,7 +19125,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
@@ -19146,12 +19145,12 @@ msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζοντ
 msgid "nested function trampolines not supported on this target"
 msgstr "το --no-dereference (-h) δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
@@ -19341,7 +19340,7 @@ msgstr "μη έγκυρος αριθμός πεδίου: `%s'"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19356,7 +19355,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19371,7 +19370,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr ""
@@ -19406,7 +19405,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -20026,117 +20025,117 @@ msgstr "αδυναμία ανοίγματος αρχείου εξόδου `%s'"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "Άγνωστη επιλογή: %s %s %s"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "έχει παραληφθεί το αρχείο προορισμού"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr ""
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
@@ -20172,7 +20171,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "%s: οι τιμές του πεδίου `%s' δεν πρέπει να είναι μεγαλύτερες από %d"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -20413,72 +20412,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr ""
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr ""
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr ""
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20492,141 +20491,141 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr ""
 
-#: tree.c:5578
+#: tree.c:5593
 #, fuzzy, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -20842,12 +20841,12 @@ msgstr "εσωτερικό σφάλμα στο %s, γραμμή %u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -20862,8 +20861,8 @@ msgstr ""
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr ""
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -21493,40 +21492,40 @@ msgstr "το `%s' είναι πρόγονος του `%s'"
 msgid "invalid vector type for attribute %qE"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
@@ -21566,12 +21565,12 @@ msgstr "μη τερματιζμένο αλφαριθμητικό σταθερά
 msgid "%qE attribute only applies to variadic functions"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, fuzzy, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -23330,229 +23329,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "Ακατάλληλη τιμή στο ai_flags"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr ""
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "αρχεία fifo δεν υποστηρίζονται"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr ""
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr ""
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr ""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "μη έγκυρη ώρα της μέρας"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, fuzzy, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, fuzzy, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23594,87 +23593,87 @@ msgstr "`return' χωρίς τιμή, σε συνάρτηση που επιστ
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr ""
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
@@ -24018,411 +24017,411 @@ msgstr "αδυναμία ανοίγματος αρχείου εξόδου"
 msgid "can%'t set position in PCH file: %m"
 msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "Ακατάλληλη τιμή στο ai_flags"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "Η οικογένεια διευθύνσεων δεν υποστηρίζεται από την οικογένεια πρωτοκόλλου"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%s: η υποστήριξη εκσφαλμάτωσης δεν έχει συμπεριληφθεί στη μεταγλώττιση.\n"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "Ακατάλληλη τιμή στο ai_flags"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "το --no-dereference (-h) δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "άγνωστο σετ `%s'"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "%s: οι τιμές του πεδίου `%s' δεν πρέπει να είναι μεγαλύτερες από %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "μη έγκυρη ώρα της μέρας"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, fuzzy, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "μη έγκυρο δικαίωμα"
@@ -24494,13 +24493,13 @@ msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζοντ
 msgid "%qE attribute requires a string constant argument"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24574,7 +24573,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
@@ -24629,7 +24628,7 @@ msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζοντ
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, fuzzy, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "ειδικά αρχεία μπλοκ δεν υποστηρίζονται"
@@ -24973,62 +24972,62 @@ msgstr "Η λειτουργία δεν υποστηρίζεται"
 msgid "%qs does not support MIPS16 code"
 msgstr "αρχεία fifo δεν υποστηρίζονται"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "Χρήση ABI 32-bit"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "Χρήση ABI 64-bit"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "Χρήση ABI 32-bit"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "Εμφάνιση έκδοσης προγράμματος"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "μη έγκυρο δικαίωμα"
@@ -25038,57 +25037,57 @@ msgstr "μη έγκυρο δικαίωμα"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "Το servname δεν υποστηρίζεται από το ai_socktype"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "Ακατάλληλη εντολή"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "Το servname δεν υποστηρίζεται από το ai_socktype"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -25369,308 +25368,308 @@ msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς με
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, fuzzy, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, fuzzy, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "εσωτερικό σφάλμα στο %s, γραμμή %u"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, fuzzy, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, fuzzy, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, fuzzy, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, fuzzy, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "Η οικογένεια διευθύνσεων δεν υποστηρίζεται από την οικογένεια πρωτοκόλλου"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "εσωτερικό σφάλμα στο %s, γραμμή %u"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "εσωτερικό σφάλμα στο %s, γραμμή %u"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
 # src/shred.c:1134
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 msgid "stack frame too large"
 msgstr "%s: το αρχείο είναι πολύ μεγάλο"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "μη έγκυρος χρήστης"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr ""
@@ -25905,63 +25904,63 @@ msgstr "Το όνομα `%s' είναι άγνωστο\n"
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, fuzzy, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -26083,12 +26082,12 @@ msgstr ""
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
@@ -26306,39 +26305,39 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
 # src/request.c:37
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "%s σε %s"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
@@ -26783,7 +26782,7 @@ msgstr ""
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, fuzzy, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "Μη έγκυρη επιλογή `%s'"
@@ -26843,425 +26842,425 @@ msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαρ
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, fuzzy, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr ""
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, fuzzy, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, fuzzy, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr ""
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, fuzzy, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  κατά `%D'"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, fuzzy, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, fuzzy, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "μη έγκυρος αριθμός πεδίου: `%s'"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, fuzzy, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "Αρνητικό πλάτος στην αποτίμηση"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, fuzzy, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "Αρνητικό πλάτος στην αποτίμηση"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr ""
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, fuzzy, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, fuzzy, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "%s: οι τιμές του πεδίου `%s' δεν πρέπει να είναι μεγαλύτερες από %d"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, fuzzy, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, fuzzy, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "Υπάρχει αντικείμενο με το ίδιο όνομα"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, fuzzy, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "Μη έγκυρη ακέραια παράμετρος `%s'"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, fuzzy, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "κανένας ορισμός του `UNDEFINED'"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, fuzzy, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, fuzzy, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, fuzzy, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, fuzzy, gcc-internal-format
 msgid "not enough type information"
 msgstr "εμφάνιση πληροφοριών προόδου"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, fuzzy, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
@@ -27271,12 +27270,12 @@ msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, fuzzy, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "δημιουργία αρχείου `%s'\n"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -27296,7 +27295,7 @@ msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
@@ -28203,7 +28202,7 @@ msgstr ""
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "Η λειτουργία δεν υποστηρίζεται"
@@ -28296,8 +28295,8 @@ msgstr "το `%s' είναι πρόγονος του `%s'"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "υπερβολικά πολλά αρχεία εισόδου"
@@ -28827,7 +28826,7 @@ msgstr "το `%s' δεν είναι κανονικό αρχείο"
 msgid "type %qT is not derived from type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "αυτονόητη διακύρηξη της συνάρτησης `%s'"
@@ -29137,374 +29136,369 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, fuzzy, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, fuzzy, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "Ο κατάλογος `%s' δεν είναι προσιτός."
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "Υπάρχει αντικείμενο με το ίδιο όνομα"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr ""
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, fuzzy, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, fuzzy, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "αδυναμία εισαγωγής στοιχείο παραβολής `%.*s'"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "μη έγκυρος χρήστης"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "αυτονόητη διακύρηξη της συνάρτησης `%#D'"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr ""
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "δημιουργία αρχείου `%s'\n"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "μη πλήρης εγγραφή"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "μη πλήρης εγγραφή"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "%s: Μη έγκυρη ρύθμιση `%s'.\n"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, fuzzy, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "μη έγκυρη τάξη χαρακτήρων `%s'"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, fuzzy, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "μη έγκυρη τάξη χαρακτήρων `%s'"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, fuzzy, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "μη έγκυρη τάξη χαρακτήρων `%s'"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, fuzzy, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "μη έγκυρη τάξη χαρακτήρων `%s'"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, fuzzy, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "Η παράμετρος `%s' δεν είναι έγκυρη."
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr ""
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "Η παράμετρος `%s' δεν είναι έγκυρη."
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "Η παράμετρος `%s' δεν είναι έγκυρη."
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "μη πλήρης εγγραφή"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -29524,168 +29518,168 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, fuzzy, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr ""
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, fuzzy, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, fuzzy, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "αυτός είναι ο πρώτος ορισμός"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "αυτός είναι ο πρώτος ορισμός"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29697,90 +29691,90 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, fuzzy, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "έχουν παραληφθεί ορίσματα"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, fuzzy, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "αυτός είναι ο πρώτος ορισμός"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "Η λειτουργία δεν υποστηρίζεται"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "αυτός είναι ο πρώτος ορισμός"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "διπλός ορισμός συνόλου"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "κανένας ορισμός του `UNDEFINED'"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29789,72 +29783,72 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "Μη έγκυρη ακέραια παράμετρος `%s'"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "Μη έγκυρη ακέραια παράμετρος `%s'"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "η επιστρεφόμενη τιμή της `%s' δεν είναι `int'"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr ""
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "Μη έγκυρη ανταλλαγή"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "ο χάρτης χαρακτήρων `%s' ορίστηκε ήδη"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "έχουν παραληφθεί ορίσματα"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, fuzzy, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, fuzzy, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "το `%s' είναι πρόγονος του `%s'"
@@ -30204,7 +30198,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30465,154 +30459,154 @@ msgstr "Το `%s' δεν είναι κατάλογος."
 msgid "bad array initializer"
 msgstr ""
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "ακατάλληλος τύπος δικτύου :`%s'\n"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "μη έγκυρος αριθμός από στήλες: `%s'"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αρχείο `%s'"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, fuzzy, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "μη έγκυρη κατάσταση για την dlopen()"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, 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:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr ""
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -30702,12 +30696,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30717,12 +30711,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -30737,100 +30731,100 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "μη έγκυρο byte ή λίστα πεδίων"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αρχείο `%s'"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
 # src/grep.c:785 src/grep.c:792
 # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "μη έγκυρο όρισμα μήκους περιεχομένου"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -30968,154 +30962,154 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr "%s: %s: "
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, fuzzy, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "σφάλμα ταιριάσματος τύπου με προηγούμενη αυτονόητη διακύρηξη"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr ""
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, fuzzy, gcc-internal-format
 msgid "%qD not declared"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr ""
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, fuzzy, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -31245,7 +31239,7 @@ msgstr "Μη έγκυρη ημερομηνία `%s'."
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31475,7 +31469,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -31667,7 +31661,7 @@ msgstr "το `%s' δεν είναι κανονικό αρχείο"
 msgid "compound-statement in constexpr function"
 msgstr ""
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
@@ -31697,7 +31691,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
@@ -31713,12 +31707,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -31755,7 +31749,7 @@ msgstr ""
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31831,12 +31825,12 @@ msgstr "Μη ορισμένο όνομα %s"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
@@ -31851,7 +31845,7 @@ msgstr "ο διαχωριστής δε μπορεί να είναι κενός"
 msgid "expected template-id"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "Μη ορισμένο όνομα %s"
@@ -31980,12 +31974,12 @@ msgstr ""
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
@@ -32030,73 +32024,73 @@ msgstr ""
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 msgid "expected initializer"
 msgstr "μη έγκυρο μέγεθος οριζόντιου στηλοθέτη: %s"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "Μη έγκυρη ανταλλαγή"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "Δεν ήταν δυνατή η εύρεση ετικέττας για μεταγωγή στο `%s'"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "μη έγκυρος αριθμός από γραμμές"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -32105,247 +32099,247 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 msgid "invalid declarator"
 msgstr "μη έγκυρος χρήστης"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 msgid "expected declarator"
 msgstr "κενό αλφαριθμητικό"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "διπλός αριθμός μηνύματος"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "διπλός αριθμός μηνύματος"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "μη έγκυρος χρήστης"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "%s' δεν είναι ισχύων θετικός ακέραιος."
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "Δεν μπορεί να τεθεί η ημερομηνία."
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr ""
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 msgid "expected class-name"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "%s: διπλός ορισμός έκδοσης κατηγορίας"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "%s: διπλός ορισμός έκδοσης κατηγορίας"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "%s: διπλός ορισμός έκδοσης κατηγορίας"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "δε βρέθηκε ο προεπεξεργαστής C: %s \n"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "κανένας ορισμός του `UNDEFINED'"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, fuzzy, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "αδυναμία εισαγωγής στοιχείο παραβολής `%.*s'"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "συντακτικό σφάλμα στον καθορισμό σειράς"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "διπλό όνομα χαρακτήρα `%s'"
@@ -32354,319 +32348,319 @@ msgstr "διπλό όνομα χαρακτήρα `%s'"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "αρχεία fifo δεν υποστηρίζονται"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "Μη έγκυρη ρύθμιση θύρας (port)"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "δημιουργία αρχείου `%s'\n"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "προηγούμενη αυτονόητη διακύρηξη του `%s'"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%s' δεν είναι ισχύων θετικός ακέραιος."
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "Μη έγκυρη ρύθμιση θύρας (port)"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, fuzzy, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "Δεν υπάρχει προηγούμενη κανονική έκφραση"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
 # src/grep.c:785 src/grep.c:792
 # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "μη έγκυρο όρισμα μήκους περιεχομένου"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στο σύστημα αυτό"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "Ακατάλληλη τιμή στο ai_flags"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "Προσδιοριστής αφαιρέθηκε"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 msgid "invalid type for property"
 msgstr "Μη έγκυρη παράμετρος"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "εμφάνιση πληροφοριών προόδου"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "μη τερματιζόμενo αλφαριθμητικό"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, fuzzy, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
@@ -33372,17 +33366,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'"
@@ -33400,257 +33394,257 @@ msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση π
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "μη πλήρης εγγραφή"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "Μη έγκυρη προτεραιότητα `%s'"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "δημιουργία αρχείου `%s'\n"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, fuzzy, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "δημιουργία αρχείου `%s'\n"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "έχει παραληφθεί η λίστα με τα πεδία"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "Μη έγκυρη κανονική έκφραση"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, fuzzy, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "Η παράμετρος `%s' δεν είναι έγκυρη."
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, fuzzy, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "διπλός ορισμός συνόλου"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr ""
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, fuzzy, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "Ο έλεγχος μονοπατιού για το `%s' βρήκε `%s'"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "διπλός ορισμός συνόλου"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "διπλός ορισμός συνόλου"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "αδυναμία ανοίγματος αρχείου ορισμού locale `%s'"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "διπλός ορισμός συνόλου"
@@ -33662,32 +33656,32 @@ msgstr "διπλός ορισμός συνόλου"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "Μη έγκυρος χαρακτήρας παραβολής"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%s' δεν είναι ισχύων θετικός ακέραιος."
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -33695,12 +33689,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "Δεν μπόρεσα να ανοίξω το αρχείο %s"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, fuzzy, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'"
@@ -33939,7 +33933,7 @@ msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση π
 msgid "invalid base-class specification"
 msgstr "Μη έγκυρη ρύθμιση θύρας (port)"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
@@ -34112,264 +34106,264 @@ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr ""
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "κλήση σε μη-συνάρτηση %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "αυτή είναι η θέση του πρώτου ορισμού"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr ""
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "μη έγκυρο μέγεθος οριζόντιου στηλοθέτη: %s"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "το `%s' είναι μη-προσπελάσιμο"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "Μη έγκυρη προπορευόμενη κανονική έκφραση"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "μη τερματιζμένο αλφαριθμητικό σταθεράς"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "Μη ορισμένο όνομα %s"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "αδυναμία αλλαγής στο κατάλογο %s"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "η `%s' είναι συνήθως μη-στατική συνάρτηση"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, fuzzy, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr ""
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr ""
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -35312,122 +35306,122 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "η μετατροπή από `%s' σε `%s' δεν υποστηρίζετε"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr ""
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "Η αλυσίδα μορφής δεν είναι έγκυρη: `%s'"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr ""
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "έχει παραληφθεί το αρχείο προορισμού"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "δεν είστε μέλος της ομάδας `%s'"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "Μη έγκυρη επιλογή `%s'"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "μη πλήρης εγγραφή"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "μη πλήρης εγγραφή"
@@ -35487,187 +35481,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "μη έγκυρος σταθερός χαρακτήρας στο αλφαριθμιτικό"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr ""
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Μη έγκυρη πισω-παραπομπή"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "Μη έγκυρη πισω-παραπομπή"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "συντακτικό σφάλμα στον καθορισμό σειράς"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35702,7 +35696,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
@@ -35812,7 +35806,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -35895,8 +35889,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36041,7 +36035,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -36171,42 +36165,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "πάρα πολλά ορίσματα"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36218,7 +36212,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36501,7 +36495,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -36516,7 +36510,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς μετατροπέα"
@@ -36526,7 +36520,7 @@ msgstr "%s μετατρέπει ακέραιο σε δείκτη χωρίς με
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Μη έγκυρη κανονική έκφραση"
@@ -36725,7 +36719,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36745,835 +36739,835 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "συντακτικό σφάλμα στον καθορισμό σειράς"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr ""
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%s: μη έγκυρη κανονική έκφραση: %s"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "Αγνωστος δυαδικός χειριστής."
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "%s: αναμενόταν αριθμητική τιμή."
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "η τιμή για το %s πρέπει να είναι ακέραιος"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Μη έγκυρη ακέραια παράμετρος `%s'"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "συντακτικό σφάλμα στον καθορισμό σειράς"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "συντακτικό σφάλμα στον ορισμό κλάσης χαρακτήρων"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "Εγγραφή ονομάτων των επιλεγμένων κατηγοριών"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "συντακτικό σφάλμα στο ορισμό του %s: %s"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "διπλό όνομα χαρακτήρα `%s'"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "')' expected"
 msgid "')' expected at %C"
 msgstr "αναμενόταν '('"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "άγνωστος χαρακτήρας `%s'"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "το `%s' είναι πρόγονος του `%s'"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -37816,27 +37810,27 @@ msgstr "Η παράμετρος κινητής υποδιαστολής δεν 
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38097,7 +38091,7 @@ msgid "can't open input file: %s"
 msgstr "αδυναμία ανοίγματος αρχείου εισόδου `%s'"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38213,12 +38207,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40242,7 +40236,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41331,949 +41325,949 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments to procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "πάρα πολλά ορίσματα στη ρουτίνα"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "Μεταγλωττισμός προδιαγραφών τοπικών ρυθμίσεων"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-format
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
 msgstr ""
 
 # src/getopt.c:628
 # src/getopt.c:628
-#: fortran/resolve.c:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
 # src/getopt.c:628
 # src/getopt.c:628
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "πάρα πολλά ορίσματα"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments in call to `%s'"
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "πάρα πολλά ορίσματα στη κλήση της `%s'"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "Το `%s' δεν είναι κατάλογος."
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Ο κατάλογος `%s' δεν είναι προσιτός."
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "Κακή αίτηση παραμέτρων"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42282,175 +42276,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "Η παράμετρος στο <%s> πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -42458,950 +42452,950 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Μη αναγνωρίσιμη μεταβλητή `%s'"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "σχετική θέση αρχείου είναι εκτός ορίων"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "η `%s' παίρνει είτε κανένα είτε δύο ορίσματα"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Η λειτουργία δεν έχει υλοποιηθεί"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "το `%s' δεν είναι κανονικό αρχείο"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43567,34 +43561,34 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "Η παράμετρος στο `%s' πρέπει να είναι ένας απλός χαρακτήρας"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -43602,47 +43596,47 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -44013,17 +44007,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -44639,17 +44633,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "Δεν μπόρεσα να ανοίξω το αρχείο %s"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 msgid "unexpected offset"
 msgstr "Μη ορισμένο όνομα %s"
@@ -44659,67 +44653,67 @@ msgstr "Μη ορισμένο όνομα %s"
 msgid "invalid line in the resolution file"
 msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "αδυναμία ανοίγματος του `%s'"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "αδυναμία ανοίγματος του `%s'"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "αδυναμία ανοίγματος του `%s'"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "αδυναμία ανοίγματος αρχείου εξόδου `%s'"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "σφάλμα εγγραφής %s"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "αδυναμία ανοίγματος αρχείου εξόδου `%s'"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "Δεν μπόρεσα να ανοίξω το αρχείο %s"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index 80244c1..6a0d922 100644 (file)
Binary files a/gcc/po/es.gmo and b/gcc/po/es.gmo differ
index f9a9e0f..07878db 100644 (file)
@@ -1,4 +1,4 @@
-# Mensajes en español para gcc-4.7.1.
+# Mensajes en español para gcc-4.7.2.
 # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gcc package.
 # Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gcc 4.7.1\n"
+"Project-Id-Version: gcc 4.7.2\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
-"PO-Revision-Date: 2012-06-22 13:49-0500\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
+"PO-Revision-Date: 2012-09-24 13:50-0500\n"
 "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "Language: es\n"
@@ -28,7 +28,7 @@ msgstr "<anónimo>"
 msgid "({anonymous})"
 msgstr "({anónimo})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "se esperaba fin de línea"
@@ -38,8 +38,8 @@ msgstr "se esperaba fin de línea"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "se esperaba %<;%>"
@@ -51,13 +51,13 @@ msgstr "se esperaba %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "se esperaba %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "se esperaba %<,%>"
@@ -73,14 +73,14 @@ msgstr "se esperaba %<,%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "se esperaba %<)%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "se esperaba %<]%>"
@@ -89,25 +89,25 @@ msgstr "se esperaba %<]%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "se esperaba %<;%>, %<,%> o %<)%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "se esperaba %<}%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "se esperaba %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "se esperaba %<:%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "se esperaba %<while%>"
@@ -116,34 +116,34 @@ msgstr "se esperaba %<while%>"
 msgid "expected %<.%>"
 msgstr "se esperaba %<.%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "se esperaba %<@end%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "se esperaba %<>%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "se esperaba %<,%> o %<)%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "se esperaba %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "se esperaba %<#pragma omp section%> o %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "se esperaba %<[%>"
@@ -321,12 +321,12 @@ msgstr "el operando '%%l' no es una etiqueta"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "constante de coma flotante mal usada"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "expresión inválida como operando"
@@ -1409,20 +1409,20 @@ msgstr "no se reconoce la insn:"
 msgid "insn does not satisfy its constraints:"
 msgstr "la insn no satisface sus restricciones:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "creado y usado con diferentes opciones de '%s'"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "memoria agotada"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "creado y usado con diferentes opciones de -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "creado y usado con diferentes opciones de -fpie"
 
@@ -2022,195 +2022,195 @@ msgstr "La distancia mínima entre store y load en posible conflicto"
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "El número máximo de nodos RTL que se pueden grabar como el último valor del combinador"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "El límite superior para compartir constantes enteras"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "El número mínimo de mapeos virtuales para considerar el cambio a renombrados virtuales completos"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Tasa entre mapeos virtuales y símbolos virtuales para hacer renombrados virtuales completos"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "El límite inferior para considerar un almacenamiento temporal para protección contra destrucción de pila"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Número máximo de sentencias permitidas en un bloque que necesitan ser duplicadas al hacer hilos de saltos"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "El número máximo de campos en una estructura antes de que el análisis de punteros trate a la estructura como una sola variable"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "El número máximo de instrucciones listas para ser ejecutadas para ser consideradas por el calendarizador durante el primer paso de calendarización"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr "Número máximo de almacenamientos locales activos en la eliminación de almacenamiento muerto RTL"
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "El número de insns ejecutadas antes de completar la precarga"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "El número de precargas que se pueden ejecutar simultánamente"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "El tamaño del caché L1"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "El tamaño de la línea del caché L1"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "El tamaño del caché L2"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Decide si se usan tipos canónicos"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr "Longitud máxima del conjunto antic parcial al realizar pre optimización de árbol"
 
-#: params.def:775
+#: params.def:776
 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:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr "Número de bucles máximo para el RA regional"
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr "Tamaño máximo de la tabla de conflictos en MB"
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "El número de registros conservados sin uso en cada clase por el movimiento invariante del bucle"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "La tasa máxima entre el tamaño de la matriz y las ramificaciones switch para que tome lugar una conversión switch"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr "tamaño de bloques para el bloqueo de bucles"
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "número máximo de parámetros en un SCoP"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr "número máximo de bloques básicos por función para analizar con Graphite"
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr "Número máximo de referencia de datos en bucles para construir dependencia de datos de bucles"
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "Número máximo de bloques básicos en el bucle para el movimiento invariante de bucle"
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "El número máximo de instrucciones en bloque básico que se consideran para vectorización SLP"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr "Tasa mínima de insns a precargar para activar la precarga para un bucle con una cuenta de viajes desconocida"
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr "Tasa mínima de insns a ops de mem para activar la precarga en un bucle"
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr "Tamaño máximo de las tablas de dispersión de rastreo de variables"
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr "Profundidad máxima de recursión para expandir expresiones de rastreo de variables"
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr "El UID mínimo a usar para una insn que no es de depuración"
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr "El crecimiento máximo permitido de tamaño de los parámetros nuevos ipa-sra que reemplazan un puntero a un agregado con"
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr "Tamaño en bytes después del cual los agregados thread-local se deben instrumentar con las funciones de registro en lugar de pares save/restore"
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr "Tamaño máximo de una lista de valores asociada con cada parámetro para propagación constante entre procedimientos"
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr "Rango de evaluación de oportunidad ipa-cp que aún se considera benéfico para clonar."
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr "Número de particiones en las que se debe dividir el programa"
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr "Tamaño minimal de una partición para LTO (en instrucciones estimadas)"
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "Número máximo de espacios de nombres a buscar por alternativas cuando falla la búsqueda de nombre"
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "El número máximo de pares de almacenamiento condicional que se pueden hundir"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr "El número más pequeño de valores diferentes para los cuales es mejor usar una tabla-salto en lugar de un árbol de ramificaciones condicionales; si es 0, usa el valor por defecto para la máquina"
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr "Permite que se introduzcan carreras de datos nuevos en loads"
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr "Permite que se introduzcan carreras de datos nuevos en stores"
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Permite que se introduzcan carreras de datos nuevos en loads de datos packed"
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Permite que se introduzcan carreras de datos nuevos en stores de datos packed"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr "Establece el número máximo de instrucciones ejecutadas en paralelo en el árbol de reasociación. Si es 0, usa la heurística dependiente del objetivo."
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr "Cantidad máxima de bbs similares con las cuales comparar un bb"
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr "Cantidad máxima de iteraciones del paso sobre una función"
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr "Número máximo de cadenas para las que el paso de optimización de strlen rastreará longitudes de cadenas"
 
@@ -2543,18 +2543,18 @@ msgid "invalid %%r value"
 msgstr "valor %%r inválido"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "valor %%R inválido"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "valor %%N inválido"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "valor %%P inválido"
@@ -2569,12 +2569,12 @@ msgstr "valor %%h inválido"
 msgid "invalid %%L value"
 msgstr "valor %%L inválido"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "valor %%m inválido"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "valor %%M inválido"
@@ -2585,7 +2585,7 @@ msgid "invalid %%U value"
 msgstr "valor %%U inválido"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "valor %%s inválido"
@@ -2595,7 +2595,7 @@ msgstr "valor %%s inválido"
 msgid "invalid %%C value"
 msgstr "valor %%C inválido"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "valor %%E inválido"
@@ -2606,38 +2606,38 @@ msgid "unknown relocation unspec"
 msgstr "reubicación unspec desconocida"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "código %%xn inválido"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "instrucción de predicado Thumb"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "instrucción de predicado en una secuencia condicional"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "No se admite el operando para el código '%c'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "operando de desplazamiento inválido"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2645,79 +2645,79 @@ msgstr "operando de desplazamiento inválido"
 msgid "invalid operand for code '%c'"
 msgstr "operando inválido para el código '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "la instrucción nunca se ejecuta"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "falta un operando"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "los parámetros de la función no pueden tener el tipo __fp16"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "la función no puede devolver el tipo __fp16"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, 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:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "los operandos para %T/%t deben ser reg + const_int:"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr "dirección errónea, no es una dirección de E/S:"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 msgid "bad address, not a constant:"
 msgstr "dirección errónea, no es una constante:"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "dirección errónea, no (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 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:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "error interno del compilador.  Dirección errónea:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "error interno del compilador.  Modo desconocido:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "insn inválida:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "insn incorrecta:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "insn move desconocida:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "insn shift errónea:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "error interno del compilador.  Desplazamiento incorrecto:"
 
@@ -2733,7 +2733,7 @@ msgstr "operando const_double inválido"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2963,72 +2963,72 @@ msgstr "operando output_move_double erróneo"
 msgid "bad output_condmove_single operand"
 msgstr "operando output_condmove_single erróneo"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "UNSPEC inválido como operando"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "se usó '%%&' sin ninguna referencia TLS dinámica local"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "tamaño de operando inválido para el código de operando '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "se usó un tipo de operando inválido con el código de operando '%c'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "el operando no es un código de condición, código de operando 'D' inválido"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, 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:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "el operando no es una constante ni un código de condición, código de operando 'F' inválido"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "el operando no es una constante ni un código de condición, código de operando 'f' inválido"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "el operando no es una referencia de memoria desplazable, código de operando 'H' inválido"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "el operando no es un código de condición, código de operando 'Y' inválido"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "código de operando '%c' inválido"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "restricciones inválidas para el operando"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "modo insn desconocido"
 
@@ -3079,13 +3079,13 @@ msgstr "conversión inválida a %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "operación inválida en %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "operando %%P inválido"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "valor %%p inválido"
@@ -3164,7 +3164,7 @@ msgid "post-increment address is not a register"
 msgstr "la dirección de post-incremento no es un registro"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "dirección errónea"
 
@@ -3299,115 +3299,115 @@ msgstr "Espacio de pila agotado.\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "Pruebe ejecutar '%s' en el intérprete de órdenes para elevar su límite.\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx requiere coma flotante de hardware"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx y -mpaired son incompatibles"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "se usó -mvsx con código little endian"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr "-mvsx necesita direccionamiento indizado"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx y -mno-altivec son incompatibles"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec desactiva vsx"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "move erróneo"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "valor %%c inválido"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "valor %%f inválido"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "valor %%F inválido"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "valor %%G inválido"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "código %%j inválido"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "código %%J inválido"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "valor %%k inválido"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "valor %%K inválido"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "valor %%O inválido"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "valor %%q inválido"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "valor %%S inválido"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "valor %%T inválido"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "valor %%u inválido"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "valor %%v inválido"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "valor %%x inválido"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "valor %%y inválido, pruebe usando la restricción 'Z'"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "Se pasó un argumento Altivec a una función sin prototipo"
 
@@ -3496,25 +3496,25 @@ msgstr "expresión inválida para el modificador de salida '%c'"
 msgid "invalid operand for code: '%c'"
 msgstr "operando inválido para code: '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "operando inválido para %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "operando inválido para %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "creado y usado con diferentes arquitecturas / ABIs"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "creado y usado con diferentes ABIs"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "creado y usado con diferente orden de bits"
 
@@ -3533,13 +3533,13 @@ msgstr "operando %%A inválido"
 msgid "invalid %%B operand"
 msgstr "operando %%B inválido"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "operando %%C inválido"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "operando %%D inválido"
@@ -3584,57 +3584,57 @@ msgstr "el operando 'o' no es una constante"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: código desconocido"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "operando %%c inválido"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "operando %%d inválido"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, c-format
 msgid "invalid %%H specifier"
 msgstr "especificador %%H inválido"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, c-format
 msgid "invalid %%h operand"
 msgstr "operando %%h inválido"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, c-format
 msgid "invalid %%I operand"
 msgstr "operando %%I inválido"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, c-format
 msgid "invalid %%i operand"
 msgstr "operando %%i inválido"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, c-format
 msgid "invalid %%j operand"
 msgstr "operando %%j inválido"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, c-format
 msgid "invalid %%%c operand"
 msgstr "operando %%%c inválido"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, c-format
 msgid "invalid %%N operand"
 msgstr "operando %%N inválido"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "operando inválido para el especificador 'r'"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr "aún no se puede mostrar el operando; code == %d (%c)"
@@ -3948,7 +3948,7 @@ msgstr "%s:%d:   en la expansión de la expresión constante de %qs"
 msgid "candidates are:"
 msgstr "los candidatos son:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4317,11 +4317,11 @@ msgstr "bloque IF"
 msgid "implied END DO"
 msgstr "END DO implícito"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "asignación"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "asignación de puntero"
 
@@ -4329,123 +4329,123 @@ msgstr "asignación de puntero"
 msgid "simple IF"
 msgstr "IF simple"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr "procedimiento módulo"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr "función interna"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "procedimiento elemental"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Contexto inválido para el puntero NULL() en %%L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, 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:3830
+#: fortran/resolve.c:3832
 #, 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:3845
+#: fortran/resolve.c:3847
 #, 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:3864
+#: fortran/resolve.c:3866
 #, 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:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "El operando del operador .not. en %%L es %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "Las cantidades COMPLEX no se pueden comparar en %L"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, 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:3927
+#: fortran/resolve.c:3929
 #, 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:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Operador '%s' desconocido en %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, 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:3941
+#: fortran/resolve.c:3943
 #, 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:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Rangos inconsistentes para el operador en %%L y %%L"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr "Variable de ciclo"
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr "variable de iterador"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr "Expresión de inicio en el bucle DO"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr "Expresión de fin en el bucle DO"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr "Expresión de paso en el bucle DO"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr "objeto DEALLOCATE"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr "objeto ALLOCATE"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr "variable STAT"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr "variable ERRMSG"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr "elemento en READ"
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr "variable ACQUIRED_LOCK"
 
@@ -4454,7 +4454,7 @@ msgstr "variable ACQUIRED_LOCK"
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "Longitudes de CHARACTER diferentes (%ld/%ld) en el constructor de matriz"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr "Desborde entero al calcular la cantidad de memoria a reservar"
 
@@ -4775,6 +4775,18 @@ msgstr "no se pueden usar mthreads y mlegacy-threads juntos"
 msgid "cannot use mshared and static together"
 msgstr "no se pueden usar mshared y static juntos"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4864,26 +4876,10 @@ msgstr "Objective C de GNU ya no admite compilación tradicional"
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr "objc-cpp-output es obsoleto; por favor use en su lugar objective-c-cpp-output"
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "la opción -shared no se admite actualmente en ELF de VAX"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran no admite -E sin usar -cpp"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a no se admite para little-endian"
@@ -4896,6 +4892,10 @@ msgstr " se usan interruptores de estilo de generación de código en conflicto"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr "objc++-cpp-output es obsoleto; pr favor use en su lugar objective-c++-cpp-output"
 
+#: config/vax/netbsd-elf.h:51
+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/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "el análisis de perfil no se admite con -mg"
@@ -7589,8 +7589,8 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Sigue las convenciones de llamada Renesas (anteriormente Hitachi) / SuperH"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr "Incrementa el cumplimiento con IEEE para el código de coma flotante"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "Incrementa el cumplimiento con IEEE para las comparaciones de coma flotante"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -11791,224 +11791,220 @@ msgstr "Crea una biblioteca compartida"
 msgid "Create a position independent executable"
 msgstr "Genera un ejecutable independiente de posición"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr "uso inválido del tipo"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr "la constante se refiere a sí misma"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "se esperaba un tipo numérico"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr "se esperaba un tipo booleano"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "se esperaba un tipo entero o booleano"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 msgid "invalid operand for unary %<&%>"
 msgstr "operando inválido para el unario %<&%>"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "se esperaba un puntero"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr "tipos incompatibles en la expresión binaria"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr "desplazamiento de un operando que no es entero"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr "la cuenta de desplazamiento no es un entero sin signo"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr "cuenta de desplazamiento negativa"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "el objeto no es un método"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr "el tipo de método no coincide con el tipo de objeto"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr "uso inválido de %<..%> con la función interna"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "faltan argumentos"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "demasiados argumentos"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 msgid "argument 1 must be a map"
 msgstr "el argumento 1 debe ser un mapa"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 msgid "invalid type for make function"
 msgstr "tipo inválido para la función make"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr "se requiere longitud al alojar una rebanada"
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr "tamaño erróneo para make"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr "capacidad errónea al crear la rebanada"
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 msgid "too many arguments to make"
 msgstr "demasiados argumentos para make"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr "el argumento debe ser matriz o rebanada o canal"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr "el argumento debe ser cadena o matriz o rebanada o mapa o canal"
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 msgid "unsupported argument type to builtin function"
 msgstr "no se admite el tipo de argumento para la función interna"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr "el argumento debe ser canal"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr "no se puede cerrar un canal de sólo recepción"
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 msgid "argument must be a field reference"
 msgstr "el argumento debe ser una referencia de campo"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr "el argumento izquierdo debe ser una rebanada"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr "los tipos de elemento deben ser el mismo"
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 msgid "first argument must be []byte"
 msgstr "el primer argumento debe ser []byte"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr "el segundo argumento debe ser una rebanada o una cadena"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 msgid "argument 2 has invalid type"
 msgstr "el argumento 2 es de tipo inválido"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr "el argumento debe tener tipo complejo"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr "los argumentos complejos deben tener tipos idénticos"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr "los argumentos complejos deben tener tipo de coma flotante"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 msgid "invalid use of %<...%> with non-slice"
 msgstr "uso inválido de %<...%> con algo que no es rebanada"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "se esperaba función"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr "tipo incompatible para el receptor"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "uso inválido de %<...%> en la llamada a la función que no es variadic"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr "el número de resultados no coincide con el número de valores"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "el índice debe ser entero"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr "el final de la rebanada debe ser entero"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr "rebanada con valor que no es direccionable"
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr "tipo incompatibles para el índice de mapa"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr "se esperaba interfaz o puntero a interfaz"
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr "demasiadas expresiones para struct"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr "faltan expresiones para struct"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr "conversión unsafe.Pointer inválida"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr "la aserción de tipo sólo es válida para los tipos de interfaz"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr "aserción de tipo imposible: el tipo no implementa interfaz"
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr "se esperaba canal"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr "recepción inválida en canal de sólo envío"
 
@@ -12044,19 +12040,23 @@ msgstr "demasiados valores en la declaración de devolución"
 msgid "expected boolean expression"
 msgstr "se esperaba una expresión booleana"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr "no se puede cambiar el tipo en valores que no son de interfaz"
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr "tipos incompatibles en send"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr "envío inválido en canal de sólo recepción"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr "demasiadas variables para la cláusula de rango con canal"
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr "la cláusula de rango debe tener tipo matriz, rebanada, cadena, mapa o canal"
 
@@ -12341,7 +12341,7 @@ msgstr "el argumento 1 para __atomic_is_lock_free no es un entero"
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%Kuso inválido de %<__builtin_va_arg_pack ()%>"
@@ -12435,13 +12435,13 @@ msgstr "%Kse intenta liberar un objeto que no es de pila"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "no se descarta el valor void como debería de ser"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "se solicitó conversión a un tipo que no es escalar"
@@ -12816,7 +12816,7 @@ msgstr "switch salta dentro de una expresión de declaración"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE definido como un tipo erróneo de etiqueta"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "uso inválido de %<restrict%>"
@@ -12944,7 +12944,7 @@ msgstr "un objeto de tamaño variable puede no ser inicializado"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "la variable %qD tiene inicializador pero de tipo de dato incompleto"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, 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"
@@ -12954,7 +12954,7 @@ msgstr "se le dió a la función incluída en línea %q+D un atributo noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "el miembro const sin inicializar en %qT es inválido en C++"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%qD se debe inicializar"
@@ -13852,7 +13852,7 @@ msgstr "el argumento %qD no coincide con el prototipo interno"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "el argumento %qD no coincide con el prototipo"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, 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"
@@ -14055,7 +14055,7 @@ msgstr "ISO C no permite un %<;%> extra fuera de una función"
 msgid "unknown type name %qE"
 msgstr "nombre de tipo %qE desconocido"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "se esperaban especificadores de declaración"
@@ -14065,7 +14065,7 @@ msgstr "se esperaban especificadores de declaración"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "se esperaba %<;>, identificador o %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "se descartan los atributos de prefijo para los métodos"
@@ -14113,7 +14113,7 @@ msgstr "ISO C99 no admite %<_Static_assert%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 no admite %<_Static_assert%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "se esperaba una cadena literal"
@@ -14145,8 +14145,8 @@ msgstr "falló la aserción estática: %E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "se esperaba un identificador"
@@ -14480,77 +14480,77 @@ msgstr "se esperaba una declaración método objective-c"
 msgid "no type or storage class may be specified here,"
 msgstr "ninguna clase de almacenamiento o tipo se puede especificar aquí,"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "atributo de propiedad desconocido"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "falta un %<=%> (después del atributo %<getter%>)"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "falta un %<=%> (después del atributo %<setter%>)"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "el atributo %<setter%> sólo se puede especificar una vez"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr "el nombre del setter debe terminar con %<:%>"
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "el atributo %<getter%> sólo se puede especificar una vez"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, 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:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, 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:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> sólo se puede usar en declaraciones compuestas"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskyield%> sólo se puede usar en declaraciones compuestas"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, 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%>"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> debe ser primero"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "demasiadas cláusulas %qs"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "el argumento de collapse necesita una expresión entera constante positiva"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "se esperaba %<none%> o %<shared%>"
@@ -14565,42 +14565,42 @@ msgstr "se esperaba una expresión entera"
 msgid "%<num_threads%> value must be positive"
 msgstr "el valor de %<num_threads%> debe ser positivo"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "se esperaba %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> o %<max%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "el calendarizador %<runtime%> no toma un parámetro %<chunk_size%>"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "el calendarizador %<auto%> no toma un parámetro %<chunk_size%>"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "género de calendarizador inválido"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "se esperaba una cláusula %<#pragma omp%>"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs no es válido para %qs"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "forma inválida de %<#pragma omp atomic%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "operador inválido para %<#pragma omp atomic%>"
@@ -14610,7 +14610,7 @@ msgstr "operador inválido para %<#pragma omp atomic%>"
 msgid "expected %<(%> or end of line"
 msgstr "se esperaba %<(%> o fin de línea"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "se esperaba una declaración for"
@@ -14625,12 +14625,12 @@ msgstr "se esperaba una declaración de iteración o una inicialización"
 msgid "not enough perfectly nested loops"
 msgstr "no hay suficientes bucles perfectamente anidados"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "los bucles colapsados no están perfectamente anidados"
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "la variable de iteración %qD no debe ser firstprivate"
@@ -14655,27 +14655,27 @@ msgstr "la variable automática %qE no puede ser %<threadprivate%>"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%> %qE tiene tipo incompleto"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr "%<__transaction_cancel%> sin activar el soporte para memoria transaccional"
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr "%<__transaction_cancel%> dentro de un %<__transaction_relaxed%>"
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr "%<__transaction_cancel%> más externo no está dentro del %<__transaction_atomic%> más externo"
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr "  o una función %<transaction_may_cancel_outer%>"
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr "%<__transaction_cancel%> no está dentro de %<__transaction_atomic%>"
@@ -15453,7 +15453,7 @@ msgstr "matriz inicializada con una constante de cadena entre paréntesis"
 msgid "initialization of a flexible array member"
 msgstr "inicialización de un miembro de matriz flexible"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "matriz de tipo char inicializada con una cadena ancha"
@@ -15659,223 +15659,223 @@ msgstr "%<return%> con valor, en una función que devuelve void"
 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:8825
+#: c-typeck.c:8831
 #, 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:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "la cantidad de switch no es un entero"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "la etiqueta de case no es una expresion constante entera"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, 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:8963
+#: c-typeck.c:8969
 #, 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:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "se sugieren llaves explícitas para evitar un %<else%> ambiguo"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "la declaración break no está dentro de un bucle o switch"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "la declaración continue no está dentro de un bucle"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "se usó la declaración break en un bucle for de OpenMP"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "declaración sin efecto"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, 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:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr "la conversión de escalar a vector implica truncado"
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "la cuenta de desplazamiento a la derecha es negativa"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "la cuenta de desplazamiento a la izquierda es negativa"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "cuenta de desplazamiento a la izquierda >= anchura del tipo"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr "se comparan vectores con tipos de elemento diferentes"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr "se comparan vectores con números de elementos diferentes"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, 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:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr "la comparación siempre se evalúa como %<false%> para la dirección de %qD que nunca será NULL"
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr "la comparación siempre se evalúa como %<true%> para la dirección de %qD que nunca será NULL"
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "la comparación de punteros a espacios de direcciones discontinuos"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, 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:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "comparación entre puntero y entero"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "comparación de punteros completos e incompletos"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "comparación ordenada de puntero con un puntero nulo"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "comparación ordenada de puntero con el entero cero"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "conversión implícita de %qT a %qT para coincidir con otro operando de la expresión binaria"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, 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:10582
+#: c-typeck.c:10588
 #, 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:10586
+#: c-typeck.c:10592
 #, 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:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr "se usa un tipo vector cuando se requiere un escalar"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE tiene tipo inválido para %<reduction%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE tiene tipo inválido para %<reduction(%s)%>"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE debe ser %<threadprivate%> para %<copin%>"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, 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:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, 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:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, 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:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, 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:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE está predeterminado como %qs para %qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr "C++ requiere un tipo promovido, no un tipo enum, en %<va_arg%>"
@@ -16895,7 +16895,7 @@ msgstr "el dominador de %d debería ser %d, no %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr "sólo se admiten múltiples personalidades EH con ensambladores que admiten la directiva cfi.personality"
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr "se encontró UNSPEC %s (%d) que no está delegitimado la ubicación de variable"
@@ -17015,12 +17015,12 @@ msgstr "cuando un objeto volatile abarca múltiples ubicaciones con tamaño de t
 msgid "local frame unavailable (naked function?)"
 msgstr "el marco local no está disponible (¿Función desnuda?)"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%Kla llamada a %qs se redeclaró con error de atributo: %s"
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%Kla llamada a %qs se redecló con aviso de atributo: %s"
@@ -17105,27 +17105,27 @@ msgstr "fold check: el árbol original cambió por un pliegue"
 msgid "total size of local objects too large"
 msgstr "el tamaño total de los objetos locales es demasiado grande"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "restricción imposible en %<asm%>"
 
-#: function.c:3959
+#: function.c:3974
 #, 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:3980
+#: function.c:3995
 #, 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "la función devuelve un agregado"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "parámetro %q+D sin uso"
@@ -17554,62 +17554,62 @@ msgstr "revisión gimple: se esperaba %s(%s), se tiene %s(%s) en %s, en %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "se usa el resultado de una función que devuelve %<void%>"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "l-valor inválido en la salida asm %d"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-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:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "la entrada de memoria %d no es directamente direccionable"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "se usó la variable threadprivate %qE en una tarea sin atar"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr "tarea contenedora"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr "no se especificó %qE en el paralelo que lo contiene"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr "paralelo contenedor"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "la variable de iteración %qE debe ser private"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "la variable de iteración %qE no debe ser firstprivate"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "la variable de iteración %qE no debe ser reduction"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "la variable %s %qE es private en el contexto externo"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "falló la gimplificación"
@@ -17813,48 +17813,48 @@ msgstr "la variable %qD se redeclaró como función"
 msgid "function %qD redeclared as variable"
 msgstr "la función %qD se redeclaró como variable"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "la región de barrera puede no estar bien anidada dentro de la región de trabajo compartido, crítica, ordenada, maestra o de tarea explícita"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "la región de trabajo compartido puede no estar bien anidada dentro de la región de trabajo compartido, crítica, ordenada, maestra o de tarea explícita"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "la región maestra puede no estar bien anidada dentro de la región de trabajo compartido o de tarea explícita"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "la región ordenada puede no estar bien anidada dentro de la región crítica o de tarea explícita"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, 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 bucle con una cláusula ordenada"
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, 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:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "salida inválida de un bloque estructurado OpenMP"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "entrada inválida a un bloque estructurado OpenMP"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "ramificación inválida desde/para un bloque estructurado OpenMP"
@@ -17950,12 +17950,12 @@ msgstr "la memoria transaccional no se admite con excepciones que no son llamada
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr "las anclas de seccions se deben desactivar cando el reordenamiento de nivel principal se desactiva"
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition no funciona con excepciones en esta arquitectura"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition no admite información de desenredo en esta arquitectura"
@@ -18325,8 +18325,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "no se puede usar %qs como un registro fijo"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "nombre de registro desconocido: %s"
@@ -18631,7 +18631,7 @@ msgstr "el atributo packed causa una alineación ineficiente"
 msgid "packed attribute is unnecessary"
 msgstr "no es necesario el atributo packed"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, 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"
@@ -18651,12 +18651,12 @@ msgstr "no se admiten funciones anidadas en este objetivo"
 msgid "nested function trampolines not supported on this target"
 msgstr "no se admiten trampolines de funciones anidadas para este objetivo"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "el atributo target no se admite en esta plataforma"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "No se admite #pragma GCC target en este objetivo"
@@ -18846,7 +18846,7 @@ msgstr "uso volatile de %qD inválido dentro de la transacción"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr "la llamada a la función %<transaction_may_cancel_outer%> no está en una transacción más externa o %<transaction_may_cancel_outer%>"
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr "llamada a función %qD insegura dentro de una transacción atómica"
@@ -18861,7 +18861,7 @@ msgstr "llamada a función %qE insegura dentro de una transacción atómica"
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "llamada a función indirecta insegura dentro de una transacción atómica"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr "llamada a función %qD insegura dentro de la función %<transaction_safe%>"
@@ -18876,7 +18876,7 @@ msgstr "llamada a función %qE insegura dentro de la función %<transaction_safe
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr "llamada a función indirecta insegura dentro de la función %<transaction_safe%>"
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "no se permite asm en una transacción atómica"
@@ -18911,7 +18911,7 @@ msgstr "transacción más externa en la función %<transaction_may_cancel_outer%
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr "transacción más externa en la función %<transaction_safe%>"
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "%Kno se permite asm en una función %<transaction_safe%>"
@@ -19531,117 +19531,117 @@ msgstr "no se puede abrir el fichero de volcado %qs: %m"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "se descarta la opción desconocida %q.*s en %<-fdump-%s%>"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr "el BB %i tiene múltiples bordes EH"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr "el BB %i no puede hacer throw pero tiene un borde EH"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "la última sentencia del BB %i tiene establecido incorrectamente lp"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr "al BB %i le falta un borde EH"
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "Borde EH %i->%i incorrecto"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr "al BB %i le falta un borde"
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr "BB %i demasiados bordes de respaldo"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr "BB %i tiene un borde incorrecto"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr "BB %i tiene un borde de respaldo incorrecto"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "la función %q+F nunca se puede copiar porque recibe un goto que no es local"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "la función %q+F nunca se puede copiar porque guarda direcciones de etiqueta local en una variable estática"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, 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:3122
+#: tree-inline.c:3123
 #, 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:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, 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:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, 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:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, 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:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "falló la inclusión en línea en la llamada a always_inline %q+F: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "llamado desde aquí"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, 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"
@@ -19677,7 +19677,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "corrupción de SSA"
@@ -19917,72 +19917,72 @@ msgstr "la operación vectorial se expandirá con una sola operación escalar"
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr "la operación de ordenamiento vectorial se expandirá por piezas"
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "el subíndice de la matriz está fuera de los límites de la matriz"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "el subíndice de la matriz está por arriba de los límites de la matriz"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "el subíndice de la matriz está por debajo de los límites de la matriz"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr "se asume que el desbordamiento con signo no sucede al simplificar el condicional a constante"
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr "se asume que el desbordamiento con signo no sucede al simplificar el condicional"
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "la comparación siempre es falsa debido al rango limitado del tipo de datos"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "la comparación siempre es verdadera debido al rango limitado del tipo de datos"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "se asume que el desbordamiento con signo no sucede al simplificar %</%> o %<%%%> a %<>>%> o %<&%>"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "se asume que el desbordamiento con signo no sucede al simplificar %<abs (X)%> a %<X%> o %<-X%>"
 
-#: tree.c:4235
+#: tree.c:4236
 #, 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:5460
+#: tree.c:5475
 #, 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:5472
+#: tree.c:5487
 #, 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 enlace dllimport"
 
-#: tree.c:5487
+#: tree.c:5502
 #, 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:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -19996,141 +19996,141 @@ msgstr "%q+D se redeclara sin el atributo dllimport: se descarta el dllimport pr
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "se descarta el atributo %qE"
 
-#: tree.c:5570
+#: tree.c:5585
 #, 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:5578
+#: tree.c:5593
 #, 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:5586
+#: tree.c:5601
 #, 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:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "se requiere enlace externo para el símbolo %q+D debido al atributo %qE"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qE implica visibilidad por defecto, pero %qD ya se había declarado con una visibilidad diferente"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "las matrices de funciones no tienen significado"
 
-#: tree.c:7545
+#: tree.c:7561
 #, 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:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-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:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-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:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qD es obsoleto (declarado en %s:%d): %s"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qD es obsoleto (declarado en %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qE es obsoleto (declarado en %s:%d): %s"
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qE es obsoleto (declarado en %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "el tipo es obsoleto (declarado en %s:%d): %s"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "el tipo es obsoleto (declarado en %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%qE es obsoleto: %s"
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%qE es obsoleto"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "el tipo es obsoleto: %s"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "el tipo es obsoleto"
@@ -20346,12 +20346,12 @@ msgstr "error de dominio del vector %s %s, en %s en %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "no hay sclass para el stab %s (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr "flujo de bytecode: se esperaba la etiqueta %s en lugar de %s"
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr "flujo de bytecode: la etiqueta %s no está en el rango esperado [%s, %s]"
@@ -20366,8 +20366,8 @@ msgstr "%qD no está definido fuera del ámbito de la función"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "la longitud de la cadena %qd es mayor que la longitud %qd, la máxima que los compiladores ISO C%d deben admitir"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "desbordamiento en la expresión constante"
@@ -20995,40 +20995,40 @@ msgstr "se descarta el atributo %qE para %qE"
 msgid "invalid vector type for attribute %qE"
 msgstr "tipo de vector inválido para el atributo %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "el tamaño del vector no es un múltiplo integral del tamaño del componente"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "vector de tamaño cero"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "el número de componentes del vector no es una potencia de dos"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "un atributo que no es nulo sin argumento es un atributo que no es prototipo"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "un argumento que no es nulo tiene un número de operando inválido (argumento %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "un argumento que no es nulo con número de operando fuera de rango (argumento %lu, operando %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "un argumento que no es nulo hace referencia a un operando que no es puntero (argumento %lu, operando %lu)"
@@ -21068,12 +21068,12 @@ msgstr "el atributo %qE requiere prototipos con argumentos nombrados"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "el atributo %qE se aplica solamente a funciones variadic"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "la posición solicitada no es una constante entera"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "la posición solicitada es menor a cero"
@@ -22824,229 +22824,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "valor %qs erróneo para -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "fcode interno erróneo"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "la opción -mcpu=%s genera un conflicto con la opción -march=%s"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "el CPU objetivo no tiene soporte para el modo ARM"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "el CPU objetivo no admite trabajo interno"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "el CPU objetivo no admite las instrucciones THUMB"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "habilitar el soporte de rastreo hacia atrás sólo tiene significado cuando se compila para el Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "habilitar el soporte de trabajo interno de llamado sólo tiene significado cuando se compila para el Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check es incompatible con -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic y -mapcs-reent son incompatibles"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "no se admite el código reentrante APCS.  Descartado"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g con -mno-apcs-frame no permite una depuración sensible"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "aún no se admite el paso de argumentos de coma flotante en registros fp"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr "%<mwords-little-endian%> es obsoleto y se eliminará en una versión futura"
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt requiere una ABI compatible con AAPCS para una operación adecuada"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "el abi iwmmxt requiere un cpu capaz de iwmmxt"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr "no se admite FPA en el AAPCS"
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS no admite -mcaller-super-interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS no admite -mcallee-super-interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "coma flotante iWMMXt y de hardware"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "iWMMXt de Thumb-2"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 sin ldrh"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard y VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "no se puede usar -mtp=cp15 con Thumb de 16-bit"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8, 32 o 64"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "el límite del tamaño de la estructura sólo se puede establecer a 8 o 32"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "El PIC de RTP es incompatible con Thumb"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "El PIC de RTP es incompatible con -msingle-pic-base"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= es inútil sin -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "no se puede usar '%s' para registro PIC"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "el CPU objetivo no admite accesos sin alinear"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "no se admite -freorder-blocks-and-partition en esta arquitectura"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr "variante PCS derivada de un no AAPCS"
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr "las funciones variadic debe usar la variante AAPCS base"
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "variante PCS"
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr "ABI de VFP de coma flotante dura de Thumb-1"
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "el atributo %qE se aplica solamente a funciones"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "no se puede calcular la ubicación real del parámetro apilado"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "el argumento debe ser una constante"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "el selector debe ser un inmediato"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "la máscara debe ser un inmediato"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "no hay registros inferiores disponibles para extraer registros superiores"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "no se pueden codificar las Rutinas de Servicios de Interrupción en el modo Thumb"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "la decodificación de %<va_list%> cambió en GCC 4.4"
@@ -23086,87 +23086,87 @@ msgstr "la función %qs no puede devolver un valor"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs parece ser un manejador %s mal escrito"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr "'builtin_return_address' sólo contiene 2 bytes de dirección"
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr "el desplazamiento del puntero desde el símbolo tal vez es incorrecto"
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr "se accede a memoria de datos con dirección de memoria de programa"
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr "se accede a memoria de programa con dirección de memoria de datos"
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "se usó el registro fijo %s para pasar un parámetro a la función"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "no se admite escribir al espacio de direcciones %qs"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr "%qT usa el espacio de direcciones %qs más allá del destello de %qs"
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr "%s %q+D usa el espacio de direcciones %qs más allá del destello de %qs"
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "el espacio de direcciones %qs que apuntan a punteros debe ser const en %qT"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "el espacio de direcciones %qs que apuntan a punteros debe ser const en %s %q+D"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr "la variable %q+D se ubica en el espacio de direcciones %qs más allá del destello de %qs"
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr "la variable %q+D debe ser const para que se ponga en la sección de sólo lectura a través de %qs"
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "se colocó la variable %q+D sin inicializar en el área de memoria del programa"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs sólo se admite para ensamblador"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "%s expera una constante entera en tiempo de compilación"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "%s espera una constante entera long en tiempo de compilación como primer argumento"
@@ -23506,411 +23506,411 @@ msgstr "no se puede extender el fichero PCH: %m"
 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:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "valor erróneo (%s) para %stune=%s %s"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "%stune=x86-64%s es obsoleto; use en su lugar %stune=k8%s o %stune=generic%s como sea adecuado"
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit"
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "el modelo de código %qs no se admite en modo x32"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "el modelo de código %s no admite el modo PIC"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "no se admite -masm=intel en esta configuración"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "no está compilado el modo bit-%i"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "el CPU generic sólo se puede usar para %stune=%s %s"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "valor erróneo (%s) para %sarch=%s %s"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "se descarta -mregparm en modo de 64-bit"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d no está entre 0 y %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "se descarta %srtd%s en el modo de 64bit"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "no se admite -mpreferred-stack-boundary en este objetivo"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d no está entre %d y %d"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d no está entre %d y 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "se usó %ssseregparm%s sin SSE activado"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, 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:3641
+#: config/i386/i386.c:3648
 #, 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:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "actualmente las tablas de desenredo requieren un puntero de marco o %saccumulate-outgoing-args%s para ser correctas"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "actualmente la prueba de pila requiere un puntero de marco o %saccumulate-outgoing-args%s para ser correctas"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr "-mfentry no se admite para 32-bit en combinación con -fpic"
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mno-fentry no es compatible con SEH"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "opción desconocida para -mrecip=%s"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "se desconoce attribute(target(\"%s\"))"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "ya se había especificado option(\"%s\")"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "los atributos fastcall y regparm no son compatibles"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "los atributos regparam y thiscall no son compatibles"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "el atributo %qE requiere un argumento constante entero"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "el argumento para el atributo %qE es más grande que %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "los atributos fastcall y cdecl no son compatibles"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "los atributos fastcall y stdcall no son compatibles"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "los atributos fastcall y thiscall no son compatibles"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "los atributos stdcall y cdecl no son compatibles"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "los atributos stdcall y fastcall no son compatibles"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "los atributos stdcall y thiscall no son compatibles"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "los atributos cdecl y thiscall no son compatibles"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "se usó el atributo %qE para clases-métodos none"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, 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:5232
+#: config/i386/i386.c:5239
 #, 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:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "ms_hook_prologue no es compatible con la función anidada"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr "el atributo ms_abi requiere -maccumulate-outgoing-args o que la optimización de subobjetivo lo implique"
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "el argumento de vector AVX sin AVX activado cambia la ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "la ABI para pasar un struct con un miembro de matriz flexible cambió en GCC 4.4"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "la ABI para pasar un union con long double cambió en GCC 4.4"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "se devuelve el registro SSE con SSE desactivado"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "argumento de registro SSE con SSE desactivado"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "se devuelve el registro x87 con x87 desactivado"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, 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:6721
+#: config/i386/i386.c:6728
 #, 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:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "La ABI para pasar parámetros con alineación de %d-bytes cambió en GCC 4.6"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, 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:7442
+#: config/i386/i386.c:7449
 #, 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:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr "el atributo ms_hook_prologue no es compatible con -mfentry para 32-bit"
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "-fsplit-stack no admite fastcall con funciones anidadas"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "-fsplit-stack no admite 2 parámetros de registro para una función anidada"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "-fsplit-stack no admite 3 parámetros de registro"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "los registros extendidos no tiene mitades superiores"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, 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:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "se usó un operando que no es entero con el código de operando '%c'"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "el tercer argumento debe ser un inmediato de 2-bit"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "el quinto argumento debe ser un inmediato de 8-bit"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, 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:28699
+#: config/i386/i386.c:28829
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "el último argumento debe ser un inmediato de 1-bit"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "el último argumento debe ser un inmediato de 4-bit"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "el último argumento debe ser un inmediato de 1-bit"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "el tercer argumento debe ser un inmediato de 5-bit"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "el penúltimo argumento debe ser un inmediato de 8-bit"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "el último argumento debe ser un inmediato de 8-bit"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "el último argumento debe ser un inmediato de 32-bit"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, 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:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE necesita la opción isa desconocida"
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE necesita la opción isa %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "el último argumento debe ser un inmediato"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "el argumento izquierdo debe ser un escalar 1, 2, 4, 8"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "el atributo %qE solamente está disponible para 64-bit"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "el argumento del atributo %qE no es cero ni uno"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "los atributos ms_abi y sysv_abi no son compatibles"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "se descarta el atributo incompatible %qE"
@@ -23980,13 +23980,13 @@ msgstr "no se puede especificar un atributo de área de direcciones para funcion
 msgid "%qE attribute requires a string constant argument"
 msgstr "el atributo %qE requiere una constante entera como argumento"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24058,7 +24058,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "no se admite el atributo %qE para el objetivo R8C"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "el argumento del atributo %qE no es una constante entera"
@@ -24113,7 +24113,7 @@ msgstr "no se permiten atributos interrupt múltiples"
 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:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "no se admite la expresión del límite de la pila"
@@ -24456,62 +24456,62 @@ msgstr "no se admite la función interna %qE para MIPS16"
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs no admite código MIPS16"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "PIC MIPS16 para ABIs diferentes de o32 y o64"
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr "código MIPS16 -mxgot"
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, 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:15818
+#: config/mips/mips.c:15824
 #, 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:15828
+#: config/mips/mips.c:15834
 #, 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:15843
+#: config/mips/mips.c:15849
 #, 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:15845
+#: config/mips/mips.c:15851
 #, 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:15847
+#: config/mips/mips.c:15853
 #, 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:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "no se admite la combinación: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, 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:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "%qs es incompatible con %qs"
@@ -24521,57 +24521,57 @@ msgstr "%qs es incompatible con %qs"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "la combinacion de %qs y %qs es incompatible con %qs"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, 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:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> necesita %<-mexplicit-relocs%>"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, 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:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> requiere %<-mpaired-single%>"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs se debe usar con %qs"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "la arquitectura %qs no admite las instrucciones par-sencillo"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs requiere un objetivo que provea la instrucción %qs"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs requiere instrucciones con probabilidad de ramificación"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "la arquitectura %qs no admite la instrucción synci"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "análisis de perfil de las funciones mips16"
@@ -24852,308 +24852,308 @@ msgstr "el paso del argumento %d de %qE descarta los calificadores del tipo del
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "combinación de parámetros inválida para el intrínseco AltiVec"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-recip requiere -ffinite-math o -ffast-math"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip requiere -fno-trapping-math o -ffast-math"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip requiere -freciprocal-math o -ffast-math"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 requiere la arquitectura PowerPC64, activando"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr "no se configuró para ABI SPE"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "no se admite AltiVec en este objetivo"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "no se admite SPE en este objetivo"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "no se admite -mmultiple en sistemas little endian"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "no se admite -mstring en sistemas little endian"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-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/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr "el atributo o pragma target cambia el tamaño de double long"
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr "el atributo o pragma target cambia la ABI Altivec"
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr "el atributo o pragma target cambia la ABI darwin64"
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr "el atributo o pragma target cabia la ABI SPE"
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr "el atributo o pragma target cambia la coma flotante de precisión sencilla"
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr "el atributo o pragma target cambia la coma flotante de precisión doble"
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, 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:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, 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:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "error interno: la función interna %s ya se procesó"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "el argumento 3 debe ser una literal sin signo de 2-bit"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "el argumento 3 debe ser una literal sin signo de 1-bit"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, 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:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "sobrecarga sin resolver para el interno Altivec %qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, 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:11119
+#: config/rs6000/rs6000.c:11118
 #, 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "La función interna %s sólo es válida para el procesador cell"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "La función interna %s requiere la opción -mvsx"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "La función interna %s requiere la opción -maltivec"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "La función interna %s requiere la opción -mpaired"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "La función interna %s requiere la opción -mspe"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "La función interna %s no se admite con las opciones actuales"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "error interno: la función interna %s no tiene tipo"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "error interno: la función interna %s tiene un tipo de devolución inesperado %s"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr "error interno: función interna %s, el argumento %d tiene el tipo de argumento inesperado %s"
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "marco de pila demasiado grande"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr "No se puede tomar la dirección de una función anindada si se usa la opción -mno-pointers-to-nested-functions."
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, 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:24119
+#: config/rs6000/rs6000.c:24142
 #, 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:24121
+#: config/rs6000/rs6000.c:24144
 #, 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:24123
+#: config/rs6000/rs6000.c:24146
 #, 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/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "el uso de %<long%> en tipos AltiVec es inválido para código de 64 bit sin -mvsx"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, 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:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "el uso de %<long long%> en tipos AltiVec es inválido sin -mvsx"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "el uso de %<double%> en tipos AltiVec es inválido sin -mvsx"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "se emite el insn de microcódigo %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "se emite el insn de microcódigo condicional %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "cpu \"%s\" inválido para %s\"%s\"%s"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%s\"%s\"%s no está definido"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "%s\"%s\"%s es inválido"
@@ -25386,63 +25386,63 @@ msgstr "el tamaño de marco de %qs es de %wd bytes"
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs utiliza alojamiento dinámico de pila"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "se descarta -fschedule-insns debido a un error de manejo de excepciones"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, 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/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "no se admite __builtin_saveregs en este subobjetivo"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "el atributo %qE se aplica solamente a funciones de interrupción"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "el atributo %qE solo se admite para SH2A"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "el atributo interrupt_handler no es compatible con -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "el atributo %qE solo se aplica a SH2A"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "el argumento del atributo %qE debe estar entre 0 y 255"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "el argumento del atributo %qE no es una constante de cadena"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, 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:11639
+#: config/sh/sh.c:11642
 #, 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:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr "se necesita un registro objetivo sobreescrito por llamada"
@@ -25564,12 +25564,12 @@ msgstr "el atributo %<__BELOW100__%> solamente se aplica a variables"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "no se permite el atributo __BELOW100__ con una clase de auto almacenamiento"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "icode interno erróneo"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "el operando debe ser un inmediato del tamaño correcto"
@@ -25784,38 +25784,38 @@ msgstr "%<-gnat%> escrito incorrectamente como %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr "-fexcess-precision=standard para Ada"
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "se descarta el atributo %qs"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "el atributo %qs requiere prototipos con argumentos nombrados"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "el atributo %qs se aplica solamente a funciones variadic"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "el atributo %qE no tiene efecto"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "tipo de vector inválido para el atributo %qs"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "el atributo %qs solamente se aplica a tipos de matriz"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "tipo de elemento inválido para el atributo %qs"
@@ -26252,7 +26252,7 @@ msgstr "no se puede llamar a la función miembro %qD sin un objeto"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "al pasar %qT se escoge %qT sobre %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  en la llamada a %qD"
@@ -26312,426 +26312,426 @@ msgstr "inicialización inválida de una referencia que no es constante de tipo
 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"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 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:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "la clase Java %qT no puede tener un destructor"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, 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:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "no se puede sobrecargar %q+#D"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "con %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, 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:1176
+#: cp/class.c:1177
 #, 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:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D inválido en %q#T"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, 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:1247
+#: cp/class.c:1248
 #, 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:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "no se puede derivar de la base %<final%> %qT al tipo derivado %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, 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:1707
+#: cp/class.c:1708
 #, 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:1719
+#: cp/class.c:1720
 #, 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:1764
+#: cp/class.c:1765
 #, 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:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "no hay un impositor único final para %qD en %qT"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "se marca %q+#D como final, pero no es virtual"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr "%q+#D se marca como override, pero no hace override"
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D estaba escondido"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  por %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, 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:2642
+#: cp/class.c:2643
 #, 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "miembro privado %q+#D en union anónima"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "miembro privado %q+#D en struct anónimo"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "miembro protegido %q+#D en union anónima"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "miembro protegido %q+#D en struct anónimo"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, 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:2903
+#: cp/class.c:2920
 #, 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:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "anchura negativa en el campo de bits %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "anchura cero para el campo de bits %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "la anchura de %q+D excede su tipo"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, 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:2982
+#: cp/class.c:2999
 #, 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:2985
+#: cp/class.c:3002
 #, 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:2987
+#: cp/class.c:3004
 #, 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "múltiples campos inicializados en la unión %qT"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, 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:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, 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:3131
+#: cp/class.c:3148
 #, 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:3187
+#: cp/class.c:3204
 #, 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:3285
+#: cp/class.c:3302
 #, 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:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T tiene miembros punteros a datos"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  pero no se impone a %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  o a %<operator=(cont %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  pero no se impone a %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, 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:3999
+#: cp/class.c:4016
 #, 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:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr "el método anula tanto %<transaction_pure%> como los métodos %qE"
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr "el método declarado como %qE anula el método %qE"
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "la clase envolvente de la función miembro que no es estática constexpr %q+#D no es un tipo literal"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%q+T no es literal porque:"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "  %q+T tiene un destructor que no es trivial"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr "  %q+T no es un agregado, no tiene un constructor trivial por defecto y no tiene un constructor constexpr que no es un constructor copy o move"
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "  la clase base %qT de %q+T no es literal"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "  el dato miembro que no es estático %q+D tiene un tipo que no es literal"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, 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:5076
+#: cp/class.c:5094
 #, 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"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr "se declaró %q+D para tomar referencia const, pero la declaración implícita tomaría algo que no es const"
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr "se declaró %q+D para tomar referencia que no es const y no se puede definir por omisión en el cuerpo de clase"
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, 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:5442
+#: cp/class.c:5460
 #, 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:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "redefinición de %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, 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:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "la clase transparente tipo %qT no tiene ningún campo"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr "la clase transparente tipo %qT tiene clases base"
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "la clase transparente tipo %qT tiene funciones virtuales"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "no se reconoce la cadena de lenguaje %<\"%E\"%>"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, 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:6972
+#: cp/class.c:7024
 #, 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:6995
+#: cp/class.c:7047
 #, 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:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "asumiendo el puntero a miembro %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, 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:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "no hay suficiente información de tipo"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "no se puede convertir %qE desde el tipo %qT al tipo %qT"
@@ -26741,12 +26741,12 @@ msgstr "no se puede convertir %qE desde el tipo %qT al tipo %qT"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "la declaración de %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "cambia el significado de %qD a partir de %q+#D"
@@ -26766,7 +26766,7 @@ msgstr "no se puede convertir desde el tipo incompleto %qT a %qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "la conversión de %qE desde %qT a %qT es ambigua"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "cero como constante de puntero nulo"
@@ -27669,7 +27669,7 @@ msgstr "%qD declarado como referencia pero no se inicializa"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "se usó un nombre en un inicializador designado de estilo GNU para una matriz"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "no se admiten los inicializadores designados como no triviales"
@@ -27762,8 +27762,8 @@ msgstr "%qT no tiene un dato miembro que no es static llamado %qD"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr "asignador C99 %qE fuera del inicializador agregado"
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "demasiados inicializadores para %qT"
@@ -28294,7 +28294,7 @@ 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:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "la declaración de %qD como algo que no es función"
@@ -28605,374 +28605,369 @@ msgstr "no se puede declarar la referencia a %q#T, el cual no es una definición
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr "no se pueden usar aquí %<const%> ni %<constexpr%>"
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "no se pueden usar aquí %<volatile%> ni %<constexpr%>"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, 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:9562
+#: cp/decl.c:9560
 #, 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:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "calificación extra %<%T::%> en el miembro %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, 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:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "no se puede declarar la función miembro %<%T::%s%> dentro de %<%T%>"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, 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:9634
+#: cp/decl.c:9632
 #, 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:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "el tamaño de la matriz %qs es demasiado grande"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, 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:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "solamente las declaraciones de constructores pueden ser %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "el no-miembro %qs no se puede declarar %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, 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:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "la función %qs no se puede declarar %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "static %qs no se puede declarar %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const %qs no se puede declarar %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "la referencia %qs no se puede declarar %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "la definición de tipo se declaró %<auto%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "el nombre del typedef puede no ser un especificador-de-nombre-anidado"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, 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:9864
+#: cp/decl.c:9862
 #, 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:9866
+#: cp/decl.c:9864
 #, 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:9893
+#: cp/decl.c:9891
 #, 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:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "se especificó %<inline%> para la declaración de clase friend"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "los parámetros de la plantilla no pueden ser friends"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, 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:9912
+#: cp/decl.c:9910
 #, 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:9925
+#: cp/decl.c:9923
 #, 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:9943
+#: cp/decl.c:9941
 #, 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:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "el declarador abstracto %qT se usó como declaración"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "no se puede usar %<::%>  en la declaración de parámetros"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "el parámetro se declaró %<auto%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "se declaró el miembro dato que no es static como %<auto%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "uso inválido de %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "declaración de la función %qD en un contexto inválido"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, 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:10090
+#: cp/decl.c:10088
 #, 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:10106
+#: cp/decl.c:10104
 #, 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:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "declaración de %qD como miembro de %qT"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "un destructor no puede ser %<constexpr%>"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, 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:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "el campo %qD tiene tipo de dato incompleto"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "el nombre %qT tiene tipo de dato incompleto"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  en la instanciación de la plantilla %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE no es ni función ni función miembro; no se puede declarar friend"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "el miembro dato static constexpr %qD debe tener un inicializador"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "se declaró el miembro dato que no es static %qE como %<constexpr%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, 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:10304
+#: cp/decl.c:10302
 #, 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:10306
+#: cp/decl.c:10304
 #, 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:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "no se permiten los especificadores-virt en %qs fuera de una definición de clase"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, 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:10324
+#: cp/decl.c:10322
 #, 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:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "función virtual %qs que no es clase"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "se definió %qs en un ámbito que no es una clase"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "se declaró %qs en un ámbito que no es una clase"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "no se puede declarar que la función miembro %qD tenga enlace estático"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, 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:10405
+#: cp/decl.c:10403
 #, 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:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "se declaró el miembro static %qD como %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "no se puede declarar explícitamente que el miembro %q#D tenga un enlace externo"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "la declaración de la variable constexpr %qD no es una definición"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs inicializado y declarado como %<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs tiene %<extern%> e inicializador al mismo tiempo"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, 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:10573
+#: cp/decl.c:10571
 #, 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:10601
+#: cp/decl.c:10599
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "el argumento por defecto %qE usa %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, 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:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "el parámetro %qD tiene tipo de clase Java"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, 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:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "el parámetro %qD incluye un puntero a matriz %qT de límite desconocido"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite desconocido"
@@ -28992,170 +28987,170 @@ msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite descono
 #. 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:10987
+#: cp/decl.c:10998
 #, 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:11109
+#: cp/decl.c:11120
 #, 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:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD no se puede declarar como static"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, 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:11149
+#: cp/decl.c:11160
 #, 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:11171
+#: cp/decl.c:11182
 #, 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:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "la conversión a una referencia a void nunca usará un operador de conversión de tipo"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "la conversión a void nunca usará un operador de conversión de tipo"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "la conversión a una referencia al mismo tipo nunca usará un operador de conversión de tipo"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "la conversión al mismo tipo nunca usará un operador de conversión de tipo"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "la conversión a una referencia a una clase base nunca usará un operador de conversión de tipo"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "la conversión a una clase base nunca usará un operador de conversión de tipo"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ prohíbe la sobrecarga del operador ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, 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:11286
+#: cp/decl.c:11297
 #, 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:11289
+#: cp/decl.c:11300
 #, 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:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD debe tomar cero o un argumentos"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, 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:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "el prefijo %qD debe regresar %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "el postfijo %qD debe regresar %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD debe tomar %<void%>"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD debe tomar un argumento exactamente"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD debe tomar dos argumentos exactamente"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, 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:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD debe devolver por valor"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD no puede tener argumentos por defecto"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, 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:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "se usa especialización de plantilla %qT alias después de %qs"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, 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:11476
+#: cp/decl.c:11487
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "%qD tiene una declaración previa aquí"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "se refirió a %qT como %qs"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T tiene una declaración previa aquí"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "se refirió a %qT como un enum"
@@ -29167,90 +29162,90 @@ msgstr "se refirió a %qT como un enum"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "se requiere un argumento de plantilla para %<%s %T%>"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "la referencia a %qD es ambigua"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, 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:11717
+#: cp/decl.c:11728
 #, 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:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "declaración previa de %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "union derivada %qT inválida"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, 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:11872
+#: cp/decl.c:11883
 #, 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:11892
+#: cp/decl.c:11903
 #, 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:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "tipo recursivo %qT sin definir"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "tipo base duplicado %qT inválido"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr "no coinciden scoped/unscoped en el enum %q#T"
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "la definición previa está aquí"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr "no coincide el tipo subyacente en el enum %q#T"
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr "tipos subyacentes diferentes en el enum %q#T"
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "el tipo subyacente %<%T%> de %<%T%> debe ser un tipo integral"
@@ -29259,72 +29254,72 @@ msgstr "el tipo subyacente %<%T%> de %<%T%> debe ser un tipo integral"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, 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:12407
+#: cp/decl.c:12424
 #, 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:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "el valor del enumerador incrementado es demasiado grande para %<unsigned long%>"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "desbordamiento en valores de enumeración en %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "el valor de enumerador %E es demasiado grande para el tipo subyacente %<%T%>"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, 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:12588
+#: cp/decl.c:12605
 #, 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:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> debe devolver una referencia a %<*this%>"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "no hay declaración previa para %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "declaración de función inválida"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "el parámetro %qD se declaró void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "se define el parámetro %q+D pero no se usa"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "declaración de la función miembro inválida"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD ya se definió en la clase %qT"
@@ -29672,7 +29667,7 @@ msgstr "manejo de excepciones desactivado, use -fexceptions para activar"
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "arrojando NULL, que tiene un tipo integral, que no es puntero"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD nunca se debe sobrecargar"
@@ -29931,152 +29926,152 @@ msgstr "el tipo %qT no es una base directa de %qT"
 msgid "bad array initializer"
 msgstr "inicializador de matriz erróneo"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT no es un tipo de clase"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, 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:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "puntero inválido al campo de bits %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, 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:1928
+#: cp/init.c:1930
 #, 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:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr "un miembro referencia sin inicializar en %q#T usa %<new%> sin un inicializador new"
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "miembro referencia sin inicializar en %q#T"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "un miembro const sin inicializar en %q#T usa %<new%> sin un inicializador new"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "miembro const sin inicializar en %q#T"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "tipo %<void%> inválido para new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "const sin inicializar en %<new%> de %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "llamado a constructor Java con %qs sin definir"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, 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:2348
+#: cp/init.c:2350
 #, 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:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "la petición para el miembro %qD es ambigua"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "tamaño de matriz no constante en new, no se puede verificar la longitud de la lista del inicializador"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "inicializador entre paréntesis en la matriz new"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, 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:2822
+#: cp/init.c:2824
 #, 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:2831
+#: cp/init.c:2833
 #, 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:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "llamado a constructor Java, mientras %<jclass%> está indefinido"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "no se puede encontrar %<class$%> en %qT"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "el inicializador termina prematuramente"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "no se pueden inicializar matrices multidimensionales con el inicializador"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, 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:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr "si borra un objeto de tipo de clase abstracta %qT que tiene un destructor que no es virtual, puede causar conducta indefinida"
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr "si borra un objeto de tipo de clase polimórfica %qT que tiene un destructor que no es virtual, puede causar conducta indefinida"
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "tamaño de matriz desconocida en delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, 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"
@@ -30166,12 +30161,12 @@ msgstr "se omitió el operando de enmedio de %<?%>: no se puede revolver el oper
 msgid "string literal in function template signature"
 msgstr "literal de cadena en la firma de plantilla de función"
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr "-fabi-version=6 (o =0) evita este error con un cambio en la decodificación"
@@ -30181,12 +30176,12 @@ msgstr "-fabi-version=6 (o =0) evita este error con un cambio en la decodificaci
 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:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, 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:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, 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"
@@ -30201,98 +30196,98 @@ msgstr "se requirió primero el método sintetizado %qD aquí "
 msgid "union member %q+D with non-trivial %qD"
 msgstr "miembro union %q+D con %qD que no es trivial"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "un constructor por defecto llama a %q+D que no es constexpr"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "el inicializador para %q+#D es inválido"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "miembro const que no es estático %q#D sin inicializar"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "miembro referencia que no es estático %q#D sin inicializar"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr "el constructor por defecto en efecto no inicializa %q+#D"
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr "el constructor por defecto en efecto no inicializa ningún dato miembro que no es static"
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr "%qT tiene bases virtuales, no se puede generar el operador de asignación move por defecto"
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr "un tipo de conclusión lambda tiene un constructor por defecto borrado"
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr "un tipo de conclusión lambda tiene un operador de asignación por copia borrado"
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr "%q+#D se declara implícitamente como deleted porque %qT declara un constructor move o un operador de asignación move"
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr "%q+#D es implícitamente deleted por que la definición por defecto estaría mal formada:"
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "declaración definida por defecto %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "no coincide la firma esperada %qD"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr "la función %q+D definida por defecto en su primera declaración tiene una excepción de especificación que difiere de la declaración implícita %q#D"
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr "la función %q+D explícitamente por defecto no se puede declarar como constexpr porque la declaración implícita no es constexpr:"
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "una plantilla no se puede definir por defecto"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%qD no se puede definir por defecto"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "función definida por defecto %q+D con argumento por defecto"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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"
@@ -30429,154 +30424,154 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D esconde el destructor para %q#T"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, 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:2292
+#: cp/name-lookup.c:2297
 #, 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:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, 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:2400
+#: cp/name-lookup.c:2405
 #, 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:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "no se declaró %qD"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD ya se declaró en este ámbito"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> nombra al destructor"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> nombra al constructor"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> nombra al constructor en %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, 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:3355
+#: cp/name-lookup.c:3360
 #, 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:3363
+#: cp/name-lookup.c:3368
 #, 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:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD se debería declarar dentro de %qD"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "el atributo %qD requiere un solo argumento NTBS"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, 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:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "se descarta la directiva de atributo %qD"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, 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:3882
+#: cp/name-lookup.c:3887
 #, 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:3886
+#: cp/name-lookup.c:3891
 #, 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:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr "límite máximo de %d espacios de nombres buscados para %qE"
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] "alternativa sugerida:"
 msgstr[1] "alternativas sugeridas:"
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr "  %qE"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "la búsqueda dependiente del argumento encuentra %q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX entrando a pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX saliendo de pop_everything ()\n"
@@ -30706,7 +30701,7 @@ msgstr "id-de-plantilla inválido"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "una literal de coma flotante no puede aparecer en una expresión constante"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, 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"
@@ -30934,7 +30929,7 @@ msgstr "se usa el nombre-de-definición-de-tipo %qD como un declarador de destru
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr "los sufijos de operador literal que no están precedidos por %<_%> están reservados para estandarización futura"
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "se esperaba un id sin calificar"
@@ -31126,7 +31121,7 @@ msgstr "%<%T::%D%> nombra el constructor, no el tipo"
 msgid "compound-statement in constexpr function"
 msgstr "declaración compuesta en una función constexpr"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "se esperaba una declaración de selección"
@@ -31156,7 +31151,7 @@ msgstr "la expresión %<for%> basada en rango de tipo %qT tiene un miembro %<beg
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr "tipos begin/end inconsistentes para la declaración %<for%> basada en rango: %qT y %qT"
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "se esperaba una declaración de iteración"
@@ -31172,12 +31167,12 @@ msgstr "no se permiten los bucles %<for%> basados en rango en el modo C++98"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ prohíbe los gotos calculados"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "se esperaba una declaración de salto"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "<;%> extra"
@@ -31214,7 +31209,7 @@ msgstr "especificador-decl inválido en la condición"
 msgid "class definition may not be declared a friend"
 msgstr "la definición de clase no se puede declarar como friend"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "las plantillas no pueden ser %<virtual%>"
@@ -31290,12 +31285,12 @@ msgstr "operador inesperado"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "no se admite la palabra clave %<export%>, y se descartará"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, 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:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, 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"
@@ -31310,7 +31305,7 @@ msgstr "los paquetes de parámetro de plantilla no pueden tener argumentos por d
 msgid "expected template-id"
 msgstr "se esperaba un id de plantilla"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "se esperaba %<<%>"
@@ -31437,12 +31432,12 @@ msgstr "se esperaba %<;%> o %<{%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "no se puede agregar una lista de enumerador a una instanciación de plantilla"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, 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"
@@ -31487,73 +31482,73 @@ msgstr "un id-de-plantilla no puede aparecer en una declaración-using"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr "las declaraciones access son obsoletas en favor de las declaraciones using: sugerencia: use la palabra clave %<using%>"
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "no se pueden definir tipos en declaraciones de plantilla alias"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "una definición de función no se permite aquí"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "no se permite una especificación-asm en una definición-de-función"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, 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:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr "se esperaba un constructor, un destructor, o una conversión de tipo"
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr "se esperaba un inicializador"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "tipo inválido en la declaración"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "se proporcionó un inicializador para la función"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "se descartan los atributos después del inicializador entre paréntesis"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, 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:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "no se puede definir el miembro de la definición de tipo dependiente %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%E%> no es un tipo"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "uso inválido del constructor como una plantilla"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, 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"
@@ -31562,247 +31557,247 @@ msgstr "use %<%T::%D%> en lugar de %<%T::%D%> para nombrar el constructor en un
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "declarador inválido"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "se esperaba un declarador"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD es un espacio de nombres"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "no se puede formar un puntero al miembro de %q#T que no es clase"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "se esperaba un operador puntero"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "calificador-cv duplicado"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "especificador-virt duplicado"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "uso inválido de %<auto%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "no se pueden definir tipos en argumentos de plantilla"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "se esperaba un especificador de tipo"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "se esperaba %<,%> o %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "no se pueden definir tipos en tipos de parámetro"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, 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:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "el paquete de parámetros %qD no puede tener un argumento por defecto"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "el paquete de parámetros no puede tener un argumento por defecto"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ no permite inicializadores designados"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ no permite inicializadores designados de C99"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr "se esperaba un nombre de clase"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "se esperaba %<;%> después de la definición de clase"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "se esperaba %<;%> después de la definición de struct"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "se esperaba %<;%> después de la definición de union"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "se esperaba %<{%> o %<:%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "no se puede especificar %<override%> para una clase"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr "la calificación global del nombre de clase es inválida"
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "el nombre calificado no nombra una clase"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, 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:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "no se permite la calificación extra"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "una especialización explícita se debe preceder con %<template <>%>"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "la plantilla de función %qD se redeclaró commo una plantilla de clase"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr "no se puede resolver el tipo typename"
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "definición previa de %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr "se esperaba una llave de clase"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "en C++03 se debe usar una llave-clase cuando se declara un friend"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "especificador-pure en la definición-de-función"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "se esperaba %<;%> al final de la declaración miembro"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr "especificador pure inválido (sólo se permite %<= 0%>)"
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "un inicializador dentro de llaves no se permite aquí"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr "se especificó %<virtual%> más de una vez en la base especificada"
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr "más de un especificador de acceso en la base especificada"
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, 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:19450
+#: cp/parser.c:19445
 #, 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "no se pueden definir tipos en una especificación de excepción"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr "las especificaciones de excepción dinámicas son obsoletas en C++0x; utilice %<noexcept%> en su lugar"
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "no se pueden definir tipos en declaraciones de excepción"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr "el miembro especializado %<%T::%E%> requiere sintaxis %<template<>%>"
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "declaración inválida de %<%T::%E%>"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "faltan listas-de-parámetros-de-plantilla"
@@ -31811,317 +31806,317 @@ msgstr "faltan listas-de-parámetros-de-plantilla"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "demasiadas listas-de-parámetros-de-plantilla"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "ya no se admiten los valores de devolución nombrados"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, 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:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "plantilla con enlace C"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "especialización explícita inválida"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr "la plantilla de operador literal %qD tiene una lista de parámetros inválida.  Se esperaba un paquete de argumentos de plantilla que no sean de tipo <char...>"
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "declaración plantilla de %<typedef%>"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, 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:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%<>>%> debe ser %<> >%> dentro de una lista de argumentos de plantilla anidada"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "%<>>%> sobrante, use %<>%> para terminar una lista de argumentos de plantilla"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "uso inválido de %qD en la especificación de enlace"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> antes de %qD"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "se esperaba %<new%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "se esperaba %<delete%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "se esperaba %<return%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "se esperaba %<extern%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "se esperaba %<static_assert%>"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "se esperaba %<decltype%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "se esperaba %<operator%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "se esperaba %<class%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "se esperaba %<template%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "se esperaba %<namespace%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "se esperaba %<using%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "se esperaba %<asm%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "se esperaba %<try%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "se esperaba %<catch%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "se esperaba %<throw%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "se esperaba %<__label__%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "se esperaba %<@try%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "se esperaba %<@synchronized%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "se esperaba %<@throw%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr "se esperaba %<__transaction_atomic%>"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "se esperaba %<__transaction_relaxed%>"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "se esperaba %<::%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "se esperaba %<...%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "se esperaba %<*%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "se esperaba %<~%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "se esperaba %<:%> o %<::%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "se esperaba %<class%>, %<typename%> o %<template%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, 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:22530
+#: cp/parser.c:22525
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "%q#T se declaró previamente aquí"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD se redeclaró con acceso diferente"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, 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:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "el fichero termina en el argumento por defecto"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "construct Objective-C++ %<@%D%> mal ubicado"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr "se esperaba(n) argumento(s) de mensaje de objective-c++"
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%> debe especificar un tipo como un argumento"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "nombre de selector Objective-C++ inválido"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "se esperaba una declaración de método de objective-c++"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "los atributos de método se deben especificar al final"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr "%qs sobrante después de los métodos Objective-C++"
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "tipo inválido para la variable de de instancia"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "se esperaba un identificador después de %<@protocol%>"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr "los atributos no se pueden especificar antes de la palabra clave de Objective-C++ %<@%D%>"
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "se descartan los atributos de prefijo antes de %<@%D%>"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr "tipo inválido para la propiedad"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "no se permite la inicialización entre paréntesis para el bucle %<for%> en OpenMP"
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "la variable de iteración %qD no debe ser reduction"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "no se colapsó lo suficiente para los bucles"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr "%<__transaction_relaxed%> sin activar el soporte de memoria transaccional"
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr "%<__transaction_atomic%> sin activar el soporte de memoria transaccional"
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "basura al final de %<#pragma GCC pch_preprocess%>"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "no se han implementado las optimizaciones intermódulos para C++"
@@ -32827,17 +32822,17 @@ msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d (use -ftemplate-depth= para incrementar el máximo) al instanciar %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, 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:9447
+#: cp/pt.c:9459
 #, 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:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "instanciación de %q+D como tipo %qT"
@@ -32855,257 +32850,257 @@ msgstr "instanciación de %q+D como tipo %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "la variable %qD tiene tipo de función"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "tipo de parámetro %qT inválido"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "en la declaración %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "la función devuelve una matriz"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "la función devuelve una función"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "se forma la referencia a void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "se forma un puntero para referenciar al tipo %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "se forma una referencia para referenciar al tipo %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, 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:11611
+#: cp/pt.c:11637
 #, 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:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "se crea un puntero al miembro de tipo void"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "se crea la matriz de %qT"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, 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:11714
+#: cp/pt.c:11740
 #, 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:11751
+#: cp/pt.c:11777
 #, 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:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "uso de %qs en la plantilla"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "el tipo calificador %qT no coincide con el nombre del destructor ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, 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:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "escriba %<typename %E%> si quiere un tipo"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "se usa el campo inválido %qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, 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:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "use %<...%> para expandir el paquete de argumentos"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr "%qD no se declaró en este ámbito, y no se encontraron declaraciones en la búsqueda dependiente de argumentos en el punto de la instanciación"
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr "no se encontraron declaraciones en la base dependiente %qT pur la búsqueda no calificada"
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr "use %<this->%D%> en su lugar"
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "use %<%T::%D%> en su lugar"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D se declaró aquí, después en la unidad de translación"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, 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:14188
+#: cp/pt.c:14214
 #, 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:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT es/usa un tipo anónimo"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, 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:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT es un tipo modificado variablemente"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "la expresión integral %qE no es una constante"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  se trata de instanciar %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "instanciación de plantilla clase ambigua para %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, 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:17885
+#: cp/pt.c:17911
 #, 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "no se encontró una plantilla coincidente para %qD"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, 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:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "instanciación explícita de %q#D"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "instanciación explícita duplicada de %q#D"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 1998 prohíbe el uso de %<extern%> en instanciaciones explícitas"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, 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:18036
+#: cp/pt.c:18062
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "instanciación explícita de la plantilla %qD que no es clase"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, 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:18047
+#: cp/pt.c:18073
 #, 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:18065
+#: cp/pt.c:18091
 #, 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:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "instanciación explícita duplicada de %q#T"
@@ -33117,32 +33112,32 @@ msgstr "instanciación explícita duplicada de %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, 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:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d al instanciar %q+D, posiblemente de la generación de tabla virtual (use -ftemplate-depth= para incrementar el máximo)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "parámetro que no es tipo plantilla inválido"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T no es un tipo válido para un parámetro que no es tipo plantilla"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "la deducción de una lista inicializadora encerrada entre llaves requiere #include <initializer_list>"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "se usó la variable %q#D con tipo %<auto%> en su propio inicializador"
@@ -33150,12 +33145,12 @@ msgstr "se usó la variable %q#D con tipo %<auto%> en su propio inicializador"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "no se puede deducir %qT de %qE"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr "deducción inconsistente para %qT: %qT y después %qT"
@@ -33392,7 +33387,7 @@ msgstr "definición inválida del tipo calificado %qT"
 msgid "invalid base-class specification"
 msgstr "especificación de clase base inválida"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD no se capturó"
@@ -33565,263 +33560,263 @@ msgstr "tipo de devolución %qT inválido para la función constexpr %q+D"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T tiene clases base virtuales"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr "el constructor constexpr no tiene cuerpo vacío"
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr "el constructor %<constexpr%> para union %qT debe inicializar exactamente un dato miembro que no es static"
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "miembro %qD sin inicializar en el constructor %<constexpr%>"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "el cuerpo de la función constexpr %qD no es una declaración de devolución"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D no se puede usar como una función constexpr porque:"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "la expresión %qE no designa una función constexpr"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "llamada a la función %qD que no es constexpr"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "se llamó %qD en una expresión constante"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "se usó %qD antes de su definición"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr "la llamada tiene una dependencia circular"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "la profundidad de evaluación de constexpr excede el máximo de %d (use -fconstexpr-depth= para incrementar el máximo)"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%q+E no es una expresión constante"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "el subíndice de la matriz está fuera de los límites"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE no es una expresión constante"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD mutable no se puede usar en una expresión constante"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "se accede al miembro %qD  en lugar del miembro inicializado %qD en la expresión constante"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "se accede al valor de %qE a través de glvalue %qT en una expresión constante"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "el valor de %qD no se puede usar en una expresión constante"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "se usó %qD en su propio inicializador"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#D no es const"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%q+#D es volatile"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD no se inicializó con una expresion constante"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD no se declaró %<constexpr%>"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "%qD no tiene tipo integral o de enumeración"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "uso del valor del objeto en construcción en una expresión constante"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "temporal del tipo %qT que no es literal en una expresión constante"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "la expresión %qE no es una expresión constante"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "expresión %qE inesperada de género %s"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr "%qT no puede ser el tipo de una expresión constante completa porque tiene sub-objetos mutables"
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "conversión del tipo puntero %qT al tipo aritmético %qT en una expresión constante"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr "la expresión %qE tiene efectos colaterales"
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "se llamó a una función miembro del objeto en construcción en una expresión constante"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr "la dirección de un objeto %qE con hilo local o almacenamiento automático no es una expresión constante"
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr "la expresión id de tipo no es una expresión constante porque %qE es de tipo polimórfico"
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "la diferencia de dos expresiones puntero no es una expresión constante"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "la expresión de comparación de punteros no es una expresión constante"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "la división entre cero no es una expresión constante"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "inicialización de una matriz que no es constante"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "AST inesperado de género %s"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "no se puede capturar %qE por referencia"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "ya se capturó %qD en la expresión lambda"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "no se capturó %<this%> para esta función lambda"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "los calificadores %qV no se pueden aplicar a %qT"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, 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:2834
+#: cp/tree.c:2846
 #, 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:2840
+#: cp/tree.c:2852
 #, 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:2864
+#: cp/tree.c:2876
 #, 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:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "la init_priority solicitada está fuera de rango"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "el atributo %qE no se admite en esta plataforma"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "revisión lang_*: falló en %s, en %s:%d"
@@ -34764,122 +34759,122 @@ msgstr "se usó la sintaxis de constructor, pero no se declaró un constructor p
 msgid "cannot initialize arrays using this syntax"
 msgstr "no se puede inicializar matrices usando esta sintaxis"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "conversión estrechadora de %qE desde %qT a %qT dentro de { }"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "la conversión estrechadora de %qE desde %qT a %qT dentro de { } está mal formada en C++11"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "matriz de enteros inicializada con una cadena que no es ancha"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "matriz de enteros inicializada con una cadena ancha incompatible"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, 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"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "no se puede inicializar el agregado del tipo %qT con una literal compuesta"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "la matriz se debe inicializar con un inicializador dentro de llaves"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "falta el inicializador para el miembro %qD"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "miembro const %qD sin inicializar"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "miembro %qD con campos const sin inicializar"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "el miembro %qD es una referencia sin inicializar"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "no existe el campo %qD en la union que se está inicializando"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "valor de índice en lugar del nombre del campo en el inicializador de union"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "se detectó una delegación de puntero circular"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "el operando base de %<->%> tiene el tipo %qT que no es puntero"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "el resultado de %<operator->()%> produce un resultado que no es puntero"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "el operando base de %<->%> no es un puntero"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "no se puede usar %qE como un puntero miembro, porque es de tipo %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "no se puede aplicar el puntero a miembro %qE a %qE, el cual es del tipo %qT que no es clase"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "el tipo de puntero a miembro %qT es incompatible con el tipo objeto %qT"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "conversión funcional al tipo de matriz %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "inicialización por valor inválida del tipo de referencia"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, 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:1916
+#: cp/typeck2.c:1919
 #, 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"
@@ -34939,187 +34934,187 @@ msgstr "Entero fuera del rango simétrico implicado por Standard Fortran al conv
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "La constante Hollerith en %L es demasiado grande para convertirse a %s"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Se esperaba un subíndice de matriz en %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "'*' inesperado en el subíndice de comatriz en %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "no se permiten trancos en el subíndice de comatriz en %C"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Se esperaba un gran tranco de subíndice de matriz en %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Forma inválida de referencia a matriz en %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "La referencia a matriz en %C no puede tener más de %d dimensiones"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr "Comatrices desactivadas en %C, use -fcoarray= para activar"
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "Designador de comatriz inesperado en %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr "Faltan codimensiones en %C, se esperaban %d no %d"
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr "Demasiadas codimensiones en %C, se esperaban %d no %d"
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "'*' inesperado para la codimensión %d de %d en %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "Forma inválida de referencia a comatriz en %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr "Codimensión %d inválida en %C, sólo existen %d codimensiones"
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 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:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr "La expresión en %L en este contexto debe ser constante"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-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:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Especificación de matriz errónea para una matriz de forma implícita en %C"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-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:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-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:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-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:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr "Especificación errónea para la matriz de tamaño asumido en %C"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-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:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-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:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Fortran 2008: La especificación de matriz en %C tiene más de 7 dimensiones"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2008: Declaración de comatriz en %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr "El límite superior de la última dimensión de comatriz debe ser '*' en %C"
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-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:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "Error sintáctico en el constructor de matriz en %C"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003: Constructores de matriz de estilo [...] en %C"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Fortran 2003: Los constructores de matriz incluyen especificación de tipo en %C"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "La especificación de tipo en %L no puede tener un parámetro de tipo diferido"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-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:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-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:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "El paso de iterador en %L no puede ser cero"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr "El número de elementos en el constructor de matriz en %L requiere un incremento del límite superior %d permitido.  Vea la opción -fmax-array-constructor"
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr "Longitudes de CHARACTER diferentes (%d/%d) en el constructor de matriz en %L"
@@ -35154,7 +35149,7 @@ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser REAL o COMPLEX"
 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:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser una constante"
@@ -35266,7 +35261,7 @@ msgstr "el argumento 'dim' del intrínseco '%s' en %L no es un índice de dimens
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "Longitudes de caracteres desiguales (%ld/%ld) en %s en %L"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-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"
@@ -35349,8 +35344,8 @@ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de tipo REAL o INT
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003:  Intrínseco '%s' con argumento KIND en %L"
@@ -35495,7 +35490,7 @@ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser POINTER, ALLOCATAB
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "Fortran 2003: Intrínseco NULL con MOLD alojable en %L"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "El argumento '%s' del intrínseco '%s' en %L debe proveer por lo menos tantos elementos como valores .TRUE. presentes en '%s' (%ld/%d)"
@@ -35625,42 +35620,42 @@ msgstr "El número de elementos de matriz del argumento SUB para IMAGE_INDEX en
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr "No se permite el argumento DIM sin un argumento ARRAY para el intrínseco THIS_IMAGE en %L"
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-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:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-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"
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser del mismo rango que '%s' o ser un escalar"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben tener forma idéntica."
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "El tamaño del argumento '%s' del intrínseco '%s' en %L es demasiado pequeño (%i/%i)"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Demasiados argumentos para %s en %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-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"
@@ -35672,7 +35667,7 @@ msgstr "Objetos o componentes polimórficos de tamaño asumido, tales como el qu
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr "Se alcanzó el nivel de extensión máximo con el tipo '%s' en %L"
@@ -35957,7 +35952,7 @@ msgstr "Fortran 2008: Matriz de forma implícita en %L"
 # como `apuntado'. cfuga
 # Referencia: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
 #
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "Especificación de matriz duplicada para el apuntado Cray en %C"
@@ -35972,7 +35967,7 @@ msgstr "No se declaró el tipo de '%s' en %C en la interfaz"
 msgid "Extension: Old-style initialization at %C"
 msgstr "Extensión: Inicialización de estilo antiguo en %C"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "La inicialización en %C no es para una variable puntero"
@@ -35982,7 +35977,7 @@ msgstr "La inicialización en %C no es para una variable puntero"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "La inicialización de puntero en %C requiere '=>', no '='"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Se esperaba una expresión de inicialización en %C"
@@ -36179,7 +36174,7 @@ msgstr "Fortran 2003: Atributo ASYNCHRONOUS en %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2008: Atributo CONTIGUOUS en %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-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"
@@ -36199,834 +36194,834 @@ msgstr "Fortran 2003: Atributo VALUE en %C"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003: Atributo VOLATILE en %C"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-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"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-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:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-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:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-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:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-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:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-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:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-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:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-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:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-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:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-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:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "Error sintáctico en la declaración de datos en %C"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2008: Procedimiento IMPURE en %C"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr "No deben aparecer PURE con IMPURE en %C"
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-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:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Basura inesperada en la lista de argumentos formales en %C"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-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:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-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:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-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:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Fortran 2008: El atributo BIND(C) en %L no se puede especificar para un procedimiento internal"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "La interfaz '%s' en %C puede no ser generic"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-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:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-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:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-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:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-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:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-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:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "El procedimiento '%s' en %L ya tenía el tipo básico de %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Error sintáctico en la declaración PROCEDURE en %C"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "Se esperaba '::' después de los atributos de enlazado en %C"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr "Se requiere NOPASS o una interfaz explícita en %C"
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003: Procedimiento de componente puntero en %C"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "Error sintáctico en el procedimiento de componente puntero en %C"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-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:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003: Declaración PROCEDURE en %C"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-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:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-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:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Característica obsoleta de Fortran 2008: declaración ENTRY en %C"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-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:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-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:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-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:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-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:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-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:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-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:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-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:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-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:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-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:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-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:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-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:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-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:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-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:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-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:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-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:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-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:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-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:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-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:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-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:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "Declaración END inesperada en %C"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Fortran 2008: Declaración END en lugar de una declaración %s en %L"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "Se esperaba %s en la declaración en %L"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "Se esperaba la declaración %s en %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-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:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "Se esperaba un nombre terminal en %C"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-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:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-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:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-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:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Falta la especificación de matriz en %L en la declaración CODIMENSION"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "La especificación de matriz se debe diferir en %L"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Carácter inesperado en la lista de variables en %C"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "Se esperaba '(' en %C"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "se esperaba un nombre variable en %C"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "El puntero Cray en %C debe ser un entero"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-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:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "Se esperaba \",\" en %C"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "Se esperaba \")\" en %C"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "Se esperaba \",\" o el final de la declaración en %C"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr "No se permite INTENT dentro de BLOCK en %C"
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr "No se permite OPTIONAL dentro de BLOCK en %C"
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-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:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2008: Declaración CONTIGUOUS en %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-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:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-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:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003: Declaración PROTECTED en %C"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Error sintáctico en la declaración PROTECTED en %C"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-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:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-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:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Se esperaba un signo = en la declaración PARAMETER en %C"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-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:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Se inicializa una variable ya inicializada en %C"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Caracteres inesperados en la declaración PARAMETER en %C"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-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:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-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:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Error sintáctico en la declaración SAVE en %C"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr "No se permite VALUE dentro de BLOCK en %C"
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003: Declaración VALUE en %C"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Error sintáctico en la declaración VALUE en %C"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003: Declaración VOLATILE en %C"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr "Se especifica VOLATILE para la variable de comatriz '%s' en %C, la cual es asociada a uso/anfitrión"
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Error sintáctico en la declaración VOLATILE en %C"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: Declaración ASYNCHRONOUS en %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Error sintáctico en la declaración ASYNCHRONOUS en %C"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-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:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2008: dos puntos dobles en la declaración MODULE PROCEDURE en %L"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "El procedimiento intrínseco en %L no puede ser un MODULE PROCEDURE"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "Símbolo ambiguo en la definición TYPE en %C"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr "No existe ese símbolo en la definición TYPE en %C"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr "'%s' en la expresión EXTENDS en %C no es un tipo derivado"
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr "'%s' no se puede extender en %C porque es BIND(C)"
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "'%s' no se puede extender en %C porque es un tipo SEQUENCE"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-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:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-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:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003: Tipo ABSTRACT en %C"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "Se esperaba :: en la definición TYPE en %C"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-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:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-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:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr "El Apuntado Cray en %C no puede ser una matriz de forma asumida"
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003: ENUM y ENUMERATOR en %C"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "El enumerador excede el tipo entero de C en %C"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "ENUMERATOR %L no se inicializó con una expresión entera"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "Se esperaba una declaración de definición ENUM antes de %C"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "Error sintáctico en la definición ENUMERATOR en %C"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "Especificador de acceso duplicado en %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr "Los atributos de enlace ya especifican paso, NOPASS ilegal en %C"
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr "Los atributos de enlace ya especifican paso, PASS ilegal en %C"
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "Atributo POINTER duplicado en %C"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "NON_OVERRIDABLE duplicado en %C"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr "DEFERRED duplicado en %C"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "Se esperaba un especificador de acceso en %C"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "Se esperaba un atributo de enlace en %C"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr "No pueden aparecer NON_OVERRIDABLE y DEFERRED al mismo tiempo en %C"
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr "Se requiere el atributo POINTER para el procedimiento de componente puntero en %C"
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr "Se esperaba un nombre de interfaz después de '(' en %C"
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "Se esperaba ')' en %C"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "Se debe especificar una interfaz para el enlace DEFERRED en %C"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr "PROCEDURE(interface) en %C se debe declarar DEFERRED"
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "Se esperaba un nombre de enlace en %C"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2008: Lista PROCEDURE en %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr "'=> objetivo' es inválido para el enlace DEFERRED en %C"
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr "Se necesita '::' en el enlace PROCEDURE con objetivo explícito en %C"
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "Se esperaba un objetivo de enlace después de '=>' en %C"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr "El tipo '%s' que contiene el enlace DEFERRED en %C no es ABSTRACT"
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Ya existe un procedimiento con nombre de enlazado '%s' para el tipo derivado '%s' en %C"
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr "GENERIC en %C debe estar dentro de un tipo derivado CONTAINS"
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "Se esperaba '::' en %C"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Se esperaba un nombre genérico o un descriptor de operador en %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "Se esperaba '=>' en %C"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Ya existe un procedimiento que no es genérico con el nombre de enlace '%s' para el tipo derivado '%s' en %C"
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr "El enlace en %C debe tener el mismo acceso que el enlace '%s' que ya está definido"
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "Se esperaba un nombre de enlace específico en %C"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "Ya se definió '%s' como un enlace específico para el genérico '%s' en %C"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr "Basura después del enlace GENERIC en %C"
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr "La declaración FINAL en %C debe estar dentro de una sección de tipo derivado CONTAINS"
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr "La declaración de tipo derivado con FINAL en %C debe estar en la parte de especificación de un MODULE"
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr "FINAL vacío en %C"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "Se esperaba un nombre de procedimiento de módulo en %C"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "Se esperaba ',' en %C"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "Nombre de procedimiento \"%s\" desconocido en %C"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "¡'%s' en %C ya se había definido como un procedimiento FINAL!"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Atributo desconocido en la declaración !GCC$ ATTRIBUTES en %C"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Error sintáctico en la declaración !GCC$ ATTRIBUTES en %C"
@@ -37266,27 +37261,27 @@ msgstr "Una función valuada como POINTER aparece en el lado derecho de la asign
 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:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-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:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-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:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-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"
@@ -37547,7 +37542,7 @@ msgid "can't open input file: %s"
 msgstr "no se puede abrir el fichero de entrada: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -37663,12 +37658,12 @@ msgstr "El primer argumento de la asignación definida en %L debe ser INTENT(OUT
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "El segundo argumento de la asignación definida en %L debe ser INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "El primer argumento de la interfaz de operador en %L debe ser INTENT(IN)"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "El segundo argumento de la interfaz de operador en %L debe ser INTENT(IN)"
@@ -39689,7 +39684,7 @@ msgstr "Basura inesperada después de la declaración $OMP BARRIER en %C"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Basura inesperada después de la cláusula NOWAIT en %C"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "La cláusula IF en %L requiere una expresión LOGICAL escalar"
@@ -40778,943 +40773,943 @@ msgstr "Fortran 2008: El argumento '%s' de la subrutina pure '%s' en %L debe ten
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "El argumento '%s' de la subrutina pure '%s' en %L debe tener especificado su INTENT o tener el atributo VALUE"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "El argumento dummy de comatriz '%s' en %L para un procedimiento elemental"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-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:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "El argumento '%s' del procedimiento elemental en %L no puede tener el atributo ALLOCATABLE"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-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:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-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:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "El argumento '%s' del procedimiento elemental '%s' en %L debe tener especificado su INTENT"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-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:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-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:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-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:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-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:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "La función %s valuada con carácter '%s' en %L no debe tener longitud asumida"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "El procedimiento %s en %L tiene entradas con especificaciones de matriz no coincidentes"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-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:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-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:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-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:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-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:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-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:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-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:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-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:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-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:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-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:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-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:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-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:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-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:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "El bloque COMMON '%s' en %L no puede tener el atributo EXTERNAL"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-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:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-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:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-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:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-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:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "El rango del elemento en el constructor de estructura en %L no coincide con el del componente (%d/%d)"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', es %s pero debería ser %s"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "El NULL en el constructor de estructura en %L se aplica para el componente '%s', el cual no es ni POINTER ni ALLOCATABLE"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "No coincide la interfaz en el componente puntero-a-procedimiento '%s' en el constructor de estructura en %L: %s"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "El elemento en el constructor de estructura en %L, para el componente puntero '%s', debe ser un POINTER o un TARGET"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "El objetivo de inicialización de puntero en %L no debe ser ALLOCATABLE"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "El objetivo de inicialización de puntero en %L debe tener el atributo SAVE"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "Expresión inválida en el constructor de estructura para el componente puntero '%s' en %L en el procedimiento PURE"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "'%s' en %L es ambiguo"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-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:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-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:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-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:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "No existe '%s' declarado como INTRINSIC en %L"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr "El intrínseco '%s' declarado como INTRINSIC en %L no está disponible en la configuración actual de estándares pero %s.  Use una opción -std=* apropiada o active -fall-intrinsics para poder usarlo."
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr "El procedimiento que no es RECURSIVE '%s' en %L posiblemente se está llamando a sí mismo recursivamente. Declárelo RECURSIVE o utilice -frecursive"
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "La etiqueta %d referenciada en %L nunca se define"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-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:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-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:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Fortran 2008: Se usa el procedimiento interno '%s' como un argumento actual en %L"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-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:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-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:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "El símbolo '%s' en %L es ambiguo"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "El argumento por valor en %L no es de tipo numérico"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "El argumento por valor en %L no puede ser una matriz o una sección de matriz"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "El argumento por valor en %L no se permite en este contexto"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "No se permite el paso del procedimiento interno en %L por ubicación"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr "Argumento actual coindizado en %L con componente puntero último"
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 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:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 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:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "No coincide la longitud de caracteres en el tipo de devolución de la función '%s' en %L (%ld/%ld)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "No coincide el tiop de devolución de la función '%s' en %L (%s/%s)"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr "El argumento dummy '%s' del procedimiento '%s' en %L tiene un atributo que requiere una interfaz explícita para este procedimiento"
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "El procedimiento '%s' en %L con argumento dummy de forma asumida '%s' debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "El procedimiento '%s' en %L con argumento dummy de comatriz '%s' debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "El procedimiento '%s' en %L con un argumento de tipo derivado parametrizado '%s' debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "El procedimiento '%s' en %L con argumento dummy polimórfico '%s' debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr "La referencia a la función '%s' en %L necesita una INTERFACE explícita o el rango es incorrecto"
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "La función '%s' en %L con un resultado POINTER o ALLOCATABLE debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "La función de longitud de carácter automática '%s' que no es constante en %L debe una interfaz explícita"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "El procedimiento ELEMENTAL '%s' en %L debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "El procedimiento '%s' en %L con atributo BIND(C) debe tener una interfaz explícita"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-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:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-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:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-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:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-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:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-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:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-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:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-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:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-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:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "No se permite un argumento coindizado en la llamada '%s' en %L"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "No se permite una sección de matriz en la llamada '%s' en %L"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "Sección de matriz en la llamada '%s' en %L"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-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:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "El argumento '%s' para '%s' en %L debe ser un escalar"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "El parámetro '%s' para '%s' en %L no debe ser polimórfico"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-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:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-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:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "'%s' en %L no es una función"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-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:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-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:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "La referencia a la función '%s' que no es PURE en %L está dentro de un DO CONCURRENT %s"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-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:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la función '%s' no es RECURSIVE"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "La función '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-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:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "La llamada a subrutina a '%s' en el bloque DO CONCURRENT en %L no es PURE"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-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:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-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:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-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:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-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:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-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:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-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:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-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:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-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:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "ENTRY '%s' en %L no se puede llamar recursivamente, porque la subrutina '%s' no es RECURSIVE"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "SUBROUTINE '%s' en %L no se puede llamar recursivamente, porque no es RECURSIVE"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "Las formas para los operandos en %L y %L no son conformables"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "La referencia de matriz en %L está fuera de los límites (%ld < %ld) en la codimensión %d"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "La referencia de matriz en %L está fuera de los límites (%ld > %ld) en la codimensión %d"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "Tranco ilegal de cero en %L"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "La referencia de matriz inferior en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld < %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "La referencia de matriz superior en %L está fuera de los límites (%ld > %ld) en la dimensión %d"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "No se especificó el límite superior a la derecha de la sección de matriz de tamaño asumido en %L"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "El rango no coincide en la referencia de matriz en %L (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "El rango de coíndice no coincide en la referencia de matriz en %L (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "El coíndice en la codimensión %d debe ser un escalar en %L"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "El índice de matriz en %L debe ser escalar"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "El índice de matriz en %L debe ser de tipo INTEGER, se encontró %s"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Extensión: índice de matriz REAL en %L"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "El argumento dim en %L debe ser escalar"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "El argumento dim en %L debe ser de tipo entero"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "El índice de matriz en %L es una matriz de rango %d"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "El índice de inicio de la subcadena en %L debe ser de tipo INTEGER"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "El índice de inicio de la subcadena en %L debe ser escalar"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "El índice de inicio de la subcadena en %L es menor a uno"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "El índice de final de la subcadena en %L debe ser de tipo INTEGER"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "El índice de final de la subcadena en %L debe ser escalar"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "El índice de final de la subcadena en %L excede la longitud de la cadena"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "El índice de final de la subcadena en %L es demasiado grande"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo POINTER en %L"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "El componente a la derecha de una referencia de parte con rango que no es cero no debe tener el atributo ALLOCATABLE en %L"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "No se deben especificar dos o más referencias de parte con rango que no es cero en %L"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-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:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr "Subobjecto polimórfico de un objeto coindizado en %L"
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr "Objeto coindizado con subcomponente alojable polimórfico en %L"
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "El objeto pasado en %L debe ser escalar"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr "El objeto base para la llamada a componente procedimiento-puntero en %L es de tipo ABSTRACT '%s'"
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr "El objeto base para la llamada a procedimiento enlazada a tipo en %L es de tipo ABSTRACT '%s'"
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "El objeto base para la llamada a procedimiento enlazada a tipo NOPASS en %L debe ser escalar"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr "No se encontró un enlace específico coincidente para la llamada al GENERIC '%s' en %L"
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "'%s' en %L debe ser una SUBROUTINE"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "'%s' en %L debe ser una FUNCTION"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s en %L debe ser un escalar"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "Característica eliminada: %s en %L debe ser entero"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s en %L debe ser INTEGER"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "La expresión de paso en el bucle DO en %L no puede ser cero"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr "El bucle DO en %L se ejecutará cero veces"
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "El nombre de índice FORALL en %L debe ser un INTEGER escalar"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "La expresión de inicio FORALL en %L debe ser un INTEGER escalar"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "La expresión de fin FORALL en %L debe ser un INTEGER escalar"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "La expresión de tranco FORALL en %L debe ser un %s escalar"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "La expresión de tranco FORALL en %L no puede ser cero"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-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:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "El objeto de alojamiento en %L debe ser ALLOCATABLE o un POINTER"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr "Objeto alojable coindizado en %L"
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr "La expresión fuente en %L debe ser escalar o tener el mismo rango que el objeto de alojamiento en %L"
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr "La expresión fuente en %L y el objeto de alojamiento en %L deben tener la misma forma"
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr "El tipo de entidad en %L es de tipo incompatible con la expresión fuente en %L"
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr "El objeto de alojamiento en %L y la expresión fuente en %L deben tener el mismo parámetro de tipo de género"
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr "La expresión fuente en %L no puede ser de tipo LOCK_TYPE ni tener un componente LOCK_TYPE si el objeto-alojado en %L es una comatriz"
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr "El alojamiento %s del tipo de base ABSTRACT en %L requiere una especificación de tipo o una expresión source"
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr "Alojar %s en %L con especificación de tipo requiere el mismo parámetro de longitud de carácter que el de la declaración"
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Se requiere una especificación de matriz en la declaración ALLOCATE en %L"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Se requiere una especificación de comatriz en la declaración ALLOCATE en %L"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Especificación de matriz errónea en la declaración ALLOCATE en %L"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr "'%s' no debe aparecer en la especificación de matriz en %L en la misma declaración ALLOCATE donde se aloja a sí misma"
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "Se esperaba '*' en la especificación de comatriz en la declaración ALLOCATE en %L"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Especificación de comatriz errónea en la declaración ALLOCATE en %L"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "La variable stat en %L debe ser una variable INTEGER escalar"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "La variable stat en %L no no debe ser %sd dentro de la misma declaración %s"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr "ERRMSG en %L es inútil sin una etiqueta STAT"
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "La variable errmsg en %L debe ser una variable CHARACTER escalar"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr "La variable errmsg en %L no debe ser %sd dentro de la misma declaración %s"
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr "El objeto de alojamiento en %L también aparece en %L"
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L"
@@ -41723,175 +41718,175 @@ msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L"
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "La etiqueta CASE en %L se encima con la etiqueta CASE en %L"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "La expresión en la declaración CASE en %L debe ser de tipo %s"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "La expresión en la declaración CASE en %L debe ser de género %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "La expresión en la declaración CASE en %L debe ser escalar"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "La expresión de selección en una declaración GOTO computada en %L debe ser una expresión entera escalar"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "El argumento de la declaración SELECT en %L no puede ser %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "La expresión en la declaración CASE en %L no está en el rango de %s"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "El DEFAULT CASE en %L no puede tener después un segundo DEFAULT CASE en %L"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "No se permite un rango lógico en una declaración CASE en %L"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "Se repite un valor lógico constante en una declaración CASE en %L"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "La especificación de rango en %L nunca puede coincidir"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "El bloque SELECT CASE lógico en %L tiene más de dos cases"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Se usa el nombre asociado '%s' en %L como una matriz"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "El selector debe ser polimórfico en la declaración SELECT TYPE en %L"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "El tipo derivado '%s' en %L debe ser extensible"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "El tipo derivado '%s' en %L debe ser una extensión de '%s'"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr "Bloque CLASS IS doble en la declaración SELECT TYPE  en %L"
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr "El NULL intrínseco en %L en la declaración de transferencia de datos requiere MOLD="
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr "El elemento de transferencia de datos en %L no puede ser polimórfico a menos que se procese con un procedimiento de entrada/salida definido"
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "El elemento de transferencia de datos en %L no puede tener componentes POINTER a menos que se procese con un procedimiento de entrada/salida definido"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "El elemento de transferencia de datos en %L no puede tener componentes de puntero a procedimiento"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "El elemento de transferencia de datos en %L no puede tener componentes ALLOCATABLE a menos que se procese con un procedimiento de entrada/salida definido"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "El elemento de transferencia de datos en %L no puede tener componentes PRIVATE"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "El elemento de transferencia de datos en %L no puede ser una referencia completa a una matriz de tamaño asumido"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "La variable lock en %L debe ser un escalar de tipo LOCK_TYPE"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "El argumento STAT= en %L debe ser una variable INTEGER escalar"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "El argumento ERRMSG= en %L debe ser una variable CHARACTER escalar"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "El argumento ACQUIRED_LOCK= en %L debe ser una variable LOGICAL escalar"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "El argumento de conjunto de imagen %L debe ser un escalar o una expresión INTEGER de rango 1"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "El argumento de conjunto de imagen en %L debe estar entre 1 y num_images()"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "La declaración en %L no es una declaración de objetivo de ramificación válida para la declaración de ramificación en %L"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr "La ramificación en %L puede resultar en un bucle infinito"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr "La declaración GOTO en %L deja la construcción CRITICAL por la etiqueta en %L"
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la etiqueta en %L"
@@ -41899,950 +41894,950 @@ msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la et
 #. The label is not in an enclosing block, so illegal.  This was
 #. allowed in Fortran 66, so we allow it as extension.  No
 #. further checks are necessary in this case.
-#: fortran/resolve.c:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "La etiqueta en %L no está en el mismo bloque que la declaración GOTO en %L"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "La máscara WHERE en %L tiene forma inconsistente"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "El objetivo de asignación WHERE en %L tiene forma inconsistente"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr "Asignación definida por el usuario de un no-ELEMENTAL en WHERE en %L"
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Declaración sin soporte dentro de WHERE en %L"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Asignación a una variable de índice FORALL en %L"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "No se usa el FORALL con índice '%s' en el lado izquierdo de la asignación en %L y podría causar múltiples asignaciones a este objeto"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "Una construcción FORALL externa ya tiene un índice con este nombre %L"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "la cláusula WHERE/ELSEWHERE en %L requiere una matriz LOGICAL"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-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:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "La expresión con coíndice en %L se asigna a una variable de tipo derivado con un componente POINTER en un procedimiento PURE"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 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:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "Asignación a una variable coindizada en %L en un procedimiento PURE"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr "La variable no debe ser polimórfica en la asignación intrínseca en %L - revise que hay una subrutina específica coincidente para el operador '='"
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr "La variable coindizada no debe tener un componente último alojable en la asignación en %L"
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-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:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-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:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "La declaración RETURN alternativa en %L requiere de un especificador de devolución SCALAR-INTEGER"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "La declaración de ASSIGN en %L requiere una variable INTEGER escalar por defecto"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-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:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "La condición de salida del bucle DO WHILE en %L debe ser una expresión LOGICAL escalar"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "La cláusula de máscara FORALL en %L requiere una expresión LOGICAL escalar"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-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:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-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:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr "La variable CHARACTER en %L tiene longitud negativa %d, la longitud se estableció a cero"
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "La longitud de la cadena en %L es demasiado grande"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-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:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-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:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-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:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-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:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "El tipo '%s' de la variable CLASS '%s' en %L no es extensible"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr "La variable CLASS '%s' en %L debe ser dummy, allocatable o pointer"
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 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:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr "Fortran 2008: SAVE implícito para la variable de módulo '%s' en %L, se necesita por la inicialización por defecto"
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-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:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr "La entidad '%s' en %L tiene un parámetro de tipo diferido y requiere el atributo pointer o allocatable"
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "La entidad con longitud de carácter asumida en %L debe ser un argumento de prueba o un PARAMETER"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-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:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "La variable COMMON '%s' en %L debe tener longitud de cáracter constante en este contexto"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "El allocatable '%s' en %L no puede tener un inicializador"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "El external '%s' en %L no puede tener un inicializador"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "El dummy '%s' en %L no puede tener un inicializador"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "El intrinsic '%s' en %L no puede tener un inicializador"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-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:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-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:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-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:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-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:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-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:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-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:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-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:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "La función de declaración '%s' en %L no debe tener atributo puntero o alojable"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-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:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-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:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-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:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-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:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "Característica obsoleta: función CHARACTER(*) '%s' en %L"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "El atributo PROCEDURE genera un conflicto con el atributo SAVE en '%s' en %L"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "El atributo PROCEDURE genera un conflicto con el atributo INTENT en '%s' en %L"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "El atributo PROCEDURE genera un conflicto con el atributo RESULT en '%s' en %L"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "El atributo EXTERNAL genera un conflicto con el atributo FUNCTION en '%s' en %L"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr "Al resultado del puntero de procedimiento '%s' en %L le falta el atributo puntero"
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "El procedimiento FINAL '%s' en %L no debe ser una SUBROUTINE"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "El procedimiento FINAL en %L debe tener exactamente un argumento"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "El argumento del procedimiento FINAL en %L debe ser de tipo '%s'"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "El argumento del procedimiento FINAL en %L no debe ser un POINTER"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "El argumento del procedimiento final en %L no debe ser ALLOCATABLE"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "El argumento del procedimiento FINAL en %L no debe ser OPTIONAL"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "El argumento del procedimiento FINAL en %L no debe ser INTENT(OUT)"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "El procedimiento FINAL que no es escalar en %L debe tener un argumento sharp asumido"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "El procedimiento FINAL '%s' declarado en %L tiene el mismo rango (%d) que '%s'"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr "Sólo se declaran procedimientos FINAL de matriz para el tipo derivado '%s' definido en %L, se sugiere también uno escalar"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Aún no se admite la finalización en %L"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr "'%s' y '%s' no pueden ser FUNCTION/SUBROUTINE mezcladas para el GENERIC '%s' en %L"
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr "'%s' y '%s' para el GENERIC '%s' en %L son ambiguos"
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr "El enlace específico '%s' no está definido como objetivo del GENERIC '%s' en %L"
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr "El GENERIC '%s' en %L debe apuntar a un enlace específico, '%s' es GENERIC también"
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr "El GENERIC '%s' en %L no puede sobreescribir el enlace específico con el mismo nombre"
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr "El operador enlazado a tipo en %L no puede ser NOPASS"
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "'%s' debe ser un procedimiento de módulo o un procedimiento externo con una interfaz explícita en %L"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "El procedimiento '%s' con PASS(%s) en %L no tiene un argumento '%s'"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "El procedimiento '%s' con PASS en %L debe tener al menos un argumento"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "Argumento dummy pasado como objeto no polimórfico de '%s' en %L"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "El argumento dummy de objeto pasado de '%s' en %L debe ser escalar"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser ALLOCATABLE"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "El argumento dummy de objeto pasado de '%s' en %L no debe ser POINTER"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente de '%s'"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "El procedimiento '%s' en %L tiene el mismo nombre que un componente heredado de '%s'"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr "El tipo derivado '%s' declarado en %L debe ser ABSTRACT porque '%s' es DEFERRED y no se sobreescribió"
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr "Como al extender el tipo '%s' en %L tiene un componente de comatriz, el tipo padre '%s' también debe tener uno"
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr "El tipo derivado '%s' que no es extensible en %L no debe ser ABSTRACT"
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr "El componente de caractér de longitud diferida '%s' en %L aún no se admite"
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "El componente de comatriz '%s' en %L debe sel alojable con forma diferida"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "El componente '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz"
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "El componenten '%s' en %L con componente comatriz debe ser un escalar que no sea puntero alojable"
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr "El componente '%s' en %L tiene el atributo CONTIGUOUS porque no es un puntero de matriz"
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "La interfaz '%s', usada por el procedimiento de componente puntero '%s' en %L, se declara en una declaración PROCEDURE posterior"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "La interfaz '%s' del procedimiento de componente puntero '%s' en %L debe ser explícita"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "El procedimiento de componente puntero '%s' con PASS(%s) en %L no tiene un argumento '%s'"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "El procedimiento de componente puntero '%s' con PASS en %L debe tener al menos un argumento"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser del tipo derivado '%s'"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L debe ser escalar"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede tener el atributo POINTER"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "El argumento '%s' de '%s' con PASS(%s) en %L no puede ser ALLOCATABLE"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "El componente '%s' de '%s' en %L tiene el mismo nombre que un procedimiento enlazado a tipo heredado"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-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:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr "El componente de carácter '%s' de '%s' en %L con longitud diferida debe ser POINTER o ALLOCATABLE"
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr "Fortran 2003: el componente '%s' es un tipo PRIVATE y no puede ser un componente de '%s' el cual es PUBLIC en %L"
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr "El componente polimórfico %s en %L en SEQUENCE o de tipo BIND(C) %s"
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "El componente %s del tipo SEQUENCE declarado en %L no tiene el atributo SEQUENCE"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-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:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "El componente '%s' con CLASS en %L debe ser allocatable o pointer"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr "Fortran 2003: El nombre genérico '%s' de la función '%s' en %L tiene el mismo nombre que el tipo derivado en %L"
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "No se permite la matriz de tamaño asumido '%s' en la lista de nombres '%s' en %L"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "Fortran 2003: Objeto de matriz NAMELIST '%s' con forma asumida en la lista de nombres '%s' en %L"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con forma que no es constante en la lista de nombres '%s' en %L"
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr "Fortran 2003: El objeto de matriz NAMELIST '%s' con longitud de carácter que no es constante en la lista de nombres '%s' en %L"
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L es polimórfico y requiere un procedimiento de entrada/salida definido"
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr "Fortran 2003: El objeto NAMELIST '%s' en la lista de nombres '%s' en %L con componentes ALLOCATABLE o POINTER"
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L tiene componentes ALLOCATABLE o POINTER y por lo tanto requere un procedimiento de entrada/salida definido"
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-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:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-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:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-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:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-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:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-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:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-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:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "Tipo derivado incompatible en PARAMETER en %L"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "El atributo PROTECTED genera un conflicto con el atributo EXTERNAL en %L"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "El atributo PROCEDURE genera un conflicto con el atributo PROTECTED en %L"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr "'%s' en %L tiene el atributo CONTIGUOUS pero no es un puntero de matriz o una matriz de forma asumida"
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "La matriz de tamaño asumido en %L debe ser un argumento de prueba"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "La matriz de forma asumida en %L debe ser un argumento de prueba"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "El símbolo en %L no es una variable DUMMY"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-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:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-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:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-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:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-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:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 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:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-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:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr "La variable %s en %L de tipo LOCK_TYPE o con un subcomponente de tipo LOCK_TYPE debe ser una comatriz"
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-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:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "El argumento dummy '%s' en %L de LOCK_TYPE no puede ser INTENT(OUT)"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "El resultado de la función '%s' en %L no puede ser una comatriz o tener un componente comatriz"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "La variable '%s' en %L de TYPE(C_PTR) o TYPE(C_FUNPTR) no debe ser una comatriz"
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "La variable '%s' en %L con componente de comatriz debe ser un escalar que no sea puntero alojable"
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr "La variable '%s' en %L es una comatriz y no es ALLOCATABLE, SAVE ni un argumento dummy"
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "La variable de comatriz '%s' en %L no debe tener codimensiones con forma diferida"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "La variable comatriz allocatable '%s' en %L debe tener forma diferida"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr "La variable '%s' en %L es INTENT(OUT) y por lo tanto no puede ser una comatriz allocatable o tener componentes comatriz"
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "No se permite la variable dummy comatriz '%s' en %L en el procedimiento BIND(C) '%s'"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "No se guarda (SAVE) el threadprivate en %L"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-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:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-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:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "El elemento DATA '%s' en %L no puede tener un coíndice"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr "El elemento DATA '%s' en %L es un puntero y entonces debe ser una matriz completa"
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "Sección de matriz no constante en %L en la declaración DATA"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "La declaración DATA en %L tiene más variables que valores"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr "el inicio del bucle do implícito en %L no se puede simplificar a un valor constante"
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr "el final del bucle do implícito en %L no se puede simplificar a un valor constante"
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr "el paso del bucle do implícito en %L no se puede simplificar a un valor constante"
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "La declaración DATA en %L tiene más valores que variables"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Se define la etiqueta %d en %L pero no se usa"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "Se define la etiqueta %d en %L pero no se puede usar"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-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:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-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:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-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:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-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:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "Error sintáctico en la declaración EQUIVALENCE en %L"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr "Todos o ninguno de los objetos en el conjunto EQUIVALENCE en %L deben tener el atributo PROTECTED"
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-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:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-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:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-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:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-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:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "La subcadena en %L tiene longitud cero"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Fortran 2003: La función PUBLIC '%s' en %L es de tipo derivado PRIVATE '%s'"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY '%s' en %L no tiene tipo IMPLICIT"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-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:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-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:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-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:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "El primer argumento de la interfaz de operador en %L no puede ser opcional"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "El segundo argumento de la interfaz de operador en %L no puede ser opcional"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "La interfaz de operador en %L debe tener, cuando mucho, dos argumentos"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-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 también debe ser PURE"
@@ -43008,34 +43003,34 @@ msgstr "La magnitud del segundo argumento de %s excede el tamaño de bit en %L"
 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:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-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:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-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:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-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:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-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:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-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:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "El segundo argumento de MOD en %L es cero"
@@ -43043,47 +43038,47 @@ msgstr "El segundo argumento de MOD en %L es cero"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "El segundo argumento de MODULO en %L es cero"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "El resultado de NEAREST es NaN en %L"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-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:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-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:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "El resultado de SCALE desborda su género en %L"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-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:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr "Fuera de límites en IMAGE_INDEX en %L para la dimensión %d, SUB tiene %ld y el límite inferior de COARRAY  es %ld)"
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr "Fuera de límites en IMAGE_INDEX en %L para la dimensión %d, SUB tiene %ld y el límite superior de COARRAY es %ld)"
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr "El carácter '%s' en la cadena en %L no se puede convertir al género de carácter %d"
@@ -43452,17 +43447,17 @@ msgstr "Se sobreescriben los inicializadores desiguales en EQUIVALENCE en %L"
 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-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr "Se crea una matriz temporal en %L para el argumento '%s'"
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end 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:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "tipo de expresión errónea durante la caminata (%d)"
@@ -44072,17 +44067,17 @@ msgstr "flujo de bytecode: basura al final de la sección de símbolos"
 msgid "could not parse hex number"
 msgstr "no se puede decodificar el número hexadecimal"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "nombre de fichero inesperado %s en el fichero de resolución de enlace. Se esperaba %s"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "no se puede abrir el fichero de desplazamiento"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr "desplazamiento inesperado"
@@ -44092,67 +44087,67 @@ msgstr "desplazamiento inesperado"
 msgid "invalid line in the resolution file"
 msgstr "línea inválida en el fichero de resolución"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "resolución inválida en el fichero de resolución"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr "sub id de resolución"
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "no se pueden leer las decls LTO de %s"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "No se puede abrir %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "No se puede mapear %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "No se puede leer %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr "no se proporcionó el nombre de fichero de lista de salida TRANS"
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "se abre la lista de salida LTRANS %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr "falló lto_obj_file_open()"
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "se escribe a la lista de salida LTRANS %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "se cierra la lista de salida LTRANS %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "no se puede abrir el fichero de resolución de símbolos: %m"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr "errores durante la mezcla de unidades de traducción"
@@ -45092,6 +45087,12 @@ msgstr "se descarta %<-fobjc-sjlj-exceptions%> por %<-fnext-runtime%> cuando %<-
 msgid "creating selector for nonexistent method %qE"
 msgstr "se crea un selector para el método %qE que no existe"
 
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "conversión unsafe.Pointer inválida"
+
+#~ msgid "both %<const%> and %<constexpr%> cannot be used here"
+#~ msgstr "no se pueden usar aquí %<const%> ni %<constexpr%>"
+
 #~ msgid "floating point constant truncated to integer"
 #~ msgstr "se truncó la constante de coma flotante a entero"
 
index 49219a6..331b2bb 100644 (file)
Binary files a/gcc/po/fi.gmo and b/gcc/po/fi.gmo differ
index a744778..95feec3 100644 (file)
@@ -26,7 +26,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.5-b20091203\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2010-01-11 22:13+0200\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -44,7 +44,7 @@ msgstr "<nimetön>"
 msgid "({anonymous})"
 msgstr "({nimetön})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 msgid "expected end of line"
 msgstr "päättämätön muotoilumerkkijono"
@@ -54,8 +54,8 @@ msgstr "päättämätön muotoilumerkkijono"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr ""
@@ -67,13 +67,13 @@ msgstr ""
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr ""
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
@@ -89,14 +89,14 @@ msgstr "taulukon indeksin tyyppi on %<char%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
@@ -106,25 +106,25 @@ msgstr "taulukon indeksin tyyppi on %<char%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr ""
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
@@ -134,34 +134,34 @@ msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 msgid "expected %<.%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr ""
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, fuzzy, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "%qs määrittää %<auto%>:n tiedostoalue-esittelyssä"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
@@ -338,12 +338,12 @@ msgstr ""
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "liukulukuvakiota käytetty väärin"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr ""
@@ -1435,20 +1435,20 @@ msgstr "tunnistamaton käsky:"
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "muisti lopussa"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr ""
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr ""
 
@@ -2053,195 +2053,195 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr ""
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "L1-välimuistin koko"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "L2-välimuistin koko"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr ""
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2578,18 +2578,18 @@ msgid "invalid %%r value"
 msgstr "virheellinen %%r-arvo"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "virheellinen %%R-arvo"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "virheellinen %%N-arvo"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "virheellinen %%P-arvo"
@@ -2604,12 +2604,12 @@ msgstr "virheellinen %%h-arvo"
 msgid "invalid %%L value"
 msgstr "virheellinen %%L-arvo"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "virheellinen %%m-arvo"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "virheellinen %%M-arvo"
@@ -2620,7 +2620,7 @@ msgid "invalid %%U value"
 msgstr "virheellinen %%U-arvo"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "virheellinen %%s-arvo"
@@ -2630,7 +2630,7 @@ msgstr "virheellinen %%s-arvo"
 msgid "invalid %%C value"
 msgstr "virheellinen %%C-arvo"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "virheellinen %%E-arvo"
@@ -2641,38 +2641,38 @@ msgid "unknown relocation unspec"
 msgstr ""
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "virheellinen %%xn-koodi"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr ""
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 msgid "invalid shift operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2680,83 +2680,83 @@ msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 msgid "invalid operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "puuttuva operandi"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 msgid "function parameters cannot have __fp16 type"
 msgstr "funktion paluuarvon tyyppi ei voi olla funktio"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 msgid "functions cannot return __fp16 type"
 msgstr "funktio ei palauta merkkijonotyyppiä"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "requested alignment is not a constant"
 msgid "bad address, not a constant:"
 msgstr "pyydetty tasaus ei ole vakio"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr ""
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr ""
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
@@ -2772,7 +2772,7 @@ msgstr ""
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3004,72 +3004,72 @@ msgstr ""
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr ""
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr ""
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr ""
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr ""
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr ""
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr ""
 
@@ -3122,13 +3122,13 @@ msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr ""
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "virheellinen %%p-arvo"
@@ -3209,7 +3209,7 @@ msgid "post-increment address is not a register"
 msgstr ""
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr ""
 
@@ -3344,117 +3344,117 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-fpic and -mapcs-reent are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-fpic ja -mapcs-reent ovat yhteensopimattomat"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "virheellinen %%c-arvo"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "virheellinen %%f-arvo"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "virheellinen %%F-arvo"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "virheellinen %%G-arvo"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "virheellinen %%j-koodi"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "virheellinen %%J-koodi"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "virheellinen %%k-arvo"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "virheellinen %%K-arvo"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "virheellinen %%O-arvo"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "virheellinen %%q-arvo"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "virheellinen %%S-arvo"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "virheellinen %%T-arvo"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "virheellinen %%u-arvo"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "virheellinen %%v-arvo"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "virheellinen %%x-arvo"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "AltiVec-argumentti välitetty funktiolle, jolla ei ole prototyyppiä"
 
@@ -3543,25 +3543,25 @@ msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 msgid "invalid operand for code: '%c'"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, fuzzy, c-format
 msgid "invalid operand to %%R"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, fuzzy, c-format
 msgid "invalid operand to %%S"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr ""
 
@@ -3580,13 +3580,13 @@ msgstr ""
 msgid "invalid %%B operand"
 msgstr ""
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 msgid "invalid %%C operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 msgid "invalid %%D operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
@@ -3631,58 +3631,58 @@ msgstr ""
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: tuntematon koodi"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%L code"
 msgid "invalid %%H specifier"
 msgstr "virheellinen %%L-koodi"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 msgid "invalid %%h operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 msgid "invalid %%I operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 msgid "invalid %%i operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 msgid "invalid %%j operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 msgid "invalid %%%c operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 msgid "invalid %%N operand"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4008,7 +4008,7 @@ msgstr "%qs:n esittely taulukollisena tyhjiä alkioita"
 msgid "candidates are:"
 msgstr "ehdokkaat ovat:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4404,11 +4404,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 msgid "pointer assignment"
 msgstr "epäkelpo lvalue sijoituksessa"
@@ -4417,129 +4417,129 @@ msgstr "epäkelpo lvalue sijoituksessa"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 #, fuzzy
 msgid "module procedure"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 msgid "internal function"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 #| msgid "%qD is not a variable"
 msgid "iterator variable"
 msgstr "%qD ei ole muuttuja"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 msgid "End expression in DO loop"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 msgid "Step expression in DO loop"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4548,7 +4548,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4871,6 +4871,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4963,26 +4975,10 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr ""
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran ei tue valitsinta -E ilman valitsinta -cpp"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr ""
@@ -4995,6 +4991,10 @@ msgstr ""
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr ""
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -7766,7 +7766,7 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr ""
 
 #: config/sh/sh.opt:278
@@ -12107,273 +12107,268 @@ msgstr "Luo jaettu kirjasto"
 msgid "Create a position independent executable"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 msgid "invalid use of type"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 msgid "expected numeric type"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 msgid "expected boolean type"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 msgid "expected integer or boolean type"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 msgid "expected pointer"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in binary expression"
 msgstr "yhteensopimattomat tyypin palautuksessa"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qE has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "taulukon %qE koko ei ole kokonaislukutyyppiä"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object %qE is not a function"
 msgid "object is not a method"
 msgstr "kutsuttu objekti %qE ei ole funktio"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "argument %qD doesn%'t match prototype"
 msgid "method type does not match object type"
 msgstr "argumentti %qD ei sovi prototyyppiin"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 msgid "invalid use of %<...%> with builtin function"
 msgstr "epäkelpo argumentti funktiolle %<__builtin_return_address%>"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "ei argumentteja"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 msgid "too many arguments"
 msgstr "liikaa argumentteja funktiolle %s %q+#D"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 msgid "argument 1 must be a map"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "epäkelpo tallennusluokka funktiolle %qs"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 msgid "too many arguments to make"
 msgstr "liikaa argumentteja funktiolle %s %q+#D"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "epäkelpo argumentti funktiolle %<__builtin_return_address%>"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 msgid "argument must be channel"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 msgid "left argument must be a slice"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 msgid "first argument must be []byte"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 msgid "second argument must be slice or string"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 msgid "argument 2 has invalid type"
 msgstr "%Jparametrin %u tyyppi on void"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 msgid "argument must have complex type"
 msgstr "%Jparametrilla %u in vaillinainen tyyppi"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "cleanup argument not an identifier"
 msgid "complex arguments must have identical types"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 msgid "expected function"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for receiver"
 msgstr "yhteensopimattomat tyypin palautuksessa"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of non-static member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "virheellinen ei-staattisen jäsenfunktion käyttö"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "number of arguments doesn%'t match prototype"
 msgid "number of results does not match number of values"
 msgstr "argumenttien määrä ei vastaa prototyyppiä"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for map index"
 msgstr "yhteensopimattomat tyypin palautuksessa"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "liian monta argumenttia muotoilulle"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "liian vähän argumentteja muotoilulle"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "void-lausekkeen epäkelpo käyttö"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "expected class name"
 msgid "expected channel"
 msgstr "odotettiin luokan nimeä"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12417,22 +12412,26 @@ msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 msgid "expected boolean expression"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in send"
 msgstr "yhteensopimattomat tyypin palautuksessa"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 msgid "invalid send on receive-only channel"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12733,7 +12732,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "epäkelpo argumentti funktiolle %<__builtin_frame_address%>"
@@ -12827,13 +12826,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "tyhjää arvoa ei jätetä huomioimatta, vaikka kuuluisi"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "pyydetty muuntoa ei-skalaarityypiksi"
@@ -13212,7 +13211,7 @@ msgstr "ylivuoto vakiolausekkeessa"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE määritelty vääränlaisena tunnisteena"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
@@ -13345,7 +13344,7 @@ msgstr "muuttuvakokoista objektia ei voi alustaa"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "muuttujalla %qD on alustin, mutta vaillinainen tyyppi"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
@@ -13355,7 +13354,7 @@ msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "alustamaton const %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D will be initialized after"
 msgid "%qD should be initialized"
@@ -14261,7 +14260,7 @@ msgstr "argumentti %qD ei sovi prototyyppiin"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "argumentti %qD ei sovi prototyyppiin"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "ei palautuslausetta funktiossa, joka palauttaa ei-tyhjän"
@@ -14466,7 +14465,7 @@ msgstr "ISO C ei salli ylimääräisiä %<;%>-merkkejä funktioiden ulkopuolella
 msgid "unknown type name %qE"
 msgstr "tuntematon konetila %qs"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "useita tallennuspaikkoja esittelymääritteissä"
@@ -14476,7 +14475,7 @@ msgstr "useita tallennuspaikkoja esittelymääritteissä"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle"
@@ -14526,7 +14525,7 @@ msgstr "ISO C90 ei tue %<long long%> -tyyppiä"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 ei tue %<long long%> -tyyppiä"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "odotettiin merkkijonoliteraalia"
@@ -14560,8 +14559,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr ""
@@ -14907,80 +14906,80 @@ msgstr "useita tallennuspaikkoja esittelymääritteissä"
 msgid "no type or storage class may be specified here,"
 msgstr "tallennusluokka annettu %qs:lle"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, fuzzy, gcc-internal-format
 #| msgid "<unknown operator>"
 msgid "unknown property attribute"
 msgstr "<tuntematon operaattori>"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "puuttuva %<(%> ilmaisun %<#pragma pack%> jälkeen - jätetään huomiotta"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "puuttuva %<(%> ilmaisun %<#pragma pack%> jälkeen - jätetään huomiotta"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jlohkoattribuuttia ei voi määrittää paikalliselle muuttujalle"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%Jlohkoattribuuttia ei voi määrittää paikalliselle muuttujalle"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "väärinmuodostettu #pragma GCC pch_preprocess, jätetään huomiotta"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr ""
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "etumerkillisen ja etumerkittömän kokonaislukulausekkeen vertailu"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -14995,43 +14994,43 @@ msgstr "vektoriylivuoto lausekkeessa"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs ei ole kelpo tulostetiedosto"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of %<#pragma pack%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "roskaa ilmaisun %<#pragma pack%> lopussa"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
@@ -15041,7 +15040,7 @@ msgstr ""
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 msgid "for statement expected"
 msgstr "ylivuoto vakiolausekkeessa"
@@ -15056,12 +15055,12 @@ msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
@@ -15086,27 +15085,27 @@ msgstr "automaattimuuttuja %qE ei voi olla %<threadprivate%>"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%Jparametrin %qD tyyppi on vaillinainen"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15906,7 +15905,7 @@ msgstr "taulukko alustetaan suluilla ympäröidystä merkkijonovakiosta"
 msgid "initialization of a flexible array member"
 msgstr "joustavan taulukkojäsenen alustus"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "merkkitaulukon alustus leveästä merkkijonosta"
@@ -16112,226 +16111,226 @@ msgstr "%<return%> arvon kanssa voidin palauttavassa funktiossa"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "ISO C kieltää %<return%>:in lausekkeen kanssa voidin palauttavassa funktiossa"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "funktio palauttaa osoitteen paikalliseen muuttujaan"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "case-nimiö ei ole kokonaislukutyyppinen vakiolauseke"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "ehdotetaan aaltosulkeita epäselvän %<else%>n välttämiseksi"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break-lause silmukan tai switch-rakenteen ulkopuolella"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue-lause silmukan ulkopuolella"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "break-lause ei ole silmukan tai switch-lauseen sisässä"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "lauseella ei ole vaikutusta"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about comparison of different enum types"
 msgid "comparing vectors with different element types"
 msgstr "Varoita eri enum-tyyppien vertailusta"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "liukulukujen vertailu operaattoreilla == ja != on epävarmaa"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "osoittimen ja kokonaisluku nollan suuruusvertailu"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C kieltää %<void *%>:n ja funktio-osoittimen vertailun"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "osoittimen ja kokonaisluvun välinen vertailu"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C kieltää funktio-osoittimien suuruusvertailun"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "osoittimen ja kokonaisluku nollan suuruusvertailu"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "osoittimen ja kokonaisluku nollan suuruusvertailu"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "muunnos tyypistä %2$qT tyypiksi %1$qT"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "käytetty osoittimeksi muuntumatonta taulukkoa paikassa, jossa vaaditaan skalaari"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "käytetty tietuetyypin arvoa, vaikka vaaditaan skalaari"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "käytetty unionityypin arvoa, vaikka vaaditaan skalaari"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "käytetty tietuetyypin arvoa, vaikka vaaditaan skalaari"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, fuzzy, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qs-attribuuttia ei huomioida %qs:lle"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17360,7 +17359,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17481,12 +17480,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "sisäkkäisessä funktiossa käytetty globaalia rekisterimuuttujaa %qD"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
@@ -17571,27 +17570,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "taulukon %qs koko on liian suuri"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "käyttämätön muuttuja %q+D"
@@ -18037,63 +18036,63 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr "ei palautuslausetta funktiossa, joka palauttaa ei-tyhjän"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr ""
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -18301,48 +18300,48 @@ msgstr "kenttä %qs esitelty funktiona"
 msgid "function %qD redeclared as variable"
 msgstr "%Jsisäänrakennettu funktio %qD esitelty ei-funktiona"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -18441,12 +18440,12 @@ msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella"
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -18810,8 +18809,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
@@ -19119,7 +19118,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
@@ -19139,12 +19138,12 @@ msgstr "säiekohtaista muistia ei tueta tälle kohteelle"
 msgid "nested function trampolines not supported on this target"
 msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma extern_prefix ei ole tuettu tällä kohteella"
@@ -19336,7 +19335,7 @@ msgstr "rajat määrittelemättömän taulukon epäkelpo käyttö"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19351,7 +19350,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19366,7 +19365,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr ""
@@ -19402,7 +19401,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "%Jvanhanmallinen funktiomäärittely"
@@ -20025,117 +20024,117 @@ msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "funktiota %q+F ei voi koskaan kopioida, koska se vastaanottaa ei-paikallisen goton"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "funktiota %q+F ei voi koskaan kopioida, koska se tallentaa paikallisen nimiön osoitteen staattiseen muuttujaan"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska se käyttää avoimille funktioille sopimattomia attribuutteja"
 
-#: tree-inline.c:3108
+#: tree-inline.c:3109
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska ne on poistettu käytöstä -fno-inline:lla"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska se käyttää avoimille funktioille sopimattomia attribuutteja"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska se käyttää avoimille funktioille sopimattomia attribuutteja"
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska ne on poistettu käytöstä -fno-inline:lla"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska se käyttää avoimille funktioille sopimattomia attribuutteja"
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska ne on poistettu käytöstä -fno-inline:lla"
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska ne on poistettu käytöstä -fno-inline:lla"
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "%Jfunktio %qF ei voi koskaan olla avoin, koska se käyttää avoimille funktioille sopimattomia attribuutteja"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr ""
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
@@ -20171,7 +20170,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr ""
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -20414,72 +20413,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "taulukon indeksi ei ole kokonaisluku"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "taulukon indeksi ei ole kokonaisluku"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "taulukon indeksi ei ole kokonaisluku"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "vertailu on aina epätosi johtuen tietotyypin rajallisesta arvoalueesta"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "vertailu on aina tosi johtuen tietotyypin rajallisesta arvoalueesta"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "%J%qE-attribuutti soveltuu vain funktioihin"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20493,141 +20492,141 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE-attribuuttia ei huomioida"
 
-#: tree.c:5570
+#: tree.c:5585
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
 
-#: tree.c:5578
+#: tree.c:5593
 #, fuzzy, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "funktion määrittely esitelty %<auto%>:ksi"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, fuzzy, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%J%qD esitelty uudelleen erityyppisenä symbolina"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "funktion paluuarvon tyyppi ei voi olla funktio"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -20845,12 +20844,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -20865,8 +20864,8 @@ msgstr "%qD ei ole määritelty funktion näkyvyysalueen ulkopuolella"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "merkkijonon pituudeksi annettu %1$qd merkkiä on suurempi kuin ISO C%3$d -kääntäjiltä vaadittu %2$qd merkkiä"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "ylivuoto vakiolausekkeessa"
@@ -21496,41 +21495,41 @@ msgstr "%qs-attribuuttia ei huomioida %qs:lle"
 msgid "invalid vector type for attribute %qE"
 msgstr "epäkelpo vektorityyppi attribuutille %qs"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "vektorin komponenttien määrä ei ole kahden potenssi"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "ei-tyhjä attribuutti ilman argumentteja ei-prototyypissä"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "ei-tyhjällä argumentilla on epäkelpo operandinumero (argumentti %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "ei-tyhjällä argumentilla arvoalueen ylittävä operandinumero (argumentti %lu,operandi %lu)"
 
 # XXX
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "ei-tyhjä argumentti viittaa ei-osoitinoperandiin (argumentti %lu, operandi %lu)"
@@ -21570,12 +21569,12 @@ msgstr "%qs-attribuutti tarvitsee prototyyppejä, joilla nimettyjä argumentteja
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "haluttu sijainti ei ole kokonaislukuvakio"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "haluttu sijainti on pienempi kuin nolla"
@@ -23356,229 +23355,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr ""
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr ""
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "kohdemuoto ei tue äärettömyyttä"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check on yhteensopimaton valitsimen -mno-apcs-frame kanssa"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic ja -mapcs-reent ovat yhteensopimattomat"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS ei tue valitsinta -mcaller-super-interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS ei tue valitsinta -mcallee-super-interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr ""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "kohdemuoto ei tue äärettömyyttä"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "säiekohtaista muistia ei tueta tälle kohteelle"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "attribuutti %qs pätee vain funktiotyyppeihin"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23618,88 +23617,88 @@ msgstr "funktio ei palauta merkkijonotyyppiä"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "%J%qD:n esittely varjostaa parametria"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, fuzzy, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "ehtolausekkeessa on osoitintyyppiristiriita"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, fuzzy, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "ehtolausekkeessa on osoitintyyppiristiriita"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr ""
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "case label does not reduce to an integer constant"
 msgid "%s expects a compile time integer constant"
 msgstr "case-nimike ei pelkisty kokonaislukuvakioksi"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs expects a constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -24043,413 +24042,413 @@ msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 msgid "can%'t set position in PCH file: %m"
 msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s does not support PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "koodimalli %s ei tue PIC-tilaa"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "koodimalli %s ei tue PIC-tilaa"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "tyyppien %qT ja %qT välinen vertailu"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "säiekohtaista muistia ei tueta tälle kohteelle"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr ""
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "%qs-attribuutti tarvitsee prototyyppejä, joilla nimettyjä argumentteja"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "%Jei voi asettaa %qE-attribuuttia määrittelyn jälkeen"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "ISO C kieltää sisäkkäiset funktiot"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "ISO C kieltää sisäkkäiset funktiot"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 ei tue joustavia taulukon jäseniä"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "attribuutti %qs pätee vain funktiotyyppeihin"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "näkyvyysargumentti ei ole merkkijono"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "%qE-attribuuttia ei huomioida"
@@ -24519,13 +24518,13 @@ msgstr "%Jlohkoattribuuttia ei voi määrittää paikalliselle muuttujalle"
 msgid "%qE attribute requires a string constant argument"
 msgstr "%qs-attribuutti tarvitsee prototyyppejä, joilla nimettyjä argumentteja"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24599,7 +24598,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "haluttu sijainti ei ole kokonaislukuvakio"
@@ -24654,7 +24653,7 @@ msgstr "%Javoimelle funktiolle %qD annettu attribuutti noinline"
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
@@ -24993,62 +24992,62 @@ msgstr ""
 msgid "%qs does not support MIPS16 code"
 msgstr "ISO C ei tue kompleksikokonaiskulutyyppejä"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "käytetty sekä %<__thread%> että %qs"
@@ -25058,57 +25057,57 @@ msgstr "käytetty sekä %<__thread%> että %qs"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "käytetty sekä %<__thread%> että %qs"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "Käytä AltiVec-käskyjä"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -25391,311 +25390,311 @@ msgstr "sijoitus hylkää kohdeosoitintyypin määreitä"
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 vaatii PowerPC64-suorittimen, otetaan käyttöön"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "säiekohtaista muistia ei tueta tälle kohteelle"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "-pg ei ole tuettu tällä alustalla"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "sisäistä funktiota %qs ei voi ottaa pois käytöstä"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "%<__builtin_args_info%>-funktion argumentti on rajojen ulkopuolella"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "sisäinen funktio %q+D esitelty ei-funktiona"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "sisäinen funktio %q+D esitelty ei-funktiona"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "sisäinen funktio %q+D esitelty ei-funktiona"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "sisäinen funktio %q+D esitelty ei-funktiona"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "#pragma redefine_extname ei ole tuettu tällä kohteella"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "sisäistä funktiota %qs ei voi ottaa pois käytöstä"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr ""
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "väärinmuodostettu #pragma GCC pch_preprocess, jätetään huomiotta"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s: PCH file was invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -25929,63 +25928,63 @@ msgstr "taulukon %qs koko on negatiivinen"
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "%Jlohkoattribuutteja ei tueta tälle kohteelle"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "attribuutti %qs pätee vain funktiotyyppeihin"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "haluttu sijainti ei ole kokonaislukuvakio"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "haluttu sijainti ei ole kokonaislukuvakio"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -26111,12 +26110,12 @@ msgstr ""
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr ""
@@ -26337,39 +26336,39 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "%qs attribuuttia ei huomioida"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qs-attribuutti tarvitsee prototyyppejä, joilla nimettyjä argumentteja"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "%qE-attribuuttia ei huomioida"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "epäkelpo vektorityyppi attribuutille %qs"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "attribuutti %qs pätee vain funktiotyyppeihin"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "epäkelpo vektorityyppi attribuutille %qs"
@@ -26811,7 +26810,7 @@ msgstr "jäsenfunktiota %qD ei voi kutsua ilman oliota"
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
@@ -26872,429 +26871,429 @@ msgstr "virheellinen %qT-tyyppisen ei-const-viittauksen alustus %qT-tyyppisestä
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "virheellinen %qT-tyyppisen viittauksen alustus %qT-tyyppisestä lausekkeesta"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java-luokalla %qT ei voi olla hajotinta"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java-luokalla %qT ei voi olla implisiittistä epätriviaalia hajotinta"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr ""
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr ""
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%Jnimike %qD määritelty, mutta ei käytetty"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr ""
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr ""
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
 # semi-fuzzy
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "ei-staattista datajäsentä %q+D käytetty virheellisesti"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "bittikenttä %+q#D ei ole kokonaislukutyyppinen"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "bittikentän %q+D leveys ei ole kokonaislukuvakio"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "bittikentän %q+D leveys negatiivinen"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "bittikentän %q+D leveys nolla"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "bittikentän %q+D leveys ylittää kentän tyypin leveyden"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "kenttä %qs esitelty funktiona"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "%Jparametri %qD esitelty tyhjällä tyypillä"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr ""
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "luokalla %q#T on datajäseninä osoittimia"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  mutta ei ylikuormitusta %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  eikä %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "%q+D-funktion paluuarvon tyyppi ei ole %<int%>"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q+T is not literal because:"
 msgstr "%q#T ei ole luokka"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "Java-luokalla %qT ei voi olla implisiittistä epätriviaalia hajotinta"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr "tyhjästä luokasta %qT perittyjen luokkien rakenne saattaa muuttua GCC:n tulevissa versioissa"
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T uudelleenmääritelty"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "luokalla %q#T on virtuaalifunktioita ja käytettävissä oleva epävirtuaalinen hajotin"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "luokalla %qT ei ole %qD-nimistä kenttää"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "%<this%> ei ole käytettävissä staattisissa jäsenfunktioissa"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
@@ -27304,12 +27303,12 @@ msgstr ""
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr ""
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -27330,7 +27329,7 @@ msgstr "ei voi muuntaa tyyppiä %qT tyypiksi %qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr ""
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "haluttu sijainti ei ole kokonaislukuvakio"
@@ -28250,7 +28249,7 @@ msgstr "%qD esitelty viitteenä, mutta ei ole alustettu"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
@@ -28343,8 +28342,8 @@ msgstr ""
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
@@ -28885,7 +28884,7 @@ msgstr "%qT ei ole luokka tai nimiavaruus"
 msgid "type %qT is not derived from type %qT"
 msgstr "tyyppi %qT ei periydy %qT-tyypistä"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qD:n esittely ei-funktiona"
@@ -29197,377 +29196,372 @@ msgid "cannot declare reference to %q#T, which is not a typedef or a template ty
 msgstr ""
 
 #: cp/decl.c:9497
-#, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
 #, fuzzy, gcc-internal-format
 #| msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "sekä %<_Sat%> että %<complex%> esittelymääritteissä"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, fuzzy, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "funktiota %<main%> ei voi määrittää avoimeksi"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "funktiota %<main%> ei voi määrittää avoimeksi"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "taulukon %qs koko on liian suuri"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "vain muodostimen esittely voi olla %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr ""
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr ""
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "%J%qD:n esittely varjostaa parametria"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "funktio %qD esitelty virtuaaliseksi unionissa"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%qs:n esittely taulukollisena tyhjiä alkioita"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "hajotin ei voi olla staattinen jäsenfunktio"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "%qD esitelty staattisesti sisäkkäin"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "kentällä %qD on vaillinainen tyyppi"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr ""
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "%Jvanhanmallinen funktiomäärittely"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "ei-muuttujan %qD esittely %<for%>-silmukan alkuesittelyssä"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs alustettu ja esitelty %<extern%>-avainsanalla"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs on sekä %<extern%> että alustin"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr ""
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr ""
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "tyyppimuunnettu argumentti %qD ei sovi prototyyppiin"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "parametrin %q+D tyyppi on vaillinainen"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -29587,168 +29581,168 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr ""
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ kieltää ?:-operaattorin ylikuormituksen"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr ""
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr ""
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr ""
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "%Hdatamäärittelyllä ei ole tyyppiä eikä tallennusluokkaa"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "%J%qD:n edellinen esittely oli täällä"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%J%qD:n edellinen esittely oli täällä"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29760,88 +29754,88 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "%J%qD:lle ei ole aiempaa esittelyä"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "%J%qD:n edellinen määrittely oli täällä"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29850,73 +29844,73 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "palautustyyppi on vaillinainen tyyppi"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%J%qD:lle ei ole aiempaa esittelyä"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "Varoita implisiittisistä funktioesittelyistä"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr ""
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label %q+D defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "nimike %q+D määritelty mutta käytettämättä"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr ""
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
@@ -30264,7 +30258,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30524,154 +30518,154 @@ msgstr ""
 msgid "bad array initializer"
 msgstr ""
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized const member in %q#T"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr ""
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr ""
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "array index in initializer exceeds array bounds"
 msgid "parenthesized initializer in array new"
 msgstr "taulukon indeksi alustimessa ylittää taulukon rajat"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr ""
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -30761,12 +30755,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30776,12 +30770,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -30796,100 +30790,100 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr "alustamaton const %qD"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, fuzzy, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "hajotin ei voi olla staattinen jäsenfunktio"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "alustamaton const %qD"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized non-static const member %q#D"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
 # XXX
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "%Hswitch-lauseesta puuttuu default-nimike"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -31027,155 +31021,155 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr ""
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr ""
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "%J%qD:lle ei ole aiempaa esittelyä"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, gcc-internal-format
 msgid "%qT is not a namespace"
 msgstr ""
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr ""
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr ""
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr ""
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr ""
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD esitelty staattisesti sisäkkäin"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qs-attribuutti tarvitsee prototyyppejä, joilla nimettyjä argumentteja"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+#D"
 msgid "  %qE"
 msgstr "  %q+#D"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -31313,7 +31307,7 @@ msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "liukulukuylivuoto lausekkeessa"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31555,7 +31549,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -31755,7 +31749,7 @@ msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 msgid "compound-statement in constexpr function"
 msgstr ""
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "tyhjä esittely"
@@ -31786,7 +31780,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "tyhjä esittely"
@@ -31803,12 +31797,12 @@ msgstr "%<for%>-silmukan alkuesittelyt ovat sallittuja vain C99-tilassa"
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "tyhjä esittely"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "ylimääräinen %<;%>"
@@ -31845,7 +31839,7 @@ msgstr "%Jvanhanmallinen funktiomäärittely"
 msgid "class definition may not be declared a friend"
 msgstr "funktion määrittely esitelty %<register%>:ksi"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31924,12 +31918,12 @@ msgstr "vektoriylivuoto lausekkeessa"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "strftime-muotoilut eivät voi muotoilla argumentteja"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "strftime-muotoilut eivät voi muotoilla argumentteja"
@@ -31944,7 +31938,7 @@ msgstr "strftime-muotoilut eivät voi muotoilla argumentteja"
 msgid "expected template-id"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
@@ -32075,12 +32069,12 @@ msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "%qs-attribuuttia ei huomioida ei-luokkatyypeille"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "%J%qD:n edellinen esittely oli täällä"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "%J%qD:n edellinen esittely oli täällä"
@@ -32126,75 +32120,75 @@ msgstr ""
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in alias template declarations"
 msgstr "uusia tyyppejä ei voi määritellä paluutyypissä"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%<namespace%> definition is not allowed here"
 msgid "a function-definition is not allowed here"
 msgstr "%<namespace%>-määrittely ei ole sallittu täällä"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, fuzzy, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "%Jvanhanmallinen funktiomäärittely"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "%Jvanhanmallinen funktiomäärittely"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 msgid "expected initializer"
 msgstr "epäkelpo alustin"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "Varoita implisiittisistä funktioesittelyistä"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "indeksoitu arvo on osoitin funktioon"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "parametrilla %P on vaillinainen tyyppi %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -32203,253 +32197,253 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 msgid "invalid declarator"
 msgstr "Varoita implisiittisistä funktioesittelyistä"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 msgid "expected declarator"
 msgstr "useita tallennuspaikkoja esittelymääritteissä"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD on nimiavaruus"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "parametrilla %P on vaillinainen tyyppi %qT"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "case-arvon kaksoiskappale"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "case-arvon kaksoiskappale"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "epäkelpo %<restrict%>-avainsanan käyttö"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "uusia tyyppejä ei voi määritellä paluutyypissä"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "uusia tyyppejä ei voi määritellä paluutyypissä"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "strftime-muotoilut eivät voi muotoilla argumentteja"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "strftime-muotoilut eivät voi muotoilla argumentteja"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr ""
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C90 ei tue joustavia taulukkojäseniä"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-name"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "Käytä AltiVec-käskyjä"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "Käytä AltiVec-käskyjä"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "esittely ei esittele mitään"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD esitelty staattisesti sisäkkäin"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "%Jsisäänrakennettu funktio %qD esitelty ei-funktiona"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, fuzzy, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "edellinen määrittely tyypille %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-key"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, fuzzy, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "esittely ei esittele mitään"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, fuzzy, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "%Jvanhanmallinen funktiomäärittely"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "skalaarialustimen ympärillä on aaltosulkeet"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "uusia tyyppejä ei voi määritellä paluutyypissä"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "uusia tyyppejä ei voi määritellä paluutyypissä"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "%qD esitelty staattisesti sisäkkäin"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "%J%qD:n edellinen esittely oli täällä"
@@ -32458,323 +32452,323 @@ msgstr "%J%qD:n edellinen esittely oli täällä"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "valitsin %qs ei ole enää tuettu"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, fuzzy, gcc-internal-format
 msgid "template with C linkage"
 msgstr "%J%qD esitelty uudelleen ilman linkitystä"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "Varoita implisiittisistä funktioesittelyistä"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "tyhjä esittely"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "%Hdatamäärittelyllä ei ole tyyppiä eikä tallennusluokkaa"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "rajat määrittelemättömän taulukon epäkelpo käyttö"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected %<new%>"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected %<static_assert%>"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected %<class%>"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "tyhjä esittely"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected %<namespace%>"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "leveä merkkijonovakio %<asm%>-lauseessa"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected %<asm%>"
 msgstr "odotettiin luokan nimeä"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "käytetty %<__thread%> ennen %<extern%>:a"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "%Jviimeksi käytetty täällä"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%J%qD esitelty uudelleen erityyppisenä symbolina"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
 # XXX
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "%Hswitch-lauseesta puuttuu default-nimike"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "useita tallennuspaikkoja esittelymääritteissä"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "%Jlohkoattribuuttia ei voi määrittää paikalliselle muuttujalle"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "epäkelpo vektorityyppi attribuutille %qs"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "%qs-attribuuttia ei huomioida %qs:lle"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 msgid "invalid type for property"
 msgstr "void-lausekkeen epäkelpo käyttö"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "sisäkkäisessä funktiossa käytetty rekisterimuuttujaa %qD"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr ""
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "roskaa ilmaisun %<#pragma GCC pch_preprocess%> lopussa"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "moduulienvälisiä optimointeja ei ole toteutettu C++:lle"
@@ -33483,17 +33477,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%qs:n esittely taulukollisena tyhjiä alkioita"
@@ -33511,257 +33505,257 @@ msgstr "%qs:n esittely taulukollisena tyhjiä alkioita"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "muuttujalla %qD on funktiotyyppi"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "virheellinen parametrityyppi %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "esittelyssä %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "parametrilla %P on vaillinainen tyyppi %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT ei ole luokka-, struct- eikä unionityyppi"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, fuzzy, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%Jcase-arvo %qs ei ole luetellussa tyypissä"
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "void-lausekkeen epäkelpo käyttö"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%J%qD esitelty avoimeksi määrittelyn jälkeen"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT ei ole luokka eikä nimiavaruus"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD ei ole luokka eikä nimiavaruus"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, fuzzy, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "tyyppimuunnettu argumentti %qD ei sovi prototyyppiin"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ kieltää metodiosoittimen käytön vähennyslaskussa"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "%qs:n esittely taulukollisena tyhjiä alkioita"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
@@ -33773,32 +33767,32 @@ msgstr ""
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "tyyppi %qT ei ole tyypin %qT kantatyyppi"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, fuzzy, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
@@ -33806,12 +33800,12 @@ msgstr "muuttuvakokoista objektia ei voi alustaa"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "ei voi emuloida %qs"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -34048,7 +34042,7 @@ msgstr ""
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
@@ -34223,270 +34217,270 @@ msgstr "epäkelpo tallennusluokka funktiolle %qs"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T ei ole luokka"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "alustamaton const %qD"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, fuzzy, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "esittely ei esittele mitään"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "Funktio %qs:"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%J%qD käytössä ilman prototyyppiä ennen määrittelyänsä"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qE has circular dependency"
 msgid "call has circular dependency"
 msgstr "protokollalla %qE on kehäriippuvuus"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "taulukon indeksi ei ole kokonaisluku"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, fuzzy, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "taulukon koko ei ole kokonaislukutyyppinen vakiolauseke"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "parametri %qD on alustettu"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not a constant expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "alustinalkio ei ole vakiolauseke"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%Jparametri %qD esitelty %<inline%>:ksi"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, fuzzy, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "luetellun tyypin jäsenen %qE arvo ei ole kokonaislukuvakio"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qD is not an integral constant-expression"
 msgid "expression %qE is not a constant-expression"
 msgstr "taulukon %qD koko ei ole kokonaislukutyyppinen vakiolauseke"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not a constant expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "alustinalkio ei ole vakiolauseke"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not a constant expression"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "alustinalkio ei ole vakiolauseke"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "initializer element is not a constant expression"
 msgid "division by zero is not a constant-expression"
 msgstr "alustinalkio ei ole vakiolauseke"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "ei-vakio taulukon indeksi alustimessa"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> ei ole käytettävissä staattisissa jäsenfunktioissa"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr ""
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr ""
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE on vanhentunut; g++:n vtable'it ovat nyt oletusarvoisesti COM-yhteensopivia"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr ""
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -35461,123 +35455,123 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "virheellinen muunnos tyypistä %qT tyypiksi %qT"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr ""
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "wchar_t-taulukkoa alustetaan epäleveästä merkkijonosta"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "merkkitaulukon alustusmerkkijono on liian pitkä"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "alustamaton const-jäsen %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr ""
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast from type %qT to type %qT"
 msgid "functional cast to array type %qT"
 msgstr "virheellinen muunnos tyypistä %qT tyyppiin %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "virheellinen %qT-tyyppisen viittauksen alustus %qT-tyyppisestä lausekkeesta"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -35637,188 +35631,188 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: CLASS statement at %C"
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35853,7 +35847,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
@@ -35963,7 +35957,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -36046,8 +36040,8 @@ msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36192,7 +36186,7 @@ msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -36322,42 +36316,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "liikaa argumentteja funktiolle %s %q+#D"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36369,7 +36363,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36649,7 +36643,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -36664,7 +36658,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "alustus tekee osoittimesta kokonaisluvun ilman tyyppimuunnosta"
@@ -36674,7 +36668,7 @@ msgstr "alustus tekee osoittimesta kokonaisluvun ilman tyyppimuunnosta"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "vektoriylivuoto lausekkeessa"
@@ -36873,7 +36867,7 @@ msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36893,837 +36887,837 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "%Jlohkoattribuuttia ei voi määrittää paikalliselle muuttujalle"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr ""
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "kokonaislukuylivuoto lausekkeessa"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "%Jlohkoattribuutti ei ole sallittu %qD:lle"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "Odotettiin merkkiä ”,” kohdassa %C"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "Odotettiin merkkiä ”)” kohdassa %C"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: CLASS statement at %C"
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "alustus yhteensopimattomasta osoitintyypistä"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: CLASS statement at %C"
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "kokonaislukuylivuoto lausekkeessa"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "ylivuoto vakiolausekkeessa"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "%J%qD:lle ei ole aiempaa esittelyä"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "ylimääräinen %<restrict%>"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "%qs attribuuttia ei huomioida"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: CLASS statement at %C"
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2003: CLASS-lause kohdassa %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "vektoriylivuoto lausekkeessa"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "taulukon indeksin tyyppi on %<char%>"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr ""
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "tyhjä esittely"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "kokonaislukuylivuoto lausekkeessa"
@@ -37963,27 +37957,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38244,7 +38238,7 @@ msgid "can't open input file: %s"
 msgstr "ei voi avata syötetiedostoa: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38360,12 +38354,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40392,7 +40386,7 @@ msgstr "tyhjä esittely"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "%qD esitelty extern-avainsanalla sisäkkäin"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41482,944 +41476,944 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "(%qs:n alustuksen lähistöllä)"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "(%qs:n alustuksen lähistöllä)"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr ""
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "osoittimet eivät ole sallittuja case-arvoja"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "%Jlohkoattribuutti ei ole sallittu %qD:lle"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "%J%qD on tavallisesti ei-staattinen funktio"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "ehtolausekkeessa on tyyppiristiriita"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "pyydetty tasaus on liian suuri"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42428,175 +42422,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "yhteensopimattomat tyypit sijoituksessa"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "puhdistusargumentti ei ole tunniste"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -42604,950 +42598,950 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "kirjoitussuojatun muuttujan %qs sijoitus"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "kirjoitussuojatun muuttujan %qs sijoitus"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr "yhteensopimattomat tyypit sijoituksessa"
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "taulukon %qs koko on liian suuri"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "tyhjä esittely"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "%<__builtin_args_info%>-funktion argumentin pitää olla vakio"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "%<__builtin_expect%>-funktion toisen argumentin pitää olla vakio"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "%qE-attribuutti soveltuu vain variadisiin funktioihin"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "muuttuvakokoista objektia ei voi alustaa"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "%Jnimike %qD määritelty, mutta ei käytetty"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "%Jnimike %qD määritelty, mutta ei käytetty"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43713,34 +43707,34 @@ msgstr "%<__builtin_args_info%>-funktion argumentti puuttuu"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -43748,47 +43742,47 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -44157,17 +44151,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -44782,17 +44776,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 msgid "unexpected offset"
 msgstr "vektoriylivuoto lausekkeessa"
@@ -44802,68 +44796,68 @@ msgstr "vektoriylivuoto lausekkeessa"
 msgid "invalid line in the resolution file"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "epäkelvot operandit binääriselle %s-operaatiolle"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "syötetiedoston avaaminen ei onnistu: %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr ""
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "can%'t read %s: %m"
 msgid "Cannot read %s"
 msgstr "ei voi lukea tiedostoa %s: %m"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, fuzzy, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr "kirjoitettaessa tulostetta tiedostoon %s: %m"
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "avataan tulostetiedosto %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "kirjoitettaessa tulostetta tiedostoon %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "avataan tulostetiedosto %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "%s: ei voida avata PCH-tiedostoa: %m\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index 673fe85..a9b7e72 100644 (file)
Binary files a/gcc/po/fr.gmo and b/gcc/po/fr.gmo differ
index 41ea09e..62ee6f8 100644 (file)
@@ -121,7 +121,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gcc 3.4.3\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2008-04-23 19:30+0000\n"
 "Last-Translator: François-Xavier Coudert <fxcoudert@gmail.com>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -142,7 +142,7 @@ msgstr "<anonymous>"
 msgid "({anonymous})"
 msgstr "((anonyme))"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected end of line"
@@ -153,8 +153,8 @@ msgstr "op
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<;%>"
@@ -167,14 +167,14 @@ msgstr "
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<(%>"
 msgstr "«;» attendu"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<,%>"
@@ -191,7 +191,7 @@ msgstr "
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<)%>"
@@ -199,7 +199,7 @@ msgstr "
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<]%>"
@@ -209,14 +209,14 @@ msgstr "
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<}%>"
 msgstr "«;» attendu"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<{%>"
@@ -224,13 +224,13 @@ msgstr "
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<:%>"
 msgstr "«;» attendu"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
@@ -241,37 +241,37 @@ msgstr ""
 msgid "expected %<.%>"
 msgstr "«;» attendu"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<@end%>"
 msgstr "opérande inattendue"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<>%>"
 msgstr "«;» attendu"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<=%>"
 msgstr "«;» attendu"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<[%>"
@@ -466,12 +466,12 @@ msgstr "op
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "constante flottante mal utilisée"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "expression invalide comme opérande"
@@ -1646,21 +1646,21 @@ msgstr "insn non reconnaissable:"
 msgid "insn does not satisfy its constraints:"
 msgstr "insn ne satisfait pas à ses contraintes:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, fuzzy, c-format
 #| msgid "created and used with differing settings of `-m%s'"
 msgid "created and used with differing settings of '%s'"
 msgstr "créé et utilisé avec des configurations différentes de « -m%s »"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "mémoire épuisée"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "créé et utilisé avec des configurations différentes de -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "créé et utilisé avec des configurations différentes de -fpie"
 
@@ -2335,205 +2335,205 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 #, fuzzy
 #| msgid "enumerator value for `%s' not integer constant"
 msgid "The upper bound for sharing integer constants"
 msgstr "valeur de l'énumérateur pour « %s » n'est pas une constante entière"
 
-#: params.def:663
+#: params.def:664
 #, fuzzy
 #| msgid "The maximum number of instructions to consider to fill a delay slot"
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Le nombre maximum d'instructions à considérer pour remplir une slot délai"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 #, fuzzy
 #| msgid "The maximum number of instructions to consider to unroll in a loop"
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Le nombre maximum d'instructions à considérer à inclure dans une boucle"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 #| msgid "The maximum number of peelings of a single loop"
 msgid "maximum number of parameters in a SCoP"
 msgstr "Le nombre maxium de passes de réduction d'une boucle simple"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "The maximum number of instructions in a single function eligible for inlining"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Le nombre maximum d'instructions dans une fonction simple éligible au type enligne"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2962,18 +2962,18 @@ msgid "invalid %%r value"
 msgstr "valeur %%r invalide"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "valeur %%R invalide"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "valeur %%N invalide"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "valeur %%P invalide"
@@ -2988,12 +2988,12 @@ msgstr "valeur %%h invalide"
 msgid "invalid %%L value"
 msgstr "valeur %%L invalide"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "valeur %%m invalide"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "valeur %%M invalide"
@@ -3004,7 +3004,7 @@ msgid "invalid %%U value"
 msgstr "valeur %%U invalide"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "valeur %%s invalide"
@@ -3014,7 +3014,7 @@ msgstr "valeur %%s invalide"
 msgid "invalid %%C value"
 msgstr "valeur %%C invalide"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "valeur %%E invalide"
@@ -3025,42 +3025,42 @@ msgid "unknown relocation unspec"
 msgstr "relocalisation unspec inconnue"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "valeur %%xn invalide"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, fuzzy, c-format
 #| msgid "Generate char instructions"
 msgid "predicated Thumb instruction"
 msgstr "Générer des instructions « char »"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, fuzzy, c-format
 #| msgid "ret instruction not implemented"
 msgid "predicated instruction in conditional sequence"
 msgstr "instruction ret n'est pas implantée"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "unsupported operand size for extended register"
 msgid "Unsupported operand for code '%c'"
 msgstr "taille d'opérande non supportée pour un registre étendu"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 #| msgid "invalid %%f operand"
 msgid "invalid shift operand"
 msgstr "opérande %%f invalide"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -3070,94 +3070,94 @@ msgid "invalid operand for code '%c'"
 msgstr "opérande invalide pour « %c »"
 
 # FIXME: c'est de l'assembleur ?
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 #| msgid "unconditional %2d never executed\n"
 msgid "instruction never executed"
 msgstr "inconditionnel %2d n'a jamais été exécuté\n"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, fuzzy, c-format
 #| msgid "missing open paren"
 msgid "missing operand"
 msgstr "parenthèse ouvrante manquante"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "fonction retourne un aggrégat"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "fonction ne retourne pas un type « string »"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, fuzzy, c-format
 #| msgid "read-write constraint does not allow a register"
 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:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use `&' constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "opérande de sortie %d doit utiliser la contrainte « & »"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "adresse erronée, pas (reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "décalage d'adresse n'est pas une constante"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "adresse erronée, pas (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "adresse erronée, pas (reg+disp):"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "erreur internal du compilateur. Adresse erronée:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "erreur internal du compilateur. Mode inconnu:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "insn invalide:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "insn incoorect:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "insn de déplacement inconnu:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "décalage insn erroné:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "erreur internal du compilateur. Décalage incorrect:"
 
@@ -3174,7 +3174,7 @@ msgstr "contrainte invalide pour l'op
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3443,81 +3443,81 @@ msgstr "op
 msgid "bad output_condmove_single operand"
 msgstr "opérande output_condmove_single erronée"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "UNSPEC invalide comme opérande"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand code `%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "opérande invalide pour « %c »"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand output code"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "opérande invalide pour le code de sortie"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 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:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, fuzzy, c-format
 #| msgid "invalid operand code `%c'"
 msgid "invalid operand code '%c'"
 msgstr "opérande invalide pour « %c »"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "contrainte invalide pour l'opérande"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "mode insn inconnu"
 
@@ -3575,13 +3575,13 @@ msgstr "conversion invalide vers un type 
 msgid "invalid operation on %<__fpreg%>"
 msgstr "opération invalide pour des tableaux de caractères"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "opérande %%P invalide"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "valeur %%p invalide"
@@ -3660,7 +3660,7 @@ msgid "post-increment address is not a register"
 msgstr "post-incrément d'adresse n'est pas un registre"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "adresse erronée"
 
@@ -3807,129 +3807,129 @@ msgstr "Manque d'espace sur la pile.\n"
 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:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Utiliser l'unité matérielle en virgule flottante"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-msystem-v and -mthreads are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-msystem-v et -mthreads sont incompatibles"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "Produire du code pour système à octets de poids faible (little endian)"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "désactiver l'adressage indexé"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s et -msdata=%s sont incompatibles"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad operand"
 msgid "bad move"
 msgstr "opérande erronée"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "valeur %%H invalide"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "valeur %%f invalide"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "valeur %%F invalide"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "valeur %%G invalide"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "valeur %%j invalide"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "valeur %%J invalide"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "valeur %%k invalide"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "valeur %%K invalide"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "valeur %%O invalide"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "valeur %%q invalide"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "valeur %%S invalide"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "valeur %%T invalide"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "valeur %%u invalide"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "valeur %%v invalide"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "valeur %%x invalide"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 #| msgid "invalid punctuation `%c' in constraint"
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "ponctuation invalide « %c » dans la contrainte"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 #, fuzzy
 #| msgid "too few arguments to function"
 msgid "AltiVec argument passed to unprototyped function"
@@ -4031,31 +4031,31 @@ msgstr "op
 msgid "invalid operand for code: '%c'"
 msgstr "opérande invalide pour « %c »"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, fuzzy, c-format
 #| msgid "invalid operand to %%R code"
 msgid "invalid operand to %%R"
 msgstr "opérande invalide pour le code %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, fuzzy, c-format
 #| msgid "invalid operand to %%R code"
 msgid "invalid operand to %%S"
 msgstr "opérande invalide pour le code %%R"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 #, fuzzy
 #| msgid "created and used with different settings of -fpic"
 msgid "created and used with different architectures / ABIs"
 msgstr "créé et utilisé avec des configurations différentes de -fpic"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 #, fuzzy
 #| msgid "created and used with different settings of -fpic"
 msgid "created and used with different ABIs"
 msgstr "créé et utilisé avec des configurations différentes de -fpic"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 #, fuzzy
 #| msgid "created and used with different settings of -fpic"
 msgid "created and used with different endianness"
@@ -4076,13 +4076,13 @@ msgstr "op
 msgid "invalid %%B operand"
 msgstr "Opérande %%B invalide"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "opérande %%C invalide"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "opérande %%D invalide"
@@ -4130,65 +4130,65 @@ msgstr "op
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: code inconnu"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "opérande %%c invalide"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "opérande %%d invalide"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "valeur %%j invalide"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "opérande %%P invalide"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "opérande %%P invalide"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "opérande %%P invalide"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "opérande %%P invalide"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "opérande %%c invalide"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "opérande %%P invalide"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "opérande invalide pour le modificateur « b »"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4555,7 +4555,7 @@ msgstr "%s:%d:   instanci
 msgid "candidates are:"
 msgstr "candidats sont:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -5021,11 +5021,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "affectation"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 #| msgid "assignment"
 msgid "pointer assignment"
@@ -5035,137 +5035,137 @@ msgstr "affectation"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "In function"
 msgid "internal function"
 msgstr "Dans la fonction"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 #, fuzzy
 #| msgid "too few arguments to procedure"
 msgid "elemental procedure"
 msgstr "trop peu d'arguments pour la procédure"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, fuzzy, c-format
 #| msgid "Invalid continuation line at %0"
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "ligne de continuation invalide à %0"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, fuzzy, c-format
 #| msgid "Invalid operand at %1 for concatenation operator at %0"
 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:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 #, fuzzy
 #| msgid "`%V' qualifiers cannot be applied to `%T'"
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "qualificateur « %V » ne peut pas être appliqué à « %T »"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 #, fuzzy
 #| msgid "SET expression not a location"
 msgid "Start expression in DO loop"
 msgstr "expression de l'ENSEMBLE n'est pas une localisation"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "SET expression not a location"
 msgid "End expression in DO loop"
 msgstr "expression de l'ENSEMBLE n'est pas une localisation"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 #| msgid "SET expression not a location"
 msgid "Step expression in DO loop"
 msgstr "expression de l'ENSEMBLE n'est pas une localisation"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -5174,7 +5174,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5545,6 +5545,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 msgstr ""
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5644,30 +5656,12 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-#, fuzzy
-#| msgid "The -shared option is not currently supported for VAX ELF."
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "L'option -shared n'est pas couramment supportée pour VAS ELF."
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 #| msgid "GCC does not support -C without using -E"
 msgid "gfortran does not support -E without -cpp"
 msgstr "GCC ne supporte pas -C sans utiliser -E"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 #, fuzzy
 #| msgid "does not support multilib"
@@ -5682,6 +5676,12 @@ msgstr " code de g
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+#, fuzzy
+#| msgid "The -shared option is not currently supported for VAX ELF."
+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/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8818,8 +8818,10 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr ""
+#, fuzzy
+#| msgid "Use IEEE math for fp comparisons"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "Utiliser les mathématiques IEEE pour les comparaisons FP"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -13635,312 +13637,306 @@ msgstr "Autoriser les identificateurs de librairies partag
 msgid "Create a position independent executable"
 msgstr "Générer du code indépendant de la position pour les exécutables si possible"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of %D"
 msgid "invalid use of type"
 msgstr "utilisation invalide de %D"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 #| msgid "expected type-name"
 msgid "expected numeric type"
 msgstr "un nom de type attendu"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "expected type-name"
 msgid "expected boolean type"
 msgstr "un nom de type attendu"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 #| msgid "expected another rename clause"
 msgid "expected integer or boolean type"
 msgstr "attendait une autre clause de changement de nom"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operands to binary %s"
 msgid "invalid operand for unary %<&%>"
 msgstr "opérandes invalides pour le binaire %s"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "unexpected operand"
 msgid "expected pointer"
 msgstr "opérande inattendue"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible modes in concat expression"
 msgid "incompatible types in binary expression"
 msgstr "modes incompatibles dans l'expression de concaténation"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "quantité du switch n'est pas un entier"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative string length"
 msgid "negative shift count"
 msgstr "longueur négative de chaîne"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object is not a function"
 msgid "object is not a method"
 msgstr "l'objet appelé n'est pas une fonction"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "cast does not match function type"
 msgid "method type does not match object type"
 msgstr "le transtypage ne concorde pas avec le type de la fonction"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid use of `this' in non-member function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "utilisation invalide de « ceci » dans un non membre de fonction"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "pas d'argument"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "trop d'arguments pour le format"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument %d must be referable"
 msgid "argument 1 must be a map"
 msgstr "argument %d doit pouvoir être référencé"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "invalid return type for member function `%#D'"
 msgid "invalid type for make function"
 msgstr "type retourné invalide pour le membre de la fonction « %#D »"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "insn erroné pour « A »"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments to process"
 msgid "too many arguments to make"
 msgstr "trop d'arguments à traiter"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "UPPER argument must be string, array, mode or integer"
 msgid "argument must be array or slice or channel"
 msgstr "argument du HAUT doit être une chaîne, un tableau, un mode ou un entier"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 #, fuzzy
 #| msgid "UPPER argument must be string, array, mode or integer"
 msgid "argument must be string or array or slice or map or channel"
 msgstr "argument du HAUT doit être une chaîne, un tableau, un mode ou un entier"
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "unimplemented built-in function `%s'"
 msgid "unsupported argument type to builtin function"
 msgstr "fonction interne non implantée « %s »"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "argument %d must be referable"
 msgid "argument must be channel"
 msgstr "argument %d doit pouvoir être référencé"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "argument %d must be referable"
 msgid "argument must be a field reference"
 msgstr "argument %d doit pouvoir être référencé"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "first argument to `%s' must be a mode"
 msgid "left argument must be a slice"
 msgstr "premier argument de « %s » doit être un mode"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "first argument to `%s' must be a mode"
 msgid "first argument must be []byte"
 msgstr "premier argument de « %s » doit être un mode"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "ABS argument must be discrete or real mode"
 msgid "second argument must be slice or string"
 msgstr "argument ABS doit être en mode discret ou réel"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "bit-field `%s' has invalid type"
 msgid "argument 2 has invalid type"
 msgstr "le champ de bits « %s » a un type invalide"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "parameter `%s' has incomplete type"
 msgid "argument must have complex type"
 msgstr "le paramètre « %s » a un type incomplet"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "macro names must be identifiers"
 msgid "complex arguments must have identical types"
 msgstr "les noms de macro doivent être des identificateurs"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "argument 1 to `%s' must be of floating point mode"
 msgid "complex arguments must have floating-point type"
 msgstr "argument 1 de « %s » doit être en mode virgule flottante"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of non-lvalue array"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "utilisation invalide d'un tableau n'étant pas membre gauche"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "In function"
 msgid "expected function"
 msgstr "Dans la fonction"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible type for receiver"
 msgstr "type incompatibles dans %s"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of `this' in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "utilisation invalide de « ceci » dans un non membre de fonction"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "number of CASE selectors does not match the number of CASE label lists"
 msgid "number of results does not match number of values"
 msgstr "nombre de sélecteurs de CASE ne concorde pas avec la liste des étiquettes du CASE"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "PROCESS copy number must be integer"
 msgid "index must be integer"
 msgstr "processus de copie de nombres doit être entier"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "PROCESS copy number must be integer"
 msgid "slice end must be integer"
 msgstr "processus de copie de nombres doit être entier"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 #, fuzzy
 #| msgid "%s is not addressable"
 msgid "slice of unaddressable value"
 msgstr "%s n'est pas adressable"
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible type for map index"
 msgstr "type incompatibles dans %s"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many index expressions"
 msgid "too many expressions for struct"
 msgstr "trop d'expressions d'index"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "trop peu d'arguments dans le format"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid suffix on integer constant"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "suffixe invalide pour une constante entière"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 #, fuzzy
 #| msgid "Invalid interface type"
 msgid "type assertion only valid for interface types"
 msgstr "Type d'interface invalide"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "unexpected operand"
 msgid "expected channel"
 msgstr "opérande inattendue"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13988,23 +13984,27 @@ msgstr "trop de 
 msgid "expected boolean expression"
 msgstr "expression d'adresse inattendue"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in %s"
 msgid "incompatible types in send"
 msgstr "type incompatibles dans %s"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 #| msgid "invalid base in read control sequence"
 msgid "invalid send on receive-only channel"
 msgstr "base invalide dans la séquence de contrôle de lecture"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -14335,7 +14335,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
@@ -14437,13 +14437,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "valeur void n'a pas été ignorée comme elle aurait dû l'être"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "conversion vers un type non scalaire demandée"
@@ -14882,7 +14882,7 @@ msgstr "index n'est pas une expression enti
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H« %s » défini incorrectement comme une mauvais sorte d'étiquette"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `restrict'"
 msgid "invalid use of %<restrict%>"
@@ -15030,7 +15030,7 @@ msgstr "un objet de taille variable peut ne pas 
 msgid "variable %qD has initializer but incomplete type"
 msgstr "la variable « %#D » est initialisée, mais a un type incomplet"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinline function '%D' given attribute noinline"
 msgid "inline function %q+D given attribute noinline"
@@ -15042,7 +15042,7 @@ msgstr "%J fonction enligne 
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "membre de constante non initialisé pour « %D »"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' will be initialized after"
 msgid "%qD should be initialized"
@@ -16086,7 +16086,7 @@ msgstr "argument \"%D\" ne concorde pas avec le prototype"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "argument \"%D\" ne concorde pas avec le prototype"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "« return » manquant dans une fonction devant retourner une valeur"
@@ -16319,7 +16319,7 @@ msgstr "ISO C ne permet pas de 
 msgid "unknown type name %qE"
 msgstr "nom de registre inconnu: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 #| msgid "repeated declaration of unit `%s'"
 msgid "expected declaration specifiers"
@@ -16330,7 +16330,7 @@ msgstr "d
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored for `%s'"
 msgid "prefix attributes are ignored for methods"
@@ -16383,7 +16383,7 @@ msgstr "ISO C90 ne permet pas les types 
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 ne permet pas les types « complex »"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, fuzzy, gcc-internal-format
 #| msgid "unterminated string literal"
 msgid "expected string literal"
@@ -16419,8 +16419,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected identifier"
@@ -16787,81 +16787,81 @@ msgstr "D
 msgid "no type or storage class may be specified here,"
 msgstr "classe de stockage spécifié pour un typename"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jl'attribut de section ne peut être spécifié pour des variables locales"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 #| msgid "%Jaddress area attribute cannot be specified for functions"
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%Jl'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctiones"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 #| msgid "too many tag labels"
 msgid "too many %qs clauses"
 msgstr "trop d'étiquettes"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 #| msgid "case label must be a discrete constant expression"
 msgid "collapse argument needs positive constant integer expression"
 msgstr "l'étiquette du CASE doit être une expression de constante discrète"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -16877,46 +16877,46 @@ msgstr "expression d'adresse inattendue"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 #| msgid "invalid template-id"
 msgid "invalid schedule kind"
 msgstr "id de patron invalide"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, fuzzy, gcc-internal-format
 #| msgid "expected another rename clause"
 msgid "expected %<#pragma omp%> clause"
 msgstr "attendait une autre clause de changement de nom"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 #| msgid "%s: not for %s"
 msgid "%qs is not valid for %qs"
 msgstr "%s: non pour %s"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid #pragma %s"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "#pragma %s invalde"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operation on array of chars"
 msgid "invalid operator for %<#pragma omp atomic%>"
@@ -16928,7 +16928,7 @@ msgstr "op
 msgid "expected %<(%> or end of line"
 msgstr "attendait retourner au fichier \"%s\""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 #| msgid "')' or term expected"
 msgid "for statement expected"
@@ -16945,12 +16945,12 @@ msgstr "d
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -16977,27 +16977,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%Jparamètre \"%D\" a un type incomplet"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -17878,7 +17878,7 @@ msgstr "tableau de caract
 msgid "initialization of a flexible array member"
 msgstr "initialisation d'un membre de tableau flexible"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, 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"
@@ -18097,243 +18097,243 @@ msgstr "
 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:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "cette fonction retourne l'adresse d'une variable locale"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "quantité du switch n'est pas un entier"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, fuzzy, gcc-internal-format
 #| msgid "`long' switch expression not converted to `int' in ISO C"
 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "case label must be a discrete constant expression"
 msgid "case label is not an integer constant expression"
 msgstr "l'étiquette du CASE doit être une expression de constante discrète"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "étiquette de « case » en dehors de tout switch"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, fuzzy, gcc-internal-format
 #| msgid "`default' label not within a switch statement"
 msgid "%<default%> label not within a switch statement"
 msgstr "étiquette « default » en dehors de tout switch"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous `else'"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%Hon vous suggère des accolades explicitement pour éviter des « else » ambiguës"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, 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:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "mot-clé « continue » à l'extérieur de toute boucle"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 #| msgid "break statement not within loop or switch"
 msgid "break statement used with OpenMP for loop"
 msgstr "mot-clé « break » à l'extérieur de toute boucle ou « switch »"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, fuzzy, gcc-internal-format
 #| msgid "%Hstatement with no effect"
 msgid "statement with no effect"
 msgstr "%Hdéclaration sans effet"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "la déclaration de l'expression a un type incomplet"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "le compteur de décalage vers la droite est négatif"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, 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:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "le compteur de décalage vers la gauche est négatif"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, 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:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "operands to ?: have different types"
 msgid "comparing vectors with different element types"
 msgstr "opérande vers ?: a différents types"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, fuzzy, gcc-internal-format
 #| msgid "operand constraints for `asm' differ in number of alternatives"
 msgid "comparing vectors with different number of elements"
 msgstr "contraintes de l'opérande pour « asm » diffèrent en nombre d'alternatives"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, 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:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "il manque un transtypage pour comparer des types distincts de pointeur"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C forbids comparison of `void *' with function pointer"
 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, 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:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "comparaison entre un pointeur et un entier"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "comparaison de pointeurs complet et incomplet"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "comparaison ordonnée de pointeur avec le zéro entier"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, 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:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, fuzzy, gcc-internal-format
 #| msgid "array type value used where scalar is required"
 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:10582
+#: c-typeck.c:10588
 #, fuzzy, gcc-internal-format
 #| msgid "struct type value used where scalar is required"
 msgid "used struct type value where scalar is required"
 msgstr "valeur de type « struct » utilisé là où un scalaire est attendu"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, fuzzy, gcc-internal-format
 #| msgid "union type value used where scalar is required"
 msgid "used union type value where scalar is required"
 msgstr "valeur de type « union » utilisé là où un scalaire est attendu"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "struct type value used where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "valeur de type « struct » utilisé là où un scalaire est attendu"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 #| msgid "invalid return type for function `%#D'"
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "type retourné invalide pour la fonction « %#D »"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, fuzzy, gcc-internal-format
 #| msgid "invalid return type for function `%#D'"
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "type retourné invalide pour la fonction « %#D »"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is not a valid class name"
 msgid "%qE is not a variable in clause %qs"
 msgstr "« %s » n'est pas un nom de classe valide"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "instance de la variable « %s » est déclaré privée"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "instance de la variable « %s » est déclaré privée"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -19448,7 +19448,7 @@ msgstr "le dominateur de %d devrait 
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -19579,13 +19579,13 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%D' redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%Jfonction « %D » redéclarée avec l'attribut non enligne"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%D' redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute warning: %s"
@@ -19679,30 +19679,30 @@ msgstr "v
 msgid "total size of local objects too large"
 msgstr "la taille du tableau « %s » est trop grande"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, fuzzy, gcc-internal-format
 #| msgid "impossible constraint in `asm'"
 msgid "impossible constraint in %<asm%>"
 msgstr "contrainte impossible dans « asm »"
 
-#: function.c:3959
+#: function.c:3974
 #, fuzzy, gcc-internal-format
 #| msgid "%Jvariable '%D' might be clobbered by `longjmp' or `vfork'"
 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:3980
+#: function.c:3995
 #, fuzzy, gcc-internal-format
 #| msgid "%Jargument '%D' might be clobbered by `longjmp' or `vfork'"
 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "fonction retourne un aggrégat"
 
-#: function.c:4896
+#: function.c:4911
 #, fuzzy, gcc-internal-format
 #| msgid "%Junused parameter '%D'"
 msgid "unused parameter %q+D"
@@ -20175,68 +20175,68 @@ msgstr "v
 msgid "using result of function returning %<void%>"
 msgstr "« return » manquant dans une fonction devant retourner une valeur"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid lvalue in asm statement"
 msgid "invalid lvalue in asm output %d"
 msgstr "membre gauche invalide avec asm"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "output number %d not directly addressable"
 msgid "memory input %d is not directly addressable"
 msgstr "nombre de sortie %d n,est pas directement adressable"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable `%s' is declared private"
 msgid "iteration variable %qE should be private"
 msgstr "instance de la variable « %s » est déclaré privée"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "iteration variable %qE should not be reduction"
 msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 #| msgid "local variable `%D' may not appear in this context"
 msgid "%s variable %qE is private in outer context"
 msgstr "variable locale « %D » ne peut apparaître dans ce contexte"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -20458,48 +20458,48 @@ msgstr "champ 
 msgid "function %qD redeclared as variable"
 msgstr "%Jfonction « %D » redéclarée comme étant enligne"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -20605,12 +20605,12 @@ msgstr "-traditional n'est pas support
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -20999,8 +20999,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "ne peut utiliser « %s » comme le registre %s"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "nom de registre inconnu: %s"
@@ -21346,7 +21346,7 @@ msgstr "attribut empaquet
 msgid "packed attribute is unnecessary"
 msgstr "attribut empaqueté n'est pas nécessaire"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, fuzzy, gcc-internal-format
 #| msgid "%Jalignment of '%D' is greater than maximum object file alignment.  Using %d"
 msgid "alignment of array elements is greater than element size"
@@ -21369,13 +21369,13 @@ msgstr "-fdata-sections n'est pas support
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections n'est pas supporté pour cette cible"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "target attribute is not supported on this machine"
 msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 #| msgid "-fdata-sections not supported for this target"
 msgid "#pragma GCC target is not supported for this machine"
@@ -21579,7 +21579,7 @@ msgstr "Activer l'utilisation d'instruction DB"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -21594,7 +21594,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -21609,7 +21609,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "namespace `%D' not allowed in using-declaration"
 msgid "asm not allowed in atomic transaction"
@@ -21648,7 +21648,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "attributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -22347,133 +22347,133 @@ msgstr "ne peut ouvrir le fichier de vidange 
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "option inconnue « %.*s » ignorée dans « -fdump-%s »"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`B' operand has multiple bits set"
 msgid "BB %i has multiple EH edges"
 msgstr "l'opérande « B » a de multiples jeux de bits"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "la déclaration de l'expression a un type incomplet"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "insn erronée dans l'arrête fallthru"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "insn erronée dans l'arrête fallthru"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it contains a nonlocal goto"
 msgid "function %q+F can never be copied 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:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses variable sized variables"
 msgid "function %q+F can never be copied 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:3094
+#: tree-inline.c:3095
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses alloca (override using the always_inline attribute)"
 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:3108
+#: tree-inline.c:3109
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses setjmp"
 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:3122
+#: tree-inline.c:3123
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses variable argument lists"
 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:3134
+#: tree-inline.c:3135
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses setjmp-longjmp exception handling"
 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:3142
+#: tree-inline.c:3143
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it contains a nonlocal goto"
 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:3154
+#: tree-inline.c:3155
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses variable sized variables"
 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:3174
+#: tree-inline.c:3175
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it contains a computed goto"
 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:3254
+#: tree-inline.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it is suppressed using -fno-inline"
 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:3262
+#: tree-inline.c:3263
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction '%F' can never be inlined because it uses attributes conflicting with inlining"
 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:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinlining failed in call to '%F': %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "%Jl'enlignage de l'appel à « %F »: %s a échoué"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "appelé d'ici"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinlining failed in call to '%F': %s"
 msgid "inlining failed in call to %q+F: %s"
@@ -22513,7 +22513,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -22770,81 +22770,81 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is outside array bounds"
 msgstr "l'indice du tableau n'est pas un entier"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is above array bounds"
 msgstr "l'indice du tableau n'est pas un entier"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is below array bounds"
 msgstr "l'indice du tableau n'est pas un entier"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison 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"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison 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"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to class definitions"
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes"
 
-#: tree.c:5460
+#: tree.c:5475
 #, fuzzy, gcc-internal-format
 #| msgid "%J'%D' redeclared without dllimport attribute after being referenced with dllimport linkage"
 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:5472
+#: tree.c:5487
 #, fuzzy, gcc-internal-format
 #| msgid "%J'%D' redeclared without dllimport attribute after being referenced with dllimport linkage"
 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:5487
+#: tree.c:5502
 #, fuzzy, gcc-internal-format
 #| msgid "%J'%D' redeclared without dllimport attribute after being referenced with dllimport linkage"
 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:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -22858,161 +22858,161 @@ msgstr "%J
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qE attribute ignored"
 msgstr "attribut « %s » ignoré"
 
-#: tree.c:5570
+#: tree.c:5585
 #, fuzzy, gcc-internal-format
 #| msgid "%Jinline function '%D' is declared as dllimport: attribute ignored."
 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:5578
+#: tree.c:5593
 #, fuzzy, gcc-internal-format
 #| msgid "%Jfunction `%D' definition is marked dllimport."
 msgid "function %q+D definition is marked dllimport"
 msgstr "%Jdéfinition de la fonction « %D » est marquée dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, fuzzy, gcc-internal-format
 #| msgid "%Jvariable `%D' definition is marked dllimport."
 msgid "variable %q+D definition is marked dllimport"
 msgstr "%Jdéfinition de la variable « %D » est marquée dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, fuzzy, gcc-internal-format
 #| msgid "%Jexternal linkage required for symbol '%D' because of '%s' attribute."
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "%Jédition de lien externe requise pour le symbole « %D » en raison de l'attribut « %s »"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "tableaux de fonctions n'a pas grand sens"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "Le type retourné d'une fonction ne peut être une fonction"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:8881
+#: tree.c:8897
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:8894
+#: tree.c:8910
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
 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:8943
+#: tree.c:8959
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
 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:8956
+#: tree.c:8972
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:9016
+#: tree.c:9032
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected %s, have %s in %s, at %s:%d"
 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "« %s » est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "« %s » est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "« %s » est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "« %s » est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "type est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "type est obsolète (déclaré à %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "« %s » est obsolète"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is deprecated"
 msgid "%qE is deprecated"
 msgstr "« %s » est obsolète"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "type est obsolète"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "type est obsolète"
@@ -23252,12 +23252,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr "pas de sclass pour le stab %s (0x%x)\n"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -23274,8 +23274,8 @@ msgstr "%J
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "longueur de la chaîne « %d » plus grande que la longueur « %d » que les compilateurs ISO C%d doivent supporter"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "débordement dans l'expression de la constante"
@@ -23980,42 +23980,42 @@ msgstr "attribut 
 msgid "invalid vector type for attribute %qE"
 msgstr "type de vecteur invalide pour l'attribut « %s »"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "attribut non nul sans argument sur un non-prototype"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument has invalid operand number (arg %lu)"
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "un argument non nul a un nombre d'opérande invalide (argument %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "un argument non nul a un nombre d'opérande hors des bornes (arg %lu, opérande %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
@@ -24063,13 +24063,13 @@ msgstr "l'attribut 
 msgid "%qE attribute only applies to variadic functions"
 msgstr "attribut « %s » s'applique seulement aux fonctions"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, fuzzy, gcc-internal-format
 #| msgid "requested init_priority is not an integer constant"
 msgid "requested position is not an integer constant"
 msgstr "init_priority demandé n'est pas une constante entière"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -26011,240 +26011,240 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "valeur « %s » erronée pour -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "construit interne erroné de fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "l'option -mcpu=%s est en conflit avec l'option -march= "
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support APCS-32"
 msgid "target CPU does not support ARM mode"
 msgstr "le processeur cible ne supporte pas APCS-32"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "le processeur cible ne supporte pas l'inter-réseautage"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "le processeur cible ne supporte pas les instructions THUMB"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "autoriser le support de pistage arrière si seulement significatif lors de la compilation pour le Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "autoriser le support d'inter-réseautage des appelés si seulement significatif lors de la compilation pour le Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check incompatible avec -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic et -mapcs-reent sont incompatibles"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "Code réentrant APCS n'est pas supporté.  Ignoré"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g avec -mno-apcs-frame peut ne pas donner une mise au point sensée"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "passage d'argument en virgule flottante dans les registres FP n'est pas encore supporté"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "le processeur cible ne supporte pas l'inter-réseautage"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "le processeur cible ne supporte pas l'inter-réseautage"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, fuzzy, gcc-internal-format
 #| msgid "Use hardware floating point"
 msgid "iWMMXt and hardware floating point"
 msgstr "Utiliser l'unité matérielle en virgule flottante"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to 8 or 32"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "taille des bornes de la structure peut seulement être 8 ou 32"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "taille des bornes de la structure peut seulement être 8 ou 32"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 #| msgid "mode of SYN incompatible with value"
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "mode de SYN incompatible avec la valeur"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= est inutile sans -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "incapable d'utiliser « %s » pour un registre PIC"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support unaligned accesses"
 msgstr "le processeur cible ne supporte pas l'inter-réseautage"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-fdata-sections not supported for this target"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "attribut « %s » s'applique seulement aux fonctions"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "incapable de calculer la localisation réelle de la pile de paramètres"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 #| msgid "argument `%d' is not a constant"
 msgid "argument must be a constant"
 msgstr "l'argument de « %d » n'est pas une constante"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "sélecteur doit être un immédiat"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "masque doit être un immédiat"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "pas de registre bas disponible pour faire ressortir les registres du haut"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "routines d'interruption de service ne peuvent être codées en mode THUMB"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -26289,91 +26289,91 @@ msgstr "fonction ne pas pas 
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Nombre de registres utilisés pour passer les arguments entiers"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put 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:7366
+#: config/avr/avr.c:7376
 #, fuzzy, gcc-internal-format
 #| msgid "MCU `%s' supported for assembler only"
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU « %s » est supporté pour l'assembleur seulement"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "repetition count is not an integer constant"
 msgid "%s expects a compile time integer constant"
 msgstr "compteur de répétition n'est pas une constante entière"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -26742,454 +26742,454 @@ msgstr "ne peut lire le fichier PCH: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "ne peut obtenir la position dans le fichier PCH: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -tune= switch"
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "valeur erronée (%s) pour l'option -tune="
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, fuzzy, gcc-internal-format
 #| msgid "code model `%s' not supported in the %s bit mode"
 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "model de code %s n'est pas supporté en mode PIC"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %s does not support PIC mode"
 msgstr "model de code %s n'est pas supporté en mode PIC"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s n'est pas supporté par cette configuration"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "mode %i bits pas compilé en"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "valeur erronée (%s) pour l'option -march="
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-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:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-arrays n'est pas supporté pour cette machine cible"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d n'est pas entre %d et 12"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d n'est pas entre %d et 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, 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:3641
+#: config/i386/i386.c:3648
 #, 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:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, fuzzy, gcc-internal-format
 #| msgid "mode of SYN incompatible with value"
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "mode de SYN incompatible avec la valeur"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unknown cpu: -mcpu=%s"
 msgid "unknown option for -mrecip=%s"
 msgstr "Processeur inconnu : -mcpu=%s"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, 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:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "l'attribut « %s » requiert un argument de type constante entière"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to `%s' attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "l'argument pour l'attribut « %s » est plus grand que %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, 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:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr ""
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "-march=%s n'est pas compatible avec l'ABI sélectionné"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, fuzzy, gcc-internal-format
 #| msgid "MMX vector argument without MMX enabled changes the ABI"
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "l'argument vecteur SSE sans autorisation MXX modifie l'ABI "
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, fuzzy, gcc-internal-format
 #| msgid "SSE vector return without SSE enabled changes the ABI"
 msgid "SSE register return with SSE disabled"
 msgstr "vecteur SSE retourné sans autorisation SSE des changements de l'ABI "
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, fuzzy, gcc-internal-format
 #| msgid "SSE vector argument without SSE enabled changes the ABI"
 msgid "SSE register argument with SSE disabled"
 msgstr "l'argument vecteur SSE sans autorisation SSE modifie l'ABI "
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, 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:6721
+#: config/i386/i386.c:6728
 #, 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:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, 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:7442
+#: config/i386/i386.c:7449
 #, fuzzy, gcc-internal-format
 #| msgid "MMX vector argument without MMX enabled changes the ABI"
 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:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "-mips%d does not support 64 bit fp registers"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "-mips%d ne supporte pas les registres FP de 64 bits"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "registres étendus n'a pas de demis hauts"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, 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:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 2-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "shift must be an immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "décalage doit être un immédiat"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 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:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "the last argument must be a 4-bit immediate"
 msgstr "argument 3 doit être un litéral non signé de 4 bits"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 1-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 5-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 8-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "argument 1 doit être un litéral signé de 5 bits"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, fuzzy, gcc-internal-format
 #| msgid "selector must be an integer constant in the range 0..%i"
 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:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, fuzzy, gcc-internal-format
 #| msgid "invalid option %s"
 msgid "%qE needs isa option %s"
 msgstr "option invalide %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "last argument must be an immediate"
 msgstr "masque doit être un immédiat"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 #| msgid "ABS argument must be discrete or real mode"
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "argument ABS doit être en mode discret ou réel"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to variables"
 msgid "%qE attribute only available for 32-bit"
 msgstr "attribut « %s » s'applique seulement aux variables"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of `%s' attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -27269,13 +27269,13 @@ msgstr "%Jl'attribut de la zone d'adresse ne peut pas 
 msgid "%qE attribute requires a string constant argument"
 msgstr "l'attribut « %s » requiert un argument de type constante entière"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -27355,7 +27355,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%Jattributs de section ne sont pas supportés pour la cible"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -27418,7 +27418,7 @@ msgstr "%Jattribut de section n'est pas permis pour 
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "expression limitant la pile n'est pas supportée"
@@ -27793,67 +27793,67 @@ msgstr "fonction interne 
 msgid "%qs does not support MIPS16 code"
 msgstr "%s ne supporte pas %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, fuzzy, gcc-internal-format
 #| msgid "-mips%s conflicts with the other architecture options, which specify a MIPS%d processor"
 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:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 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:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit processor"
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "-mgp64 utilisé avec un processeur de 32 bits"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp32 used with a 64-bit ABI"
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "-mgp32 utilisé avec un ABI de 64 bits"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit ABI"
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "-mgp64 utilisé avec un ABI de 32 bits"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "combinaison non supportée: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "%s from incompatible pointer type"
 msgid "%qs is incompatible with %qs"
@@ -27864,62 +27864,62 @@ msgstr "%s d'un type pointeur incompatible"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "le processeur cible ne supporte pas les instructions THUMB"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 #| msgid "-frepo must be used with -c"
 msgid "%qs must be used with %qs"
 msgstr "-frepo doit être utilisé avec -c"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "le processeur cible ne supporte pas les instructions THUMB"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 #| msgid "Use bit-field instructions"
 msgid "%qs requires branch-likely instructions"
 msgstr "Utiliser les instructions de champs de bits"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "this target does not support the -mabi switch"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "cette cible ne supporte pas l'option -mabi"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "profilage de fonction mips16"
@@ -28217,336 +28217,336 @@ msgstr "transtypage de 
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "combinaison invalide de paramètres pour l'intrinsèque Altivec « %s »"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, fuzzy, gcc-internal-format
 #| msgid "-maix64 requires PowerPC64 architecture remain enabled"
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-maix64 requiert une architecture PowerPC64 qui demeure sélectionnée"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "pas configuré pour ABI: « %s »"
 
 # FIXME
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "AltiVec not supported in this target"
 msgstr "les limites de la pile ne sont pas supportées sur cette cible"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "Profiling is not supported on this target."
 msgid "SPE not supported in this target"
 msgstr "le profilage n'est pas supporté sur cette cible"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, 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:2746
+#: config/rs6000/rs6000.c:2745
 #, 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:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them."
 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:7904
+#: config/rs6000/rs6000.c:7903
 #, fuzzy, gcc-internal-format
 #| msgid "Cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them."
 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error - bad built-in function `%s'"
 msgid "internal error: builtin function %s already processed"
 msgstr "erreur interne - mauvaise fonction interne « %s »"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "argument 3 doit être un litéral non signé de 4 bits"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "argument 3 doit être un litéral non signé de 4 bits"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, fuzzy, gcc-internal-format
 #| msgid "argument to `%s' must be a 2-bit unsigned literal"
 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:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 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:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate is out of range"
 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "l'option -ifile requiert l'option -map"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "l'option -ifile requiert l'option -map"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "l'option -ifile requiert l'option -map"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "a -ifile option requires a -map option"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "l'option -ifile requiert l'option -map"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inline functions not supported for this return value type"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "fonctions enligne ne peuvent pas être supportées pour ce type de valeur retournée"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error - bad built-in function `%s'"
 msgid "internal error: builtin function %s had no type"
 msgstr "erreur interne - mauvaise fonction interne « %s »"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error - bad built-in function `%s'"
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "erreur interne - mauvaise fonction interne « %s »"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 #| msgid "stack frame too big"
 msgid "stack frame too large"
 msgstr "trame de pile trop grande"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 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:24119
+#: config/rs6000/rs6000.c:24142
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 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:24121
+#: config/rs6000/rs6000.c:24144
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 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:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 #| msgid "use of 'long' in AltiVec types is deprecated; use 'int'"
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of %D"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "utilisation invalide de %D"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "\"%s\" is not defined"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "« %s » n'est pas défini"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr ""
@@ -28794,69 +28794,69 @@ msgstr "%Jtaille de 
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, 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:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "attribut « %s » s'applique seulement à des fonctions d'interruption"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "attribut interrupt_handler n'est pas compatible avec -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qE attribute only applies to SH2A"
 msgstr "attribut « %s » s'applique seulement aux fonctions"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not an integer constant"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Use the BK register as a general purpose register"
 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:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -28987,13 +28987,13 @@ msgstr "attribut 
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin fcode"
 msgid "bad builtin icode"
 msgstr "construit interne erroné de fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -29229,44 +29229,44 @@ msgstr "
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored"
 msgid "%qs attribute ignored"
 msgstr "attribut « %s » ignoré"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "l'attribut « %s » requiert un argument de type constante entière"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "attribut « %s » s'applique seulement aux fonctions"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%s has no effect"
 msgid "%qE attribute has no effect"
 msgstr "%s n'a pas d'effet"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute `%s'"
 msgid "invalid vector type for attribute %qs"
 msgstr "type de vecteur invalide pour l'attribut « %s »"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "attribut « %s » s'applique seulement aux variables"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute `%s'"
 msgid "invalid element type for attribute %qs"
@@ -29769,7 +29769,7 @@ msgstr "ne peut appeler la fonction membre 
 msgid "passing %qT chooses %qT over %qT"
 msgstr "passant « %T » à choisit « %T » au lieu de « %T »"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, fuzzy, gcc-internal-format
 #| msgid "  in call to `%D'"
 msgid "  in call to %qD"
@@ -29838,353 +29838,353 @@ msgstr "initialisation invalide pour une r
 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 »"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
 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:998
+#: cp/class.c:999
 #, fuzzy, gcc-internal-format
 #| msgid "Java class '%T' cannot have a destructor"
 msgid "Java class %qT cannot have a destructor"
 msgstr "classe Java « %T » ne peut avoir un destructeur"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, fuzzy, gcc-internal-format
 #| msgid "Java class '%T' cannot have an implicit non-trivial destructor"
 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:1103
+#: cp/class.c:1104
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' and `%#D' cannot be overloaded"
 msgid "%q+#D cannot be overloaded"
 msgstr "« %#D » et « %#D » ne peut être surchargé"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting access specifications for method `%D', ignored"
 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:1176
+#: cp/class.c:1177
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting access specifications for field `%s', ignored"
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "spécifications d'accès conflictuelles pour le champ « %s », ignoré"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' invalid in `%#T'"
 msgid "%q+D invalid in %q#T"
 msgstr "« %D » invalide dans « %#T »"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local method `%#D' with same name"
 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:1247
+#: cp/class.c:1248
 #, fuzzy, gcc-internal-format
 #| msgid "  because of local member `%#D' with same name"
 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:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "ne peut convertir de la base « %T » à un type dérivé « %T » via la base virtuel « %T »"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, fuzzy, gcc-internal-format
 #| msgid "base class `%#T' has a non-virtual destructor"
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "classe de base « %#T » a un destructeur non virtuel"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, fuzzy, gcc-internal-format
 #| msgid "all member functions in class `%T' are private"
 msgid "all member functions in class %qT are private"
 msgstr "toutes les fonctions membres de la classe « %T » sont privés"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' only defines a private destructor and has no friends"
 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:1764
+#: cp/class.c:1765
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' only defines private constructors and has no friends"
 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:2157
+#: cp/class.c:2158
 #, fuzzy, gcc-internal-format
 #| msgid "no unique final overrider for `%D' in `%T'"
 msgid "no unique final overrider for %qD in %qT"
 msgstr "pas d'écraseur unique final pour « %D » dans « %T »"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was hidden"
 msgid "%q+D was hidden"
 msgstr "« %D » était caché"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, fuzzy, gcc-internal-format
 #| msgid "  by `%D'"
 msgid "  by %q+D"
 msgstr "  par « %D »"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' invalid; an anonymous union can only have non-static data members"
 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:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' invalid; an anonymous union can only have non-static data members"
 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, fuzzy, gcc-internal-format
 #| msgid "private member `%#D' in anonymous union"
 msgid "private member %q+#D in anonymous union"
 msgstr "membre privé « %#D » dans une union anonyme"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 #| msgid "private member `%#D' in anonymous union"
 msgid "private member %q+#D in anonymous struct"
 msgstr "membre privé « %#D » dans une union anonyme"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, fuzzy, gcc-internal-format
 #| msgid "protected member `%#D' in anonymous union"
 msgid "protected member %q+#D in anonymous union"
 msgstr "membre protégé « %#D » dans une union anonyme"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 #| msgid "protected member `%#D' in anonymous union"
 msgid "protected member %q+#D in anonymous struct"
 msgstr "membre protégé « %#D » dans une union anonyme"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 #| msgid "bit-field `%#D' with non-integral type"
 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:2903
+#: cp/class.c:2920
 #, fuzzy, gcc-internal-format
 #| msgid "bit-field `%D' width not an integer constant"
 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:2908
+#: cp/class.c:2925
 #, fuzzy, gcc-internal-format
 #| msgid "negative width in bit-field `%D'"
 msgid "negative width in bit-field %q+D"
 msgstr "largeur négative du champ de bits « %D »"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, fuzzy, gcc-internal-format
 #| msgid "zero width for bit-field `%D'"
 msgid "zero width for bit-field %q+D"
 msgstr "largeur zéro pour le champ de bits « %D »"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, fuzzy, gcc-internal-format
 #| msgid "width of `%D' exceeds its type"
 msgid "width of %q+D exceeds its type"
 msgstr "largeur de « %D » excède son type"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is too small to hold all values of `%#T'"
 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:2982
+#: cp/class.c:2999
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with constructor not allowed in union"
 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:2985
+#: cp/class.c:3002
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with destructor not allowed in union"
 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:2987
+#: cp/class.c:3004
 #, fuzzy, gcc-internal-format
 #| msgid "member `%#D' with copy assignment operator not allowed in union"
 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, fuzzy, gcc-internal-format
 #| msgid "multiple fields in union `%T' initialized"
 msgid "multiple fields in union %qT initialized"
 msgstr "champs multiples dans l'union « %T » initialisés"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' may not be static because it is a member of a union"
 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:3114
+#: cp/class.c:3131
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' may not have reference type `%T' because it is a member of a union"
 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:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' invalidly declared function type"
 msgid "field %q+D invalidly declared function type"
 msgstr "champ « %D » incorrectement validé comme un type de fonction"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' invalidly declared method type"
 msgid "field %q+D invalidly declared method type"
 msgstr "champ « %D » incorrectement validé comme un type de méthode"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, fuzzy, gcc-internal-format
 #| msgid "ignoring packed attribute on unpacked non-POD field `%#D'"
 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:3285
+#: cp/class.c:3302
 #, fuzzy, gcc-internal-format
 #| msgid "field `%#D' with same name as class"
 msgid "field %q+#D with same name as class"
 msgstr "champ « %#D » avec le même nom qu'une classe"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' has pointer data members"
 msgid "%q#T has pointer data members"
 msgstr "« %#T » a un pointeur vers un membre de données"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override `%T(const %T&)'"
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  mais n'écrase pas « %T(const %T&) »"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, fuzzy, gcc-internal-format
 #| msgid "  or `operator=(const %T&)'"
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  ou « operator=(const %T&) »"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, fuzzy, gcc-internal-format
 #| msgid "  but does not override `operator=(const %T&)'"
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  mais n'écrase pas « operator=(const %T&) »"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, fuzzy, gcc-internal-format
 #| msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
 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:3917
+#: cp/class.c:3934
 #, fuzzy, gcc-internal-format
 #| msgid "class `%T' will be considered nearly empty in a future version of GCC"
 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:3999
+#: cp/class.c:4016
 #, fuzzy, gcc-internal-format
 #| msgid "initializer specified for non-virtual method `%D'"
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "initialisation spécifiée pour une méthode non virtuelle « %D »"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%T is not a class type"
 msgid "%q+T is not literal because:"
 msgstr "« %T » n'est pas un type de classe"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class `%#T' has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "classe de base « %#T » a un destructeur non virtuel"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "invalid in-class initialization of static data member of non-integral type `%T'"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "initialisation invalide dans la class de données de membre statiques d'un non entier de type « %T »"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference `%#D' in class without a constructor"
 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:5076
+#: cp/class.c:5094
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member `%#D' in class without a constructor"
 msgid "non-static const member %q+#D in class without a constructor"
@@ -30192,140 +30192,140 @@ msgstr "constante non statique de membre 
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, fuzzy, gcc-internal-format
 #| msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
 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:5430
+#: cp/class.c:5448
 #, fuzzy, gcc-internal-format
 #| msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
 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:5442
+#: cp/class.c:5460
 #, fuzzy, gcc-internal-format
 #| msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
 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:5628
+#: cp/class.c:5646
 #, fuzzy, gcc-internal-format
 #| msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
 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:5668
+#: cp/class.c:5686
 #, fuzzy, gcc-internal-format
 #| msgid "the offset of `%D' may not be ABI-compliant and may change in a future version of GCC"
 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:5696
+#: cp/class.c:5714
 #, fuzzy, gcc-internal-format
 #| msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
 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:5706
+#: cp/class.c:5724
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
 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:5794
+#: cp/class.c:5812
 #, fuzzy, gcc-internal-format
 #| msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, fuzzy, gcc-internal-format
 #| msgid "redefinition of `%#T'"
 msgid "redefinition of %q#T"
 msgstr "redéfinition de « %#T »"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' has virtual functions but non-virtual destructor"
 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:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class `%T' does not have any field named `%D'"
 msgid "type transparent class %qT does not have any fields"
 msgstr "classe « %T » n'a pas aucun champ nommé « %D »"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type `%s' has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "type « %s » a des membres de fonction virtuelle"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, fuzzy, gcc-internal-format
 #| msgid "language string `\"%s\"' not recognized"
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "chaîne du langage « \"%s\" » n'est pas reconnue"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, fuzzy, gcc-internal-format
 #| msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
 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:6972
+#: cp/class.c:7024
 #, fuzzy, gcc-internal-format
 #| msgid "no matches converting function `%D' to type `%#T'"
 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:6995
+#: cp/class.c:7047
 #, fuzzy, gcc-internal-format
 #| msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
 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:7022
+#: cp/class.c:7074
 #, fuzzy, gcc-internal-format
 #| msgid "assuming pointer to member `%D'"
 msgid "assuming pointer to member %qD"
 msgstr "pointeur assumé vers le membre « %D »"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, fuzzy, gcc-internal-format
 #| msgid "(a pointer to member can only be formed with `&%E')"
 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:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "pas assez d'information sur le type"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert `%E' from type `%T' to type `%T'"
 msgid "cannot convert %qE from type %qT to type %qT"
@@ -30336,13 +30336,13 @@ msgstr "ne peut convertir 
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%#D'"
 msgid "declaration of %q#D"
 msgstr "déclaration de « %#D »"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, fuzzy, gcc-internal-format
 #| msgid "changes meaning of `%D' from `%+#D'"
 msgid "changes meaning of %qD from %q+#D"
@@ -30365,7 +30365,7 @@ msgstr "ne peut convertir d'un type incomplet 
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "conversion de « %E » à partir de « %T » vers « %T » est ambiguë"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "use of C99 long long integer constant"
 msgid "zero as null pointer constant"
@@ -31400,7 +31400,7 @@ msgstr "
 msgid "name 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:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 #| msgid "non-trivial labeled initializers"
 msgid "non-trivial designated initializers not supported"
@@ -31509,8 +31509,8 @@ msgstr "
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr "éléments en excès dans l'initialiseur d'aggrégat"
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 #| msgid "too many initializers for `%T'"
 msgid "too many initializers for %qT"
@@ -32126,7 +32126,7 @@ msgstr "
 msgid "type %qT is not derived from type %qT"
 msgstr "type « %T » n'est pas dérivé du type « %T »"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' as non-function"
 msgid "declaration of %qD as non-function"
@@ -32482,68 +32482,63 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, fuzzy, gcc-internal-format
 #| msgid "template-id `%D' used as a declarator"
 msgid "template-id %qD used as a declarator"
 msgstr "identificateur de patron « %D » utilisé comme déclarateur"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, 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:9567
+#: cp/decl.c:9565
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification `%T::' on member `%s' ignored"
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "qualification additionnelle « %T:: » sur le membre « %s » est ignorée"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%T::%s' within `%T'"
 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:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%T::%s' within `%T'"
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "ne peut déclarer la fonction membre « %T::%s » à l'intérieur de « %T »"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member `%T::%s' within `%T'"
 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:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 #| msgid "data member `%D' cannot be a member template"
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "membre de données « %D » ne peut être membre du patron"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%s' is too large"
 msgid "size of array %qs is too large"
 msgstr "la taille du tableau « %s » est trop grande"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, fuzzy, gcc-internal-format
 #| msgid "data member may not have variably modified type `%T'"
 msgid "data member may not have variably modified type %qT"
 msgstr "membre de données peut ne pas avoir de type « %T » modifié de manière variable"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, fuzzy, gcc-internal-format
 #| msgid "parameter may not have variably modified type `%T'"
 msgid "parameter may not have variably modified type %qT"
@@ -32551,370 +32546,370 @@ msgstr "param
 
 #. [dcl.fct.spec] The explicit specifier shall only be used in
 #. declarations of constructors within a class definition.
-#: cp/decl.c:9665
+#: cp/decl.c:9663
 #, fuzzy, gcc-internal-format
 #| msgid "only declarations of constructors can be `explicit'"
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "seuls les déclarations de constructeurs peuvent être « explicit »"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, fuzzy, gcc-internal-format
 #| msgid "non-member `%s' cannot be declared `mutable'"
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "le non membre « %s » ne peut être déclaré « mutable »"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, fuzzy, gcc-internal-format
 #| msgid "non-object member `%s' cannot be declared `mutable'"
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "un membre non objet « %s » ne peut être déclaré « mutable »"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 #| msgid "function `%s' cannot be declared `mutable'"
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "fonction « %s » ne peut être déclarée « mutable »"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 #| msgid "static `%s' cannot be declared `mutable'"
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "static « %s » ne peut être déclaré « mutable »"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 #| msgid "const `%s' cannot be declared `mutable'"
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const « %s » ne peut être déclaré « mutable »"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function `%s' cannot be declared `mutable'"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "fonction « %s » ne peut être déclarée « mutable »"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "typedef declared %<auto%>"
 msgstr "type est obsolète (déclaré à %s:%d)"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 #| msgid "%Jtypedef name may not be a nested-name-specifier"
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%Jnom du typedef peut ne pas être un nom de spécificateur imbriqué"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
 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:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 #| msgid "destructor cannot be static member function"
 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:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 #| msgid "function return type cannot be function"
 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:9893
+#: cp/decl.c:9891
 #, 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:9898
+#: cp/decl.c:9896
 #, fuzzy, gcc-internal-format
 #| msgid "`inline' specified for friend class declaration"
 msgid "%<inline%> specified for friend class declaration"
 msgstr "« inline » spécifié pour la déclaration d'une classe amie"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "paramètres du patron ne peuvent pas être amis"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
 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:9912
+#: cp/decl.c:9910
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration requires class-key, i.e. `friend %#T'"
 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:9925
+#: cp/decl.c:9923
 #, fuzzy, gcc-internal-format
 #| msgid "trying to make class `%T' a friend of global scope"
 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:9943
+#: cp/decl.c:9941
 #, 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:9953
+#: cp/decl.c:9951
 #, fuzzy, gcc-internal-format
 #| msgid "abstract declarator `%T' used as declaration"
 msgid "abstract declarator %qT used as declaration"
 msgstr "déclaration abstrait « %T » utilisé dans la déclaration"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use `::' in parameter declaration"
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "ne peut utiliser «::» dans le paramètre d'un déclaration"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' declared void"
 msgid "parameter declared %<auto%>"
 msgstr "paramètre « %D » déclaré «void »"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' has no non-static data member named `%D'"
 msgid "non-static data member declared %<auto%>"
 msgstr "« %T » n'a pas de membre de données non statique nommé « %D »"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of `::'"
 msgid "invalid use of %<::%>"
 msgstr "utilisation invalide de « :: »"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function `%#D' conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "déclaration de la fonction C « %#D » en conflit avec"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, fuzzy, gcc-internal-format
 #| msgid "function `%D' declared virtual inside a union"
 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:10090
+#: cp/decl.c:10088
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot be declared virtual, since it is always static"
 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:10106
+#: cp/decl.c:10104
 #, fuzzy, gcc-internal-format
 #| msgid "qualifiers are not allowed on declaration of `operator %T'"
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of '%D' shadows a member of 'this'"
 msgid "declaration of %qD as member of %qT"
 msgstr "déclaration de « %D » masque un membre de « this »"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "destructors may not be `%s'"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "destructeurs ne peut être « %s »"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 #| msgid "qualifiers are not allowed on declaration of `operator %T'"
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 #| msgid "field `%D' has incomplete type"
 msgid "field %qD has incomplete type"
 msgstr "champ « %D » a un type incomplet"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 #| msgid "name `%T' has incomplete type"
 msgid "name %qT has incomplete type"
 msgstr "nom « %T » a un type incomplet"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 #| msgid "  in instantiation of template `%T'"
 msgid "  in instantiation of template %qT"
 msgstr " dans l'instanciation du patron « %T »"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is neither function nor member function; cannot be declared friend"
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "« %s » n'est ni une fonction ni une fonction membre ; ne peut être déclaré ami"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member `%D' declared `register'"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "mambre statique « %D» déclaré «register »"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `auto' invalid for function `%s'"
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "classe de stockage « auto» invalide pour une fonction « %s  »"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `register' invalid for function `%s'"
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "classe de stockage « register» invalide pour une fonction « %s  »"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `__thread' invalid for function `%s'"
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "classe de stockage « __thread » invalide pour la fonction « %s  »"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "an asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "une spécification asm n'est pas permise dans la définition de fonction"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `inline' invalid for function `%s' declared out of global scope"
 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:10324
+#: cp/decl.c:10322
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `inline' invalid for function `%s' declared out of global scope"
 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:10332
+#: cp/decl.c:10330
 #, fuzzy, gcc-internal-format
 #| msgid "virtual non-class function `%s'"
 msgid "virtual non-class function %qs"
 msgstr "fonction virtuelle d'une non classe « %s »"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 #| msgid "method definition not in class context"
 msgid "%qs defined in a non-class scope"
 msgstr "méthode de définition n'est pas dans un contexte de classe"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "using-declaration for non-member at class scope"
 msgid "%qs declared in a non-class scope"
 msgstr "l'utilisation de déclaration pour un non membre au niveau de la portée de la classe"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare member function `%D' to have static linkage"
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "ne peut déclarer la fonction membre « %D » comme ayant un lien statique"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, 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:10405
+#: cp/decl.c:10403
 #, fuzzy, gcc-internal-format
 #| msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
 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:10412
+#: cp/decl.c:10410
 #, fuzzy, gcc-internal-format
 #| msgid "static member `%D' declared `register'"
 msgid "static member %qD declared %<register%>"
 msgstr "mambre statique « %D» déclaré «register »"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, fuzzy, gcc-internal-format
 #| msgid "cannot explicitly declare member `%#D' to have extern linkage"
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "ne peut explicitement déclarer le membre « %#D » comme ayant une liaison externe"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%#D' outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "déclaraion de « %#D » en dehors de la classe n'est pas une définition"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' initialized and declared `extern'"
 msgid "%qs initialized and declared %<extern%>"
 msgstr "« %s » initialisé et déclaré « extern »"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' has both `extern' and initializer"
 msgid "%qs has both %<extern%> and initializer"
 msgstr "« %s » a les deux « extern » et initialisateur"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "default argument for %q#D has type %qT"
 msgstr "argument par défaut pour « %#D » à un type « %T »"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for parameter of type `%T' has type `%T'"
 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:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument `%E' uses local variable `%D'"
 msgid "default argument %qE uses %qD"
 msgstr "argument par défaut « %E » utiliser une variable locale « %D »"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 #| msgid "default argument `%E' uses local variable `%D'"
 msgid "default argument %qE uses local variable %qD"
 msgstr "argument par défaut « %E » utiliser une variable locale « %D »"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 #| msgid "%Jparameter \"%D\" has incomplete type"
 msgid "parameter %qD has Java class type"
 msgstr "%Jparamètre \"%D\" a un type incomplet"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' invalidly declared method type"
 msgid "parameter %qD invalidly declared method type"
 msgstr "paramètre « %D » incorrectement validé comme type de méthode"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' includes %s to array of unknown bound `%T'"
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "paramètre « %D » inclut %s au tableau de bornes inconnues « %T »"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' includes %s to array of unknown bound `%T'"
 msgid "parameter %qD includes reference to array of unknown bound %qT"
@@ -32935,199 +32930,199 @@ msgstr "param
 #. 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:10987
+#: cp/decl.c:10998
 #, fuzzy, gcc-internal-format
 #| msgid "invalid constructor; you probably meant `%T (const %T&)'"
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "constructeur invalide; vous vouliez probablement dire « %T (const %T&) »"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was not declared in this scope"
 msgid "%qD may not be declared within a namespace"
 msgstr "« %D » n'a pas été déclaré dans cet horizon"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' has not been declared"
 msgid "%qD may not be declared as static"
 msgstr "« %D » n'a pas été déclaré"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must be a nonstatic member function"
 msgid "%qD must be a nonstatic member function"
 msgstr "« %D » doit être une fonction membre non statique"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must be either a non-static member function or a non-member function"
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "« %D » doit être soit un membre non statique de fonction ou une fonction non membre"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must have an argument of class or enumerated type"
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "« %D » doit avoir un argument de classe ou de type énuméré"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class 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:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ interdit la surcharge de l'opérateur ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either one or two arguments"
 msgid "%qD must not have variable number of arguments"
 msgstr "« %D » doit prendre seulement un OU deux arguments"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' must take `int' as its argument"
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "postfixe « %D» doit prendre « int » comme argument"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' must take `int' as its second argument"
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "postfixe « %D» doit prndre « int » pour son second argument"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either zero or one argument"
 msgid "%qD must take either zero or one argument"
 msgstr "« %D » doit prendre seulement zéro ou un autre argument"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take either one or two arguments"
 msgid "%qD must take either one or two arguments"
 msgstr "« %D » doit prendre seulement un OU deux arguments"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, fuzzy, gcc-internal-format
 #| msgid "prefix `%D' should return `%T'"
 msgid "prefix %qD should return %qT"
 msgstr "préfixe « %D » devrait retourner « %T »"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, fuzzy, gcc-internal-format
 #| msgid "postfix `%D' should return `%T'"
 msgid "postfix %qD should return %qT"
 msgstr "postfixe « %D » devrait retourner « %T »"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take `void'"
 msgid "%qD must take %<void%>"
 msgstr "« %D» doit prendre « void »"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take exactly one argument"
 msgid "%qD must take exactly one argument"
 msgstr "« %D » doit prendre exactement un argument"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' must take exactly two arguments"
 msgid "%qD must take exactly two arguments"
 msgstr "« %D » doit prendre exactemenr deux arguments"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, fuzzy, gcc-internal-format
 #| msgid "user-defined `%D' always evaluates both arguments"
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "« %D » défini par l'usager évalue toujours les 2 arguments"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' should return by value"
 msgid "%qD should return by value"
 msgstr "« %D » devrait retourner par valeur"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "%qD cannot have default arguments"
 msgstr "« %D » ne peut avoir d'arguments par défaut"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, fuzzy, gcc-internal-format
 #| msgid "using template type parameter `%T' after `%s'"
 msgid "using template type parameter %qT after %qs"
 msgstr "utilisation de type de patron de paramètre « %T » après « %s »"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization `%D' for `%+D'"
 msgid "using alias template specialization %qT after %qs"
 msgstr "spécialisation de patron amibiguë « %D » pour « %+D »"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, fuzzy, gcc-internal-format
 #| msgid "using typedef-name `%D' after `%s'"
 msgid "using typedef-name %qD after %qs"
 msgstr "utilisation d'un nom de typedef « %D » après « %s »"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "'%D' has a previous declaration as `%#D'"
 msgid "%qD has a previous declaration here"
 msgstr "« %D » a une déclaration précédente tel que « %#D »"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' referred to as `%s'"
 msgid "%qT referred to as %qs"
 msgstr "« %TD » référé comme « %s »"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 #| msgid "%Jthis is a previous declaration"
 msgid "%q+T has a previous declaration here"
 msgstr "%Jest la déclaration précédente"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' referred to as enum"
 msgid "%qT referred to as enum"
@@ -33140,101 +33135,101 @@ msgstr "
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, fuzzy, gcc-internal-format
 #| msgid "template argument required for `%s %T'"
 msgid "template argument required for %<%s %T%>"
 msgstr "argument du patron est requis pour « %s %T »"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' has the same name as the class in which it is declared"
 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 #| msgid "reference to `%D' is ambiguous"
 msgid "reference to %qD is ambiguous"
 msgstr "référence à « %D » est ambiguë"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, fuzzy, gcc-internal-format
 #| msgid "use of enum `%#D' without previous declaration"
 msgid "use of enum %q#D without previous declaration"
 msgstr "utilisation de enum « %#D » sans déclaration précédente"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 #| msgid "redeclaration of `%T' as a non-template"
 msgid "redeclaration of %qT as a non-template"
 msgstr "redéclaration de « %T » qui n'est pas un patron"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 #| msgid "previous declaration `%D'"
 msgid "previous declaration %q+D"
 msgstr "déclaration précédente de « %D »"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, fuzzy, gcc-internal-format
 #| msgid "derived union `%T' invalid"
 msgid "derived union %qT invalid"
 msgstr "union dérivée « %T » invalide"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, fuzzy, gcc-internal-format
 #| msgid "Java class '%T' cannot have multiple bases"
 msgid "Java class %qT cannot have multiple bases"
 msgstr "classe Java « %T » ne peut avoir de bases multiples"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, fuzzy, gcc-internal-format
 #| msgid "Java class '%T' cannot have virtual bases"
 msgid "Java class %qT cannot have virtual bases"
 msgstr "classe Java « %T » ne peut avoir de bases virtuelles"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, fuzzy, gcc-internal-format
 #| msgid "base type `%T' fails to be a struct or class type"
 msgid "base type %qT fails to be a struct or class type"
 msgstr "type de base « %T » a échoué pour devenir un type de classe ou un type construit"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, fuzzy, gcc-internal-format
 #| msgid "recursive type `%T' undefined"
 msgid "recursive type %qT undefined"
 msgstr "type récursif « %T » non défini"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate base type `%T' invalid"
 msgid "duplicate base type %qT invalid"
 msgstr "duplication du type de base « %T » invalide"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 #| msgid "%Jprevious definition here"
 msgid "previous definition here"
 msgstr "%Jdéfinition précédente ici"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, fuzzy, gcc-internal-format
 #| msgid "argument %d to ABSTIME must be of integer type"
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
@@ -33244,81 +33239,81 @@ msgstr "argument %d 
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, fuzzy, gcc-internal-format
 #| msgid "no integral type can represent all of the enumerator values for `%T'"
 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:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for `%s' not integer constant"
 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:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, fuzzy, gcc-internal-format
 #| msgid "overflow in enumeration values at `%D'"
 msgid "overflow in enumeration values at %qD"
 msgstr "débordement dans les valeurs de l'énumération à « %D »"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 #| msgid "return type `%#T' is incomplete"
 msgid "return type %q#T is incomplete"
 msgstr "type retourné « %#T » est incomplet"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "return type has Java class type %q#T"
 msgstr "le type du retour est incomplet"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, fuzzy, gcc-internal-format
 #| msgid "`operator=' should return a reference to `*this'"
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "« operator= » devrait retourner une référence à «*ceci »"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 #| msgid "%Jno previous declaration for '%D'"
 msgid "no previous declaration for %q+D"
 msgstr "%Jaucune déclaration précédente pour « %D »"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "déclaration de fonction invalide"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 #| msgid "parameter `%D' declared void"
 msgid "parameter %qD declared void"
 msgstr "paramètre « %D » déclaré «void »"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "étiquette « %D » définie mais non utilisée"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "déclaration de membre de fonction invalide"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is already defined in class `%T'"
 msgid "%qD is already defined in class %qT"
@@ -33707,7 +33702,7 @@ msgstr "traitement des exceptions d
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "retounrnant NULL (par throw), lequel est entier, pas de type pointeur"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' should never be overloaded"
 msgid "%qD should never be overloaded"
@@ -34010,169 +34005,169 @@ msgstr "type 
 msgid "bad array initializer"
 msgstr "mauvaise initialisation de tableau"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 #| msgid "%T is not a class type"
 msgid "%qT is not a class type"
 msgstr "« %T » n'est pas un type de classe"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, fuzzy, gcc-internal-format
 #| msgid "incomplete type `%T' does not have member `%D'"
 msgid "incomplete type %qT does not have member %qD"
 msgstr "type incomplet « %T » n'a pas de membre « %D »"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 #| msgid "invalid pointer to bit-field `%D'"
 msgid "invalid pointer to bit-field %qD"
 msgstr "pointeur invalide pour un champ de bits « %D »"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static member function `%D'"
 msgid "invalid use of non-static member function %qD"
 msgstr "utilisation invalide d'un membre non statique de fonction « %D »"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static data member `%D'"
 msgid "invalid use of non-static data member %qD"
 msgstr "utilisation invalide d'un membre non statique de données « %D »"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized reference member `%D'"
 msgid "uninitialized reference member in %q#T"
 msgstr "référence de membre non initialisé « %D »"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized const member in %q#T"
 msgstr "membre de constante non initialisé pour « %D »"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type `void' for new"
 msgid "invalid type %<void%> for new"
 msgstr "type « void » invalide pour new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in `new' of `%#T'"
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "constante non initialisée dans « new» pour « %#T »"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, fuzzy, gcc-internal-format
 #| msgid "call to Java constructor with `%s' undefined"
 msgid "call to Java constructor with %qs undefined"
 msgstr "appel au constructeur Java avec « %s » indéfini"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, fuzzy, gcc-internal-format
 #| msgid "no suitable or ambiguous `%D' found in class `%T'"
 msgid "no suitable %qD found in class %qT"
 msgstr "« %D » non adapté ou ambiguë repéré dans la classe « %T »"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 #| msgid "request for member `%D' is ambiguous"
 msgid "request for member %qD is ambiguous"
 msgstr "la requête pour le membre « %D » est ambiguë"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "index de tableau non constant dans l'initialisation"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "attributs après l'initialisateur mis entre parenthèses sont ignorés"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, 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:2822
+#: cp/init.c:2824
 #, 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:2831
+#: cp/init.c:2833
 #, 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:2875
+#: cp/init.c:2877
 #, fuzzy, gcc-internal-format
 #| msgid "call to Java constructor, while `jclass' undefined"
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "appel d'un constructeur Java, alors que « jclass » est indéfini"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find class$"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "ne peut repérer class$"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "fin prématurée de l'initialisation"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "ne peut initialiser un table multi-dimensionnel avec initialiseur"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, 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:3624
+#: cp/init.c:3626
 #, fuzzy, 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."
 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "taille du tableau inconnue dans delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, 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"
@@ -34268,13 +34263,13 @@ msgstr "op
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, fuzzy, gcc-internal-format
 #| msgid "the mangled name of `%D' will change in a future version of GCC"
 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -34285,13 +34280,13 @@ msgstr ""
 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:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member `%#D', can't use default assignment operator"
 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:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member `%#D', can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -34307,107 +34302,107 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "member initializers for `%#D'"
 msgid "initializer for %q+#D is invalid"
 msgstr "initialiseur du membre pour « %#D »"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized non-static const member %q#D"
 msgstr "membre de constante non initialisé pour « %D »"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized reference member `%D'"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "référence de membre non initialisé « %D »"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, fuzzy, gcc-internal-format
 #| msgid "(use `=' to initialize static data members)"
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr "(utiliser «=» pour initialiser les données de membres)"
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of `%#D'"
 msgid "defaulted declaration %q+D"
 msgstr "déclaration du patron de « %#D »"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "(Messages without a matching method signature"
 msgid "does not match expected signature %qD"
 msgstr "(Messages sans une méthode concordante de signature"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a template cannot be defaulted"
 msgstr "paramètres du patron ne peuvent pas être amis"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' cannot be declared"
 msgid "%qD cannot be defaulted"
 msgstr "« %#D » ne peut être déclaré"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 #| msgid "file ends in default argument"
 msgid "defaulted function %q+D with default argument"
 msgstr "fin de fichier dans l'argument par défaut"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, fuzzy, gcc-internal-format
 #| 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"
 msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
@@ -34567,25 +34562,25 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' hides constructor for `%#T'"
 msgid "%q#D hides constructor for %q#T"
 msgstr "« %#D » cache un constructeur pour « %#T »"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' conflicts with previous using declaration `%#D'"
 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:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 #| msgid "previous non-function declaration `%#D'"
 msgid "previous non-function declaration %q+#D"
 msgstr "déclaration précédente d'un non fonction « %#D »"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, fuzzy, gcc-internal-format
 #| msgid "conflicts with function declaration `%#D'"
 msgid "conflicts with function declaration %q#D"
@@ -34593,7 +34588,7 @@ msgstr "conflits avec la d
 
 #. It's a nested name with template parameter dependent scope.
 #. This can only be using-declaration for class member.
-#: cp/name-lookup.c:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a namespace"
 msgid "%qT is not a namespace"
@@ -34601,139 +34596,139 @@ msgstr "
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, fuzzy, gcc-internal-format
 #| msgid "a using-declaration cannot specify a template-id.  Try `using %D'"
 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:2400
+#: cp/name-lookup.c:2405
 #, fuzzy, gcc-internal-format
 #| msgid "namespace `%D' not allowed in using-declaration"
 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:2436
+#: cp/name-lookup.c:2441
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' not declared"
 msgid "%qD not declared"
 msgstr "« %D » n'est pas déclaré"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is already declared in this scope"
 msgid "%qD is already declared in this scope"
 msgstr "« %D » est déjà déclaré dans cette portée"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names destructor"
 msgstr "« %D » nomme le constructeur"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names constructor"
 msgstr "« %D » nomme le constructeur"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' names constructor"
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "« %D » nomme le constructeur"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, fuzzy, gcc-internal-format
 #| msgid "no members matching `%D' in `%#T'"
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "aucun membre concordant « %D » dans « %#T »"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' not in a namespace surrounding `%D'"
 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:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate type qualifiers in %s declaration"
 msgid "explicit qualification in declaration of %qD"
 msgstr "qualificateurs de types dupliqués dans déclaration %s"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' should have been declared inside `%D'"
 msgid "%qD should have been declared inside %qD"
 msgstr "« %D » devrait avoir été déclaré à l'intérieur de « %D »"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute requires an integer constant argument"
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "l'attribut « %s » requiert un argument de type constante entière"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' attribute directive ignored"
 msgid "%qD attribute directive ignored"
 msgstr "« %D » attribut de directive ignoré"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, fuzzy, gcc-internal-format
 #| msgid "namespace alias `%D' not allowed here, assuming `%D'"
 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:3882
+#: cp/name-lookup.c:3887
 #, 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:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX on entre dans pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX on quitte pop_everything ()\n"
@@ -34884,7 +34879,7 @@ msgstr "id de patron invalide"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s ne peut apparaître dans une expression de constante"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -35145,7 +35140,7 @@ msgstr "nom du typdef 
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -35358,7 +35353,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr "Dans la déclaration de fonction"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "empty body in an else-statement"
 msgid "expected selection-statement"
@@ -35391,7 +35386,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected iteration-statement"
@@ -35408,13 +35403,13 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ interdit les gotos calculés"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected jump-statement"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, fuzzy, gcc-internal-format
 #| msgid "extra `;'"
 msgid "extra %<;%>"
@@ -35453,7 +35448,7 @@ msgstr "sp
 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:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -35538,13 +35533,13 @@ msgstr "op
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "mot clé « export » n'est pas implanté et sera ignoré"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "« %D » ne peut avoir d'arguments par défaut"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "template parameter pack cannot have a default argument"
@@ -35562,7 +35557,7 @@ msgstr "param
 msgid "expected template-id"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<<%>"
@@ -35708,13 +35703,13 @@ msgstr ""
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Autoriser l'instanciation automatique de patron"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' in `%D' which does not enclose `%D'"
 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of `%D' in `%D' which does not enclose `%D'"
 msgid "declaration of %qD in %qD which does not enclose %qD"
@@ -35764,82 +35759,82 @@ msgstr "un id de patron ne peut pas appara
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "POS may not be specified for a list of field declarations"
 msgid "types may not be defined in alias template declarations"
 msgstr "POS ne peut pas être spécifiés pour une liste de déclarations de champs"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%s: function definition not converted\n"
 msgid "a function-definition is not allowed here"
 msgstr "%s: définition de fonction n'a pas été convertie\n"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, 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:15557
+#: cp/parser.c:15560
 #, 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:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "excess unnamed initializers"
 msgid "expected initializer"
 msgstr "débordement d'initialiseurs sans nom"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid type in declaration"
 msgstr "déclaration de fonction invalide"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 #| msgid "initializer specified for non-member function `%D'"
 msgid "initializer provided for function"
 msgstr "initialisation spécifiée pour une fonction « %D » n'étant pas membre"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, 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:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 #| msgid "repetition count is not an integer constant"
 msgid "array bound is not an integer constant"
 msgstr "compteur de répétition n'est pas une constante entière"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "création d'un pointeur vers le membre de référence du type « %T »"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "`%T::%D' is not a type"
 msgid "%<%T::%E%> is not a type"
 msgstr "« %T::%D » n'est pas un type"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of template `%D'"
 msgid "invalid use of constructor as a template"
 msgstr "utilisation invalide du patron « %D »"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -35848,277 +35843,277 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "déclarateur invalide"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "empty declaration"
 msgid "expected declarator"
 msgstr "déclaration vide"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is a namespace"
 msgid "%qD is a namespace"
 msgstr "« %D » est un nom d'espace"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type `%T'"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "création d'un pointeur vers le membre d'un type non classe « %T »"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "opérande inattendue"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate qualifier (offset %d)"
 msgid "duplicate cv-qualifier"
 msgstr "duplication du qualificateur (décalage %d)"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "multiple `virtual' specifiers"
 msgid "duplicate virt-specifier"
 msgstr "spécificateurs « virtual » multiples"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %D"
 msgid "invalid use of %<auto%>"
 msgstr "utilisation invalide de %D"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "nouveaux types ne peuvent être définis dans un type à retourner"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected type-specifier"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "nouveaux types ne peuvent être définis dans un type à retourner"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, 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:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "« %D » ne peut avoir d'arguments par défaut"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot have default arguments"
 msgid "parameter pack cannot have a default argument"
 msgstr "« %D » ne peut avoir d'arguments par défaut"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ ne permet de désigner les initialiseurs"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ ne permet de désigner les initialiseurs"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected class-name"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 #| msgid "%J'%D' declared inline after its definition"
 msgid "expected %<;%> after class definition"
 msgstr "%J« %D » déclaré enligne après sa définition"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 #| msgid "pure-specifier on function-definition"
 msgid "expected %<;%> after union definition"
 msgstr "spécificateur pur lors de la définition d'une fonction"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "ne peut repérer le fichier pour la classe %s."
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "nom qualifié ne nomme pas une classe"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 #| msgid "invalid template declaration of `%D'"
 msgid "invalid class name in declaration of %qD"
 msgstr "déclaration de patron invalide « %D »"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification ignored"
 msgid "extra qualification not allowed"
 msgstr "qualification superflue ignorée"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 #| msgid "an explicit specialization must be preceded by 'template <>'"
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "spécialisation explicite doit être précédé par « template <> »"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 #| msgid "non-template `%D' used as template"
 msgid "function template %qD redeclared as a class template"
 msgstr "« %D » qui n'est pas un patron est utilisé comme patron"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 #| msgid "previous definition of `%#T'"
 msgid "previous definition of %q+#T"
 msgstr "définition précédente de « %#T »"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected class-key"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "a class-key must be used when declaring a friend"
 msgid "in C++03 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:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "spécificateur pur lors de la définition d'une fonction"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 #| msgid "brace-enclosed initializer used to initialize `%T'"
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "initialiseur utilisé entre accolades pour initialiser « %T »"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, fuzzy, gcc-internal-format
 #| msgid "keyword `typename' not allowed outside of templates"
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "mot clé « typename » n'est pas permis en dehors du patron"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, fuzzy, gcc-internal-format
 #| msgid "keyword `typename' not allowed in this context (the base class is implicitly a type)"
 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "nouveaux types ne peuvent être définis dans un type à retourner"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "nouveaux types ne peuvent être définis dans un type à retourner"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of `%D'"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "redéclaration invalide de « %D »"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "trop peu de patron de listes de paramètres"
@@ -36127,350 +36122,350 @@ msgstr "trop peu de patron de listes de param
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "trop de patron de listes de paramètres"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "valeurs nommées à retourner ne sont plus supportées"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 #| msgid "invalid declaration of member template `%#D' in local class"
 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:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "patron avec liaison C"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization here"
 msgid "invalid explicit specialization"
 msgstr "spécialisation explicite ici"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of `%#D'"
 msgid "template declaration of %<typedef%>"
 msgstr "déclaration du patron de « %#D »"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization here"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "spécialisation explicite ici"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 #| msgid "`>>' should be `> >' within a nested template argument list"
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "« >> » devrait être « > > » à l'intérieur du patron de la liste d'arguments"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, fuzzy, gcc-internal-format
 #| msgid "spurious `>>', use `>' to terminate a template argument list"
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "faux « >> », utiliser « > » pour terminer la liste d'argument du patron"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid use of %qD in linkage specification"
 msgstr "spécification de base de classe invalide"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 #| msgid "`__thread' before `extern'"
 msgid "%<__thread%> before %qD"
 msgstr "« __thread » avant « extern »"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<new%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<return%>"
 msgstr "opérande inattendue"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<extern%>"
 msgstr "opérande inattendue"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<decltype%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected %<operator%>"
 msgstr "opérande inattendue"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<template%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<namespace%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<asm%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<try%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-name"
 msgid "expected %<@try%>"
 msgstr "un nom de type attendu"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<*%>"
 msgstr "«;» attendu"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "';' expected"
 msgid "expected %<~%>"
 msgstr "«;» attendu"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' tag used in naming `%#T'"
 msgid "%qs tag used in naming %q#T"
 msgstr "étiquette « %s » utilisée dans la dénomination de « %#T »"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "« %s » précédemment déclaré ici"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 #| msgid "%D redeclared with different access"
 msgid "%qD redeclared with different access"
 msgstr "« %#D » redéclaré avec un accès différent"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, fuzzy, gcc-internal-format
 #| msgid "`template' (as a disambiguator) is only allowed within templates"
 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:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "fin de fichier dans l'argument par défaut"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "Class or interface declaration expected"
 msgid "objective-c++ method declaration is expected"
 msgstr "Déclaration de classe ou d'interface attendue"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%Jl'attribut de section ne peut être spécifié pour des variables locales"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register name `%s' for register variable"
 msgid "invalid type for instance variable"
 msgstr "nom de registre invalide « %s » pour un variable registre"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 #| msgid "Identifier expected"
 msgid "identifier expected after %<@protocol%>"
 msgstr "Identificateur attendu"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute ignored for `%s'"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "attribut « %s » ignoré pour « %s »"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "type d'argument invalide"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 #| msgid "register variable `%s' used in nested function"
 msgid "iteration variable %qD should not be reduction"
 msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "not enough type information"
 msgid "not enough collapsed for loops"
 msgstr "pas assez d'information sur le type"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of #pragma GCC java_exceptions"
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "rebut à la fin de #pragma GCC java_exceptions"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, fuzzy, gcc-internal-format
 #| msgid "inter-module optimisations not implemented yet"
 msgid "inter-module optimizations not implemented for C++"
@@ -37278,17 +37273,17 @@ msgstr "instantiation de la profondeur du patron exc
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= 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:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 #| msgid "instantiation of `%D' as type `%T'"
 msgid "instantiation of %q+D as type %qT"
@@ -37307,299 +37302,299 @@ msgstr "instanciation de 
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 #| msgid "sizeof applied to a function type"
 msgid "variable %qD has function type"
 msgstr "sizeof appliqué sur un type de fonction"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 #| msgid "invalid parameter type `%T'"
 msgid "invalid parameter type %qT"
 msgstr "paramètre invalide pour le type « %T »"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 #| msgid "in declaration `%D'"
 msgid "in declaration %q+D"
 msgstr "dans la déclaration de « %D »"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 #| msgid "function returns an aggregate"
 msgid "function returning an array"
 msgstr "fonction retourne un aggrégat"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' declared as function returning a function"
 msgid "function returning a function"
 msgstr "« %s » déclaré comme une fonction retournant une fonction"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member function of non-class type `%T'"
 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "formation d'une référence en void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type `%T'"
 msgid "forming pointer to reference type %qT"
 msgstr "formant %s pour référencer le type « %T »"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type `%T'"
 msgid "forming reference to reference type %qT"
 msgstr "formant %s pour référencer le type « %T »"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type `%T'"
 msgid "creating pointer to member of non-class type %qT"
 msgstr "création d'un pointeur vers le membre d'un type non classe « %T »"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 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:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type `%T'"
 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:11679
+#: cp/pt.c:11705
 #, fuzzy, gcc-internal-format
 #| msgid "creating array of `%T'"
 msgid "creating array of %qT"
 msgstr "création du tableau « %T »"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, fuzzy, gcc-internal-format
 #| msgid "creating array of `%T', which is an abstract class type"
 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:11714
+#: cp/pt.c:11740
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class, struct, or union type"
 msgid "%qT is not a class, struct, or union type"
 msgstr "« %T » n'est pas une classe, struct ou un type d'union"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, fuzzy, gcc-internal-format
 #| msgid "%T is not a class type"
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "« %T » n'est pas un type de classe"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, fuzzy, gcc-internal-format
 #| msgid "use of `%s' in template"
 msgid "use of %qs in template"
 msgstr "utilisation de « %s » dans le patron"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type `%T' does not match destructor name `~%T'"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "type qualifé « %T » ne concorde pas le nom du destructeur «~%T»"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, fuzzy, gcc-internal-format
 #| msgid "dependent-name `%E' is parsed as a non-type, but instantiation yields a type"
 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:12033
+#: cp/pt.c:12059
 #, fuzzy, gcc-internal-format
 #| msgid "say `typename %E' if a type is meant"
 msgid "say %<typename %E%> if a type is meant"
 msgstr "utiliser « typename %E » si un type est désiré"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 #| msgid "missing static field `%s'"
 msgid "using invalid field %qD"
 msgstr "champ statique manquant « %s »"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of void expression"
 msgid "invalid use of pack expansion expression"
 msgstr "utilisation invalide d'expression void"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' undeclared here (not in a function)"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "« %s » non déclaré ici (hors de toute fonction)"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is not a class or namespace"
 msgid "%qT is not a class or namespace"
 msgstr "« %T » n'est pas une classe ou un espace de noms"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is not a class or namespace"
 msgid "%qD is not a class or namespace"
 msgstr "« %D » n'est pas une classe ou un espace de noms"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' uses anonymous type"
 msgid "%qT is/uses anonymous type"
 msgstr "« %T » utilise un type anonyme"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for `%#D' has type `%T'"
 msgid "template argument for %qD uses local type %qT"
 msgstr "argument par défaut pour « %#D » à un type « %T »"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, fuzzy, gcc-internal-format
 #| msgid "`%T' is a variably modified type"
 msgid "%qT is a variably modified type"
 msgstr "« %T » est type modifié de manière variable"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression `%E' is not constant"
 msgid "integral expression %qE is not constant"
 msgstr "expression intégrale « %E » n'est pas une constante"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, fuzzy, gcc-internal-format
 #| msgid "  trying to instantiate `%D'"
 msgid "  trying to instantiate %qD"
 msgstr "  tentative d'instanciation « %D »"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous class template instantiation for `%#T'"
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "instanciation ambiguë de patron de classe pour « %#T »"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template `%#D'"
 msgid "explicit instantiation of non-template %q#D"
 msgstr "instanciation explicite d'un non patron « %#D »"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 #| msgid "`%#D' is not a non-static data member of `%T'"
 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, fuzzy, gcc-internal-format
 #| msgid "no matching template for `%D' found"
 msgid "no matching template for %qD found"
 msgstr "non concordance de patron pour « %D » repéré"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type `%T'"
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "instanciation explicite de type non patron « %T »"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%#D'"
 msgid "explicit instantiation of %q#D"
 msgstr "instanciation explicite de « %#D »"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate explicit instantiation of `%#D'"
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "duplication d'instanciation explicite de « %#D »"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ interdit l'utilisation de « extern » sur instanciations explicites"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, fuzzy, gcc-internal-format
 #| msgid "storage class `%D' applied to template instantiation"
 msgid "storage class %qD applied to template instantiation"
 msgstr "classe de stockage « %D » appliqué à l'instanciation du patron"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template `%#D'"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "instanciation explicite d'un non patron « %#D »"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type `%T'"
 msgid "explicit instantiation of non-template type %qT"
 msgstr "instanciation explicite de type non patron « %T »"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%#T' before definition of template"
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "instanciation explicite de « %#T » avant la définition de patron"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ interdit l'utilisation de « %s » sur instanciations explicites"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate explicit instantiation of `%#T'"
 msgid "duplicate explicit instantiation of %q#T"
@@ -37612,37 +37607,37 @@ msgstr "duplication d'instanciation explicite de 
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of `%D' but no definition available"
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "instanciation explicite de « %D » mais pas de définition disponible"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "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:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "invalid catch parameter"
 msgid "invalid template non-type parameter"
 msgstr "paramètre d'interception invalide"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "`%#T' is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "« %#T » n'a pas un type valide pour un patron de parametre de constante"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, fuzzy, gcc-internal-format
 #| msgid "brace-enclosed initializer used to initialize `%T'"
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "initialiseur utilisé entre accolades pour initialiser « %T »"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -37650,12 +37645,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -37925,7 +37920,7 @@ msgstr "d
 msgid "invalid base-class specification"
 msgstr "spécification de base de classe invalide"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' not declared"
 msgid "%qD is not captured"
@@ -38123,298 +38118,298 @@ msgstr "type retourn
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, fuzzy, gcc-internal-format
 #| msgid "IN expression does not have a mode"
 msgid "constexpr constructor does not have empty body"
 msgstr "expression IN n'a pas de mode"
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized member `%D' with `const' type `%T'"
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "membre non initialisé « %D » avec « const » type « %T »"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr ""
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "expression %qE does not designate a constexpr function"
 msgstr "déclaration amie ne nomme pas une classe ou une fonction"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function `%D'"
 msgid "call to non-constexpr function %qD"
 msgstr "appel à une non fonction « %D »"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot appear in a constant-expression"
 msgid "%qD called in a constant expression"
 msgstr "« %D » ne peut apparaître dans une expression de constante"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' implicitly declared before its definition"
 msgid "%qD used before its definition"
 msgstr "« %D » implicitement déclaré avant sa définition"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol `%s' has circular dependency"
 msgid "call has circular dependency"
 msgstr "le protocole « %s » a une dépendance circulaire"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= 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/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "non-constant expression"
 msgid "%q+E is not a constant expression"
 msgstr "expression n'est pas une constante"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript out of bound"
 msgstr "l'indice du tableau n'est pas un entier"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "non-constant expression"
 msgid "%qE is not a constant expression"
 msgstr "expression n'est pas une constante"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%s ne peut apparaître dans une expression de constante"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "Expresion de constante manquante ou invalide"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array `%D' is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "taille du tableau « %D » n'a pas une expression de constante de type entier"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "excess elements in union initializer"
 msgid "%qD used in its own initializer"
 msgstr "éléments en excès dans l'initialisation d'union"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "%q#D is not const"
 msgstr "« %D » n'est pas une fonction"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "`%+#D' is private"
 msgid "%q#D is volatile"
 msgstr "« %+#D » est privé"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' cannot appear in a constant-expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "« %D » ne peut apparaître dans une expression de constante"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "`%D' was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "« %D » n'a pas été déclaré dans cet horizon"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 #| msgid "expression in new-declarator must have integral or enumeration type"
 msgid "%qD does not have integral or enumeration type"
 msgstr "expression dans le nouveau déclarateur doit être un type entier ou d'énumération"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "type énuméré et non énuméré dans l'expression conditionnelle"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression `%E' is not constant"
 msgid "expression %qE is not a constant-expression"
 msgstr "expression intégrale « %E » n'est pas une constante"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected address expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "expression d'adresse inattendue"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "taille du tableau n'est pas une expression de constante de type entier"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression `%E' is not constant"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "expression intégrale « %E » n'est pas une constante"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "taille du tableau n'est pas une expression de constante de type entier"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "index de tableau non constant dans l'initialisation"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unexpected type for `id' (%s)"
 msgid "unexpected AST of kind %s"
 msgstr "type inattendu pour « id » (%s)"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare %s to references"
 msgid "cannot capture %qE by reference"
 msgstr "ne peut déclarer %s comme références"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, fuzzy, gcc-internal-format
 #| msgid "`%V' qualifiers cannot be applied to `%T'"
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "qualificateur « %V » ne peut pas être appliqué à « %T »"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to Java class definitions"
 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:2834
+#: cp/tree.c:2846
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute can only be applied to class definitions"
 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:2840
+#: cp/tree.c:2852
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
 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:2864
+#: cp/tree.c:2876
 #, 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:2885
+#: cp/tree.c:2897
 #, fuzzy, gcc-internal-format
 #| msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "init_priority demandé est hors limite"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute is not supported on this platform"
 msgid "%qE attribute is not supported on this platform"
 msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "vérification lang_* : éched dans %s, à %s:%d"
@@ -39504,138 +39499,138 @@ msgstr "syntaxe de constructeur utilis
 msgid "cannot initialize arrays using this syntax"
 msgstr "ne peut initialiser les tableaux en utilisant la syntaxe"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "conversion de « %E » à partir de « %T » vers « %T » est ambiguë"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "tableau d'entier initialisé à l'aide d'une chaîne non-large"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "tableau d'entier initialisé à l'aide d'une chaîne non-large"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, 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"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 #| msgid "missing initializer for member `%D'"
 msgid "missing initializer for member %qD"
 msgstr "initialiseur manquant pour le membre « %D »"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member `%D'"
 msgid "uninitialized const member %qD"
 msgstr "membre de constante non initialisé pour « %D »"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 #| msgid "member `%D' with uninitialized const fields"
 msgid "member %qD with uninitialized const fields"
 msgstr "membre « %D » avec des champs de constantes non initialisée"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, fuzzy, gcc-internal-format
 #| msgid "member `%D' is uninitialized reference"
 msgid "member %qD is uninitialized reference"
 msgstr "membre « %D » est une référence non initialisée"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, fuzzy, gcc-internal-format
 #| msgid "no field `%D' in union being initialized"
 msgid "no field %qD found in union being initialized"
 msgstr "pas de champ « %D » dans l'aggrégat n'a été initialisé"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "valeur index au lieu du nom de champ dans l'initialiseur d'union"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "délégation de pointeur circulaire détecté"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 #| msgid "base operand of `->' has non-pointer type `%T'"
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "l'opérande de base de «->» a un type non pointeur « %T »"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, fuzzy, gcc-internal-format
 #| msgid "result of `operator->()' yields non-pointer result"
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "résultat de « operator->() » laisse comme résultat un non pointeur"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, fuzzy, gcc-internal-format
 #| msgid "base operand of `->' is not a pointer"
 msgid "base operand of %<->%> is not a pointer"
 msgstr "l'opérande de base de «->» n'est pas un pointeur"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, fuzzy, gcc-internal-format
 #| msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "« %E » ne peut être utilisé comme pointeur de membre, alors qu'il est de type « %T »"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 #| msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "ne peut appliquer un pointeur de membre « %E » à « %E », lequel n'est pas un type d'aggrégat « %T »"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, fuzzy, gcc-internal-format
 #| msgid "member type `%T::' incompatible with object type `%T'"
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "type du membre « %T:: » incompatible avec le type d'objet « %T »"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type `%T'"
 msgid "functional cast to array type %qT"
 msgstr "transtypage invalide pour un type de fonction « %T »"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "default-initialization of `%#D', which has reference type"
 msgid "invalid value-initialization of reference type"
 msgstr "initialisation par défaut de « %#D », lequel a un type référencé"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 #| msgid "call to function `%D' which throws incomplete type `%#T'"
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "l'appel à la fonction « %D » laquelle écarte le type incomplet « %T »"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 #| msgid "call to function which throws incomplete type `%#T'"
 msgid "call to function which throws incomplete type %q#T"
@@ -39699,200 +39694,200 @@ msgstr ""
 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/array.c:98
+#: fortran/array.c:96
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "array subscript has type `char'"
 msgid "Expected array subscript at %C"
 msgstr "l'indice du tableau est de type « char »"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "array subscript has type `char'"
 msgid "Expected array subscript stride at %C"
 msgstr "l'indice du tableau est de type « char »"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Null element at %0 for array reference at %1"
 msgid "Invalid form of array reference at %C"
 msgstr "élément nul à %0 pour la référence au tableau à %1"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too many dimensions at %0"
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr "trop de dimensions à %0"
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form for %A statement at %0"
 msgid "Invalid form of coarray reference at %C"
 msgstr "Forme invalide pour la déclaration %A à %0"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "repetition expression must be constant"
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr "répétitions d'expressions doit être une constante"
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "repetition expression must be constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "répétitions d'expressions doit être une constante"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "aucune spécification pour l'itération DO-implicite « %A » à %0"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad specification for deferred shape array at %C"
 msgstr "aucune spécification pour l'itération DO-implicite « %A » à %0"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No specification for implied-DO iterator `%A' at %0"
 msgid "Bad specification for assumed size array at %C"
 msgstr "aucune spécification pour l'itération DO-implicite « %A » à %0"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Can't specify array dimension in a declaration"
 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:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "syntax error in action"
 msgid "Syntax error in array constructor at %C"
 msgstr "erreur de syntaxe dans l,action"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Min/max instructions not allowed"
 msgid "Empty array constructor at %C is not allowed"
 msgstr "instructions min/max ne sont pas permises"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -39930,7 +39925,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
@@ -40048,7 +40043,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -40131,8 +40126,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -40281,7 +40276,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -40414,43 +40409,43 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments to %s `%+#D'"
 msgid "Too many arguments to %s at %L"
 msgstr "trop d'arguments pour %s « %+#D »"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -40462,7 +40457,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -40758,7 +40753,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -40773,7 +40768,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -40783,7 +40778,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "initialization of new expression with `='"
 msgid "Expected an initialization expression at %C"
@@ -40998,7 +40993,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -41018,871 +41013,871 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "syntax error in action"
 msgid "Syntax error in data declaration at %C"
 msgstr "erreur de syntaxe dans l,action"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "conflicts with function declaration `%#D'"
 msgid "Unexpected junk after function declaration at %C"
 msgstr "conflits avec la déclaration de fonction de « %#D »"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "constructor cannot be static member function"
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "le constructeur ne peut être une fonction membre statique"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "faux nombre dans la déclaration de FORMAT à %0"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RETURN statement at %0 invalid within a main program unit"
 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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RETURN statement at %0 invalid within a main program unit"
 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:5426
+#: fortran/decl.c:5427
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 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:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing first operand for binary operator at %0"
 msgid "Missing closing paren for binding label at %C"
 msgstr "première opérande manquante pour l'opérateur biunaire à %0"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Unexpected END statement at %C"
 msgstr "déclaration VXT non supporté à %0"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid %A statement at %0"
 msgid "%s statement expected at %L"
 msgstr "Déclaration %A invalide à %0"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid %A statement at %0"
 msgid "Expecting %s statement at %C"
 msgstr "Déclaration %A invalide à %0"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form for %A statement at %0"
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "Forme invalide pour la déclaration %A à %0"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing %A specifier in statement at %0"
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "spécificateur %A manquant dans la déclaration à %0"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected a name string here"
 msgid "Expected variable name at %C"
 msgstr "un nom de chaîne est attendu ici"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "parameter 2 must be a positive integer"
 msgid "Cray pointer at %C must be an integer"
 msgstr "paramètre 2 doit être un entier positif"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Expected \",\" or end of statement at %C"
 msgstr "déclaration VXT non supporté à %0"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s not allowed outside a PROC"
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr "%s n'est pas permis en dehors d'une procédure"
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "faux nombre dans la déclaration de FORMAT à %0"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
 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:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
 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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious sign in FORMAT statement at %0"
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "faux signe dans la déclaration de FORMAT à %0"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "initializing array with parameter list"
 msgid "Initializing already initialized variable at %C"
 msgstr "initialise le tableau avec la liste des paramètres"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Extraneous comma in FORMAT statement at %0"
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Virgule superflue dans la déclaration de FORMAT à %0"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form for %A statement at %0"
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Forme invalide pour la déclaration %A à %0"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s not allowed outside a PROC"
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr "%s n'est pas permis en dehors d'une procédure"
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "déclaration VXT non supporté à %0"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form for %A statement at %0"
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Forme invalide pour la déclaration %A à %0"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "déclaration VXT non supporté à %0"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Spurious number in FORMAT statement at %0"
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "faux nombre dans la déclaration de FORMAT à %0"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "« %D » ne peut être utilisé comme un thread local parce qu'il a un non POD de type « %T »"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Type name at %0 not the same as name at %1"
 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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type name expected before `*'"
 msgid "ENUM definition statement expected before %C"
 msgstr "nom de type attendu avec «*»"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "syntax error in exception list"
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "erreur de syntaxe dans la liste d'exception"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "multiple access specifiers"
 msgid "Duplicate access-specifier at %C"
 msgstr "spécificateurs d'accès multiples"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "multiple access specifiers"
 msgid "Expected access-specifier at %C"
 msgstr "spécificateurs d'accès multiples"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "')' expected"
 msgid "')' expected at %C"
 msgstr "«)» attendu"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown register name: %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "nom de registre inconnu: %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -42137,27 +42132,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -42426,7 +42421,7 @@ msgid "can't open input file: %s"
 msgstr "ne peut ouvrir le fichier de sortie « %s »"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "creating array of `%T'"
@@ -42548,12 +42543,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -44668,7 +44663,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -45802,976 +45797,976 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments to procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "trop d'arguments pour la procédure"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Null argument at %0 for statement function reference at %1"
 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:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inconsistent instance variable specification"
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "spécification inconsistente avec l'instance de la vairable"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "use of `%D' is ambiguous"
 msgid "'%s' at %L is ambiguous"
 msgstr "utilisation de « %D » est ambiguë"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Subroutine reference to intrinsic function `%A' at %0"
 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:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Label %A already defined at %1 when redefined at %0"
 msgid "Label %d referenced at %L is never defined"
 msgstr "Étiquette %A déjà définie à %1 et redéfinie à %0"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function `%A' defined at %0 is not used"
 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:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
 msgid "Fortran 2008: Internal procedure '%s' is used as 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:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "use of `%D' is ambiguous"
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "utilisation de « %D » est ambiguë"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument to `%s' must be of integer type"
 msgid "By-value argument at %L is not of numeric type"
 msgstr "argument de « %s » doit être de type entier"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in this context"
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "déclaration à %0 invalide dans ce contexte"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument of `%s' attribute is not a string constant"
 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:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "too many arguments in call to `%s'"
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "trop d'arguments pour l'appel de « %s »"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "les pointeurs ne sont pas permis comme valeurs de « case »"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument %d of %s must be a location"
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "argument %d de %s doit être une localisation"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "first argument to `%s' must be a mode"
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "premier argument de « %s » doit être un mode"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' is not a function,"
 msgid "'%s' at %L is not a function"
 msgstr "« %D » n'est pas une fonction"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Reference to intrinsic function `%A' as if it were a subroutine at %0"
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "référence à une fonction intrinsèque «%A» comme s'il est une sous-routine à %0"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function reference to intrinsic subroutine `%A' at %0"
 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:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "shared and mdll are not compatible"
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "shared et mdll ne sont pas compatibles"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "mode mismatch in parameter %d"
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "non concordance du mode dans le paramètre %d"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument %d of %s must be a location"
 msgid "Argument dim at %L must be scalar"
 msgstr "argument %d de %s doit être une localisation"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument to `%s' must be of integer type"
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "argument de « %s » doit être de type entier"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array `%A' at %0 is too large to handle"
 msgid "Array index at %L is an array of rank %d"
 msgstr "tableau « %A » à %0 est trop grand pour être traité"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring begin/end point at %0 out of defined range"
 msgid "Substring end index at %L must be scalar"
 msgstr "point begin/end de la sous-chaîne à %0 en dehors de la plage définie"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "requested alignment is too large"
 msgid "Substring end index at %L is too large"
 msgstr "l'alignement demandé est trop grand"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s parameter %d must be a location"
 msgid "%s at %L must be a scalar"
 msgstr "%s paramètre %d doit être une localisation"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DO FOR start expression is a numbered SET"
 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:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid I specifier in FORMAT statement at %0"
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid I specifier in FORMAT statement at %0"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid I specifier in FORMAT statement at %0"
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid I specifier in FORMAT statement at %0"
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid I specifier in FORMAT statement at %0"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -46780,180 +46775,180 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "la déclaration de l'expression a un type incomplet"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Range specification at %0 invalid"
 msgid "Range specification at %L can never be matched"
 msgstr "spécification d'étendue à %0 invalide"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "argument %d must be referable"
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "argument %d doit pouvoir être référencé"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "first argument to `%s' must be a mode"
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "premier argument de « %s » doit être un mode"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in context established by statement at %1"
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "déclaration à %0 invalide dans le contexte établi par la déclaration à %1"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -46961,965 +46956,965 @@ 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:8597
+#: fortran/resolve.c:8599
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement at %0 invalid in context established by statement at %1"
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "déclaration à %0 invalide dans le contexte établi par la déclaration à %1"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unsupported VXT statement at %0"
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "déclaration VXT non supporté à %0"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Integer at %0 too large"
 msgid "String length at %L is too large"
 msgstr "entier à %0 est trop grand"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%s' has both `extern' and initializer"
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "« %s » a les deux « extern » et initialisateur"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%Jfinal field '%D' may not have been initialized"
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "`%D' must take exactly one argument"
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "« %D » doit prendre exactement un argument"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "trampolines not yet implemented"
 msgid "Finalization at %L is not yet implemented"
 msgstr "trampolines ne sont pas encore implantées"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "incompatible types in %s"
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "type incompatibles dans %s"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "Label %d at %L defined but not used"
 msgstr "étiquette « %D » définie mais non utilisée"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label `%D' defined but not used"
 msgid "Label %d at %L defined but cannot be used"
 msgstr "étiquette « %D » définie mais non utilisée"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -48097,35 +48092,35 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "accumulator number is out of bounds"
 msgid "DIM argument at %L is out of bounds"
 msgstr "numéro de l'accumulateur est hors limite"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -48133,48 +48128,48 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "function call has aggregate value"
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "l'appel de fonction a une valeur d'aggrégat"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -48554,17 +48549,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -49214,18 +49209,18 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr "ne peut déterminer la date et l'heure"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not find specs file %s\n"
 msgid "could not parse file offset"
 msgstr "ne peut repérer le fichiers des specs %s\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected offset"
@@ -49237,75 +49232,75 @@ msgstr "op
 msgid "invalid line in the resolution file"
 msgstr "registre invalide dans l'instruction"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "registre invalide dans l'instruction"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "ne peut ouvrir %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "ne peut ouvrir %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "ne peut ouvrir %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening LTRANS output list %s: %m"
 msgstr "ouverture du fichier de sortie %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 #| msgid "when writing output to %s: %m"
 msgid "writing to LTRANS output list %s: %m"
 msgstr "lors de l'écriture de la sortie dans %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "closing LTRANS output list %s: %m"
 msgstr "ouverture du fichier de sortie %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "Could not open source file %s.\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "N'a pu ouvrir le fichier source %s.\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -55722,6 +55717,9 @@ msgstr "cr
 #~ msgid "more than one 'i' or 'j' suffix on integer constant"
 #~ msgstr "plus d'un « i » ou « j » en suffixe sur une constante entière"
 
+#~ msgid "invalid suffix on integer constant"
+#~ msgstr "suffixe invalide pour une constante entière"
+
 #~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
 #~ msgstr "constante entière trop grande pour la configuration du compilateur - tronqué à %d bits"
 
index 15f4626..9d6f22f 100644 (file)
Binary files a/gcc/po/hr.gmo and b/gcc/po/hr.gmo differ
index 2841a49..877b351 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.7.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2012-07-05 15:49+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -27,7 +27,7 @@ msgstr ""
 msgid "({anonymous})"
 msgstr ""
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "očekujem kraj retka"
@@ -37,8 +37,8 @@ msgstr "očekujem kraj retka"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "očekujem %<;%>"
@@ -50,13 +50,13 @@ msgstr "očekujem %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "očekujem %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "očekujem %<,%>"
@@ -72,14 +72,14 @@ msgstr "očekujem %<,%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "očekujem %<)%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "očekujem %<]%>"
@@ -88,25 +88,25 @@ msgstr "očekujem %<]%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "očekujem %<;%>, %<,%> ili %<)%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "očekujem %<}%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "očekujem %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "očekujem %<:%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "očekujem %<while%>"
@@ -115,34 +115,34 @@ msgstr "očekujem %<while%>"
 msgid "expected %<.%>"
 msgstr "očekujem %<.%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "očekujem %<@end%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "očekujem %<>%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "očekujem %<,%> ili %<)%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "očekujem %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "očekujem %<[%>"
@@ -321,12 +321,12 @@ msgstr "operand „%%l” nije oznaka"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "neispravni izraz kao operand"
@@ -1378,20 +1378,20 @@ msgstr "neprepoznati insn:"
 msgid "insn does not satisfy its constraints:"
 msgstr "insn ne zadovoljava svoja ograničenja:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "napravljeno i korišteno s različitim postavkama „%s”"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "nema dovoljno memorije"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "napravljeno i korišteno s različitim postavkama -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "napravljeno i korišteno s različitim postavkama -fpie"
 
@@ -1990,195 +1990,195 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr ""
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr ""
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2511,18 +2511,18 @@ msgid "invalid %%r value"
 msgstr ""
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr ""
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr ""
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr ""
@@ -2537,12 +2537,12 @@ msgstr ""
 msgid "invalid %%L value"
 msgstr ""
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr ""
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr ""
@@ -2553,7 +2553,7 @@ msgid "invalid %%U value"
 msgstr ""
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr ""
@@ -2563,7 +2563,7 @@ msgstr ""
 msgid "invalid %%C value"
 msgstr ""
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr ""
@@ -2574,38 +2574,38 @@ msgid "unknown relocation unspec"
 msgstr ""
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr ""
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr ""
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr ""
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2613,79 +2613,79 @@ msgstr ""
 msgid "invalid operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr ""
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr ""
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr ""
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr ""
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 msgid "bad address, not a constant:"
 msgstr ""
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr ""
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr ""
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr ""
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr ""
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr ""
 
@@ -2701,7 +2701,7 @@ msgstr ""
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2931,72 +2931,72 @@ msgstr ""
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr ""
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr ""
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr ""
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr ""
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr ""
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr ""
 
@@ -3047,13 +3047,13 @@ msgstr ""
 msgid "invalid operation on %<__fpreg%>"
 msgstr ""
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr ""
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr ""
@@ -3132,7 +3132,7 @@ msgid "post-increment address is not a register"
 msgstr ""
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr ""
 
@@ -3267,115 +3267,115 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr ""
 
@@ -3464,25 +3464,25 @@ msgstr ""
 msgid "invalid operand for code: '%c'"
 msgstr ""
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr ""
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr ""
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr ""
 
@@ -3501,13 +3501,13 @@ msgstr ""
 msgid "invalid %%B operand"
 msgstr ""
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr ""
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr ""
@@ -3552,57 +3552,57 @@ msgstr ""
 msgid "xstormy16_print_operand: unknown code"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, c-format
 msgid "invalid %%H specifier"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, c-format
 msgid "invalid %%h operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, c-format
 msgid "invalid %%I operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, c-format
 msgid "invalid %%i operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, c-format
 msgid "invalid %%j operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, c-format
 msgid "invalid %%%c operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, c-format
 msgid "invalid %%N operand"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr ""
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -3916,7 +3916,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr ""
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4281,11 +4281,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr ""
 
@@ -4293,123 +4293,123 @@ msgstr ""
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr ""
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4418,7 +4418,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4733,6 +4733,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4822,26 +4834,10 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr ""
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr ""
@@ -4854,6 +4850,10 @@ msgstr ""
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr ""
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr ""
@@ -7546,7 +7546,7 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr ""
 
 #: config/sh/sh.opt:278
@@ -11744,224 +11744,220 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 msgid "invalid operand for unary %<&%>"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 msgid "argument 1 must be a map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 msgid "invalid type for make function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 msgid "too many arguments to make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 msgid "unsupported argument type to builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 msgid "argument must be a field reference"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 msgid "first argument must be []byte"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 msgid "argument 2 has invalid type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 msgid "invalid use of %<...%> with non-slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr ""
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -11997,19 +11993,23 @@ msgstr ""
 msgid "expected boolean expression"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12294,7 +12294,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
@@ -12388,13 +12388,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
@@ -12769,7 +12769,7 @@ msgstr ""
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr ""
@@ -12897,7 +12897,7 @@ msgstr ""
 msgid "variable %qD has initializer but incomplete type"
 msgstr ""
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr ""
@@ -12907,7 +12907,7 @@ msgstr ""
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr ""
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr ""
@@ -13805,7 +13805,7 @@ msgstr ""
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
@@ -14008,7 +14008,7 @@ msgstr ""
 msgid "unknown type name %qE"
 msgstr ""
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr ""
@@ -14018,7 +14018,7 @@ msgstr ""
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
@@ -14066,7 +14066,7 @@ msgstr ""
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr ""
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
@@ -14098,8 +14098,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr ""
@@ -14433,77 +14433,77 @@ msgstr ""
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr ""
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr ""
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -14518,42 +14518,42 @@ msgstr ""
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr ""
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
@@ -14563,7 +14563,7 @@ msgstr ""
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr ""
@@ -14578,12 +14578,12 @@ msgstr ""
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -14608,27 +14608,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15406,7 +15406,7 @@ msgstr ""
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr ""
@@ -15612,223 +15612,223 @@ msgstr ""
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr ""
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr ""
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -16848,7 +16848,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -16968,12 +16968,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr ""
@@ -17058,27 +17058,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr ""
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr ""
@@ -17507,62 +17507,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr ""
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -17766,48 +17766,48 @@ msgstr ""
 msgid "function %qD redeclared as variable"
 msgstr ""
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -17903,12 +17903,12 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -18269,8 +18269,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
@@ -18575,7 +18575,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
@@ -18595,12 +18595,12 @@ msgstr ""
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr ""
@@ -18790,7 +18790,7 @@ msgstr ""
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -18805,7 +18805,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -18820,7 +18820,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr ""
@@ -18855,7 +18855,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -19475,117 +19475,117 @@ msgstr ""
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr ""
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
@@ -19621,7 +19621,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr ""
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -19861,72 +19861,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr ""
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr ""
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr ""
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -19940,141 +19940,141 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr ""
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr ""
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -20290,12 +20290,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -20310,8 +20310,8 @@ msgstr ""
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr ""
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -20933,40 +20933,40 @@ msgstr ""
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
@@ -21006,12 +21006,12 @@ msgstr ""
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -22762,229 +22762,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr ""
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr ""
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr ""
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr ""
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr ""
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr ""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr ""
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr ""
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr ""
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23024,87 +23024,87 @@ msgstr ""
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr ""
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr ""
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr ""
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr ""
@@ -23444,411 +23444,411 @@ msgstr ""
 msgid "can%'t set position in PCH file: %m"
 msgstr ""
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr ""
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr ""
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr ""
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr ""
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr ""
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr ""
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr ""
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr ""
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr ""
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
@@ -23918,13 +23918,13 @@ msgstr ""
 msgid "%qE attribute requires a string constant argument"
 msgstr ""
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -23996,7 +23996,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr ""
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr ""
@@ -24051,7 +24051,7 @@ msgstr ""
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
@@ -24390,62 +24390,62 @@ msgstr ""
 msgid "%qs does not support MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr ""
@@ -24455,57 +24455,57 @@ msgstr ""
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -24786,307 +24786,307 @@ msgstr ""
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr ""
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr ""
@@ -25319,63 +25319,63 @@ msgstr ""
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr ""
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr ""
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr ""
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr ""
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr ""
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -25497,12 +25497,12 @@ msgstr ""
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr ""
@@ -25717,38 +25717,38 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr ""
@@ -26186,7 +26186,7 @@ msgstr ""
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
@@ -26246,425 +26246,425 @@ msgstr ""
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr ""
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr ""
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr ""
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr ""
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr ""
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr ""
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr ""
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr ""
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr ""
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr ""
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr ""
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr ""
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr ""
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
@@ -26674,12 +26674,12 @@ msgstr ""
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr ""
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -26699,7 +26699,7 @@ msgstr ""
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr ""
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr ""
@@ -27602,7 +27602,7 @@ msgstr ""
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
@@ -27695,8 +27695,8 @@ msgstr ""
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
@@ -28226,7 +28226,7 @@ msgstr ""
 msgid "type %qT is not derived from type %qT"
 msgstr ""
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr ""
@@ -28536,374 +28536,369 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr ""
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr ""
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr ""
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr ""
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr ""
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr ""
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr ""
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr ""
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr ""
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr ""
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -28923,168 +28918,168 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr ""
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr ""
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr ""
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr ""
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr ""
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr ""
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29096,88 +29091,88 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr ""
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr ""
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29186,72 +29181,72 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr ""
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr ""
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr ""
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr ""
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr ""
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr ""
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
@@ -29599,7 +29594,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -29858,152 +29853,152 @@ msgstr ""
 msgid "bad array initializer"
 msgstr ""
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr ""
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr ""
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr ""
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr ""
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -30093,12 +30088,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30108,12 +30103,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -30128,98 +30123,98 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr ""
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr ""
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr ""
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr ""
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr ""
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -30356,132 +30351,132 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr ""
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr ""
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr ""
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, gcc-internal-format
 msgid "%qT is not a namespace"
 msgstr ""
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr ""
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr ""
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr ""
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr ""
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
@@ -30489,22 +30484,22 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -30634,7 +30629,7 @@ msgstr ""
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -30862,7 +30857,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -31054,7 +31049,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr ""
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
@@ -31084,7 +31079,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
@@ -31100,12 +31095,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -31142,7 +31137,7 @@ msgstr ""
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31218,12 +31213,12 @@ msgstr ""
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
@@ -31238,7 +31233,7 @@ msgstr ""
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr ""
@@ -31365,12 +31360,12 @@ msgstr ""
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
@@ -31415,73 +31410,73 @@ msgstr ""
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr ""
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr ""
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr ""
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr ""
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr ""
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -31490,247 +31485,247 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr ""
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr ""
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr ""
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr ""
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr ""
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr ""
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr ""
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr ""
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr ""
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -31739,317 +31734,317 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr ""
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr ""
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr ""
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr ""
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr ""
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr ""
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr ""
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr ""
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr ""
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr ""
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr ""
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr ""
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr ""
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr ""
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr ""
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr ""
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr ""
@@ -32758,17 +32753,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr ""
@@ -32786,257 +32781,257 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr ""
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr ""
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr ""
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr ""
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr ""
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
@@ -33048,32 +33043,32 @@ msgstr ""
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr ""
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -33081,12 +33076,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -33323,7 +33318,7 @@ msgstr ""
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
@@ -33496,263 +33491,263 @@ msgstr ""
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr ""
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr ""
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr ""
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr ""
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr ""
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr ""
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr ""
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr ""
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr ""
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr ""
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr ""
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr ""
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -34695,122 +34690,122 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr ""
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr ""
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr ""
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr ""
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr ""
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr ""
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -34870,187 +34865,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr ""
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr ""
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35085,7 +35080,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr ""
@@ -35195,7 +35190,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -35278,8 +35273,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -35424,7 +35419,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -35554,42 +35549,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr ""
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -35601,7 +35596,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -35881,7 +35876,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -35896,7 +35891,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -35906,7 +35901,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
@@ -36103,7 +36098,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36123,834 +36118,834 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr ""
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr ""
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr ""
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr ""
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr ""
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -37190,27 +37185,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -37471,7 +37466,7 @@ msgid "can't open input file: %s"
 msgstr ""
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -37587,12 +37582,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -39611,7 +39606,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -40700,943 +40695,943 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr ""
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr ""
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -41645,175 +41640,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -41821,950 +41816,950 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr ""
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr ""
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -42930,34 +42925,34 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -42965,47 +42960,47 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -43374,17 +43369,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -43994,17 +43989,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr ""
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
@@ -44014,67 +44009,67 @@ msgstr ""
 msgid "invalid line in the resolution file"
 msgstr ""
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr ""
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr ""
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr ""
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr ""
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr ""
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index eb27319..a9a3478 100644 (file)
Binary files a/gcc/po/id.gmo and b/gcc/po/id.gmo differ
index 12e5697..540abea 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.4.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2009-11-10 09:00+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -27,7 +27,7 @@ msgstr "<anonim>"
 msgid "({anonymous})"
 msgstr "<anonim>"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of module"
 msgid "expected end of line"
@@ -38,8 +38,8 @@ msgstr "Tidak terduga akhir dari modul"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "diduga %<,%>"
@@ -51,13 +51,13 @@ msgstr "diduga %<,%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "diduga %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<,%>"
@@ -74,7 +74,7 @@ msgstr "diduga %<{%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<)%>"
@@ -82,7 +82,7 @@ msgstr "diduga %<{%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<]%>"
@@ -94,27 +94,27 @@ msgstr "diduga %<{%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "diduga %<,%>, %<,%> atau %<}%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<}%>"
 msgstr "diduga %<{%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "diduga %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<:%>"
 msgstr "diduga %<{%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<while%>"
@@ -126,37 +126,37 @@ msgstr "diduga %<{%>"
 msgid "expected %<.%>"
 msgstr "diduga %<{%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@end%>"
 msgstr "diduga %<{%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<>%>"
 msgstr "diduga %<{%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<,%> or %<)%>"
 msgstr "diduga %<,%> atau %<,%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "diduga %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "diduga %<#pragma omp section%> atau %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<[%>"
@@ -345,12 +345,12 @@ msgstr "'%%l' operan bukan sebuah label"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "konstanta pecahan disalah gunakan"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "ekspresi sebagai operan tidak valid"
@@ -1479,20 +1479,20 @@ msgstr "insn tidak dikenal:"
 msgid "insn does not satisfy its constraints:"
 msgstr "insn tidak memenuhi batasannya:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "dibuat dan digunakan dengan konfigurasi berbeda dari '%s'"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "kehabisan memori"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "dibuat dan digunakan dengan konfigurasi berbeda dari -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "dibuat dan digunakan dengan konfigurasi berbeda dari -fpie"
 
@@ -2112,215 +2112,215 @@ msgstr "Jarak minimal diantara kemungkinan konflik store dan load"
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Jumlah maksimum dari titik RTL yang dapat direkam sebagai pemkombinasi nilai terakhir"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Batasan atas untuk pembagian konstanta integer"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Jumlah minimal dari pemetaan maya untuk dipertimbangkan dalam pergantian ke pengubahan nama maya penuh"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Rasio diantara pemetaan maya dan simbol maya untuk melakukan pengubahan nama maya penuh"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Batas bawah untuk sebuah penyangga untuk dipertimbangkan untuk proteksi stack smashing"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Jumlah maksimum dari statemen yang diperbolehkan dalam sebuah blok yang membutuhkan untuk diduplikasi ketika threading jumps"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Jumlah maksimum dari field dalam sebuah struktur sebelum analisa penunjuk treats struktur sebagai sebuah variabel tunggal"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Jumlah maksimum dari instruksi yang siap untuk diberikan untuk dipertimbangkan oleh penjadwalan selam tahap penjadwalan pertama"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "Jumlah dari insns yang dijalankan sebelum prefetch selesai"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "Jumlah dari prefetches yang dapat berjalan di waktu bersamaan"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "Ukuran dari L1 cache"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "Ukuran dari baris L1 cache"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "Ukuran dari L2 cache"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Akan menggunakan tipe kanonikal"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr "Panjang maksimum dari bagian antik diset ketika menjalan pre optimisasi pohon"
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr "Ukuran maksimum dari sebuah SCC sebelum SCCVN berhenti memproses sebuah fungsi"
 
-#: params.def:780
+#: params.def:781
 #, fuzzy
 #| msgid "max loops number for regional RA"
 msgid "Max loops number for regional RA"
 msgstr "jumlah maksimal loops untuk daerah RA"
 
-#: params.def:785
+#: params.def:786
 #, fuzzy
 #| msgid "max size of conflict table in MB"
 msgid "Max size of conflict table in MB"
 msgstr "ukuran maksimal dari tabel konflik dalam MB"
 
-#: params.def:790
+#: params.def:791
 #, fuzzy
 #| msgid "The minimum cost of an expensive expression in the loop invariant motion"
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "Biaya minimum dari sebuah ekspresi ekspensi dalam sebuah pergerakan loop tidak variant"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "Rasio maksimal diantara ukuran array dan cabang switch untuk sebuah konversi switch untuk mengambil tempat"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 #| msgid "maximum value of parameter %qs is %u"
 msgid "maximum number of parameters in a SCoP"
 msgstr "nilai maksimal dari parameter %qs adalah %u"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 #, fuzzy
 #| msgid "max basic blocks number in loop for loop invariant motion"
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "jumlah maksimal blok dasar dalam loop untuk gerakan loop invariant"
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "Maximum number of instructions in the ready list that are considered eligible for renaming"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Jumlah maksimum dari instruksi dalam daftar siaga yang dipertimbangkan berhak untuk diubah namanya"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 #, fuzzy
 #| msgid "Maximum number of nops to insert for a hint (Default 2)"
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "Jumlah maksimum dari nops untuk dimasukan untuk sebuah hint (Baku 2)"
 
-#: params.def:923
+#: params.def:924
 #, fuzzy
 #| msgid "Maximum number of times that an insn could be scheduled"
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "Jumlah maksimum dari percobaan dari sebuah insn dapat dijadwalkan"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Ijinkan percabangan untuk dipack dengan instruksi lain"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Ijinkan percabangan untuk dipack dengan instruksi lain"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2663,18 +2663,18 @@ msgid "invalid %%r value"
 msgstr "nilai %%r tidak valid"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "nilai %%R tidak valid"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "nilai %%N tidak valid"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "nilai %%P tidak valid"
@@ -2689,12 +2689,12 @@ msgstr "nilai %%h tidak valid"
 msgid "invalid %%L value"
 msgstr "nilai %%L tidak valid"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "nilai %%m tidak valid"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "nilai %%M tidak valid"
@@ -2705,7 +2705,7 @@ msgid "invalid %%U value"
 msgstr "nilai %%U tidak valid"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "nilai %%s tidak valid"
@@ -2715,7 +2715,7 @@ msgstr "nilai %%s tidak valid"
 msgid "invalid %%C value"
 msgstr "nilai %%C tidak valid"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "nilai %%E tidak valid"
@@ -2726,39 +2726,39 @@ msgid "unknown relocation unspec"
 msgstr "relokasi unspek tidak diketahui"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "kode %%xn tidak valid"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "instruksi Thumb terprediksi"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "instruksi terprediksi dalam urutan berkondisi"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "operan tidak valid untuk kode '%c'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "operan shift tidak valid"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2766,89 +2766,89 @@ msgstr "operan shift tidak valid"
 msgid "invalid operand for code '%c'"
 msgstr "operan tidak valid untuk kode '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "instruksi tidak pernah dijalankan"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "hilang operan"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "fungsi mengembalikan sebuah kumpulan"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "fungsi tidak mengembalikan tipe string"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "alamat operan membutuhkan batasan untuk X, Y, atau Z register"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "keluaran operan %d harus menggunakan batasan %<&%>"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "alamat buruk, bukan (reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "ofset alamat bukan sebuah konstanta"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "alamat buruk, bukan (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "alamat buruk, bukan post_inc atau pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "internal kompiler error. Alamat buruk:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "internal kompiler error. Kode tidak diketahui:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "insn tidak valid:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "insn tidak benar:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "insn move tidak dikenal:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "shift insn buruk:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "internal kompiler error. shift tidak benar:"
 
@@ -2864,7 +2864,7 @@ msgstr "operan const_double tidak valid"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3096,76 +3096,76 @@ msgstr "operan output_move_double buruk"
 msgid "bad output_condmove_single operand"
 msgstr "operan output_condmove_single buruk"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "UNSPEC tidak valid sebagai operan"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "operan tidak valid untuk kode '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "operan tidak valid untuk kode '%c'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "operan bukan sebuah konstanta ataupun sebuah kode kondisi, kode operan 'C' tidak valid"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "operan bukan sebuah konstanta ataupun sebuah kode kondisi, kode operan 'F' tidak valid"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "operan bukan sebuah konstanta ataupun sebuah kode kondisi, kode operan 'c' tidak valid"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "operan bukan sebuah konstanta ataupun sebuah kode kondisi, kode operan 'f' tidak valid"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'D'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'D'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "operan bukan sebuah kode kondisi, kode operan 'D' tidak valid"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "kode operan '%c' tidak valid"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "batasan untuk operan tidak valid"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "mode insn tidak diketahui"
 
@@ -3219,13 +3219,13 @@ msgstr "konversi ke %<__fpreg%> tidak valid"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "operasi di %<__fpreg%> tidak valid"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "operan %%P tidak valid"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "nilai %%p tidak valid"
@@ -3308,7 +3308,7 @@ msgid "post-increment address is not a register"
 msgstr "alamat post-increment bukan sebuah register"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "alamat buruk"
 
@@ -3450,128 +3450,128 @@ msgstr "Kehabisan ruang stack.\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "Mencoba menjalankan '%s' dalam shell untuk meningkatkan batasannya.\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Gunakan piranti keras titik pecahan"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-f%s dan -msdata=%s tidak kompatibel"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "Hasilkan kode little endian"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "Non-aktifkan pengalamatan terindeks"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s dan -msdata=%s tidak kompatibel"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad test"
 msgid "bad move"
 msgstr "tes buruk"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "nilai %%H tidak valid"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "nilai %%f tidak valid"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "nilai %%F tidak valid"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "nilai %%G tidak valid"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "kode %%j tidak valid"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "kode %%J tidak valid"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "nilai %%k tidak valid"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "nilai %%K tidak valid"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "nilai %%O tidak valid"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "nilai %%q tidak valid"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "nilai %%S tidak valid"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "nilai %%T tidak valid"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "nilai %%u tidak valid"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "nilai %%v tidak valid"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "nilai %%x tidak valid"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "nilai %%ytidak valid, coba menggunakan batasan 'Z'"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "Argumen AltiVec dilewatkan ke fungsi yang tidak berprototipe"
 
@@ -3669,25 +3669,25 @@ msgstr "operan tidak valid untuk pemodifikasi 'o'"
 msgid "invalid operand for code: '%c'"
 msgstr "operan tidak valid untuk kode: '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "operan tidak valid ke %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "operan tidak valid ke %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "dibuat dan digunakan dengan arsitektur berbeda / ABI"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "dibuat dan digunakan dengan ABI berbeda"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "dibuat dan digunakan dengan endianness berbeda"
 
@@ -3706,14 +3706,14 @@ msgstr "operan %%A tidak valid"
 msgid "invalid %%B operand"
 msgstr "operan %%B tidak valid"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%C operand"
 msgstr "operan %%P tidak valid"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%D operand"
@@ -3759,65 +3759,65 @@ msgstr "operan 'o' bukan sebuah konstanta"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: kode tidak diketahui"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "operan %%c tidak valid"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "operan %%d tidak valid"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "kode %%j tidak valid"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "operan %%P tidak valid"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "operan %%P tidak valid"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "operan %%P tidak valid"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "operan %%P tidak valid"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "operan %%c tidak valid"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "operan %%P tidak valid"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "operan tidak valid untuk pemodifikasi 'b'"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4182,7 +4182,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "kandidat adalah:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4583,11 +4583,11 @@ msgstr "blok IF"
 msgid "implied END DO"
 msgstr "Diimplikasikan END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "assignment"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "assignmen penunjuk"
 
@@ -4595,139 +4595,139 @@ msgstr "assignmen penunjuk"
 msgid "simple IF"
 msgstr "IF sederhana"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 #, fuzzy
 #| msgid "elemental procedure"
 msgid "module procedure"
 msgstr "prosedur elemental"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "function returning a function"
 msgid "internal function"
 msgstr "fungsi mengembalikan sebuah fungsi"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "prosedur elemental"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Konteks tidak valid untuk penunjuk NULL() di %%L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "Operan dari operator numerik unary '%s' di %%L adalah %s"
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "Operan dari operan binari numerik '%s' di %%L adalah %s/%s"
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "Operan dari string operator konkatenasi di %%L adalah %s/%s"
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "Operan dari operator logikal '%s' di %%L adalah %s/%s"
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Operan dari operator .not. di %%L adalah %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "kuantitas KOMPLEKS tidak dapat dibandingkan di %L"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "Logikal di %%L harus dibandingkan dengan %s daripada %s"
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "Operan dari operator perbandingan '%s' di %%L adalah %s/%s"
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Operator tidak dikenal '%s' di %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "Operan dari operator pengguna '%s' di %%L adalah %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "Operan dari operator pengguna '%s' di %%L adalah %s/%s"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Tingkat tidak konsisten untuk operator di %%L dan %%L"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 #| msgid "%qD is not a variable"
 msgid "iterator variable"
 msgstr "%qD bukan sebuah variabel"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Start expression in DO loop"
 msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "ekspresi sebagai operan tidak valid"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Step expression in DO loop"
 msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 #| msgid "DEALLOCATE "
 msgid "DEALLOCATE object"
 msgstr "DEALOKASIKAN "
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 #| msgid "ALLOCATE "
 msgid "ALLOCATE object"
 msgstr "ALOKASIKAN "
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4737,7 +4737,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "Pajang KARAKTER berbeda (%d/%d) dalam konstruktor array di %L"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5083,6 +5083,18 @@ msgstr "tidak dapat menggunakan mthreads dan mlegacy-threads bersamaan"
 msgid "cannot use mshared and static together"
 msgstr "tidak dapat menggunakan mshared dan static bersamaan"
 
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni dan -femit-class-files adalah tidak kompatibel"
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni dan -femi-class-file adalah tidak kompatibel"
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file seharusnya digunakan bersamaan dengan -fsyntax-only"
+
 #: config/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5174,26 +5186,10 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "pilihan -shared saat ini tidak didukung untuk VAX ELF"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran tidak mendukung -E tanpa -cpp"
 
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fjni dan -femit-class-files adalah tidak kompatibel"
-
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fjni dan -femi-class-file adalah tidak kompatibel"
-
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "-femit-class-file seharusnya digunakan bersamaan dengan -fsyntax-only"
-
 #: config/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a tidak mendukung little-endian"
@@ -5206,6 +5202,10 @@ msgstr " konflik kode gen gaya switches digunakan"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "pilihan -shared saat ini tidak didukung untuk VAX ELF"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8108,7 +8108,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Ikuti konvensi pemanggilan Renesas (sebelumnya Hitachi) / SuperH"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "Naikan komplian IEEE untuk kode titik pecahan"
 
 #: config/sh/sh.opt:278
@@ -12763,310 +12765,304 @@ msgstr "Buat sebuah perpustakaan terbagi"
 msgid "Create a position independent executable"
 msgstr "Buat sebuah aplikasi bebas posisi"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of %qD"
 msgid "invalid use of type"
 msgstr "penggunaan tidak valid dari %qD"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 #| msgid "inlined_to pointer refers to itself"
 msgid "constant refers to itself"
 msgstr "penunjuk inlined_to mereferensikan ke dirinya sendiri"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected numeric type"
 msgstr "Diduga tipe ekspresi"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "unexpected non-tuple"
 msgid "expected boolean type"
 msgstr "diduga bukan tuple"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 #| msgid "expected integer expression"
 msgid "expected integer or boolean type"
 msgstr "diduga ekspresi integer"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operand to %%R"
 msgid "invalid operand for unary %<&%>"
 msgstr "operan tidak valid ke %%R"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "Expected integer"
 msgid "expected pointer"
 msgstr "Diduga integer"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in binary expression"
 msgstr "tipe tidak kompatibel dalam kembali"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qs has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "ukuran dari array %qs memiliki tipe bukan integer"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "switch kuantiti bukan sebuah integer"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "panjang insn negatif"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object %qE is not a function"
 msgid "object is not a method"
 msgstr "dipanggil objek %qE bukan sebuah fungsi"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "argument of type %qT does not match %qT"
 msgid "method type does not match object type"
 msgstr "argumen dari tipe %qT tidak cocok dengan %qT"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to built-in function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "argumen ke fungsi bawaan tidak valid"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "tidak ada argumen"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "terlalu banyak argumen untuk format"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "argument 1 must be a map"
 msgstr "argumen harus berupa sebuah konstanta"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "invalid pure const state for function"
 msgid "invalid type for make function"
 msgstr "pure const state tidak valid untuk fungsi"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "insn untuk 'A' buruk"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "terlalu banyak argumen untuk format"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "argument must be array or slice or channel"
 msgstr "argumen harus berupa sebuah konstanta"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "invalid argument to built-in function"
 msgid "unsupported argument type to builtin function"
 msgstr "argumen ke fungsi bawaan tidak valid"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "argument must be channel"
 msgstr "argumen harus berupa sebuah konstanta"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "last argument must be an immediate"
 msgid "argument must be a field reference"
 msgstr "argumen terakhir harus berupa sebuah immediate"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "last argument must be an immediate"
 msgid "left argument must be a slice"
 msgstr "argumen terakhir harus berupa sebuah immediate"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "last argument must be an immediate"
 msgid "first argument must be []byte"
 msgstr "argumen terakhir harus berupa sebuah immediate"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "second argument must be slice or string"
 msgstr "argumen harus berupa sebuah konstanta"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "%Jparameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "%J parameter %u memiliki tipe void"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "%Jparameter %u has incomplete type"
 msgid "argument must have complex type"
 msgstr "%J parameter %u memiliki tipe tidak lengkap"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "cleanup argument not an identifier"
 msgid "complex arguments must have identical types"
 msgstr "membersihkan argumen bukan sebuah identifikasi"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "Do not use hardware floating point"
 msgid "complex arguments must have floating-point type"
 msgstr "Jangan gunakan piranti keras titik pecahan"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of %<this%> at top level"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "penggunaan tidak valid ari %<this%> di tingkat paling atas"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "deleted function %q+D"
 msgid "expected function"
 msgstr "fungsi %q+D terhapus"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for receiver"
 msgstr "tipe tidak kompatibel dalam kembali"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of %<this%> in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "penggunaan tidak valid dari %<this%> dalam fungsi bukan anggota"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "incoming edge count does not match number of PHI arguments"
 msgid "number of results does not match number of values"
 msgstr "jumlah ujung masukan tidak cocok dengan jumlah dari argumen PHI"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer"
 msgid "index must be integer"
 msgstr "Penunjuk Cray di %C harus berupa sebuah integer"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer"
 msgid "slice end must be integer"
 msgstr "Penunjuk Cray di %C harus berupa sebuah integer"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for map index"
 msgstr "tipe tidak kompatibel dalam kembali"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "terlalu banyak argumen untuk format"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "terlalu sedikit argumen untuk format"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid types in fixed-point conversion"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "tipe tidak valid dalam konversi titik tetap"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "expected class name"
 msgid "expected channel"
 msgstr "diduga nama class"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13114,23 +13110,27 @@ msgstr "operan tidak valid dalam pernyataan return"
 msgid "expected boolean expression"
 msgstr "diduga ekspresi"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in send"
 msgstr "tipe tidak kompatibel dalam kembali"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 #| msgid "invalid operand in indirect reference"
 msgid "invalid send on receive-only channel"
 msgstr "operan tidak valid dalam referensi tidak langsung"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -13451,7 +13451,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%K penggunakan tidak valid dari %<__builtin_va_arg_pack ()%>"
@@ -13547,13 +13547,13 @@ msgstr "%Kmencoba membebaskan sebuah objek bukan heap"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "nilai void tidak diabaikan karena ini seharusnya"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "konversi ke tipe bukan-skalar diminta"
@@ -13946,7 +13946,7 @@ msgstr "melompat kedalam pernyataan ekspresi"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H%qE didefinisikan sebagai jenis salah dari tag"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "penggunaan tidak valid dari %<restrict%>"
@@ -14077,7 +14077,7 @@ msgstr "objek berukuran-variabel tidak boleh diinisialisasi"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "variabel %qD memiliki penginisialisasi tetapi tipe tidak lengkap"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "fungsi inline %q+D memberikan atribut noinline"
@@ -14088,7 +14088,7 @@ msgstr "fungsi inline %q+D memberikan atribut noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "anggota const tidak terinisialisasi %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D will be initialized after"
 msgid "%qD should be initialized"
@@ -15077,7 +15077,7 @@ msgstr "argumen %qD tidak cocok dengan prototipe bawaan"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "argumen %qD tidak cocok dengan prototipe"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "tidak ada pernyataaan kembali dalam fungsi yang mengembalikan bukan void"
@@ -15288,7 +15288,7 @@ msgstr "ISO C tidak mengijinkan kelebihan %<;%> diluar dari sebuah fungsi"
 msgid "unknown type name %qE"
 msgstr "nama register: %s tidak dikenal"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "diduga penspesifikasi deklarasi"
@@ -15299,7 +15299,7 @@ msgstr "diduga penspesifikasi deklarasi"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "diduga pengidentifikasi atau %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored for methods"
@@ -15352,7 +15352,7 @@ msgstr "ISO C90 tidak mendukung %<long long%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 tidak mendukung %<long long%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "diduga string literal"
@@ -15387,8 +15387,8 @@ msgstr "static assertion gagal: %E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "diduga pengidentifikasi"
@@ -15738,82 +15738,82 @@ msgstr "diduga penspesifikasi deklarasi"
 msgid "no type or storage class may be specified here,"
 msgstr "kelas penyimpanan dispesifikasikan untuk %qs"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "hilang %<(%> setelah %<#pragma pack%> - diabaikan"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "hilang %<(%> setelah %<#pragma pack%> - diabaikan"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%J atribut daerah tidak dapat dispesifikasikan untuk variabel lokal"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 #| msgid "%Jaddress area attribute cannot be specified for functions"
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%J alamat daerah atribut tidak dapat dispesifikasikan untuk fungsi"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> hanya mungkin digunakan dalam pernyataan compound"
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%> hanya mungkin digunakan dalam pernyataan compound"
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> hanya  boleh digunakan dalam pernyataan compound"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> hanya  boleh digunakan dalam pernyataan compound"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%> hanya bisa digunakan dalam %<#pragma omp section%> konstruk"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> harus menjadi pertama"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "terlalu banyak %qs clauses"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "argumen collapes membutuhkan konstanta positif ekspresi integer"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "diduga %<none%> atau %<shared%>"
@@ -15828,44 +15828,44 @@ msgstr "diduga ekspresi integer"
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%> nilai harus positif"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "diduga %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, atau %<||%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "jadwal %<runtime%> tidak mengambil sebuah parameter %<chunk_size%>"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "penjadwalan %<auto%> tidak mengambil sebuah parameter %<chunk_size%>"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "jenis penjadwalan tidak valid"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "diduga clause %<#pragma omp%>"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs tidak valid untuk %qs"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operator for %<#pragma omp atomic%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "operator tidak valid untuk %<#pragma omp atomic%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "operator tidak valid untuk %<#pragma omp atomic%>"
@@ -15875,7 +15875,7 @@ msgstr "operator tidak valid untuk %<#pragma omp atomic%>"
 msgid "expected %<(%> or end of line"
 msgstr "diduga %<(%> atau akhir dari baris"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "diduga pernyataan for"
@@ -15890,12 +15890,12 @@ msgstr "diduga iterasi deklarasi atau inisialisasi"
 msgid "not enough perfectly nested loops"
 msgstr "tidak cukup secara sempurna nested loops"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "collapsed loops tidak secara sempurna nested"
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "iterasi variabel %qD seharusnya bukan first private"
@@ -15920,27 +15920,27 @@ msgstr "variabel otomatis %qE tidak dapat berupa %<threadprivate%>"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%> %qE memiliki tipe tidak lengkap"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -16757,7 +16757,7 @@ msgstr "array terinisialisasi dari konstanta string bertanda-petik"
 msgid "initialization of a flexible array member"
 msgstr "inisialisasi dari sebuah anggota array fleksibel"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-array terinisialisasi dari string lebar"
@@ -16965,230 +16965,230 @@ msgstr "%<return%> dengan sebuah nilai, dalam fungsi mengembalikan void"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "ISO C melarang %<return%> dengan ekspresi, dalam fungsi mengembalikan void"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "fungsi mengembalikan alamat dari variabel lokal"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch kuantiti bukan sebuah integer"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "pilihan %<long%> ekspresi tidak diubah ke %<int%> dalam ISO C"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "case label is not an integer constant expression"
 msgstr "ukuran dari array bukan sebuah integral konstan ekspresi"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "label case tidak dalam label pernyataan switch"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%> label tidak dalam sebuah pernyataan switch"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%H disarankan kurung eksplisit untuk menghindari ambigu %<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "pernyataan break tidak dalam loop atau switch"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "pernyataan continue tidak dalam sebuah loop"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "pernyataan break digunakan dengan OpenMP untuk loop"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "pernyataan dengan tidak ada efek"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "ekspresi pernyataan memiliki tipe tidak lengkap"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "jumlah geser kanan negatif"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "jumlah geser kanan >= lebar dari tipe"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "jumlah geser kiri negatif"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "jumlah geser kiri >= lebar dari tipe"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about comparison of different enum types"
 msgid "comparing vectors with different element types"
 msgstr "Peringatkan mengenai perbandingan dari tipe enum yang berbeda"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "membandingkan titik pecahan dengan == atau != adalah tidak aman"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "perbandingan dari tipe penunjuk berbeda kurang sebuah cast"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C melarang perbandingan dari %<void *%> dengan fungsi penunjuk"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "perbandingan dari tipe penunjuk berbeda kurang sebuah cast"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "perbandingan diantara penunjuk dan integer"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "perbandingan dari penunjuk lengkap dan tidak lengkap"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C melarang perbandingan terurut dari penunjuk ke fungsi"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "perbandingan terurut dari penunjuk dengan integer nol"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "perbandingan terurut dari penunjuk dengan integer nol"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 #| msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "meminta untuk konversi implisit dari %qT ke %qT tidak diijinkan dalam C++"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "menggunakan array yang tidak dapat diubah ke penunjuk dimana skalar dibutuhkan"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "menggunakan nilai tipe struct dimana skalar dibutuhkan"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "menggunaka nilai tipe union dimana skalar dibutuhkan"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "menggunakan nilai tipe struct dimana skalar dibutuhkan"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE memiliki tipe tidak valid untuk %<reduction%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE memiliki tipe tidak valid untuk %<reduction(%s)%>"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE harus berupa %<threadprivate%> untuk %<copyin%>"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE bukan sebuah variabel dalam clause %qs"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE muncul lebih dari sekali dalam clause data"
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE bukan sebuah variabel dalam clause %<firstprivate%>"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE bukan sebuah variabel dalam clause %<lastprivate%>"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE adalah predetermined %qs untuk %qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -18251,7 +18251,7 @@ msgstr "dominasi dari %d seharusnya %d, bukan %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -18378,12 +18378,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "variabel global register %qD digunakan dalam fungsi nested"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%K panggilan ke %qs dideklarasikan dengan atribut error: %s"
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%K panggilan ke %qs dideklarasikan dengan atribut peringatan: %s"
@@ -18472,27 +18472,27 @@ msgstr "pemeriksaan fold: pohon asal diubah oleh fold"
 msgid "total size of local objects too large"
 msgstr "%J ukuran total dari objek lokal terlalu besar"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "batasan tidak memungkinkan dalam %<asm%>"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "variabel %q+D mungkin dipotong oleh %<longjmp> atau %<vfork%>"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "argumen %q+D mungkin dipotong oleh %<longjmp%> atau %<vfork%>"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "fungsi mengembalikan sebuah kumpulan"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "parameter %q+D tidak digunakan"
@@ -18969,70 +18969,70 @@ msgstr "pemeriksaan gimple: diduga %s(%s), memiliki %s(%s) dalam %s, di %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "tidak ada pernyataaan kembali dalam fungsi yang mengembalikan bukan void"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "lvalue tidak valid dalam keluaran asm %d"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "masukan %d bukan memori harus tetap berada dalam memori"
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "masukan memori %d tidak secara langsung dapat dialamatkan"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "variabel register %qD digunakan dalam fungsi nested"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, fuzzy, gcc-internal-format
 #| msgid "%Henclosing parallel"
 msgid "enclosing task"
 msgstr "%Hparallel yang melingkupi"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, fuzzy, gcc-internal-format
 #| msgid "%qs not specified in enclosing parallel"
 msgid "%qE not specified in enclosing parallel"
 msgstr "%qs tidak dispesifikan dalam parallel yang melingkupi"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, fuzzy, gcc-internal-format
 #| msgid "%Henclosing parallel"
 msgid "enclosing parallel"
 msgstr "%Hparallel yang melingkupi"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should be private"
 msgid "iteration variable %qE should be private"
 msgstr "iterasi variabel %qs seharusnya private"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qD should not be firstprivate"
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "iterasi variabel %qD seharusnya bukan first private"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should not be reduction"
 msgid "iteration variable %qE should not be reduction"
 msgstr "iterasi variabel %qs seharusnya bukan reduksi"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 #| msgid "%s variable %qs is private in outer context"
 msgid "%s variable %qE is private in outer context"
 msgstr "%s variabel %qs private dalam konteks luar"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification gagal"
@@ -19253,48 +19253,48 @@ msgstr "field %qs dideklarasikan sebagai sebuah fungsi"
 msgid "function %qD redeclared as variable"
 msgstr "fungsi %q+D redeklarasi sebagai inline"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "daerah barrier mungkin tidak secara dekat nested didalam dari work-sharing, critical, terurut atau eksplisit daerah tugas"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "daerah work-sharing mungkin tidak secara dekat nested didalam dari work-sharing, critical, terurut atau eksplisit daerah tugas"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "daerah master mungkin tidak secara dekat nested didalam daerah work-sharing atau eksplist daerah tugas"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "daerah terurut mungkin tidak secara dekat nested didalam daerah kritis atau eksplist daerah tugas"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr "daerah terurut harus secara dekat nested didalam sebuah daerah loop dalam sebuah clause terurut"
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr "daerah kritis mungkin tidak nested didalam sebuah daerah kritikal dengan nama sama"
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "exit tidak valid dari blok struktur OpenMP"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "masukan tidak valid ke blok struktur OpenMP"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "cabang tidak valid ke/dari sebuah blok struktur OpenMP"
@@ -19401,13 +19401,13 @@ msgstr "-static-libgfortran tidak didukung dalam konfigurasi ini"
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr "section anchors harus tidak aktif ketika pengurutan kembali tingkat teratas tidak aktif"
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
@@ -19793,8 +19793,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "tidak dapat menggunakan '%s' sebagai sebuah register %s"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "nama register: %s tidak dikenal"
@@ -20108,7 +20108,7 @@ msgstr "atribut packed menyebabkan alignmen tidak efisien"
 msgid "packed attribute is unnecessary"
 msgstr "atribut packed tidak diperlukan"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "alignmen dari elemen array lebih besar dari ukuran elemen"
@@ -20130,12 +20130,12 @@ msgstr "global desktruktor tidak didukung di target ini"
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections tidak didukung untuk target ini"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "atribut target tidak didukung di platform ini"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma GCC target tidak didukung untuk mesin ini"
@@ -20332,7 +20332,7 @@ msgstr "%Hpenggunaan tidak valid dari %qD dalam spesifikasi linkage"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -20348,7 +20348,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "aslinya pemanggilan fungsi tidak langsung tidak dipertimbangkan untuk inlining"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -20363,7 +20363,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<[*]%> not allowed in other than a declaration"
 msgid "asm not allowed in atomic transaction"
@@ -20402,7 +20402,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "%Hattributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -21062,127 +21062,127 @@ msgstr "tidak dapat membuka berkas dump %qs: %s"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "mengabaikan pilihan tidak dikenal %q.*s dalam %<-fdump-%s%>"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i has multiple EH edges"
 msgstr "BB %i tidak dapat throw tetapi memiliki EH edges"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i can not throw but has an EH edge"
 msgstr "BB %i tidak dapat throw tetapi memiliki EH edges"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "BB %i pernyataan terakhir memiliki daerah set tidak benar"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unnecessary EH edge %i->%i"
 msgid "Incorrect EH edge %i->%i"
 msgstr "EH edge %i->%i tidak diperlukan"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "insn salah dalam ujung fallthru"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i has incorrect edge"
 msgstr "BB %i pernyataan terakhir memiliki daerah set tidak benar"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "insn salah dalam ujung fallthru"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it receives a non-local goto"
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menerima sebuah goto bukan lokal"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menyimpan alamat dari label lokal dalam sebuah variabel statis"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
 msgstr "fungsi %q+F tidak akan dapat terinline karena ini menggunakan alloca (override menggunaka always_inline atribut)"
 
-#: tree-inline.c:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menggunakan setjmp"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menggunakan daftar argumen variabel"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menggunakan penanganan setjmp-longjmp exception"
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menggunakan goto tidak lokal"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini menggunakan __builtin_return atau __builtin_apply_args"
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "fungsi %q+F tidak akan dapat inline karena ini berisi sebuah goto yang dihitung"
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr "fungsi %q+F tidak akan inline karena ini ditekan menggunakan -fno-inline"
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "fungsi %q+F tidak akan inline karena ini menggunakan atribut yang konflik dengan inline"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "inlining gagal dalam panggilan ke %q+F: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "dipanggil dari sini"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "inlining gagal dalam panggilan ke %q+F: %s"
@@ -21220,7 +21220,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "ukuran dari nilai kembali dari %q+D lebih besar dari %wd bytes"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "korupsi SSA"
@@ -21468,77 +21468,77 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "%Harray subscript is outside array bounds"
 msgid "array subscript is outside array bounds"
 msgstr "%H array subscript diluar dari cakupan array"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "%Harray subscript is above array bounds"
 msgid "array subscript is above array bounds"
 msgstr "%H array subscript diatas dari array bounds"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "%Harray subscript is below array bounds"
 msgid "array subscript is below array bounds"
 msgstr "%Harray subscrip dibawah dari array bounds"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr "diasumsikan signed overflow tidak terjadi ketika menyederhakan kondisi ke konstanta"
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr "diasumsikan signed overflow tidak terjadi ketika menyederhanakan kondisional"
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "perbandingan selalu salah karena jangkauan terbatas dari tipe data"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "perbandingan selalu benar karena jangkauan terbatas dari tipe data"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, fuzzy, gcc-internal-format
 #| msgid "assuming signed overflow does not occur when simplifying && or || to & or |"
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "diasumsikan signed overflow tidak terjadi ketika menyederhanakan && atau || ke & atau |"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, fuzzy, gcc-internal-format
 #| msgid "assuming signed overflow does not occur when simplifying && or || to & or |"
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "diasumsikan signed overflow tidak terjadi ketika menyederhanakan && atau || ke & atau |"
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "mengabaikan atribut yang diaplikasikan ke %qT setelah definisi"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D telah dideklarasikan dengan atribut dllexport: dllimport diabaikan"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D redeklarasi tanpa atribut dllimport setelah telah direferensikan dengan dll linkage"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D redeklarasi tanpa atribut dllimport: sebelumnya dllimport diabaikan"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -21552,150 +21552,150 @@ msgstr "%q+D redeklarasi tanpa atribut dllimport: sebelumnya dllimport diabaikan
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE atribut diabaikan"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "fungsi inline %q+D dideklarasikan sebagai dllimport: atribut diabaikan"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "definisi fungsi %q+D ditandai dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "definisi variabel %q+D ditandai dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, fuzzy, gcc-internal-format
 #| msgid "external linkage required for symbol %q+D because of %qs attribute"
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "external linkage dibutuhkan untuk simbol %q+D karena atribut %qs"
 
-#: tree.c:5628
+#: tree.c:5643
 #, fuzzy, gcc-internal-format
 #| msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qs mengimplikasikan visibility baku, tetapi %qD telah dideklarasikan dengan sebuah visibility berbeda"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "array dari fungsi tidak berarti"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "tipe kembali fungsi tidak dapat berupa fungsi"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "pemeriksaan pohon: %s, memiliki %s dalam %s, di %s:%d"
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diduga kosong dari %s, memiliki %s dalam %s, di %s:%d"
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diduga kelas %qs, memiliki %qs (%s) dalam %s, di %s:%d"
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr "pemeriksaan pohon: tidak menduga kelas %qs, memiliki %qs (%s dalam %s, di %s:%d"
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diduga omp_clause %s, memiliki %s dalam %s, di %s:%d"
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diduga pohon yang berisi struktur %qs, memiliki %qs dalam %s, di %s:%d"
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diakses elt %d dari tree_vec dengan %d elts dalam %s, di %s:%d"
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diakses operan %d dari %s dengan %d operan dalam %s, di %s:%d"
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr "pemeriksaan pohon: diakses operan %d dari omp_clause %s dengan %d operan dalam %s, di %s:%d"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qD sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qD sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qD sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qD sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "tipe sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "tipe sudah ditinggalkan (dideklarasikan di %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "%qs sudah ditinggalkan"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated"
 msgstr "%qs sudah ditinggalkan"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "tipe sudah ditinggalkan"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "tipe sudah ditinggalkan"
@@ -21924,12 +21924,12 @@ msgstr "vektor %s %s domain error, dalam %s di %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "tidak ada sclass untuk %s stab (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -21944,8 +21944,8 @@ msgstr "%qD tidak didefinisikan diluar dari jangkauan fungsi"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "panjang string %qd lebih besar daripada panjang %qd ISO C%d kompiler dibutuhkan untuk mendukung"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "overflow dalam konstanta ekspresi"
@@ -22602,40 +22602,40 @@ msgstr "%qE atribut diabaikan untuk %qE"
 msgid "invalid vector type for attribute %qE"
 msgstr "tipe vektori tidak valid untuk atribut %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "ukuran vektor bukan sebuah kelipatan integral dari ukuran komponen"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "ukuran vektor nol"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "jumlah dari komponen dari vektor bukan kelipatan dari dua"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "atribut bukan null tanpa argumen di sebuah bukan prototipe"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "argumen bukan null memiliki jumlah operan tidak valid (argumen %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "argumen bukan null dengan diluar-dari-jangkauan jumlah operan (argumen %lu, operan %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "referensi argumen nonnull operan bukan penunjuk (argumen %lu, operan %lu)"
@@ -22675,12 +22675,12 @@ msgstr "%qE atribut membutuhkan prototipe dengan argumen bernama"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE atribut hanya berlaku untuk fungsi variadic"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "posisi yang diminta bukan sebuah konstanta integer"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "posisi yang diminta lebih kecil dari nol"
@@ -24509,237 +24509,237 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "nilai buruk %qs untuk -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "fcode bawaan buruk"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "pilihan -mcpu=%s konflik dengan pilihan -march="
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "target CPU tidak mendukung kode ARM"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "target CPU tidak mendukung kerja-sama"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "target CPU tidak mendukung instruksi THUMB"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "aktifkan dukungan backtrace hanya berarti ketika mengkompile untuk Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "aktifkan dukungan callee kerja sama yang berarti ketika mengkompile untuk Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check tidak kompatibel dengan -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic dan -macps-reent tidak kompatibel"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS reentrant kode tidak didukung. Diabaikan"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g dengan -mno-apcs-frame mungkin tidak memberikan debugging yang masuk akal"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "melewatkan argumen titik pecahan dalam register titik pecahan belum didukung"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt membutuhkan sebuah AAPCS kompatibel ABI untuk operasi yang sesuai"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt abi membutuhkan sebuah iwmmxt kapabel cpu"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "target CPU tidak mendukung kerja-sama"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "target CPU tidak mendukung kerja-sama"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt dan perangkat keras titik pecahan"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard dan VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "tidak dapat menggunakan -mtp=cp15 dengan 16-bit Thumb"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "ukuran batas struktur hanya dapat diset ke %s"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "ukuran batas struktur hanya dapat diset ke %s"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC tidak kompatibel dengan Thumb"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC tidak kompatibel dengan -msingle-pic-base"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= tidak berguna tanpa -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "tidak dapat menggunakan '%s' untuk register PIC"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support ARM mode"
 msgid "target CPU does not support unaligned accesses"
 msgstr "target CPU tidak mendukung kode ARM"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition tidak bekerja dalam arsitektur ini"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "atribut %qs hanya berlaku ke fungsi"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "tidak dapat menghitung lokasi ril dari parameter terstack"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "argumen harus berupa sebuah konstanta"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "pemilih harus berupa sebuah immediate"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "mask harus berupa sebuah immediate"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "tidak ada register bawah yang tersedia unruk popping register atas"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "Interrupt Sevice Routines tidak dapat dikodekan dalam mode Thumb"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "mangling dari %<va_list%> telah berubah dalam GCC 4.4"
@@ -24783,91 +24783,91 @@ msgstr "Fungsi tidak mengembalikan sebuah nilai"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs sepertinya salah nama signal handler"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Jumlah dari register yang digunakan untuk melewati argumen integer"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "weak declaration of %q+D not supported"
 msgid "writing to address space %qs not supported"
 msgstr "deklarasi lemah dari %q+D tidak didukung"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "hanya variabel yang belum terinisialisasi yang dapat ditempatkan dalam daerah .noinit"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "hanya variabel terinisialisasi yang dapat ditempatkan kedalam daerah memori aplikasi"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs hanya didukung untuk perakit saja"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of module in string constant"
 msgid "%s expects a compile time integer constant"
 msgstr "Tidak terduga akhir dari modul dalam konstanta string"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -25226,316 +25226,316 @@ msgstr "tidak dapat extend berkas PCH: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "tidak dapat menset posisi dalam berkas PCH: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "nilai (%s) buruk untuk %stune=%s %s"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%stune=x86-64%s is deprecated.  Use %stune=k8%s or %stune=generic%s instead as appropriate."
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "%smtune=x86-64%s sudah ditinggalkan. Lebih baik gunakan %stune=k8%s atau %stune=generic%s yang lebih sesuai."
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "model kode %qs tidak mendukung dalam mode %s bit"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in the %s bit mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "model kode %qs tidak mendukung dalam mode %s bit"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "model kode %s tidak mendukung kode PIC"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s tidak didukung dalam konfigurasi ini"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i-bit mode tidak terkompile"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "CPU yang anda pilih tidak mendukung set instruksi x86-64"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "CPU generik hanya dapat digunakan untuk pilihan %stune=%s %s"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "nilai (%s) buruk untuk pilihan %sarch=%s %s"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, fuzzy, gcc-internal-format
 #| msgid "%sregparm%s is ignored in 64-bit mode"
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "%sregparm%s diabaikan dalam mode 64 bit"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%sregparm=%d%s is not between 0 and %d"
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "%sregparm=%d%s tidak berada diantara 0 dan %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s diabaikan dalam mode 64 bit"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-array tidak didukung untuk target ini"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%spreferred-stack-boundary=%d%s is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "%spreferred-stack-boundary=%d%s tidak berada diantara %d dan 12"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d tidak berada diantara %d dan 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "%ssseregparam%s digunakan tanpa SSE aktif"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "set instruksi SSE non-aktif, menggunakan 387 aritmetik"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "set instruksi 387 non-aktif, menggunakan aritmetik SSE"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "unwind tabel saat ini membutuhkan baik sebuah frame pointer atau %saccumulate-outgoing-args%s untuk pembenaran"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "stack probing membutuhkan %saccumulate-outgoing-args%s untuk pembenaran"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown -m%s= option specified: '%s'"
 msgid "unknown option for -mrecip=%s"
 msgstr "pilihan -m%s= tidak diketahui dispesifikasikan: '%s'"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "atribut(target(\"%s\")) tidak diketahui"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "pilihan(\"%s\") telah dispesifikasikan"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "atribut fastcall dan regparm tidak kompatibel"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "atribut fastcall dan stdcall tidak kompatibel"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "atribut %qs membutuhkan sebuah argumen konstanta integer"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to %qs attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "argumen ke atribut %qs lebih besar daripada %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "atribut fastcall dan cdecl tidak kompatibel"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "atribut fastcall dan stdcall tidak kompatibel"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "atribut fastcall dan stdcall tidak kompatibel"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "atribut stdcall dan cdecl tidak kompatibel"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "atribut stdcall dan fastcall tidak kompatibel"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "atribut stdcall dan fastcall tidak kompatibel"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "atribut stdcall dan fastcall tidak kompatibel"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qE attribute is used for none class-method"
 msgstr "%qE atribut diabaikan dalam tipe bukan-class"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Memanggil %qD dengan atribut sseregparm tanpa mengaktifkan SSE/SSE2"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Memanggil %qT dengan atribut sseregparm tanpa mengaktifkan SSE/SSE2"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr "atribut ms_abi membutuhkan -maccumulate-outgoing-args atau mengindikasikan optimasi subtarget"
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "argumen vektor AVX tanpa AVX aktif mengubah ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, fuzzy, gcc-internal-format
 #| msgid "The ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "ABI dari melewatkan struct dengan sebuah anggota array flexible telah berubah dalam GCC 4.4"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, fuzzy, gcc-internal-format
 #| msgid "The ABI of passing union with long double has changed in GCC 4.4"
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "ABI dari melewatkan union dengan long double telah berubah dalam GCC 4.4"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, fuzzy, gcc-internal-format
 #| msgid "The ABI of passing structure with complex float member has changed in GCC 4.4"
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "ABI dari melewatkan structure dengan anggota float kompleks telah berubah dalam GCC 4.4"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "register SSE kembali dengan SSE tidak aktif"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "argumen register SSE dengan SSE tidak aktif"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "x87 register kembali dengan x87 tidak aktif"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "argumen vektor SSE tanpa SSE aktif mengubah ABI"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "argumen vektor MMX tanpa MMX aktif mengubah ABI"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The ABI of passing union with long double has changed in GCC 4.4"
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "ABI dari melewatkan union dengan long double telah berubah dalam GCC 4.4"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "SSE vektor kembali tanpa SSE aktif mengubah ABI"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "MMX vektor kembali tanpa MMX aktif mengubah ABI"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 #| msgid "%s not supported for nested functions"
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "%s tidak didukung untuk fungsi nested"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, fuzzy, gcc-internal-format
 #| msgid "%s not supported for nested functions"
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
@@ -25543,126 +25543,126 @@ msgstr "%s tidak didukung untuk fungsi nested"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 tidak mendukung keanggotaan array fleksibel"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "register extended tidak memiliki setengah tinggi"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "ukuran operan tidak didukung untuk register ekstended"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid operand code '%c'"
 msgid "non-integer operand used with operand code '%c'"
 msgstr "kode operan '%c' tidak valid"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 2 bit immediate"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "the fifth argument must be a 8-bit immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "argumen kelima harus berupa sebuah 8 bit immediate"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "the third argument must be a 8-bit immediate"
 msgid "the third argument must be an 8-bit immediate"
 msgstr "argumen ketiga harus berupa sebuah 8 bit immediate"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "the last argument must be a 1-bit immediate"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 1 bit immediate"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 4 bit immediate"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 1 bit immediate"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 5 bit immediate"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "argumen selanjutnya ke terakhir harus berupa sebuah 8 bit immediate"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 8 bit immediate"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "the last argument must be a 2-bit immediate"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "argumen terakhir harus berupa sebuah 2 bit immediate"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "pemilih harus berupa sebuah konstanta integer dalam jangkauan 0..%wi"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE membutuhkan pilihan isa tidak diketahui"
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE membutuhkan pilihan isa %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "argumen terakhir harus berupa sebuah immediate"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 #| msgid "last argument must be an immediate"
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "argumen terakhir harus berupa sebuah immediate"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only available for 64-bit"
 msgid "%qE attribute only available for 32-bit"
 msgstr "%qs atribut hanya tersedia untuk 64 bit"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of %qs attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "argumen dari atribut %qs bukan sebuah konstanta string"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "atribut ms_abi dan sysv_abi tidak kompatibel"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "%qs incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -25740,13 +25740,13 @@ msgstr "%J alamat daerah atribut tidak dapat dispesifikasikan untuk fungsi"
 msgid "%qE attribute requires a string constant argument"
 msgstr "atribut %qs membutuhkan sebuah argumen konstanta integer"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "nilai dari -mfixed-range harus memiliki bentuk REG1-REG2"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -25821,7 +25821,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "atribut `%s' tidak didukung untuk target R8C"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -25879,7 +25879,7 @@ msgstr "multiple atribut interupsi tidak diijinkan"
 msgid "interrupt_thread is available only on fido"
 msgstr "interrupt_thread hanya tersedia di fido"
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "ekspresi batas stack tidak didukung"
@@ -26256,62 +26256,62 @@ msgstr "fungsi bawaan %qs tidak didukung untuk MIPS16"
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs tidak mendukung kode MIPS16"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC untuk ABI selain dari o32 dan o64"
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr "MIPS16 -mxgot kode"
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr "hard-float MIPS16 kode untuk ABI selain dari o32 dan o64"
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr "%<-%s%> konflik dengan pilihan arsitektur lain, yang menspesifikasikan sebuah %s prosesor"
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "%<-march=%s%> tidak kompatibel dengan ABI yang dipilih"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%> digunakan dengan sebuah prosesor 32 bit"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> digunakan dengan sebuah ABI 64 bit"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%> digunakan dengan sebuah ABI 32 bit"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "kombinasi tidak didukung: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
 msgstr "%<-mgp32%> dan %<-mfp64%> hanya dapat dikombinasikan jika target mendukung instruksi mfhc1 dan mthc1"
 
-#: config/mips/mips.c:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr "%<-mgp32%> dan %<-mfp64%> hanya dapat dikombinasikan ketika menggunakan ABI o32"
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "%qs is incompatible with %qs"
@@ -26322,59 +26322,59 @@ msgstr "assert: %s adalah assign kompatibel dengan %s"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "assert: %s adalah assign kompatibel dengan %s"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "arsitektur %qs tidak mendukung instruksi branch-likely"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> membutuhkan %<-mexplicit-relocs%>"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr "tidak dapat menggunakan data-kecil akses untuk %qs"
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> membutuhkan %<-mpaired-single%>"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs harus digunakan dengan %qs"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "aristektur %qs tidak mendukung instruksi paired-single"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs membutuhkan sebuah target yang menyediakan instruksi %qs"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs membutuhkan instruksi branch-likely"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "the %qs architecture does not support branch-likely instructions"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "arsitektur %qs tidak mendukung instruksi branch-likely"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 fungsi profiling"
@@ -26667,325 +26667,325 @@ msgstr "melewatkan argumen %d dari %qE mengabaikan kualifier frompointer target
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "kombinasi parameter untuk AltiVec intrinsik tidak valid"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 membutuhkan arsitektur PowerPC64, mengaktifkan"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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 tidak didukung untuk 64 bit Darwin; ini tidak kompatibel dengan perpustakaan C dan C++ yang terpasang"
 
-#: config/rs6000/rs6000.c:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "tidak dikonfigurasikan untuk ABI: '%s'"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "AltiVec tidak didukung dalam target ini"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "Spe not supported in this target"
 msgid "SPE not supported in this target"
 msgstr "Spe tidak didukung dalam target ini"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple tidak didukung di sistem little endian"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring tidak didukung di sistem little endian"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown vectorization library ABI type (%s) for %sveclibabi=%s %s"
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr "perpusatakaan vektorisasi tidak dikenal tipe ABI (%s) untuk pilihan %sveclibabi=%s %s"
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC vektor dikembalikan dengan referensi: ekstensi bukan standar ABI dengan tidak ada garansi kompabilitas"
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, gcc-internal-format
 msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
 msgstr "tidak dapat memberikan nilai kembali dalam register vektor karena instruksi altivec tidak aktif, gunakan -maltivec untuk mengaktifkannya"
 
-#: config/rs6000/rs6000.c:7904
+#: config/rs6000/rs6000.c:7903
 #, gcc-internal-format
 msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
 msgstr "tidak dapat melewatkan argumen dalam vektor register karena instruksi altivek tidak aktif, gunakan -maltivec untuk mengaktifkannya"
 
-#: config/rs6000/rs6000.c:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC vektor dilewatkan dengan referensi: bukan ekstensi standar ABI dengan tidak ada garansi kompabilitas"
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Treat the input file as already preprocessed"
 msgid "internal error: builtin function %s already processed"
 msgstr "Perlakukan berkas masukan seperti sudah terproses"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "argumen 1 harus berupa sebuah 5 bit signed literal"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "argumen 2 harus berupa sebuah 5 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "argumen 1 dari __builtin_altivec_predicate harus berupa sebuah konstanta"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "argumen 1 dari __builtin_altivec_predicate diluar dari jangkauan"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "argumen 3 harus berupa sebuah 4 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "argumen 3 harus berupa sebuah 4 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "argumen 3 harus berupa sebuah 4 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "argumen ke %qs harus berupa sebuah 2 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "tidak teresolf overload untuk Altivec bawaan %qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "argumen ke dss harus berupa sebuah 2 bit unsigned literal"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "argumen 1 dari __builtin_paired_predicate harus berupa sebuah konstanta"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "argumen 1 dari __builtin_paired_predicate diluar dari jangkauan"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "argumen 1 dari __builtin_spe_predicate harus berupa sebuah konstanta"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "argumen 1 dari __builtin_spe_predicate diluar dari jangkauan"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "fungsi bawaan ini hanya tersedia di fr450"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "fungsi bawaan %q+D dideklarasikan sebagai bukan-fungsi"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "fungsi bawaan %q+D dideklarasikan sebagai bukan-fungsi"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "fungsi bawaan %q+D dideklarasikan sebagai bukan-fungsi"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "fungsi bawaan %q+D dideklarasikan sebagai bukan-fungsi"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %qs not supported for MIPS16"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "fungsi bawaan %qs tidak didukung untuk MIPS16"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error: sideeffect-insn affecting main effect"
 msgid "internal error: builtin function %s had no type"
 msgstr "internal error: sideeffect-insn mempengaruhi efek utama"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "stack frame terlalu besar"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "tidak ada profiling dari kode 64 bit untuk ABI ini"
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "penggunaan dari %<long double%> dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "penggunaan dari tipe boolean dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "penggunaan dari %<complex%> dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "penggunaan dari tipe titik pecahan desimal dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "penggunaan dari %<long%> dalam tipe AltiVec tidak valid untuk kode 64 bit"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "penggunaan dari %<long%> dalam tipe AltiVec sudah ditinggalkan; gunakan %<int%>"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long long%> in AltiVec types is invalid"
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "penggunaan dari %<long long%> dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<double%> in AltiVec types is invalid"
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "penggunaan dari %<double%> dalam tipe AltiVec tidak valid"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "mengeluarkan instruksi microcode %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "mengeluarkan kondisional instruksi microcode %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of '%%%c'"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "penggunaan dari '%%%c' tidak valid"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%H%<#pragma%> is not allowed here"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%H%<#pragma%> tidak diijinkan disini"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "spec '%s' is invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -27226,70 +27226,70 @@ msgstr "ukuran frame dari %qs adalah "
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs menggunakan alokasi dinamis stack"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "mengabaikan -fschedule-insns karean penanganan eksepsi bug"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, fuzzy, gcc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "unwind tabel saat ini membutuhkan baik sebuah frame pointer atau %saccumulate-outgoing-args%s untuk pembenaran"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs tidak didukung oleh subtarget ini"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "atribut %qs hanya berlaku ke fungsi interupsi"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute is supported only for SH2A"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "atribut %qs tidak didukung hanya untuk SH2A"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "atribut interrupt_handler tidak kompatibeldengan -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to SH2A"
 msgid "%qE attribute only applies to SH2A"
 msgstr "atribut %qs hanya berlaku ke SH2A"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "`%s' attribute argument should be between 0 to 255"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "argumen atribut `%s' seharusnya berada diantara 0 sampai 255"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "argumen atribut %qs bukan sebuah konstanta string"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 harus tersedia sebaga sebuah call-clobbered register"
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Need a second call-clobbered general purpose register"
 msgid "need a second call-clobbered general purpose register"
 msgstr "Butuh sebuah call-clobbered general purpose register kedua"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 #| msgid "Need a call-clobbered target register"
 msgid "need a call-clobbered target register"
@@ -27419,13 +27419,13 @@ msgstr "%<__BELOW100__%> atribut hanya berlaku ke variabel"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ atribut tidak diijinkan dengan class auto storage"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin code"
 msgid "bad builtin icode"
 msgstr "kode bawaan buruk"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -27655,43 +27655,43 @@ msgstr "%<-gnat%> salah penyebutan sebagai %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "%qs atribut diabaikan"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires prototypes with named arguments"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qE atribut membutuhkan prototipe dengan argumen bernama"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variadic functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "%qE atribut hanya berlaku untuk fungsi variadic"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "%qE atribut diabaikan"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid vector type for attribute %qs"
 msgstr "tipe vektori tidak valid untuk atribut %qE"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "%qs atribut hanya berlaku ke variabel"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid element type for attribute %qs"
@@ -28162,7 +28162,7 @@ msgstr "tidak dapat memanggil anggota fungsi %qD tanpa objek"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "melewatkan %qT memilih %qT diatas %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  dalam panggilan ke %qD"
@@ -28224,435 +28224,435 @@ msgstr "inisialisasi dari referensi bukan const dari tipe %qT dari sebuah tipe s
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "inisialisasi dari referensi dari tipe %qT dari ekspresi dari tipe %qT tidak valid"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "tidak dapat mengubah dari dasar %qT ke tipe turunan %qT melalui basis maya %qT"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java class %qT tidak dapat memiliki sebuah destruksi"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java class %qT tidak dapat memiliki sebuah implisit desktruktor bukan trivial"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D tidak dapat overloaded"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "dengan %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "spesifikasi akses konflik untuk metoda %q+D, diabaikan"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "spesifikasi akses konflik untuk field %qE, diabaikan"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D tidak valid dalam %q#T"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr "  karena dari metoda lokal %q+#D dengan nama sama"
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr "  karena dari anggota lokal %q+#D dengan nama sama"
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "tidak dapat mengubah dari dasar %qT ke tipe turunan %qT melalui basis maya %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "kelas dasar %q#T memiliki desktruktor tidak virtual"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "semua anggota fungsi dalam kelas %qT adalah private"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T hanya mendefinisikan sebuah desktruktor private dan tidak memiliki teman"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T hanya mendefinisikan konstruktor private dan tidak memiliki teman"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "tidak ada unik final overrider untuk %qD dalam %qT"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D didefinisikan tetapi tidak digunakan"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D telah disembunyikan"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  oleh %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D tidak valid; sebuah anonymous union hanya dapat mempunnya anggota data tidak statis"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D tidak valid; sebuah anonymous struct hanya dapat memiliki anggota data tidak statis"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "anggota private %q+#D dalam union anonymous"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "anggota private %q+#D dalam struct anonymous"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "anggota terproteksi %q+#D dalam union anonymous"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "anggota terproteksi %q+#D dalam struct anonymous"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "bit-field %q+#D dengan tipe bukan integral"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "bit-field %q+D lebar bukan sebuah konstanta integer"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "lebar negatif dalam bit-field %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "lebar nol untuk bit-field %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "lebar dari %q+D melebihi tipenya"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D terlalu kecil untuk menjaga seluruh nilai dari %q#T"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "anggota %q#D dengan konstruktor tidak diijinkan dalam union"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "anggota %q+#D dengan desktruktor tidak diijinkan dalam union"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "anggota %q+#D dengan penempatan salinan operator tidak diijinkan dalam union"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, fuzzy, gcc-internal-format
 #| msgid "%s only available with -std=c++0x or -std=gnu++0x"
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "%s hanya tersedia dengan -std=c++0x atau -std=gnu++0x"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "multiple field dalam union %qT tida terinisialisasi"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D mungkin bukan statis karena ini adalah anggota dari sebuah union"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr "%q+D mungkin tida memiliki tipe referensi %qT karena ini adalah anggota dari sebuah union"
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "field %q+D secara tidak valid mendeklarasikan tipe fungsi"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "field %q+D secara tidak valid mendeklrasikan tipe metoda"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "mengabaikan atribut packed karena dari unpacked non-POD field %q+#D"
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "field %q+#D dengan nama sama seperti class"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T memiliki anggota data penunjuk"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  tetapi tidak override %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  atau %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  tetapi tidak override %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, gcc-internal-format
 msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
 msgstr "ofset dari basis kosong %qT mungkin buka ABI komplian dan mungkin berubah di versi GCC yang akan datang"
 
-#: cp/class.c:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "class %qT akan dipertimbangkan dekat kosong dalam versi GCC yang akan datang"
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "penginisialisasi dispesifikasikan untuk metode %q+D bukan virtual"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static member function %qD"
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "penggunaan tidak valid dari anggota fungsi %qD bukan statis"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q+T is not literal because:"
 msgstr "%q#T bukan sebuah kelas"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "kelas dasar %q#T memiliki desktruktor tidak virtual"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "kelas dasar %q#T memiliki desktruktor tidak virtual"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "non-static data member %qD has Java class type"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "anggota data bukan statis %qD memiliki tipe kelas Java"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "referensi bukan-statis %q+#D dalam kelas tanpa sebuah konstruktor"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "anggota const bukan-statis %q+#D dalam kelas tanpa sebuah konstruktor"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, gcc-internal-format
 msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
 msgstr "ofset dari basis virtual %qT bukan ABI komplian dan mungkin berubah dalam versi GCC yang akan datang"
 
-#: cp/class.c:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "direct base %qT tidak dapat diakses dalam %qT karena adanya ambigu"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "virtual base %qT tidak dapat diakses dalam %qT karena adanya ambigu"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, gcc-internal-format
 msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
 msgstr "ukuran yang diberikan ke %qT mungkin bukan ABI komplian dan mungkin berubah dalam versi GCC yang akan datang"
 
-#: cp/class.c:5668
+#: cp/class.c:5686
 #, gcc-internal-format
 msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
 msgstr "ofset dari %qD mungkin bukan ABI komplian dan mungkin berubah dalam versi GCC yang akan datang"
 
-#: cp/class.c:5696
+#: cp/class.c:5714
 #, gcc-internal-format
 msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
 msgstr "ofset dari %q+D adalah bukan ABI komplian dan mungkin berubah dalam versi GCC yang akan datang"
 
-#: cp/class.c:5706
+#: cp/class.c:5724
 #, 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 berisi kelas kosong yang mungkin menyebabkan kelas dasar untuk ditempatkan di lokasi berbeda dalam versi GCC yang akan datang"
 
-#: cp/class.c:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr "layout dari kelas turunan dari kelas kosong %qT mungkin berubah dalam versi GCC yang akan datang"
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "redefinisi dari %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T memiliki fungsi maya dan dapat diakses bukan virtual desktruktor"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "kelas %qT tidak memiliki field apapun bernama %qD"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type %qs has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "tipe %qs memiliki anggota fungsi virtual"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "mencoba menyelesaikan struct, tetapi ditendang keluar karena error parse sebelumnya"
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "bahasa string %<\"%E\"%> tidak dikenal"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "tidak dapat meresolf fungsi overloaded %qD berdasar dari konversi ke tipe %qT"
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "tidak cocok mengubah fungsi %qD ke tipe %q#T"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "mengubah fungsi overloaded %qD ke tipe %q#T adalah ambigu"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "mengasumsikan penunjuk ke anggota %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(sebuah penunjuk ke anggota hanya dapat dibentuk dengan %<&%E%>)"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "tidak cukup informasi mengenai tipe"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "tidak dapat mengubah %qE dari tipe %qT ke tipe %qT"
@@ -28662,12 +28662,12 @@ msgstr "tidak dapat mengubah %qE dari tipe %qT ke tipe %qT"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "deklarasi dari %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "perubahan berarti dari %qD dari %q+#D"
@@ -28688,7 +28688,7 @@ msgstr "tidak dapat mengubah dari tipe tidak lengkap %qT ke %qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "konversi dari %qE dari %qT ke %qT adalah ambigu"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "array bound is not an integer constant"
 msgid "zero as null pointer constant"
@@ -29653,7 +29653,7 @@ msgstr "%qD dideklarasikan sebagai referensi tetapi tidak terinisialisasi"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "nama digunakan dalam sebuah gaya GNU diperuntukan penginisialisasi untuk sebuah array"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "bukan trivial designated penginisialisasi tidak didukung"
@@ -29752,8 +29752,8 @@ msgstr "%qT memiliki anggota data tidak statis bernama %qD"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "terlalu banyak penginisialisasi untuk %qT"
@@ -30319,7 +30319,7 @@ msgstr "%q#T bukan sebuah kelas atau ruang nama"
 msgid "type %qT is not derived from type %qT"
 msgstr "tipe %qT tidak diturunkan dari tipe %qT"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "deklarasi dari %qD sebagai bukan fungsi"
@@ -30646,390 +30646,385 @@ msgid "cannot declare reference to %q#T, which is not a typedef or a template ty
 msgstr "tidak dapat mendeklarasikan referensi ke %q#T, yang bukan sebuah typedef atau sebuah argumen tipe template"
 
 #: cp/decl.c:9497
-#, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
 #, fuzzy, gcc-internal-format
 #| msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "baik %<_Sat%> dan %<complex%> dalam penspesifikasi deklarasi"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "template-id %qD digunakan sebagai sebuah pendeklarasi"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "anggota fungsi secara implisit friends dari kelasnya"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "ekstra kualifikasi %<%T::%> di anggota %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "tidak dapat mendefinisikan anggota fungsi %<%T::%s%> dalam %<%T%>"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 #| msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "tidak dapat mendefinisikan anggota fungsi %<%T::%s%> dalam %<%T%>"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "tidak dapat mendeklarasikan anggota %<%T::%s%> dalam %qT"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "bukan parameter %qs tidak dapat menjadi parameter pack"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "ukuran dari array %qs adalah terlalu besar"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "anggota member tidak boleh memiliki tipe variabel termodifikasi %qT"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr "parameter mungkin tidak memiliki tipe variabel termodifikasi %qT"
 
 #. [dcl.fct.spec] The explicit specifier shall only be used in
 #. declarations of constructors within a class definition.
-#: cp/decl.c:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "hanya deklarasi dari konstruktor yang dapan berupa %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "bukan-anggota %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "anggota bukan-objek %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "fungsi %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "statis %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function %qs cannot be declared %<mutable%>"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "fungsi %qs tidak dapat dideklarasikan %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "parameter declared %<auto%>"
 msgid "typedef declared %<auto%>"
 msgstr "parameter dideklarasikan %<auto%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 #| msgid "%Jtypedef name may not be a nested-name-specifier"
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%J typedef nama mungkin berupa sebuah nested-name-specifier"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ melarang tipe nested %qD dengan nama sama seperti kelas yang melingkupi"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "tipe fungsi yang berkualifikasi tidak digunakan untuk mendeklarasikan anggota statis fungsi"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "tipe fungsi yang berkualifikasi tidak dapat digunakan untuk mendeklarasi fungsi bebas"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "tipe kualifier yang dispesifikan untuk deklarasi kelas friend"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "%<inline%> dispesifikan untuk deklarasi kelas friend"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "parameter template tidak dapat berupa friends"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "deklarasi friend membutuhkan kunci kelas, i.e. %<friend class %T::%D%>"
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "deklarasi friend membutuhkan class-key, i.e. %<friend %#T%>"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "mencoba untuk membuat kelas %qT sebuah friend dari lingkup global"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "kualifier tidak valid di tipe fungsi bukan anggota"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "deklarasi abstrak %qT digunakan sebagai deklarasi"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "tidak dapat menggunakan %<::%> dalam parameter deklarasi"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "parameter dideklarasikan %<auto%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "parameter declared %<auto%>"
 msgid "non-static data member declared %<auto%>"
 msgstr "parameter dideklarasikan %<auto%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "penggunaan tidak valid dari %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function %q#D conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "deklarasi dari C fungsi %q#D konflik dengan"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "fungsi %qD dideklarasikan virtual didalam sebuah union"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD tidak dapat dideklarasikan virtual, karena itu selalu statis"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "diduga nama yang dikualifikasikan dalam deklarasi friend untuk destruktor %qD"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "deklarasi dari %qD sebagai anggota dari %qT"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "destructor cannot be static member function"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "desktruktor tidak dapat berupa anggota statis fungsi"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "diduga kualifikasi nama dalam deklarasi friend untuk konstruktor %qD"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "field %qD memiliki tipe tidak lengkap"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "nama %qT memiliki tipe tidak lengkap"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  dalam instantiation dari template %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE bukan fungsi atau anggota fungsi; tidak dapat dideklarasikan sebagai friend"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 #| msgid "non-static data member %qD has Java class type"
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "anggota data bukan statis %qD memiliki tipe kelas Java"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "anggota statis %qD dideklarasikan %<register%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "kelas penyimpanan %<auto%> tidak valid untuk fungsi %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "kelas penyimpanan %<register%> tidak valid untuk fungsi %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "kelas penyimpanan %<__thread%> tidak valid untuk fungsi %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "%Han asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "%Hsebuah spesifikasi asm tidak diijinkan dalam sebuah definisi fungsi"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "%<static%> dispesifikasikan tidak valid untuk fungsi %qs dideklarasikan diluar lingkup global"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "%<inline%> penspesifikasi tidak valid untuk fungsi %qs dideklarasikan diluar dari lingkup global"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "virtual bukan kelas fungsi %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "%qs didefinisikan dalam sebuah lingkup bukan kelas"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "%qs defined in a non-class scope"
 msgid "%qs declared in a non-class scope"
 msgstr "%qs didefinisikan dalam sebuah lingkup bukan kelas"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "tidak dapat mendeklarasikan anggota fungsi %qD untuk memiliki linkage statis"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "tidak dapat mendeklarasikan fungsi statis didalam fungsi lainnya"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "%<static%> mungkin tidak digunakan ketika mendefinisikan (terbalik untuk deklarasi) sebuah anggota data statis"
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "anggota statis %qD dideklarasikan %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "tidak dapat secara eksplisit mendeklarasikan anggota %q#D untuk memiliki extern linkage"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %q#D outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "deklarasi dari %q#D diluar dari kelas bukan sebuah definisi"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs diinisialisasi dan dideklarasi %<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs keduanya memiliki %<extern> dan penginisialisasi"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "argumen baku untuk %q#D memiliki tipe %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "argumen baku untuk parameter dari tipe %qT memiliki tipe %qT"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument %qE uses local variable %qD"
 msgid "default argument %qE uses %qD"
 msgstr "argumen baku %qE menggunakan variabel lokal %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "argumen baku %qE menggunakan variabel lokal %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "parameter %qD memiliki tipe kelas Java"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "parameter %qD secara tidak valid dideklarasikan tipe metode"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "parameter %qD includes %s ke array dari ikatan tidak dikenal %qT"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes reference to array of unknown bound %qT"
@@ -31050,176 +31045,176 @@ msgstr "parameter %qD includes %s ke array dari ikatan tidak dikenal %qT"
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "konstruktor tidak valid; anda mungkin bermaksud %<%T (const %T&)%>"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD mungkin tidak dideklarasikan dalam sebuah namespace"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD tidak boleh dideklarasikan sebagai statis"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD harus berupa sebuah anggota fungsi tidak statis"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD harus baik sebuah anggota fungsi tidak statis atau bukan anggota fungsi"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD harus memiliki sebuah argumen dari kelas atau tipe enumerasi"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "konversi ke %s%s tidak akan pernah menggunakan sebuah tipe operator konversi"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ melarang overloading operator ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD tidak boleh memiliki argumen dengan jumlah bervariabel"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "postfix %qD harus mengambil %<int%> sebagai argumennya"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "postfix %qD harus mengambil %<int%> sebagai argumen keduanya"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD harus mengambil baik nol atau satu argumen"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD harus mengambil baik satu atau dua argumen"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "prefix %qD seharusnya mengembalikan %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "postfix %qD seharusnya mengembalikan %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD harus mengambil %<void%>"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD harus mengambil secara tepat satu argumen"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD harus mengambil secara tepat dua argumen"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "definisi-pengguna %qD selalu mengevaluasikan kedua argumen"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD seharusnya kembali dengan nilai"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD tidak dapat memiliki argumen baku"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "menggunakan parameter tipe template %qT setelah %qs"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization %qD for %q+D"
 msgid "using alias template specialization %qT after %qs"
 msgstr "spesialisasi template ambigu %qD untuk %q+D"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "menggunakan typedef-name %qD setelah %qs"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D has a previous declaration here"
 msgid "%qD has a previous declaration here"
 msgstr "%q+D telah dideklarasikan sebelumnya disini"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT mereferensikan sebagai %qs"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T telah dideklarasikan sebelumnya disini"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT direferensikan sebagai enum"
@@ -31231,89 +31226,89 @@ msgstr "%qT direferensikan sebagai enum"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "argumen template dibutuhkan untuk %<%s %T%>"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD memiliki nama sama seperti kelas yang telah dideklarasikan"
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "referensi ke %qD adalah ambigu"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "penggunaan dari enum %q#D tanpa deklarasi sebelumnya"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "redeklarasi dari %qT sebagai bukan-template"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "deklarasi sebelumnya %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "union turunan %qT tidak valid"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Kelas Java %qT tidak dapat memiliki multiple bases"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Kelas Java %qT tidak dapat memiliki bases virtual"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "tipe base %qT gagal untuk menjadi sebuah struct atau tipe kelas"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "tipe rekursif %qT tidak terdefinisi"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "duplikasi tipe dasar %qT tidak valid"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 #| msgid "%Jprevious definition here"
 msgid "previous definition here"
 msgstr "%J definisi sebelumnya disini"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "tipe yang digaris bawahi %<%T%> dari %<%T%> harus berupa sebuah tipe integral"
@@ -31322,74 +31317,74 @@ msgstr "tipe yang digaris bawahi %<%T%> dari %<%T%> harus berupa sebuah tipe int
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "tidak ada tipe integral yang dapat merepresentasikan seluruh dari nilai enumerasi untuk %qT"
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "nilai enumerasi untuk %qD bukan sebuah konstanta integer"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "nilai pengenumerasi untuk %E terlalu besar untuk tipe yang digaris bawahi %<%T%>"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "overflow dalam nilai enumerasi di %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "nilai pengenumerasi untuk %E terlalu besar untuk tipe yang digaris bawahi %<%T%>"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "tipe kembali %q#T tidak lengkap"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "tipe kembali memiliki tipe kelas Java %q#T"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> seharusnya mengembalikan referensi ke %<*this%>"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "tidak deklarasi sebelumnya untuk %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "deklarasi fungsi tidak valid"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "parameter %qD dideklarasikan void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label %q+D defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "label %q+D didefinisikan tetapi tidak digunakan"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "deklarasi anggota fungsi tidak valid"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD telah didefinisikan dalam kelas %qT"
@@ -31760,7 +31755,7 @@ msgstr "penanganan eksespsi dinon-aktifkan, gunakan -fexception untuk mengaktifk
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "melemparkan KOSONG, yang memiliki integral, bukan tipe penunjuk"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD seharusnya tidak pernah overloaded"
@@ -32036,158 +32031,158 @@ msgstr "tipe %qT bukan sebuah dasar langsung dari %qT"
 msgid "bad array initializer"
 msgstr "array penginisialisasi buruk"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT bukan sebuah tipe kelas"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "tipe tidak lengkap %qT tidak memiliki anggota %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "penunjuk tidak valid ke bit-field %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "penggunaan tidak valid dari anggota fungsi %qD bukan statis"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "penggunaan tidak valid dari anggota data tidak statis %qD"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized reference member in %q#T"
 msgstr "%J anggota referensi tidak terinisialisasi %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in %<new%> of %q#T"
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "const tidak terinisialisasi dalam %<new%> dari %q#T"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized const member in %q#T"
 msgstr "anggota const tidak terinisialisasi %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "tipe %<void%> tidak valid untuk new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "const tidak terinisialisasi dalam %<new%> dari %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "panggilan ke konstruktor Java dengan %qs tidak terdefinisi"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr "kelas Java %q#T objek dialokasikan menggunakan penempatan baru"
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "tidak ada %qD yang sesuai yang ditemukan dalam kelas %qT"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "permintaan untuk anggota %qD adalah ambigu"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "bukan ukuran konstanta array dalam new, tidak dapat memverifikasi panjang dari daftar penginisialisasi"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "atribut setelah tanda kurung penginisialisasi diabaikan"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "ukuran dalam array baru harus memiliki tipe integral"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new tidak dapat diaplikasikan untuk mereferensikan sebuah tipe"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new tidak dapat diaplikasikan ke sebuah fungsi tipe"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "panggilan ke konstruktor Java, ketika %<jclass%> tidak terdefinisi"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find %<class$%> in %qT"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "tidak dapat menemukan %<class$%> dalam %qT"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "penginisialisasi berakhir secara prematur"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "tidak dapat menginisialisasi array multidimensi dengan penginisialisasi"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "kemungkinan masalah terdeteksi dalam penggunaan dari operator delete:"
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, fuzzy, 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."
 msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined"
 msgstr "bukan destruktor ataupu class-specific operator delete yang akan dipanggil, meskipun mereka dideklarasikan ketika kelas didefinisikan."
 
-#: cp/init.c:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "ukuran array tidak diketahui dalam delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "tipe dari vektor delete bukan penunjuk ataupun tipe array"
@@ -32278,12 +32273,12 @@ msgstr "diabaikan operan tengah ke %<?:%> operan tidak dapat mangled"
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "nama mangled dari %qD tidak akan berubah dalam versi yang akan datang dari GCC"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -32293,13 +32288,13 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "kode thunk umum gagal untuk metoda %q#D yang menggunakan %<...%>"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member %q#D, can't use default assignment operator"
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "anggota const bukan static %q#D, tidak dapatmenggunakan operator assignmen baku"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member %q#D, can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -32316,105 +32311,105 @@ msgstr "metode yang disintesa %qD pertama dibutuhkan disini "
 msgid "union member %q+D with non-trivial %qD"
 msgstr "%J anggota tidak terinisialisasi %qD dengan %<const%> tipe %qT"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "initializer for %qT must be brace-enclosed"
 msgid "initializer for %q+#D is invalid"
 msgstr "penginisialisasi untuk %qT harus berupa kurung dilingkupi"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized non-static const member %q#D"
 msgstr "anggota const tidak terinisialisasi %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "%J anggota referensi tidak terinisialisasi %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "repeated using declaration %q+D"
 msgid "defaulted declaration %q+D"
 msgstr "diulang menggunakan deklarasi %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "array does not match the region tree"
 msgid "does not match expected signature %qD"
 msgstr "array tidak cocok dengan daerah pohon"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot be defaulted"
 msgid "a template cannot be defaulted"
 msgstr "%qD tidak dapat dibakukan"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%qD tidak dapat dibakukan"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfile ends in default argument"
 msgid "defaulted function %q+D with default argument"
 msgstr "%Hberkas berakhir dalam argumen baku"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 untuk kelas %qT mungkin bukan ABI kompliat mungkin berubah dalam versi yang akan datang dari GCC karena implisit destruktor maya"
@@ -32555,155 +32550,155 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D menyembunyikan konstruktor untuk %q#T"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D konflik dengan deklarasi sebelumnya menggunakan %q#D"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "deklarasi sebelumnya bukan fungsi %q+#D"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, gcc-internal-format
 msgid "conflicts with function declaration %q#D"
 msgstr "konflik dengan deklarasi fungsi %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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, gcc-internal-format
 msgid "%qT is not a namespace"
 msgstr "%qT bukan sebuah namespace"
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "sebuah using-declaration tidak dapat menspesifikasikan sebuah template-id. Coba %<using %D%>"
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "namespace %qD tidak diijinkan dalam using-declaration"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD tidak dideklarasikan"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD telah dideklarasikan dalam lingkup ini"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "using-declaration untuk bukan-anggota di class scope"
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> names desktruktor"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> names konstruktor"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> names konstruktor dalam %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "tidak ada anggota yang cocok %<%T::%D%> dalam %q#T"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "deklarasi dari %qD bukan dalam sebuah lingkup namespace %qD"
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "eksplisit kualifikasi dalam deklarasi dari %qD"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD seharusnya telah dideklarasikan didalam %qD"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qD atribut membutuhkan sebuah argumen NTBS tunggal"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr "%qD atribut tidak berarti karena anggota dari anonymous namespace memperoleh simbol lokal"
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "atribut %qD direktif diabaikan"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "namespace alias %qD tidak diijinkan disini, diasumsikan %qD"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "strong using hanya berarti di lingkup namespace"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "namespace %qD sekarang tidak melingkupi secara kuat namespace %qD yang digunakan"
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+#D"
 msgid "  %qE"
 msgstr "  %q+#D"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "argumen tergantung pencarian menemukan %q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX memasuki pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX meninggalkan pop_everything ()\n"
@@ -32855,7 +32850,7 @@ msgstr "%Htemplate-id tidak valid"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s tidak dapat muncul dalam sebuah konstanta ekspresi"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr "sebuah cast ke sebuah tipe selain dari sebuah integral atau tipe enumerasi tidak dapat muncul dalam sebuah ekspresi konstan"
@@ -33120,7 +33115,7 @@ msgstr "%Htypedef-nama %qD digunakan sebagai desktruktor deklarator"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 #| msgid "expected specifier-qualifier-list"
 msgid "expected unqualified-id"
@@ -33336,7 +33331,7 @@ msgstr "%<%T::%D%> names konstruktor dalam %qT"
 msgid "compound-statement in constexpr function"
 msgstr "Temukan fungsi pure dan const"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected selection-statement"
@@ -33369,7 +33364,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected iteration-statement"
@@ -33387,13 +33382,13 @@ msgstr "%<for%> deklarasi inisial loop hanya diijinkan dalam mode C99"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ melarang gotos yang sudah dihitung"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected jump-statement"
 msgstr "diduga pernyataan"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "kelebihan %<;%>"
@@ -33436,7 +33431,7 @@ msgstr "%Hpenspesifikasi pure di definisi fungsi"
 msgid "class definition may not be declared a friend"
 msgstr "%Hdefinisi kelas mungkin tidka dideklarasikan sebagai friend"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, fuzzy, gcc-internal-format
 #| msgid "%Htemplates may not be %<virtual%>"
 msgid "templates may not be %<virtual%>"
@@ -33522,13 +33517,13 @@ msgstr "operan tidak terduga"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "kata kunci %<export%> tidak terimplementasi, dan akan diabaikan"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "%Htemplate parameter pack %qD cannot have a default argument"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "%Htemplate parameter pack %qD tidak dapat memiliki sebuah argumen baku"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "%Htemplate parameter pack cannot have a default argument"
 msgid "template parameter pack cannot have a default argument"
@@ -33546,7 +33541,7 @@ msgstr "%Htemplate parameter pack tidak dapat memiliki argumen baku"
 msgid "expected template-id"
 msgstr "diduga pernyataan"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<<%>"
@@ -33690,13 +33685,13 @@ msgstr "diduga %<,%> atau %<,%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Aktifkan instantiation template otomatis"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 #| msgid "%Hdeclaration of %qD in namespace %qD which does not enclose %qD"
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "%Hdeklarasi dari %qD dalam namespace %qD yang tidak dilingkupi %qD"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, fuzzy, gcc-internal-format
 #| msgid "%Hdeclaration of %qD in %qD which does not enclose %qD"
 msgid "declaration of %qD in %qD which does not enclose %qD"
@@ -33746,83 +33741,83 @@ msgstr "%Hsebuah template-id mungkin tidak muncul dalam sebuah using deklarasi"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnew types may not be defined in a return type"
 msgid "types may not be defined in alias template declarations"
 msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<namespace%> definition is not allowed here"
 msgid "a function-definition is not allowed here"
 msgstr "%H%<namespace%> definisi tidak diijinkan disini"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, fuzzy, gcc-internal-format
 #| msgid "%Han asm-specification is not allowed on a function-definition"
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "%Hsebuah spesifikasi asm tidak diijinkan dalam sebuah definisi fungsi"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 #| msgid "%Hattributes are not allowed on a function-definition"
 msgid "attributes are not allowed on a function-definition"
 msgstr "%Hatribut tidak diijinkan dalam sebuah definisi fungsi"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected initializer"
 msgstr "diduga pengidentifikasi"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid type in declaration"
 msgstr "deklarasi fungsi tidak valid"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinitializer provided for function"
 msgid "initializer provided for function"
 msgstr "%Hpenginisialisasi disediakan untuk fungsi"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "atribut setelah tanda kurung penginisialisasi diabaikan"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "array bound bukan sebuah konstanta integer"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type %qT"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "membuat penunjuk ke anggota referensi tipe %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<%T::%E%> is not a type"
 msgid "%<%T::%E%> is not a type"
 msgstr "%H%<%T::%E%> bukan sebuah tipe"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid use of constructor as a template"
 msgid "invalid use of constructor as a template"
 msgstr "%Hpenggunaan tidak valid dari konstruktor sebagai sebuah template"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "penggunaan %<%T::%D%> daripada %<%T::%D%> untuk menamai konstruktor dalam sebuah nama berkualifikasi"
@@ -33831,286 +33826,286 @@ msgstr "penggunaan %<%T::%D%> daripada %<%T::%D%> untuk menamai konstruktor dala
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid declarator"
 msgstr "deklarasi fungsi tidak valid"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "expected declarator"
 msgstr "diduga penspesifikasi deklarasi"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 #| msgid "%H%qD is a namespace"
 msgid "%qD is a namespace"
 msgstr "%H%qD adalah sebuah namespace"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type %qT"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "membuat penunjuk ke anggota dari tipe bukan kelas %qT"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "operan tidak terduga"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 #| msgid "%Hduplicate cv-qualifier"
 msgid "duplicate cv-qualifier"
 msgstr "%Hduplikasi cv kualifikasi"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "%Hduplicate cv-qualifier"
 msgid "duplicate virt-specifier"
 msgstr "%Hduplikasi cv kualifikasi"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "penggunaan tidak valid dari %<auto%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnew types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected type-specifier"
 msgstr "diduga pengidentifikasi"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<,%> or %<...%>"
 msgstr "diduga %<:%> atau %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnew types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "penggunaan deprecated dari argumen baku untuk parameter bukan fungsi"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, fuzzy, gcc-internal-format
 #| msgid "%Hdefault arguments are only permitted for function parameters"
 msgid "default arguments are only permitted for function parameters"
 msgstr "%Hargumen baku hanya diijinkan untuk parameter fungsi"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "%H%sparameter pack %qD cannot have a default argument"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%H%s parameter pack %qD tidak dapat memiliki sebuah argumen baku"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "%H%sparameter pack cannot have a default argument"
 msgid "parameter pack cannot have a default argument"
 msgstr "%H%s parameter pack tidak dapat memiliki sebuah argumen baku"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ tidak mengijinkan designated penginisialisasi"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ tidak mengijinkan designated penginisialisasi"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-name"
 msgstr "diduga nama class"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after class definition"
 msgstr "%q+D dideklarasikan inline setelah definisinya"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after struct definition"
 msgstr "%q+D dideklarasikan inline setelah definisinya"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected junk after function declaration at %C"
 msgid "expected %<;%> after union definition"
 msgstr "Tidak terduga sampah setelah deklarasi fungsi di %C"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<{%> or %<:%>"
 msgstr "diduga %<,%> atau %<,%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "tidak dapat menemukan berkas untuk class %s"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfriend declaration does not name a class or function"
 msgid "qualified name does not name a class"
 msgstr "%Hdeklarasi friend tidak bernama sebuah kelas atau fungsi"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid class name in declaration of %qD"
 msgid "invalid class name in declaration of %qD"
 msgstr "%Hnama kelas tidak valid dalam deklarasi dari %qD"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 #| msgid "%Hextra qualification not allowed"
 msgid "extra qualification not allowed"
 msgstr "%Hekstra pengkualifikasi diabaikan"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 #| msgid "%Han explicit specialization must be preceded by %<template <>%>"
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "%Hsebuah eksplisit spesialisasi harus diawali oleh %<template <>%>"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfunction template %qD redeclared as a class template"
 msgid "function template %qD redeclared as a class template"
 msgstr "%Htemplate fungsi %qD redeklarasikan sebagai sebuah template kelas"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 #| msgid "%Hprevious definition of %q+#T"
 msgid "previous definition of %q+#T"
 msgstr "%Hdefinisi sebelumnya dari %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-key"
 msgstr "diduga nama class"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "%Ha class-key must be used when declaring a friend"
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "%Hsebuah class-key harus digunakan ketikan mendeklarasikan sebuah friend"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfriend declaration does not name a class or function"
 msgid "friend declaration does not name a class or function"
 msgstr "%Hdeklarasi friend tidak bernama sebuah kelas atau fungsi"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, fuzzy, gcc-internal-format
 #| msgid "%Hpure-specifier on function-definition"
 msgid "pure-specifier on function-definition"
 msgstr "%Hpenspesifikasi pure di definisi fungsi"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<(%> or end of line"
 msgid "expected %<;%> at end of member declaration"
 msgstr "diduga %<(%> atau akhir dari baris"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, fuzzy, gcc-internal-format
 #| msgid "invalid AE type specified (%s)\n"
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr "tipe AE yang dispesifikasikan (%s) tidak valid\n"
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<namespace%> definition is not allowed here"
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "%H%<namespace%> definisi tidak diijinkan disini"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, fuzzy, gcc-internal-format
 #| msgid "%Hkeyword %<typename%> not allowed outside of templates"
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "%Hkata kunci %<typename%> tidak diijinkan diluar dari templates"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, fuzzy, gcc-internal-format
 #| msgid "%Hkeyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "%Hkata kunci %<typename%> tidak diijinkan dalam konteks ini (kelas dasar  adalah sebuah tipe implisit)"
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnew types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnew types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "%Htipe baru mungkin tidak didefinisikan dalam sebuah tipe kembali"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of %q+D"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "redeklarasi tidak valid dari %q+D"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 #| msgid "%Htoo few template-parameter-lists"
 msgid "too few template-parameter-lists"
@@ -34120,369 +34115,369 @@ msgstr "%Hterlalu sedikit template-parameter-list"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, fuzzy, gcc-internal-format
 #| msgid "%Htoo many template-parameter-lists"
 msgid "too many template-parameter-lists"
 msgstr "%Hterlalu banyak template-parameter-lists"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnamed return values are no longer supported"
 msgid "named return values are no longer supported"
 msgstr "%Hnilai kembali bernama tidak lagi didukung"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid declaration of member template in local class"
 msgid "invalid declaration of member template in local class"
 msgstr "%Hdeklarasi tidak valid dari anggota template dalam kelas lokal"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, fuzzy, gcc-internal-format
 #| msgid "%Htemplate with C linkage"
 msgid "template with C linkage"
 msgstr "%Htemplate dengan C linkage"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid explicit specialization"
 msgstr "spesifikasi kelas dasar tidak valid"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %q#D"
 msgid "template declaration of %<typedef%>"
 msgstr "template deklarasi dari %q#D"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "%Hexplicit template specialization cannot have a storage class"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "%Heksplisit template spesialisasi tidak dapat memiliki sebuah kelas penyimpanan"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H%<>>%> seharusnya %<> >%> didalam sebuah daftar argumen template nested"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, fuzzy, gcc-internal-format
 #| msgid "%Hspurious %<>>%>, use %<>%> to terminate a template argument list"
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "%Hspurious %<>>%>, gunakan %<>%> untuk mengakhiri sebuah daftar argumen template"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid use of %qD in linkage specification"
 msgid "invalid use of %qD in linkage specification"
 msgstr "%Hpenggunaan tidak valid dari %qD dalam spesifikasi linkage"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<__thread%> before %qD"
 msgid "%<__thread%> before %qD"
 msgstr "%H%<__thread%> sebelum %qD"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<new%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<delete%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<return%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<extern%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected %<static_assert%>"
 msgstr "diduga pernyataan"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<decltype%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<operator%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<class%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<template%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<namespace%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<using%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<asm%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<try%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<catch%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<throw%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<__label__%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@try%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@synchronized%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@throw%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%> or %<shared%>"
 msgid "expected %<__transaction_relaxed%>"
 msgstr "diduga %<none%> atau %<shared%>"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<::%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<...%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<*%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<~%>"
 msgstr "diduga %<{%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<:%> or %<::%>"
 msgstr "diduga %<:%> atau %<...%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%>, %<;%> or %<}%>"
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "diduga %<,%>, %<,%> atau %<}%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "%qs tag digunakan dalam penamaan %q#T"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+T has a previous declaration here"
 msgid "%q#T was previously declared here"
 msgstr "%q+T telah dideklarasikan sebelumnya disini"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 #| msgid "%H%qD redeclared with different access"
 msgid "%qD redeclared with different access"
 msgstr "%H%qD redeklarasi dengan akses berbeda"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<template%> (as a disambiguator) is only allowed within templates"
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "%H%<template%> (sebagai sebuah disambiguator) hanya diijinkan dalam templates"
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfile ends in default argument"
 msgid "file ends in default argument"
 msgstr "%Hberkas berakhir dalam argumen baku"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, fuzzy, gcc-internal-format
 #| msgid "%Hmisplaced %<@%D%> Objective-C++ construct"
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "%Hsalah tempat %<@%D%> Objective-C++ konstruk"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<@encode%> must specify a type as an argument"
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%H%<@encode%> harus menspesifikasikan sebuah tipe sebagai sebuah argumen"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid Objective-C++ selector name"
 msgid "invalid Objective-C++ selector name"
 msgstr "%Hpemilih nama Objective-C++ tidak valid"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "objective-c++ method declaration is expected"
 msgstr "diduga penspesifikasi deklarasi"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%J atribut daerah tidak dapat dispesifikasikan untuk variabel lokal"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type for iteration variable %qE"
 msgid "invalid type for instance variable"
 msgstr "tipe tidak valid untuk iterasi variabel %qE"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 #| msgid "%Hidentifier expected after %<@protocol%>"
 msgid "identifier expected after %<@protocol%>"
 msgstr "%Hpengidentifikasi diduga setelah %<@protocol%>"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "%qE atribut diabaikan untuk %qE"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "tipe argumen tidak valid"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "inisialisasi berkurung tidak diijinkan dalam loop OpenMP %<for%>"
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "iterasi variabel %qD seharusnya bukan reduksi"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "%Hnot enough collapsed for loops"
 msgid "not enough collapsed for loops"
 msgstr "%Htidak cukup kolaps untuk loops"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 #| msgid "%Hjunk at end of %<#pragma GCC pch_preprocess%>"
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "%Hsampah diakhir dari %<#pragma GCC pch_preprocess%>"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "inter-module optimisasi tidak diimplementasikan untuk C++"
@@ -35229,17 +35224,17 @@ msgstr "kedalaman template instantiation melebihi maksimal dari %d (gunakan -fte
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "kedalaman template instantiation melebihi maksimal dari %d (gunakan -ftemplate-depth-NN untuk meningkatkan maksimal) instantiating %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr "panjang argumen pack tidak cocok akan diekspan %<%T%>"
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr "panjang argumen pack tidak cocok ketika mengekspan %<%E%>"
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "instantiation dari %q+D sebagai tipe %qT"
@@ -35257,262 +35252,262 @@ msgstr "instantiation dari %q+D sebagai tipe %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "variabel %qD memiliki tipe fungsi"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "tipe parameter %qT tidak valid"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "dalam deklarasi %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "fungsi mengembalikan sebuah array"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "fungsi mengembalikan sebuah fungsi"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "membuat penunjuk ke anggota fungsi dari tipe bukan kelas %qT"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "membentuk referensi ke void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming pointer to reference type %qT"
 msgstr "membentuk %s ke tipe referensi %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming reference to reference type %qT"
 msgstr "membentuk %s ke tipe referensi %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "membuat penunjuk ke anggota dari tipe bukan kelas %qT"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "membuat penunjuk ke anggota referensi tipe %qT"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "membuat penunjuk ke anggota dari tipe void"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "membuat array dari %qT"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "membuat array dari %qT, yang merupakan tipe kelas abstrak"
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT bukan sebuah tipe class, struct, atau union"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT meresolf ke %qT, yang bukan sebuah tipe enumerasi"
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT meresolf ke %qT, yang bukan sebuah tipe class"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "penggunaan dari %qs dalam template"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type %qT does not match destructor name ~%qT"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "tipe kualifikasi %qT tidak cocok dengan nama destruktor ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "dependent-name %qE diparse sebagai sebuah bukan-tipe, tetapi instantiation menghasilkan sebuah tipe"
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "katakan %<typename %E%> jika sebuah tipe adalah berarti"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "menggunakan field tidak valid %qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "penggunaan tidak valid dari ekspresi ekspansi pack"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "gunakan %<...%> untuk mengekspan argumen pack"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D dideklarasikan inline setelah definisinya"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT bukan sebuah class atau namespace"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD bukan sebuah class atau namespace"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT adalah/menggunakan tipe anonymous"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "argumen template untuk %qD menggunakan tipe lokal %qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT adalah sebuah tipe variabel termodifikasi"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "ekspresi integral %qE bukan konstan"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  mencoba untuk instantiate %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "template class instantiation ambigu untuk %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "instantiation eksplisit dari bukan-template %q#D"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "%qD bukan sebuah anggota data statis dari sebuah template class"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "template tidak cocok untuk %qD yang ditemukan"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "tipe %qT untuk instantiation eksplisit %qD tidak cocok dengan tipe yang dideklarasikan %qT"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "eksplisit instantiation dari %q#D"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "duplikasi eksplisit instantiation dari %q#D"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 1998 melarang penggunaan dari %<extern%> di instantiation eksplisit"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "class penyimpanan %qD diaplikasikan ke template instantiation"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template %q#D"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "instantiation eksplisit dari bukan-template %q#D"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "eksplisit instantiation dari tipe bukan template %qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "eksplisit instantiation dari %q#T sebelum definisi dari template"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ melarang penggunaan dari %qE di instantiasi eksplisit"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "duplikasi instansiasi eksplisit dari %q#T"
@@ -35524,36 +35519,36 @@ msgstr "duplikasi instansiasi eksplisit dari %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "eksplisit instansiasi dari %qD tetapi tidak ada definisi yang tersedia"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "kedalaman template instansiasi melebihi maksimal dari %d instantiating %q+D, kemungkinan dari pembuatan tabel virtual (gunakan -ftemplate-depth-NN untuk meningkatkan maksimal)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "using template type parameter %qT after %qs"
 msgid "invalid template non-type parameter"
 msgstr "menggunakan parameter tipe template %qT setelah %qs"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T bukan sebuah tipe valid untuk sebuah parameter template konstan"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, fuzzy, gcc-internal-format
 #| msgid "deducing auto from brace-enclosed initializer list requires #include <initializer_list>"
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "deduksi auto dari daftar penginisialisasi dikurung membutuhkan #include <daftar_penginisialisasi>"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -35561,12 +35556,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "tidak dapat mendeduksi %qT dari %qE"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -35806,7 +35801,7 @@ msgstr "definisi tidak valid dari tipe pengkualifikasi %qT"
 msgid "invalid base-class specification"
 msgstr "spesifikasi kelas dasar tidak valid"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a type"
 msgid "%qD is not captured"
@@ -35989,295 +35984,295 @@ msgstr "tipe kembali abstrak tidak valid untuk fungsi %q+#D"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T bukan sebuah kelas"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized member %qD with %<const%> type %qT"
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "%J anggota tidak terinisialisasi %qD dengan %<const%> tipe %qT"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, fuzzy, gcc-internal-format
 #| msgid "invalid conversion in return statement"
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "konversi tidak valid dalam pernyataan return"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is normally a non-static function"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D secara normal sebuah fungsi bukan-statis"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 #| msgid "%Hfriend declaration does not name a class or function"
 msgid "expression %qE does not designate a constexpr function"
 msgstr "%Hdeklarasi friend tidak bernama sebuah kelas atau fungsi"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "panggilan ke bukan-fungsi %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD called in a constant expression"
 msgstr "%qD tidak dapat muncul dalam sebuah ekspresi konstan"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D was used with no prototype before its definition"
 msgid "%qD used before its definition"
 msgstr "%q+D telah digunakan dengan tidak ada prototipe sebelum definisinya"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qs has circular dependency"
 msgid "call has circular dependency"
 msgstr "protokol %qs memiliki ketergantungan circular"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "kedalaman template instantiation melebihi maksimal dari %d (gunakan -ftemplate-depth-NN untuk meningkatkan maksimal) instantiating %qD"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%q+E is not a constant expression"
 msgstr "%s tidak dapat muncul dalam sebuah konstanta ekspresi"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "%Harray subscript is outside array bounds"
 msgid "array subscript out of bound"
 msgstr "%H array subscript diluar dari cakupan array"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%qE is not a constant expression"
 msgstr "%s tidak dapat muncul dalam sebuah konstanta ekspresi"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD tidak dapat muncul dalam sebuah ekspresi konstan"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qD is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "ukuran dari array %qD bukan sebuah integral konstan-ekspresi"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not initialized"
 msgid "%qD used in its own initializer"
 msgstr "%qE tidak terinisialisasi"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q#D is not const"
 msgstr "%q#T bukan sebuah kelas"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D is private"
 msgid "%q#D is volatile"
 msgstr "%q+#D adalah private"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD tidak dapat muncul dalam sebuah ekspresi konstan"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD belum pernah dideklarasikan dalam lingkup ini"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 #| msgid "%Hexpression in new-declarator must have integral or enumeration type"
 msgid "%qD does not have integral or enumeration type"
 msgstr "%Hekspresi dalam pendeklarasi new harus memiliki integral atau tipe enumerasi"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "tipe enumeral dan bukan enumeral dalam ekspresi kondisional"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "expression %qE is not a constant-expression"
 msgstr "ekspresi integral %qE bukan konstan"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "expected expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "diduga ekspresi"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, fuzzy, gcc-internal-format
 #| msgid "cast from type %qT to type %qT casts away constness"
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "cast dari tipe %qT ke tipe %qT menghilangkan constness"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "ukuran dari array bukan sebuah integral konstan ekspresi"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "ekspresi integral %qE bukan konstan"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "ukuran dari array bukan sebuah integral konstan ekspresi"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "indeks array bukan konstan dalam penginisialisasi"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of file in '%s'"
 msgid "unexpected AST of kind %s"
 msgstr "Tidak terduga akhir dari berkas dalam '%s'"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot capture %qE by reference"
 msgstr "tidak dapat mendeklarasikan referensi ke %q#T"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand in unary expression"
 msgid "already captured %qD in lambda expression"
 msgstr "operan tidak valid dalam ekspresi unary"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> is unavailable for static member functions"
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> tidak tersedia untuk anggota fungsi static"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV kualifier tidak dapat diaplikasikan ke %qT"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "%qE atribut hanya dapat diaplikasikan ke definisi class Java"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "%qE atribut hanya dapat diaplikasikan ke definisi class"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE sudah ditinggalkan; g++ vtables sekaran COM-compatibel secara baku"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "permintaan init_priority bukan sebuah konstanta integer"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "hanya dapat menggunakan atribut %qE di definisi lingkup-berkas dari objek dari tipe class"
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "permintaan init_priority diluar dari jangkauan"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "permintaan init_priority disimpan untuk penggunaan internal"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "atribut %qE tidak didukung di platform ini"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "pemeriksaan lang_*: gagal dalam %s, di %s:%d"
@@ -37284,125 +37279,125 @@ msgstr "sintaks konstruktor digunakan, tetapi tidak ada konstruktor dideklarasik
 msgid "cannot initialize arrays using this syntax"
 msgstr "tidak dapat menginisialisasi array menggunakan sintaks ini"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "menyempitkan konversi %qE dari %qT ke %qT didalam { }"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "menyempitkan konversi %qE dari %qT ke %qT didalam { }"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-array diinisialisasi dari string bukan-lebar"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "int-array diinisialisasi dari string lebar tidak kompatibel"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "inisialisasi-string untuk array dari karakter terlalu panjang"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "tidak dapat menginisialisasi kumpulan dari tipe %qT dengan sebuah kompound literal"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "array harus diinisialisasi dengan sebuah kurung melingkupi penginisialisasi"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "hilang penginisialisasi untuk anggota %qD"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "anggota const tidak terinisialisasi %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "anggota %qD dengan field const tidak terinisialisasi"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "anggota %qD referensi tidak terinisialisasi"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "tidak ada field %qD ditemukan dalam union sedang diinisialisasi"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "nilai indeks daripada nama field dalam union penginisialisasi"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "penunjuk circular delegasi terdeteksi"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "operan dasar dari %<->%> memiliki tipe bukan penunjuk %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "hasil dari %<operator->()%> menghasilkan hasil bukan penunjuk"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "operan dasar dari %<->%> bukan sebuah penunjuk"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE tidak dapat digunakan sebagai sebuah anggota penunjuk, karena ini adalah tipe %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "tidak dapat mengaplikasikan anggota penunjuk %qE ke %qE, yang dari tipe bukan class %qT"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "penunjuk ke anggota tipe %qT tidak kompatibel dengan tipe objek %qT"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type %qT"
 msgid "functional cast to array type %qT"
 msgstr "cast ke fungsi tipe %qT tidak valid"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "invalid value-initialization of reference types"
 msgid "invalid value-initialization of reference type"
 msgstr "nilai-inisialisasi dari referensi tidak valid"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "panggilan ke fungsi %qD yang melemparkan tipe tidak lengkap %q#T"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "panggilan ke fungsi yang melemparkan tipe tidak lengkap %q#T"
@@ -37462,196 +37457,196 @@ msgstr "Integer diluar jangkauan simetrik diimplikasikan dengan Standar Fortran
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "Konstanta Hollerith di %L terlalu panjang mengubah ke %s"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Diduga array subscript di %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Diduga array subscript di %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Diduga array subscript di %C"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Diduga array subscript stride di %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Format dari referensi array tidak valid di %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "Referensi array di %C tidak dapat memiliki lebih dari %d dimensi"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected coarray designator at %C"
 msgstr "Diduga array subscript di %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected another dimension in array declaration at %C"
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "Diduga dimensi lain dalam deklarasi array di %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form of array reference at %C"
 msgid "Invalid form of coarray reference at %C"
 msgstr "Format dari referensi array tidak valid di %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr "Variabel '%s' di %L dalam konteks ini harus berupa konstanta"
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L in this context must be constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "Variabel '%s' di %L dalam konteks ini harus berupa konstanta"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "Diduga ekspresi dalam spesifikasi array di %C"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification for assumed shape array at %C"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Spesifikasi array buruk untuk diasumsikan shape array di %C"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr "Spesifikasi array buruk untuk sebuah eksplisit shaped array di %C"
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr "Spesifikasi array buruk untuk diasumsikan shape array di %C"
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr "Spesifikasi buruk untuk deferred shape array di %C"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr "Spesifikasi buruk untuk diasumsikan ukuran array di %C"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Diduga dimensi lain dalam deklarasi array di %C"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "Spesifikasi array di %C memiliki lebih dari %d dimensi"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Fortran 2008: Spesifikasi array di %C memiliki lebih dari 7 dimensi"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003:  FINAL procedure declaration at %C"
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2003:  Deklarasi prosedur FINAL di %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr "DO-iterator '%s' di %L adalah didalam iterator dari nama yang sama"
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "Sintaks error dalam konstruksi array di %C"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003: [...] gaya array konstruktor di %C"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Fortran 2003: Array konstruktor termasuk tipe spesifikasi di %C"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "Array '%s' di %L tidak dapat memiliki sebuah bentuk deferred"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Konstruktor array kosong di %C tidak diperbolehkan"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "Elemen dalam %s array konstruktor di %L adalah %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "Langkah iterasi di %L tidak dapat nol"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr "Jumlah dari elemen dalam konstruktor array di %L membutuhkan sebuah peningkatan dari batas atas %d yang diijinkan. Lihat pilihan -fmax-array-constructor"
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr "Pajang KARAKTER berbeda (%d/%d) dalam konstruktor array di %L"
@@ -37686,7 +37681,7 @@ msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa REAL atau KOMPLEKS"
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa INTEGER atau PROSEDUR"
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "'%s' argumen dari '%s' instrinsik di %L harus berupa sebuah konstanta"
@@ -37801,7 +37796,7 @@ msgstr "'dim' argumen dari '%s' instrinsik di %L bukan sebuah indeks dimensi yan
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "Panjang karakter tidak sama (%ld/%ld) dalam %s di %L"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr "'%s' dan '%s' argumen dari '%s' intrinsik di %L harus memiliki tipe yang sama"
@@ -37890,8 +37885,8 @@ msgstr "'%s' argumen dari '%s' intrinsik di %L harus memiliki tipe REAL atau KOM
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003: '%s' intrinsik dengan JENIS argumen di %L"
@@ -38046,7 +38041,7 @@ msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa DAPAT-DIALOKASIKAN"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "Fortran 2003: '%s' intrinsik dengan JENIS argumen di %L"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
@@ -38191,44 +38186,44 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "'MOLD' argumen dari 'TRANSFER' intrinsik di %L tidak boleh berupa %s"
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr "Intrinsik TRANSFER di %L memiliki hasil tidak terdefinisi sebagian: ukuran sumber %ld < ukuran hasil %ld"
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa jenis sama dengan '%s'"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "'%s' dan '%s' argumen dari '%s' intrinsik di %L harus memiliki tipe yang sama"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "Ukuran dari '%s' argumen dari '%s' intrinsik di %L terlalu kecil (%i/%i)"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Terlalu banyak argumen ke %s di %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa sebuah jenis tidak lebih lebar dari jenis baku (%d)"
 
-#: fortran/check.c:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa INTEGER atau LOGIKAL"
@@ -38240,7 +38235,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -38535,7 +38530,7 @@ msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-penunjuk"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2003: IOMSG tag di %L"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "Duplikasi spesifikasi array untuk Cray pointee di %C"
@@ -38551,7 +38546,7 @@ msgstr "tipe dari '%s' di %C belum terdeklarasi didalam antar-muka"
 msgid "Extension: Old-style initialization at %C"
 msgstr "Ekstensi: Gaya-lama inisialisasi di %C"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "Inisialisasi di %C bukan sebuah variabel penunjuk"
@@ -38561,7 +38556,7 @@ msgstr "Inisialisasi di %C bukan sebuah variabel penunjuk"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "Inisialisasi dari penunjuk di %C membutuhkan '=>', bukan '='"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Diduga sebuah ekspresi inisialisasi di %C"
@@ -38764,7 +38759,7 @@ msgstr "Fortran 2003: atribut NILAI di %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2003: atribut VOLATILE di %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr "TERPROTEKSI di %C hanya diperbolehkan dalam bagian spesifikasi dari modul"
@@ -38784,856 +38779,856 @@ msgstr "Fortran 2003: atribut NILAI di %C"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003: atribut VOLATILE di %C"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr "Multiple pengidentifikasi disediakan dengan penspesifikasi NAMA= tunggal di %C"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr "secara implisit terdeklarasi fungsi BIND(C) '%s' di %L mungkin tidak C interoperable"
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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 "Variabel '%s' dalam blok umum '%s' di %L mungkin tidak berupa jenis C dapat berinteroperasi melalui blok umum '%s' adalah BIND(C)"
 
-#: fortran/decl.c:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr "Tipe deklarasi '%s' di %L bukan C interoperable tetapi ini adalah BIND(C)"
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr "Variabel '%s' di %L mungkin bukan sebuah jenis C interoperable tetapi ini adalah bind(c)"
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
 msgstr "Variabel '%s' dalam blok umum '%s' di %L tidak dapat dideklarasikan dengan BIND(C)karena ini bukan sebuah global"
 
-#: fortran/decl.c:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)"
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut DAPAT DIALOKASIKAN dan BIND(C)"
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "Tipe kembali dari fungsi BIND(C) '%s' di %L tidak dapat berupa sebuah array"
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
 msgstr "Tipe kembali dari fungsi BIND(C) '%s' di %L tidak dapat berupa string karakter"
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.c:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr "Simbol '%s' di %L ditandai PRIVATE tetapi telah diberikan level binding '%s'"
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr "Dibutuhkan baik entiti atau nama blok umum untuk pernyataan spesifikasi atribut di %C"
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing entity or common block name for attribute specification statement at %C"
 msgstr "Hilang entiti atau nama blok umum untuk pernyataan spesifikasi atribut di %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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr "Tipe turunan di %C belum pernah didefinisikan sebelumnya jadi tidak dapat muncul dalam sebuah tipe definisi turunan"
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "Sintaks error dalam deklarasi data di %C"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003:  Type-bound procedure at %C"
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2003:  Prosedur Tipe-bound di %C"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "Nama '%s' di %C adalah nama dari prosedur"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Tidak teduga sampah dalam daftar argumen formal di %C"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "Duplikasi simbol '%s dalam daftar argumen formal di %C"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "variabel RESULT di %C harus berbeda dari nama fungsi"
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "Tidak terduga sampah setelah deklarasi fungsi di %C"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Fortran 2008: BIND(C) atribut di %L mungkin tidak dispesifikasikan untuk sebuah prosedur internal"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "Antar-muka '%s' di %C mungkin bukan umum"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "Antar-muka '%s' di %C mungkin bukan sebuah pernyataan fungsi"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr "Prosedur intrinsik '%s' tidak diperbolehkan dalam pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr "atribut BIND(C) di %C membutuhkan sebuah antar-muka dengan BIND(C)"
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr "prosedur BIND(C) dengan NAMA mungkin tidak memiliki atribut PENUNJUK di %C"
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr "Prosedur dummy di %C mungkin tidak memiliki atribut BIND(C) dengan NAMA"
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "Nama tipe turunan '%s' di %C telah memiliki sebuah tipe dasar dari %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Sintaks error dalam pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "Diduga '::' setelah atribut binding di %C"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: module nature in USE statement at %C"
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003: modul alam dalam pernyataan USE di %C"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in structure constructor at %C"
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "Sintaks error dalam struktur konstruktor di %C"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr "PROSEDUR di %C harus berupa sebuah antar-muka umum"
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003: pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "Diduga daftar argumen formal dalam definisi fungsi di %C"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr "atribut BIND(C) di %L hanya dapat digunakan untuk variabel atau blok umum"
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: module nature in USE statement at %C"
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2003: modul alam dalam pernyataan USE di %C"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul dalam sebuah APLIKASI"
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul dalam sebuah MODUL"
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah DATA BLOK"
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul dalam sebuah ANTAR-MUKA"
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok TIPE TURUNAN"
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok IF-THEN"
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "pernnyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok DO"
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok SELECT"
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok FORALL"
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah blok WHERE"
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul didalam sebuah subprogram terkontain"
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "pernyataan MASUKAN di %C tidak dapat muncul dalam sebuah prosedur terkontain"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr "Hilang parantheses yang dibutuhkan sebelum BIND(C) di %C"
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "Sintaks error dalam penspesifikasi NAMA= untuk binding label di %C"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "Hilang quote penutup '\"' untuk binding label di %C"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "Hilang quote penutup ''' untuk binding label di %C"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "Hilang penutup paren untuk binding label di %C"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "Tidak ada nama binding diijinkan dalam BIND(C) di %C"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr "Untuk prosedur dummy %s, tidak ada nama binding diijinkan dalam BIND(C) di %C"
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr "NAMA tidak diijinkan dalam BIND(C) untuk ANTAR-MUKA ABSTRAK di %C"
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "Tidak terduga pernyataan END di %C"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2008: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Fortran 2008: pernyataan CONTAINS tanpa pernyataan FUNCTION atau SUBROUTINE di %C"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "pernyataan %s tidak terduga di %L"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "Diduga pernyataan %s di %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "Diduga nama blok dari '%s' dalam pernyataan %s di %C"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "Diduga nama berakhir di %C"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "Diduga label '%s' untuk pernyataan %s di %C"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Hilang spesifikasi array di %L dalam pernyataan DIMENSI"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr "Dimensi dipesifikasikan untuk %s di %L setelah inisialisasinya"
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing array specification at %L in DIMENSION statement"
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Hilang spesifikasi array di %L dalam pernyataan DIMENSI"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "Spesifikasi array harus deferred di %L"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Karakter tidak terduda dalam daftar variabel di %C"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "Diduga '(' di %C"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "Diduga nama variabel di %C"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "Penunjuk Cray di %C harus berupa sebuah integer"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr "Penunjuk Cray di %C memiliki %d bytes ketelitian; alamat memori membutuhkan %d bytes"
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "Diduga \",\" di %C"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "Diduga \")\" di %C"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "Diduga \",\" atau akhir dari pernyataan di %C"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "Deklarasi penunjuk cray di %C membutuhkan pilihan -fcray-pointer"
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2003: pernyataan FLUSH di %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr "Spesifikasi akses dari operator %s di %C telah dispesifikasikan"
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr "Spesifikasi akses dari operator .%s.  di %C telah dispesifikasikan"
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003: pernyataan TERPROTEKSI di %C"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Sintaks error dalam pernyataan TERPROTEKSI di %C"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr "pernyataan PRIVATE di %C hanya diperbolehkan dalam bagian spesifikasi dari sebuah modul"
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr "pernyataan PUBLIK di %C hanya diperbolehkan dalam bagian spesifikasi dari sebuah modul"
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "Nama variabel diduga di %C dalam pernyataan PARAMETER"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Diduga tanda = dalam pernyataan PARAMETER di %C"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "Diduga ekspresi di %C dalam pernyataan PARAMETER"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Inisialisasi variabel  yang telah diinisialisasi di %C"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Karakter tidak terduga dalam pernyataan PARAMETER di %C"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr "Blanket pernyataan SAVE di %C mengikuti pernyataan SAVE sebelumnya"
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "pernyataan SAVE di %C mengikuti blanket pernyataan SAVE"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Sintaks error dalam pernyataan SAVE di %C"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003: pernyataan NILAI di %C"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Sintaks error dalam pernyataan NILAI di %C"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003: pernyataan VOLATILE di %C"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Sintaks error dalam pernyataan VOLATILE di %C"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: VALUE statement at %C"
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: pernyataan NILAI di %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in VALUE statement at %C"
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Sintaks error dalam pernyataan NILAI di %C"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr "PROSEDUR MODUL di %C harus dalam sebuah antar-muka modul umum"
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: PROCEDURE statement at %C"
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2003: pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "Prosedur intrinsik '%s' tidak diperbolehkan dalam pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "Ambigu simbol dalam definisi TIPE di %C"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr "Tidak ada simbol seperti itu dalam definisi TIPE di %C"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr "'%s' dalam ekspresi EXTENDS di %C bukan sebuah tipe turunan"
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr "'%s' tidak dapat diekstensikan di %C karena ini adalah BIND(C)"
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "'%s' tidak dapat diekstensikan di %C karena ini adalah tipe SEQUENCE"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr "Tipe turunan di %C hanya dapat berupa PRIVATE dalam bagian spesifikasi dari sebuah modul"
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr "Tipe turunan di %C hanya dapat berupa PUBLIK dalam bagian spesifikasi dari sebuah modul"
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003: tipe ABSTRAK di %C"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "Diduga :: dalam definisi TIPE di %C"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "Nama tipe '%s' di %C tidak dapat sama seperti sebuah tipe intrinsic"
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr "Nama tipe turunan '%s' di %C telah memiliki sebuah tipe dasar dari %s"
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr "Definisi tipe turunan dari '%s' di %C telah terdefinisi"
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr "Cray Pointee di %C tidak dapat diasumsikan bentuk array"
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003: ENUM dan ENUMERATOR di %C"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "Enumerator melebihi tipe integer C di %C"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "ENUMERATOR %L tidak diinisialisasi dengan ekspresi integer"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "pernyataan definisi ENUM diduga sebelum %C"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "Sintaks error dalam definisi ENUMERATOR di %C"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "Duplikasi penspesifikasi akses di %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr "Binding atribut telah menspesifikasikan passing, tidak legal NOPASS di %C"
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr "Binding atribut telah menspesifikasikan passing, tidak legal PASS di %C"
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s attribute at %L"
 msgid "Duplicate POINTER attribute at %C"
 msgstr "Duplikasi %s atribut di %L"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "Duplikasi NON_OVERRIDABLE di %C"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate NON_OVERRIDABLE at %C"
 msgid "Duplicate DEFERRED at %C"
 msgstr "Duplikasi NON_OVERRIDABLE di %C"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "Diduga penspesifikasi akses di %C"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "Diduga atribut binding di %C"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "')' expected at %C"
 msgstr "Diduga '(' di %C"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in NAME= specifier for binding label at %C"
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "Sintaks error dalam penspesifikasi NAMA= untuk binding label di %C"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE(interface) at %C is not yet implemented"
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr "PROCEDUR(antar-muka) di %C belum diimplementasikan"
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "Diduga nama binding di %C"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: PROCEDURE statement at %C"
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2003: pernyataan PROSEDUR di %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr "'::' diperlukan dalam binding PROCEDUR dengan target eksplisit di %C"
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "Diduga binding target setelah '=>' di %C"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "There's already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Telah ada sebuah prosedur dengan nama binding '%s' untuk tipe turunan '%s' di %C"
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr "GENERIC di %C harus berada didalam sebuah tipe turunan CONTAINS"
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "Diduga '::' di %C"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected generic name at %C"
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Diduga nama generik di %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '=>' at %C"
 msgstr "Diduga '(' di %C"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Telah ada sebuah prosedur bukan generik dengan nama binding '%s' untuk tipe turunan '%s' di %C"
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr "Binding di %C harus memiliki akses sama seperti telah didefinisikan binding '%s'"
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "Diduga nama binding spesifik di %C"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "'%s' telah didefinisikan sebagai binding spesifik untuk generik '%s' di %C"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr "Sampah setelah binding GENERIC di %C"
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr "deklarasi FINAL di %C harus berada didalam sebuah tipe turunan daerah CONTAINS"
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr "Deklarasi tipe turunan dengan FINAL di %C harus berada dalam spesifikasi dari sebuah MODULE"
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr "Kosong FINAL di %C"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "Diduga nama prosedur modul di %C"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "Diduga ',' di %C"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "Nama prosedur tidak dikenal \"%s\" di %C"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "'%s' di %C telah didefinisikan sebagai prosedur FINAL!"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected characters in PARAMETER statement at %C"
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Karakter tidak terduga dalam pernyataan PARAMETER di %C"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in VALUE statement at %C"
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
@@ -39877,27 +39872,27 @@ msgstr "fungsi dinilai POINTER muncul di sisi kanan dari penempatan di %L"
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr "Ekstensi: BOZ literal di %L digunakan untuk menginisialisasi variabel bukan-integer '%s'"
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr "Ekstensi: BOZ literal di %L diluar sebuah pernyataan DATA dan diluar INT/REAL/DBLE/CMPLX"
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr "BOZ literal di %L adalah bitwise dapat ditransfer bukan-integer simbol '%s'"
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "Aritmetik underflow dari bit-wise dipindahkan BOZ di %L. Pemeriksaan ini dapat dinon-aktifkan dengan pilihan -fno-range-check"
 
-#: fortran/expr.c:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "Aritmetik overflow dari bit-wise dipindahkan BOZ di %L. Pemeriksaan ini dapat dinonaktifkan dengan pilihan -fno-range-check"
 
-#: fortran/expr.c:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "Aritmetik NaN dari bit-wise dipindahkan BOZ di %L. Pemeriksaan ini dapat dinon-aktifkan dengan pilihan -fno-range-check"
@@ -40178,7 +40173,7 @@ msgid "can't open input file: %s"
 msgstr "tidak dapat membuka berkas masukan: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -40297,12 +40292,12 @@ msgstr "Argumen pertama dari penempatan yang didefinisikan di %L harus berupa IN
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "Argumen kedua dari penempatan didefinisikan di %L harus berupa INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "Argumen pertama dari antar-muka operator di %L harus berupa INTENT(IN)"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "Argumen kedua dari antar-muka operator di %L harus berupa INTENT(IN)"
@@ -42439,7 +42434,7 @@ msgstr "Tidak terduga sampah setelah pernyataan ELSE di %C"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Tidak terduga sampah setelah pernyataan ELSE di %C"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "IF clause di %L membutuhkan sebuah ekspresi skalara LOGIKAL"
@@ -43561,482 +43556,482 @@ msgstr "Argumen '%s' dari subroutine pure '%s' di %L harus memiliki spesifikasi
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "Argumen '%s' dari subroutine pure '%s' di %L harus memiliki spesifikasi INTENT-nya"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Keyword argument '%s' at %L is not in the procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "Kata kunci argumen '%s' di %L tidak dalam prosedur"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "Argumen '%s' dari prosedur elemental di %L harus berupa skalar"
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "Argumen '%s' dari prosedur elemental di %L tidak dapat memiliki atribut POINTER"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr "Argumen '%s' dari prosedur elemental di %L tidak dapat memiliki atribut POINTER"
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "Prosedur dummy '%s' tidak diperbolehkan dalam elemtal prosedur '%s' di %L"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "Argumen '%s' dari subroutine pure '%s' di %L harus memiliki spesifikasi INTENT-nya"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "Argumen '%s' dalam pernyataan fungsi di %L harus berupa skalar"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr "Nilai-karakter argumen '%s' dari pernyataan fungsi di %L harus memiliki panjang konstan"
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "Fungsi yang berisi '%s' di %L tidak memiliki tipe IMPLISIT"
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr "Hasil '%s' dari fungsi yang berisi '%s' di %L tidak memiliki tipe IMPLISIT"
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued internal function '%s' at %L must not be assumed length"
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Nilai-karakter fungsi internal '%s' di %L tidak boleh dengan panjang diasumsikan"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "Fungsi %s di %L memiliki masukan dengan spesifikasi array tidak cocok"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr "Ekstensi: Fungsi %s di %L dengan masukan mengembalikan variabel dari panjang string berbeda"
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr "Hasil FUNGSI %s tidak dapat berupa sebuah array dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr "Hasil MASUKAN %s tidak dapat berupa sebuah array dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "Hasil FUNGSI %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "Hasil MASUKAN %s tidak dapat berupa sebuah PENUNJUK dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "Hasil FUNGSI %s tidak dapat tipe %s dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "Hasil MASUKAN %s tidak dapat tipe %s dalam FUNGSI %s di %L"
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr "Variabel '%s' di %L adalah dalam COMMON tetapi hanya dalam inisialisasi BLOK DATA yang diperbolehkan"
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
 msgstr "variabel terinisialisasi '%s' di %L adalah dalam sebuah kosong COMMON tetapi inisialisasi hanya diperbolehkan dalam blok umum bernama"
 
-#: fortran/resolve.c:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr "Tipe variabel turunan '%s' dalam COMMON di %L memiliki bukan SEQUENCE ataupun atribut BIND(C)"
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr "Tipe variabel turunan '%s' dalam COMMON di %L memiliki sebuah komponen ultimate yang dapat dialokasikan"
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "Tipe variabel turunan '%s' dalam COMMOND di %L tidak boleh memiliki penginisialisasi baku"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr "blok COMMON '%s' di %L digunakan sebagai PARAMETER di %L"
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "Variabel '%s' di %L tidak dapat memiliki dua atribut PENUNJUK dan BIND(C)"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr "blok COMMON '%s' di %L juga sebuah prosedur intrinsik"
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr "Fortran 2003: blok common '%s' di %L yang juga sebuah hasil fungsi"
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr "Fortran 2003: blok COMMON '%s' di %L yang juga sebuah prosedur global"
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "Komponen dari struktur konstruktor '%s' di %L adalah PRIVATE"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "Tingkat dari elemen dalam tipe konstruktor turunan di %L tidak cocok dengan komponen (%d/%d)"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s', adalah %s tetapi seharusnya berupa %s"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The NULL in the derived type constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "NULL dalam tipe konstruktor turunan di %L, sedang diaplikasikan untuk komponen '%s', yang bukan sebuah PENUNJUK atau sebuah ALLOCATABLE"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "No initializer for component '%s' given in the structure constructor at %C!"
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "Tidak ada penginisialisasi untuk komponen '%s' yang diberikan dalam struktur konstruktor di %C"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s' seharusnya berupa sebuah PENUNJUK atau sebuah TARGET"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "Argumen dari prosedur FINAL di %L harus berupa DAPAT-DIALOKASIKAN"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component at %C must have the POINTER attribute"
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Komponen di %C harus memiliki sebuah atribut PENUNJUK"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "Elemen dalam tipe konstruktor turunan di %L, untuk komponen penunjuk '%s', adalah %s tetapi seharusnya berupa %s"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-format
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
 msgstr "Batas atas dalam dimensi terakhir harus muncul dalam referensi ke ukuran array yang diasumsikan '%s' di %L"
 
-#: fortran/resolve.c:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "'%s' di %L adalah ambigu"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "prosedur UMUM '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L"
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr "Tipe dispesifikasikan untuk fungsi intrinsik '%s' di %L diabaikan"
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr "Intrinsik subroutine '%s' di %L tidak boleh memiliki sebuah penspesifikasi tipe"
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "'%s' dideklarasikan INTRINSIC di %L tidak ada"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr "Intrinsik '%s' dideklarasikan INTRINSIC di %L tidak tersedia dalam konfigurasi baku sekarang tetapi %s. Gunakan sebuah pilihan -std=* yang sesuai atau aktifkan -fall-intrinsics untuk menggunakan itu."
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr "Bukan prosedur REKURSIF '%s' di %L mungkin memanggil dirinya sendiri secara rekursif. Deklarasikan itu secara RECURSIVE atau gunakan -frecursive"
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Label %d direferensikan di %L tidak pernah terdefinisi"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "Pernyataan fungsi '%s' di %L tidak diperbolehkan sebagai argumen aktual"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "Intrinsik '%s' di %L tidak diperbolehkan sebagai sebuah argumen aktual"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Prosedur internal '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "ELEMENTAL bukan INTRINSIK prosedur '%s' tidak diperbolehkan sebagai sebuah argumen aktual di %L"
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr "Tidak dapat menemukan sebuah prosedur INTRINSIK spesifik untuk referensi '%s' di %L"
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "Simbol '%s' di %L adalah ambigu"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "Argumen dengan nilai di %L adalah bukan tipe numerik"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "Argumen dengan nilai di %L tidak dapat berupa sebuah array atau sebuah daerah array"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "Argumen dengan nilai di %L tidak diperbolehkan dalam konteks ini"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "Melewati prosedur internal di %L dengan lokasi tidak diperbolehkan"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr "'%s' di %L adalah sebuah array dan OPSIONAL; JIKA INI HILANG, ini tidak dapat berupa argumen aktual dari sebual prosedur ELEMENTAL kecuali disana ada sebuah tidak pilihanonal argumen dengan tingkat sama (12.4.1.5)"
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr "Argumen aktual di %L untuk INTENT(%s) dummy '%s' dari subroutine ELEMENTAL '%s' adalah sebuah skalar, tetapi argumen aktual lain adalah sebuah array"
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Tingkat tidak cocok dalam argumen '%s' di %L (%d dan %d)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Return value of function '%s' at %L not set"
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Nilai kembali dari fungsi '%s' di %L tidak diset"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the corresponding argument of the overridden procedure"
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr "Argumen dummy '%s' dari '%s' di %L seharusnya bernama '%s' untuk mencocokan dengan argumen yang berhubungan dengan prosedur overridden"
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L has no explicit interface"
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L has no explicit interface"
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L has no explicit interface"
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L has no explicit interface"
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "Otomatis panjang fungsi karakter '%s' di %L harus memiliki sebuah antar-muka eksplisit"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "Otomatis panjang fungsi karakter '%s' di %L harus memiliki sebuah antar-muka eksplisit"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L has no explicit interface"
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "Prosedur '%s' dalam %s di %L tidak memiliki antar-muka eksplisit"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "Prosedur '%s' di %L harus memiliki atribut BIND(C) supaya C interoperable"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "Disana tidak ada fungsi spesifik untuk umum '%s' di %L"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr "Fungsi umum '%s' di %L tidak konsisten dengan sebuah antar-muka spesifik intrinsik."
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "Fungsi '%s' di %L adalah INTRINSIK tetapi tidak kompatibel dengan sebuah intrinsik"
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "Tidak dapat meresolf fungsi spesifik '%s'di %L"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "Fungsi '%s' di %L tidak memiliki tipe IMPLISIT"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "Argumen ke '%s' di %L bukan sebuah variabel"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "Lebih aktual dari argumen formal dalam '%s' panggilan di %L"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr "Parameter '%s' ke '%s' di %L harus baik sebuah TARGET atau sebuah penunjuk berasosiasi"
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "penunjuk tidak diijinkan sebagai nilai case"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "More actual than formal arguments in '%s' call at %L"
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "Lebih aktual dari argumen formal dalam '%s' panggilan di %L"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "Array section in '%s' call at %L"
 msgstr "Nama fungsi '%s' tidak diperbolehkan di %C"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
 msgstr "Variabel yang dapat dialokasikan '%s' digunakan sebagai sebuah parameter ke '%s' di %L tidak boleh berupa sebuah array berukuran nol"
 
-#: fortran/resolve.c:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
 msgstr "Diasumsikan-bentuk array '%s' di %L tidak dapat berupa sebuah argumen ke prosedur '%s' karena ini bukan C interoperable"
 
-#: fortran/resolve.c:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
 msgstr "Deferred-shape array '%s' di %L tidak dapat berupa sebuah argumen ke prosedur '%s' karena ini bukan C interoperable"
 
-#: fortran/resolve.c:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
 msgstr "argumen KARAKTER '%s' ke '%s' di %L harus memiliki panjang 1"
 
 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
 #. scalar pointer.
-#: fortran/resolve.c:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "Argumen '%s' ke '%s' di %L harus berupa sebuah skalar PENUNJUK berasosiasi"
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "Parameter '%s' ke '%s' di %L harus berupa sebuah skalar"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
@@ -44044,505 +44039,505 @@ msgstr "Parameter '%s' ke '%s' di %L harus berupa sebuah skalar"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "Paramter '%s' ke '%s' di %L harus berupa sebuah prosedur"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr "Parameter '%s' ke '%s' di %L harus berupa BIND(C)"
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "'%s' di %L bukan sebuah fungsi"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
 msgstr "ANTAR-MUKA ABSTRAK '%s' tidak boleh direferensikan di %L"
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.c:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr "Fungsi '%s' adalah dideklarasikan KARAKTER(*) dan tidak dapat digunakan di %L karena ini bukan sebuah argumen dummy"
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr "Fungsi bukan-ELEMENTAL definisi pengguna '%s' di %L tidak diperbolehkan dalam WORKSHAREkonstruksi"
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "referensi ke fungsi bukan-PURE '%s' di %L didalam sebuah FORALL %s"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "referensi ke fungsi bukan-PURE '%s' di %L didalam sebuah FORALL %s"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr "Referensi fungsi ke '%s' di %L adalah ke sebuah prosedur bukan-PURE dalam sebuah prosedur PURE"
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "MASUKAN '%s' di %L tidak dapat dipanggil secara rekursif, karena fungsi '%s' tidak REKURSIF"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "Fungsi '%s' di %L tidak dapat dipanggil secara rekursif, karena ini bukan REKURSIF"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr "Panggilan subroutine ke '%s' dalam blok FORALL di %L tidak PURE"
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "Panggilan subroutine ke '%s' dalam blok FORALL di %L tidak PURE"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr "Panggilan subroutine ke '%s' di %L bukan PURE"
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr "Disana tidak ada subroutine spesifik untuk umum '%s' di %L"
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr "Subroutine umum '%s' di %L tidak konsisten dengan sebuah anta-muka subroutine intrinsik"
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "Hilang parameter SHAPE untuk panggilan ke %s di %L"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr "Parameter SHAPE untuk panggilan ke %s di %L harus berupa tingkat 1 INTEGER array"
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "Subroutine '%s' di %L adalah INTRINSIK tetapi tidak kompatibel dengan sebuah intrinsik"
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr "Tidak dapat meresolf subroutine spesifik '%s' di %L"
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr "'%s' di %L memiliki sebuah tipe, yang tidak konsisten dengan CALL di %L"
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "MASUKAN '%s' di %L tidak dapat dipanggil secara rekursif, karena subroutine '%s' tidak REKURSIF"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "SUBROUTINE '%s' di %L tidak dapat dipanggil secara rekursif, karena ini bukan REKURSIF"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "Bentuk untuk operan di %L dan %L tidak konformant"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Referensi array di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "Referensi array di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Referensi array di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "Referensi array di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "Tidak legal stride dari nol di %L"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Referensi array bawah di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Referensi array bawah di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Referensi array atas di %L diluar dari jangkauan (%ld < %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Referensi array atas di %L diluar dari jangkauan (%ld > %ld) dalam dimensi %d"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "Jangkauan paling kanan ats dari daerah ukuran array yang diasumsikan tidak dispesifikasikan di %L"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "Tingkat tidak cocok dalam referensi array di %L (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "Tingkat tidak cocok dalam referensi array di %L (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "index in dimension %d is out of bounds at %L"
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "indeks dalam dimensi %d diluar dari jangkauan di %L"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "Indeks array di %L harus berupa skalar"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "Indeks array di %L harus berupa tipe INTEGER, ditemukan %s"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Ekstensi: indeks array RIL di %L"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "Argumen dim di %L harus berupa skalar"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "Argumen dim di %L harus berupa tipe INTEGER"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Indeks array di %L adalah sebuah array dari tingkat %d"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "Indeks awal substring di %L harus berupa tipe INTEGER"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "Indeks awal substring di %L harus berupa skalar"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "Indeks awal substring di %L lebih kecil dari satu"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "Indeks akhir substring di %L harus berupa tipe INTEGER"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "Indeks akhir substring di %L harus berupa skalar"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "Indeks akhir substring di %L melebihi panjang string"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L is too large"
 msgstr "Indeks akhir substring di %L harus berupa skalar"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "Komponen ke bagian kanan dari referensi dengan tingkat bukan-nol harus tidak memiliki atribut PENUNJUK di %L"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "Komponen ke bagian kanan dari referensi dengan tingkat bukan-nol harus tidak memiliki atribut DAPAT DIALOKASIKAN di %L"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "Dua atau lebih referensi bagian dengan tingkat bukan-nol tidak boleh dispesifikasikan di %L"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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', digunakan dalam sebuah ekspresi spesifikasi, direferensikan di %L sebelum pernyataan MASUKAN dimana ini adalah sebuah parameter"
 
-#: fortran/resolve.c:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr "Variabel '%s' digunakan di %L sebelum pernyataan MASUKAN dimana ini adalah sebuah parameter"
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "Objek yang dilewatkan di %L harus berupa skalar"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "Argumen '%s' dari prosedur elemental di %L harus berupa skalar"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr "Tidak ditemukan pengikatan spesifik yang cocok untuk panggilan ke GENERIC '%s' di %L"
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "'%s' di %L seharusnya berupa sebuah SUBROUTINE"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "'%s' di %L seharusnya berupa sebuah FUNGSI"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s di %L harus berupa sebuah skalar"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "Featur terhapus: %s di %L harus berupa integer"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s di %L harus berupa INTEGER"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "Ekspresi step dalam loop DO di %L tidak dapat berupa nol"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "FORALL nama-indeks di %L harus berupa sebuah skalar INTEGER"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "FORALL awal ekspresi di %L harus berupa sebuah skalar INTEGER"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "FORALL akhir ekspresi di %L harus berupa sebuah skalar INTEGER"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "FORALL stride ekspresi di %L harus berupa sebuah skalar %s"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "FORALL stride ekspresi di %L tidak dapat berupa nol"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "FORALL indeks '%s' mungkin tidak muncul dalam spesifikasi triplet di %L"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "Ekspresi dalam pernyataan ALOKASI di %L harus berupa DAPAT DIALOKASIKAN atau sebuah PENUNJUK"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Spesifikasi array dibutuhkan dalam pernyatan ALOKASI di %L"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification required in ALLOCATE statement at %L"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Spesifikasi array dibutuhkan dalam pernyatan ALOKASI di %L"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr "'%s' tidak boleh muncul dalam spesifikasi array di %L dalam pernyataan ALOKASI yang sama dimana ini sendiri dialokasikan"
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Spesifikasi array buruk dalam pernyataan ALOKASI di %L"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "Label di %L tidak dalam blok yang sama seperti pernyataan GOTO di %L"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "spesifikasi SATUAN di %L harus berupa sebuah ekspresi INTEGER atau sebuah KARAKTER variabel"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -44551,190 +44546,190 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "CASE label di %L overlaps dengan CASE label di %L"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %s"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa skalar"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "Pemilihan ekspresi dalam pernyataan GOTO yang terhitung di %L harus berupa sebuah ekspresi integer skalar"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "Argumen dari pernyataan SELECT di %L tidak dapat berupa %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be of type %s"
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "Ekspresi dalam pernyataan CASE di %L harus berupa tipe %s"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "KASUS BAKU di %L tidak dapat diikuti oleh sebuah KASUS BAKU kedua di %L"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "Jangkauan logikal dalam pernyataan CASE di %L tidak diperbolehkan"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "constant logical value in CASE statement is repeated at %L"
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "nilai logikan konstan dalam pernyataan CASE diulang di %L"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "Spesifikasi jangkauan di %L tidak pernah cocok"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "Logikal SELECT CASE blok di %L memiliki lebih dari dua kasus"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Global name '%s' at %L is already being used as a %s at %L"
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Nama global '%s' di %L telah digunakan sebuah sebuah %s di %L"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in EQUIVALENCE statement at %L"
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "Sintaks error dalam pernyataan EKUIVALEN di %L"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type '%s' at %L is empty"
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "Tipe turunan '%s' di %L adalah kosong"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type '%s' at %L is empty"
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "Tipe turunan '%s' di %L adalah kosong"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PENUNJUK"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PENUNJUK"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have ALLOCATABLE components"
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen DAPAT DIALOKASIKAN"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "Elemen pemindahan data di %L tidak dapat memiliki komponen PRIVATE"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "Elemen pemindahan data di %L tidak dapat berupa sebuah referensi lengkap ke sebuah array yang ukurannya diasumsikan"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "FORALL nama-indeks di %L harus berupa sebuah skalar INTEGER"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument dim at %L must be scalar"
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "Argumen dim di %L harus berupa skalar"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "Argumen dari pernyataan SELECT di %L harus berupa sebuah ekspresi skalar"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ACOS at %L must be between -1 and 1"
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "Argumen dari ACOS di %L harus berada diantara -1 dan 1"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Pernyataan di %L bukan sebuah pernyataan pencabangan target yang valid untuk sebuah pernyataan percabangan di %L"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr "Cabang di %L bisa menyebabkan sebuah loop tak terhingga"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -44742,659 +44737,659 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Label di %L tidak dalam blok yang sama seperti pernyataan GOTO di %L"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "DIMANA mask di %L memiliki bentuk tidak konsisten"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "penempatan target WHERE di %L memiliki bentuk tidak konsisten"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr "penempatan bukan-ELEMEN didefinisikan-pengguna dalam WHERE di %L"
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Pernyataan didalam WHERE di %L tidak didukung"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Penempatan ke sebuah indeks variabel FORALL di %L"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "FORALL dengan indeks '%s' tidak digunakan di sisi kiri dari penempatan di %L dan jadi mungkin menyebabkan penempatan berulang di objek ini"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "Sebuah konstruks FORALL luar telah memiliki sebuah indeks dengan nama ini %L"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "WHERE/ELSEWHERE clause di %L membutuhkan sebuah array LOGIKAL"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr "Ekspresi KARAKTER akan dipotong dalam penempatan (%d/%d) di %L"
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "Variabel impure di %L ditempatkan ke sebuah tipe variabel turunan dengan sebuah komponen PENUNJUK dalam sebuah prosedur PURE (12.6)"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr "Variabel impure di %L ditempatkan ke sebuah tipe variabel turunan dengan sebuah komponen PENUNJUK dalam sebuah prosedur PURE (12.6)"
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assignment to a FORALL index variable at %L"
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "Penempatan ke sebuah indeks variabel FORALL di %L"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr "pernyataan GOTO ASSIGNED di %L membutuhkan sebuah variabel INTEGER"
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr "Variabel '%s' belum pernah ditempatkan sebuah label target di %L"
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "Pernyataan RETURN alternatif di %L membutuhkan sebuah SKALAR-INTEGER return penspesifikasi"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "pernyataan ASSIGN di %L membutuhkan sebuah skalar baku variabel INTEGER"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr "Pernyataan aritmetik IF di %L membutuhkan sebuah ekspresi numerik"
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "Kondisi keluar dari loop DO WHILE di %L harus berupa sebuah ekspresi skalar LOGIKAL"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL mask clause at %L requires a LOGICAL expression"
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "FORALL mask clause di %L membutuhkan sebuah ekspresi LOGIKAL"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
 msgstr "Mengikat label '%s' untuk blok umum '%s' di %L collides dengan global entiti '%s' di %L"
 
 #. Common block names match but binding labels do not.
-#: fortran/resolve.c:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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 "Binding label '%s' untuk blok umum '%s' di %L tidak cocok dengan binding label '%s' untuk blok umum '%s' di %L"
 
-#: fortran/resolve.c:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
 msgstr "Binding label '%s' untuk blok umum '%s' di %L collides dengan global entity '%s' di %L"
 
 #. Make sure global procedures don't collide with anything.
-#: fortran/resolve.c:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
 msgstr "Binding label '%s' di %L collides dengan global entity '%s' di %L"
 
 #. Make sure procedures in interface bodies don't collide.
-#: fortran/resolve.c:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr "Binding label '%s' dalam antar-muka tubuh di %L collides dengan global entity '%s' di %L"
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr "Binding label '%s' di %L collides dengan global entity '%s' di %L"
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array %qs is too large"
 msgid "String length at %L is too large"
 msgstr "ukuran dari array %qs adalah terlalu besar"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr "Array dapat dialokasikan '%s' di %L harus memiliki sebuah bentuk deferred"
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr "Objek skalar '%s' di %L mungkin tidak dapat DIALOKASIKAN"
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "Penunjuk array '%s' di %L harus memiliki sebuah bentuk deffered"
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "Array '%s' di %L tidak dapat memiliki sebuah bentuk deferred"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The type for function '%s' at %L is not accessible"
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "Tipe dari fungsi '%s' di %L tidak dapat diakses"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr "Tipe '%s' tidak dapat host assosiasi di %L karena ini diblok dengan sebuah objek tidak kompatibel dari nama sama yang dideklarasikan di %L"
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr "Modul atau array aplikasi utama '%s' di %L harus memiliki bentuk konstan"
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "Entity dengan panjang karakter diasumsikan di %L harus berupa sebuah argumen dummy atau sebuah PARAMETER"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr "'%s' di %L harus memiliki panjang karakter konstan dalam konteks ini"
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L must have constant character length in this context"
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "'%s' di %L harus memiliki panjang karakter konstan dalam konteks ini"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "Dapat dialokasikan '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "Eksternal '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "Dummy '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "Intrinsik '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "Hasil fungsi '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "Array otomatis '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr "Pernyataan fungsi nilai-karakter '%s' di %L harus memiliki panjang konstant"
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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' adalah sebuah tipe PRIVATE dan tidak dapat berupa sebuah argumen dummy dari '%s', yang mana ini adalah PUBLIK di %L"
 
-#: fortran/resolve.c:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr "Fortran 2003: Prosedur '%s' dalam antar-muka PUBLIK '%s' di %L memakai argumen dummy dari '%s' dimana ini adalah PRIVATE"
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "Fungsi '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "Objek eksternal '%s' di %L tidak boleh memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr "Fungsi ELEMEN '%s' di %L harus memiliki sebuah hasil skalar"
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "Pernyataan fungsi '%s' di %L tidak diperbolehkan sebagai argumen aktual"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-array"
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat bernilai-penunjuk"
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat pure"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat rekursif"
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "Fungsi KARAKTER(*) '%s' di %L tidak dapat pure"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut SAVE dalam '%s' di %L"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut NAMELIST dalam '%s' di %L"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "Prosedur FINAL '%s' di %L bukan sebuah SUBROUTINE"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "Prosedur FINAL di %L harus memiliki tepat satu argumen"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "Argumen dari prosedur FINAL di %L harus berupa tipe '%s'"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "argumen dari prosedur FINAL di %L harus berupa sebuah PENUNJUK"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "Argumen dari prosedur FINAL di %L harus berupa DAPAT-DIALOKASIKAN"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "Argumen dari prosedur FINAL di %L tidak boleh berupa OPSIONAL"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "Argumen dari prosedur FINAL di %L harus berupa INTENT(OUT)"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Prosedur FINAL bukan skalar di %L seharusnya memiliki diasumsikan argumen bentuk"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "prosedur FINAL '%s' dideklarasikan di %L memiliki tingkat yang sama (%d) seperti '%s'"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr "Hanya array prosedur FINAL dideklarasikan untuk tipe turunan '%s' didefinisikan di %L, disarankan juga skalar satu"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Finalisasi di %L belum diimplementasikan"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr "'%s' dan '%s' tidak dapat dicampurkan FUNCTION/SUBROUTINE untuk GENERIC '%s' di %L"
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr "'%s' dan '%s' untuk GENERIC '%s' di %L adalah ambigu"
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr "Tidak terdefinisi pengikatan spesifik '%s' sebagai target dari GENERIC '%s' di %L"
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr "GENERIC '%s' di %L harus target sebuah pengikatan spesifik, '%s' adalah GENERIC, juga"
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr "GENERIC '%s' di %L tidak dapat overwrite pengikatan spesifik dengan nama sama"
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "'%s' harus berupa sebuah prosedur modul atau sebuah prosedur eksternal dengan sebuah antar-muka eksplisit di %L"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Prosedur '%s' dengan PASS(%s) di %L tidak memiliki argumen '%s'"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Prosedur '%s' dengan PASS di %L harus memiliki paling tidak satu argumen"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Polymorphic entities are not yet implemented, non-polymorphic passed-object dummy argument of '%s' at %L accepted"
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "entiti polymorphic belum diimplementasikan, bukan polymorphic objek argumen dummy dilewatkan dari '%s' di %L diterima"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Passed-object at %L must be scalar"
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "Objek yang dilewatkan di %L harus berupa skalar"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa DAPAT-DIALOKASIKAN"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "'%s' argumen dari '%s' instrinsik di %L harus berupa sebuah PENUNJUK"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "Prosedur '%s' di %L memiliki nama sama sebagai sebuah komponen dari '%s'"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "Prosedur '%s' di %L memiliki nama sama seperti sebuah komponen turunan dari '%s'"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr "Tipe turunan '%s' dideklarasikan di %L harus memiliki atribut BIND ke Cinteroperable"
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr "Bukan ekstensible tipe turunan '%s' di %L tidak boleh berupa ABSTRACT"
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array pointer '%s' at %L must have a deferred shape"
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "Penunjuk array '%s' di %L harus memiliki sebuah bentuk deffered"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr "'%s' di %L tidak dapat memiliki VALUE atribut karena ini bukan sebuah argumen dummy"
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "Antar-muka '%s', digunakan oleh prosedur '%s' di %L, dideklarasikan dalam pernyataan PROSEDUR kemudian"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Interface '%s' of procedure '%s' at %L must be explicit"
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "Antar-muka '%s' dari prosedur '%s' di %L harus berupa eksplisit"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Prosedur '%s' dengan PASS(%s) di %L tidak memiliki argumen '%s'"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Prosedur '%s' dengan PASS di %L harus memiliki paling tidak satu argumen"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Argumen '%s' dari '%s' dengan PASS(%s) di %L harus berupa tipe turunan '%s'"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Argumen '%s' dari prosedur elemental di %L tidak dapat memiliki atribut POINTER"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "'%s' argumen dari '%s' intrinsik di %L harus berupa DAPAT-DIALOKASIKAN"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "Komponen '%s' dari '%s' di %L memiliki nama sama dengan prosedur yang melingkupinya"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr "Panjang karakter dari komponen '%s' butuh untuk menjadi sebuah ekspresi spesifikasi konstan di %L"
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr "Fortran 2003: Komponen '%s' adalah sebuah tipe PRIVATE dan tidak dapat berupa sebuah komponen dari '%s', yang mana adalah PUBLIK di %L"
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "Komponen %s dari tipe URUTAN dideklarasikan di %L tidak dapat memiliki atribut URUTAN"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr "Komponen penunjuk '%s' dari '%s' di %L adalah sebuah tipe yang belum pernah dideklarasikan"
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "Prosedur '%s' dengan PASS di %L harus memiliki paling tidak satu argumen"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Ukuran array yang diasumsikan '%s' dalam daftar nama '%s' di %C tidak diperbolehkan"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "NAMELIST array objek '%s' tidak boleh memiliki bentuk yang diasumsikan dalam daftar-nama '%s' di %L"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr "NAMELIST array objek '%s' harus memiliki bentuk konstan dalam daftar-nama '%s' di %L"
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr "NAMELIST array objek '%s' harus memiliki bentuk konstan dalam daftar-nama '%s' di %L"
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr "NAMELIST objek '%s' dalam daftar-nama '%s' di %L tidak dapat memiliki komponen PENUNJUK"
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
@@ -45402,331 +45397,331 @@ msgstr "NAMELIST objek '%s' dalam daftar-nama '%s' di %L tidak dapat memiliki ko
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr "NAMELIST objek '%s' dalam daftar-nama '%s' di %L tidak dapat memiliki komponen DAPAT DIALOKASIKAN"
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr "NAMELIST objek '%s' telah dideklarasikan PRIVATE dan tidak dapat berupa anggota dari PUBLIK namelist '%s' di %L"
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr "NAMELIST objek '%s' memiliki use-associated komponen PRIVATE dan tidak dapat berupa anggota dari daftar-nama '%s' di %L"
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr "NAMELIST objek '%s' meemiliki komponen PRIVATE dan tidak dapat berupa anggota dari PUBLIK daftar-nama '%s' di %L"
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut NAMELIST dalam '%s' di %L"
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr "Parameter array '%s' di %L tidak dapat berupa otomatis atau bentuk deferred"
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr "Tipe PARAMETER secara implisit '%s' di %L tidak cocok dengan tipe IMPLISIT kemudian"
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "Tipe turunan tidak kompatibel dalam PARAMETER di %L"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "atribut PROSEDUR konflik dengan atribut INTENT dalam '%s' di %L"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "Ukuran array yang diasumsikan di %L harus berupa sebuah argumen dummy"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "Bentuk array yang diasumsikan di %L harus berupa sebuah argumen dummy"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "Simbol di %L bukan sebuah variabel DUMMY"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr "'%s' di %L tidak dapat memiliki VALUE atribut karena ini bukan sebuah argumen dummy"
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr "Karakter dummy variabel '%s' di %L dengan atribut NILAI harus memiliki panjang konstant"
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr "C interoperable karakter dummy variabel '%s' di %L dengan atribut NILAI harus memiliki panjang satu"
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr "Tipe turunana '%s' di %L adalah tipe '%s',  yang mana belum didefinisikan"
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr "Variabel '%s' di %L tidak dapat berupa BIND(C) karena ini bukan sebuah blok UMUM atau dideklarasikan dalam tingkat cakupan modul"
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr "Fortran 2003: PUBLIK %s '%s' di %L dari tipe turunan '%s' PRIVATE"
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr "INTENT(OUT) dummy argumen '%s' di %L adalah UKURAN DIASUMSIKAN dan jadi tidak dapat memiliki sebuah penginisialisasi baku"
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Dummy argumen '%s' di %L tidak dapat berupa INTENT(OUT)"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "Hasil fungsi '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "Array '%s' di %L tidak dapat memiliki sebuah bentuk deferred"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "Array dapat dialokasikan '%s' di %L harus memiliki sebuah bentuk deferred"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "Prosedur dummy di %L tidak diperbolehkan dalam prosedur ELEMENTAL"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "Threadprivate di %L bukan SAVEd"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr "DATA BLOK elemen '%s' di %L harus berupa dalam COMMON"
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr "DATA array '%s' di %L harus dispesifikasikan dalam sebuah deklarasi sebelumnya"
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy '%s' at %L cannot have an initializer"
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "Dummy '%s' di %L tidak dapat memiliki sebuah penginisialisasi"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "Daerah array tidak konstant di %L dalam pernyataan DATA"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "pernyataan DATA di %L memiliki lebih variabel daripada nilai"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "pernyataan DATA di %L memiliki lebih banyak nilai daripada variabel"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Label %d di %L didefinisikan tetapi tidak digunakan"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "Label %d di %L didefinisikan tetapi tidak dapat digunakan"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr "Tipe variabel turunan '%s' di %L harus memiliki atribut URUTAN untuk menjadi sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr "Tipe variabel turunan '%s' di %L tidak dapat memiliki komponen DAPAT DIALOKASIKAN untuk menjadi sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr "Tipe variabel turunan '%s' di %L dengan inisialisasi baku tidak dapat berada dalam EKUIVALEN dengan sebuah variabel dalam COMMON"
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr "Tipe variabel turunan '%s' di %L dengan komponen penunjuk tidak dapat berupa sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "Sintaks error dalam pernyataan EKUIVALEN di %L"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr "Baik semua atau kosong dari objek dalam EKUIVALEN set di %L yang memiliki atribut TERPROTEKSI"
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr "Anggota blok umum '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN dalam prosedur pure '%s'"
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "Konstanta bernama '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr "Array '%s' di %L dengan cakupan tidak-konstan tidak dapat berupa sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "Komponen struktur '%s' di %L tidak dapat berupa sebuah objek EKUIVALEN"
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "Substring di %L memiliki panjang nol"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Fortran 2003: Fungsi PUBLIK '%s' di %L dari tipe '%s' PRIVATE"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "MASUKAN '%s' di %L tidak memiliki tipe IMPLISIT"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr "Prosedur operator pengguna '%s' di %L harus berupa sebuah FUNGSI"
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr "Prosedur operator pengguna '%s' di %L tidak dapat berupa panjang karakter diasumsikan"
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr "Prosedur operator pengguna '%s' di %L harus memiliki paling tida satu argumen"
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "Argumen pertama dari antar-muka operator di %L tidak dapat berupa pilihanonal"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "Argumen kedua dari antar-muka operator di %L tidak dapat berupa pilihanonal"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "Antar-muka operator di %L harus memiliki, paling tidak, dua argumen"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr "Prosedur berisi '%s' di %L dari sebuah prosedur PURE harus juga berupa PURE"
@@ -45896,34 +45891,34 @@ msgstr "Besar dari argumen kedua dari ISHFT melampaui ukuran bit di %L"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr "Besar dari argumen kedua dari ISHFTC melampaui BIT_SIZE dari argumen pertama di %L"
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "DIM argumen di %L diluar dari cakupan"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr "Argumen dari LOG di %L tidak dapat lebih kecil atau sama dengan nol"
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr "Kompleks argumen dari LOG di %L tidak dapat berupa nol"
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr "Argumen dari LOG10 di %L tidak dapat lebih kecil atau sama dengan nol"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr "Argumen kedua MOD di %L adalah nol"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "Argumen kedua dari MOD di %L adalah nol"
@@ -45931,47 +45926,47 @@ msgstr "Argumen kedua dari MOD di %L adalah nol"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "Argumen kedua dari MODULE di %L adalah nol"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "Hasil dari NEAREST adalah NaN di %L"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr "Argumen NCOPIES dari REPEAT intrinsik adalah negatif di %L"
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr "Argumen NCOPIES dari REPEAT intrinsik adalah terlalu besar di %L"
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "Hasil dari overflow SKALA jenisnya di %L"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "Argumen dari SQRT di %L memiliki sebuah nilai negatif"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr "Karakter '%s' dalam string di %L tidak dapat diubah kedalam jenis karakter %d"
@@ -46348,18 +46343,18 @@ msgstr "Overlapping tidak sama penginisialisasi dalam EKUIVALEN di %L"
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr "BOZ konstan di %L terlalu besar (%ld vs %ld bits)"
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr "Membuat array sementara di %L untuk argumen '%s'"
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, fuzzy, gcc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr "Kemungkinan frontend bug: Ukuran array yang diturunkan tanpa penunjuk, atribut yang dapat dialokasikan atau tipe turunan tanpa komponen yang dapat dialokasikan."
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "tipe ekspresi buruk selama walk (%d)"
@@ -47007,19 +47002,19 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "diduga nama yang dikualifikasikan dalam deklarasi friend untuk destruktor %qD"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not open response file %s"
 msgid "could not parse file offset"
 msgstr "tidak dapat membuka berkas response %s"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected offset"
@@ -47031,76 +47026,76 @@ msgstr "operan tidak terduga"
 msgid "invalid line in the resolution file"
 msgstr "register tidak valid dalam instruksi"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "register tidak valid dalam instruksi"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot find class %qs"
 msgid "cannot read LTO decls from %s"
 msgstr "tidak dapat menemukan class %qs"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "tidak dapat membuka %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "tidak dapat membuka %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "tidak dapat membuka %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening LTRANS output list %s: %m"
 msgstr "membuka berkas keluaran %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 #| msgid "when writing output to %s: %m"
 msgid "writing to LTRANS output list %s: %m"
 msgstr "ketika menulis keluaran ke %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "closing LTRANS output list %s: %m"
 msgstr "membuka berkas keluaran %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "could not open response file %s"
 msgid "could not open symbol resolution file: %m"
 msgstr "tidak dapat membuka berkas response %s"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index aa948ac..c05f5c4 100644 (file)
Binary files a/gcc/po/ja.gmo and b/gcc/po/ja.gmo differ
index f4fc550..6083971 100644 (file)
@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.6.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2011-10-30 18:48+0900\n"
 "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -38,7 +38,7 @@ msgstr "<無名>"
 msgid "({anonymous})"
 msgstr "({無名})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "行末 (EOL) が予期されます"
@@ -48,8 +48,8 @@ msgstr "行末 (EOL) が予期されます"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "%<;%> が予期されます"
@@ -61,13 +61,13 @@ msgstr "%<;%> が予期されます"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "%<(%> が予期されます"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "%<,%> が予期されます"
@@ -83,14 +83,14 @@ msgstr "%<,%> が予期されます"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "%<)%> が予期されます"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "%<]%> が予期されます"
@@ -99,25 +99,25 @@ msgstr "%<]%> が予期されます"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "%<;%>、%<,%> または %<)%> が予期されます"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "%<}%> が予期されます"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "%<{%> が予期されます"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "%<:%> が予期されます"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "%<while%> が予期されます"
@@ -126,34 +126,34 @@ msgstr "%<while%> が予期されます"
 msgid "expected %<.%>"
 msgstr "%<.%> が予期されます"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "%<@end%> が予期されます"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "%<>%> が予期されます"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "%<,%> または %<)%> が予期されます"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "%<=%> が予期されます"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "%<#pragma omp section%> または %<}%> が予期されます"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "%<[%> が予期されます"
@@ -330,12 +330,12 @@ msgstr "'%%l' 被演算子が label ではありません"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "浮動小数定数を使い損ねました"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "被演算子として無効な式です"
@@ -1428,20 +1428,20 @@ msgstr "認識できない命令:"
 msgid "insn does not satisfy its constraints:"
 msgstr "命令が制約を満たしません:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "作成時と使用時で '%s' の設定が異なります"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "メモリが足りません"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "作成時と使用時で -fpic の設定が異なります"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "作成時と使用時で -fpie の設定が異なります"
 
@@ -2045,197 +2045,197 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "整数定数を共有するための上限値"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "プリフェッチが完了する前に実行される命令数"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "同時に実行可能なプリフェッチの数"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "L1 キャッシュサイズ"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "L2 キャッシュサイズ"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "SCoP 内のパラメータの最大数"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 #, fuzzy
 #| msgid "Maximum number of nops to insert for a hint (Default 2)"
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "ヒント用に挿入される nops の最大数 (デフォルト: 2)"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2568,18 +2568,18 @@ msgid "invalid %%r value"
 msgstr "無効な %%r 値"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "無効な %%R 値"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "無効な %%N 値"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "無効な %%P 値"
@@ -2594,12 +2594,12 @@ msgstr "無効な %%h 値"
 msgid "invalid %%L value"
 msgstr "無効な %%L 値"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "無効な %%m 値"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "無効な %%M 値"
@@ -2610,7 +2610,7 @@ msgid "invalid %%U value"
 msgstr "無効な %%U 値"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "無効な %%s 値"
@@ -2620,7 +2620,7 @@ msgstr "無効な %%s 値"
 msgid "invalid %%C value"
 msgstr "無効な %%C 値"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "無効な %%E 値"
@@ -2631,39 +2631,39 @@ msgid "unknown relocation unspec"
 msgstr ""
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "無効な %%xn コード"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "述語付き Thumb 命令"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "条件シーケンスにある述語付き命令"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "コード '%c' に対する無効な被演算子です"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "無効なシフト被演算子"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2671,85 +2671,85 @@ msgstr "無効なシフト被演算子"
 msgid "invalid operand for code '%c'"
 msgstr "コード '%c' に対する無効な被演算子です"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "命令は決して実行されません"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "被演算子がありません"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "関数パラメータは __fp16 型を持てません"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "関数が __fp16 型を返しません"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "アドレス被演算子は X、Y または Z レジスタに対する制約を要求します"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "出力被演算子 %d は %<&%> 制約を使用しなければいけません"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "誤ったアドレスです。(reg+disp) ではありません:"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "bad address, not a constant):"
 msgid "bad address, not a constant:"
 msgstr "誤ったアドレスです。定数ではありません):"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "誤ったアドレスです。(reg+disp) ではありません:"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "誤ったアドレスです。post_inc または pre_dec ではありません:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "コンパイラ内部エラー。誤ったアドレス:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "コンパイラ内部エラー。不明なモード:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "無効な命令:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "正しくない命令:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "不明な move 命令:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "誤ったシフト命令:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "コンパイラ内部エラー。正しくないシフト:"
 
@@ -2765,7 +2765,7 @@ msgstr "無効な const_double 被演算子"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2995,73 +2995,73 @@ msgstr "誤った output_move_double 被演算子"
 msgid "bad output_condmove_single operand"
 msgstr "誤った output_condmove_single 被演算子"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "被演算子として無効な UNSPEC です"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "局所動的 TLS 参照無しで '%%&' が使用されました"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "演算子コード '%c' に対する無効な被演算子サイズです"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "被演算子コード '%c' に無効な被演算子型が使用されました"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "被演算子は定数でも条件コードでもありません。無効な被演算子コード 'C' です"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "被演算子は定数でも条件コードでもありません。無効な被演算子コード 'F' です"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "被演算子は定数でも条件コードでもありません。無効な被演算子コード 'c' です"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "被演算子は定数でも条件コードでもありません。無効な被演算子コード 'f' です"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'D'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "被演算子は条件コードではありません。無効な被演算子コード 'D' です"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "被演算子は条件コードではありません。無効な被演算子コード 'Y' です"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "無効な被演算子コード '%c' です"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "演算子に対する無効な制約です"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "不明な命令モード"
 
@@ -3112,13 +3112,13 @@ msgstr "%<__fpreg%> への無効な変換です"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "%<__fpreg%> に関する無効な操作です"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "無効な %%p 値です"
@@ -3197,7 +3197,7 @@ msgid "post-increment address is not a register"
 msgstr "後置増分アドレスがレジスタではありません"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "誤ったアドレスです"
 
@@ -3332,115 +3332,115 @@ msgstr "スタック空間が足りなくなりました。\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "'%s' をシェル内で実行して制限値を上げてください\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx はハードウェア浮動小数を要求します"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx と -mpaired は併用できません"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "-mvsx がリトルエンディアンコードで使用されました"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx と -mno-altivec は併用できません"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec は vsx を無効にします"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "誤った move です"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "無効な %%c 値です"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "無効な %%f 値です"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "無効な %%F 値です"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "無効な %%G 値です"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "無効な %%j コードです"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "無効な %%J コードです"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "無効な %%k 値です"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "無効な %%K 値です"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "無効な %%O 値です"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "無効な %%q 値です"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "無効な %%S 値です"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "無効な %%T 値です"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "無効な %%u 値です"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "無効な %%v 値です"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "無効な %%x 値です"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "無効な %%y 値です。'Z' 制約を使用してみてください"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "プロトタイプが無い関数に AltiVec 引数が渡されました"
 
@@ -3529,25 +3529,25 @@ msgstr "出力修飾子 '%c' 用の無効な式です"
 msgid "invalid operand for code: '%c'"
 msgstr "コード '%c' に対する無効な被演算子です"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R への無効な被演算子です"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S への無効な被演算子です"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "作成時と使用時で アーキテクチャ/ABI が異なります"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "作成時と使用時で ABI が異なります"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "作成時と使用時でエンディアンが異なります"
 
@@ -3566,14 +3566,14 @@ msgstr "無効な %%A 被演算子です"
 msgid "invalid %%B operand"
 msgstr "無効な %%B 被演算子です"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%C operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%D operand"
@@ -3619,65 +3619,65 @@ msgstr "'o' 被演算子が定数ではありません"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: 不明なコードです"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "無効な %%c 被演算子です"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "無効な %%d 被演算子です"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%L code"
 msgid "invalid %%H specifier"
 msgstr "無効な %%L コードです"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "無効な %%c 被演算子です"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "無効な %%P 被演算子です"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "'b' 修飾子に対する無効な被演算子"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4008,7 +4008,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "候補:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4385,11 +4385,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "代入"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 msgid "pointer assignment"
 msgstr "代入"
@@ -4398,124 +4398,124 @@ msgstr "代入"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 msgid "internal function"
 msgstr "内部エラー"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE オブジェクト"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr "ALLOCATE オブジェクト"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr "STAT 変数"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr "ERRMSG 変数"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4524,7 +4524,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4852,6 +4852,18 @@ msgstr "mthreads と mlegacy-threads は併用できません"
 msgid "cannot use mshared and static together"
 msgstr "mshared と static は併用できません"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4945,26 +4957,10 @@ msgstr "GNU Objective C は伝統的なコンパイルを既にサポートし
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr "objc-cpp-output は廃止されました。代わりに objective-c-cpp-output を使用してください"
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared オプションは VAX ELF 用には現在はサポートされていません"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran は -cpp 無しでの -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 "-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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a はリトルエンディアンをサポートしていません"
@@ -4977,6 +4973,10 @@ msgstr " 競合しているコード生成スタイルスイッチが使用さ
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr "objc++-cpp-output は廃止されました。代わりに objective-c++-cpp-output を使用してください"
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared オプションは VAX ELF 用には現在はサポートされていません"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "-mg でのプロファイルはサポートされていません"
@@ -7744,7 +7744,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Renesas (以前の Hitachi) / SuperH 呼び出し規約に従う"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "浮動小数点コードで IEEE 適合性を高める"
 
 #: config/sh/sh.opt:278
@@ -12063,244 +12065,240 @@ msgstr "共有ライブラリを作成する"
 msgid "Create a position independent executable"
 msgstr "位置非依存実行可能ファイルを生成する"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr "無効な型の使用法です"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr "定数が自身を参照しています"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "数値型が予期されます"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "expected integer or boolean type"
 msgid "expected boolean type"
 msgstr "整数または真偽型が予期されます"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "整数または真偽型が予期されます"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 msgid "invalid operand for unary %<&%>"
 msgstr "単項演算子 %<&%> への無効な被演算子です"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "ポインタが予期されます"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr "被演算子が非整数型のシフト演算です"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr "シフト数が符号無し整数ではありません"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr "負のシフト数です"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "オブジェクトがメソッドではありません"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr "メソッド型がオブジェクト型に一致しません"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to built-in function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "組み込み関数への無効な引数です"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "十分な引数がありません"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "引数が多すぎます"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "argument 1 must be a map"
 msgstr "引数は定数でなければいけません"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 msgid "invalid type for make function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "'A' 用の誤った命令です"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments to %qE"
 msgid "too many arguments to make"
 msgstr "%qE への引数が多すぎます"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 msgid "unsupported argument type to builtin function"
 msgstr "組み込み関数へのサポートされていない引数の型です"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 msgid "argument must be a field reference"
 msgstr "引数はフィールド参照でなければいけません"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr "要素の型が同じでなければいけません"
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "last argument must be an immediate"
 msgid "first argument must be []byte"
 msgstr "最後の引数は即値でなければいけません"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "second argument must be slice or string"
 msgstr "引数は定数でなければいけません"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "parameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "仮引数 %u が void 型を持っています"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr "引数は複素数型でなければいけません"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 msgid "complex arguments must have identical types"
 msgstr "引数は複素数型でなければいけません"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 msgid "complex arguments must have floating-point type"
 msgstr "引数は複素数型でなければいけません"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "トップレベルでの `this' の使用は無効です"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "関数が予期されます"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "非メンバ関数での `this' の使用は無効です"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr "結果の数が値の数と一致しません"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "添え字は整数でなければいけません"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr "インターフェースまたはインターフェースへのポインタが予期されます"
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr "無効な unsafe.Pointer 変換です"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12338,19 +12336,23 @@ msgstr "return 文内の値が多すぎます"
 msgid "expected boolean expression"
 msgstr "真偽式が予期されます"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12650,7 +12652,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%K %<__builtin_va_arg_pack ()%> の無効な使用法です"
@@ -12744,13 +12746,13 @@ msgstr "%K ヒープではないオブジェクトを free する試みです"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void の値が本来の意味通りに無視されませんでした"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "非スカラー型への変換が要求されます"
@@ -13125,7 +13127,7 @@ msgstr ""
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE が誤った種類のタグとして宣言されました"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "%<restrict%> の誤った使用法です"
@@ -13256,7 +13258,7 @@ msgstr "可変長オブジェクトが初期化されないようです"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "変数 %qD には初期化子がありますが不完全型です"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "noinline 属性が与えられたインライン関数 %q+D です"
@@ -13266,7 +13268,7 @@ msgstr "noinline 属性が与えられたインライン関数 %q+D です"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "%qT 内の初期化されない定数メンバは C++ では無効です"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%qD は初期化されるべきです"
@@ -14177,7 +14179,7 @@ msgstr "引数 %qD が組み込みプロトタイプと一致しません"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "引数 %qD がプロトタイプと一致しません"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "非 void を戻す関数内に return 文がありません"
@@ -14380,7 +14382,7 @@ msgstr "ISO C では関数外での余分な %<;%> を許可していません"
 msgid "unknown type name %qE"
 msgstr "不明な型名 %qE です"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "宣言指定が予期されます"
@@ -14390,7 +14392,7 @@ msgstr "宣言指定が予期されます"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "%<;%>、識別子または %<(%> が予期されます"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
@@ -14438,7 +14440,7 @@ msgstr "ISO C99 は %<_Static_assert%> をサポートしません"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 は %<_Static_assert%> をサポートしません"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "文字列リテラルが予期されます"
@@ -14470,8 +14472,8 @@ msgstr "静的アサーションに失敗しました: %E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "識別子が予期されます"
@@ -14814,78 +14816,78 @@ msgstr "objective-c メソッド定義が予期されます"
 msgid "no type or storage class may be specified here,"
 msgstr "型または記憶域クラスがここで指定されていません、"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "不明な property 属性です"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%<setter%> 属性は一回のみ指定できます"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr "setter 名は %<:%> で終端されなければいけません"
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%<getter%> 属性は一回のみ指定できます"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> は複合文内でのみ使用できます"
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%> は複合文内でのみ使用できます"
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> は複合文内でのみ使用できます"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> は複合文内でのみ使用できます"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> は最初に無ければいけません"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "%qs 句が多すぎます"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "%<none%> または %<shared%> が予期されます"
@@ -14900,44 +14902,44 @@ msgstr "整数式が予期されます"
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%> 値は正でなければいけません"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%> または %<||%> が予期されます"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "スケジュール %<runtime%> は %<chunk_size%> 仮引数をとりません"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "スケジュール %<auto%> は %<chunk_size%> 仮引数をとりません"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "`無効なスケジュールの種類です"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "%<#pragma omp%> 句が予期されます"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs は %qs 用には有効ではありません"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operator for %<#pragma omp atomic%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "%<#pragma omp atomic%> 用の無効な演算子です"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "%<#pragma omp atomic%> 用の無効な演算子です"
@@ -14947,7 +14949,7 @@ msgstr "%<#pragma omp atomic%> 用の無効な演算子です"
 msgid "expected %<(%> or end of line"
 msgstr "%<(%> またはファイル終端 (EOF) が予期されます"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "for 文が予期されます"
@@ -14962,12 +14964,12 @@ msgstr ""
 msgid "not enough perfectly nested loops"
 msgstr "ループが完全な入れ子になっていません"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -14992,27 +14994,27 @@ msgstr "自動変数 %qE は %<threadprivate%> になることは出来ません
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%> %qE は不完全型を持っています"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15793,7 +15795,7 @@ msgstr "小括弧で括られた文字列定数で配列が初期化されてい
 msgid "initialization of a flexible array member"
 msgstr "可変配列メンバを初期化しています"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "ワイド文字列から char 配列が初期化されています"
@@ -15999,226 +16001,226 @@ msgstr "void を戻す関数内に値が有る %<return%> があります"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "ISO C は void を戻す関数内で、式をがある %<return%> を禁止しています"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "関数が局所変数のアドレスを返します"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch の内容が整数ではありません"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "ISO C では %<long%> による switch 文は %<int%> による switch に変換されます"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "case ラベルは整数定数式に出来ません"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "switch 文の外にある case ラベルです"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "switch 文の外にある %<default%> ラベルです"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%<else%> が曖昧になることを避けるために明示的に中括弧で括ることを推奨します"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "ループまたは switch 文の外にある break 文です"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "ループの外にある continue 文です"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "OpenMP のループ用に break 文が使用されています"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "効果がない文です"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "式の中の文に不完全型があります"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "右シフト回数が負です"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "右シフト回数 >= 型の幅となっています"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "左シフト回数が負です"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "左シフト回数 >= 型の幅となっています"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about comparison of different enum types"
 msgid "comparing vectors with different element types"
 msgstr "異なる列挙型の比較に関して警告する"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, fuzzy, gcc-internal-format
 #| msgid "different number of results"
 msgid "comparing vectors with different number of elements"
 msgstr "結果の数が異なります"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "浮動小数点の比較で == や != を使うのは安全ではありません"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C は %<void *%> と関数ポインタの比較を禁止しています"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "型が全く異なるポインタの比較でキャストを欠いています"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "ポインタと整数との比較を行なっています"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "完全なポインタと不完全なポインタとの比較です"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C 関数ポインタの順序比較を禁じます"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "NULL ポインタがあるポインタの順序比較です"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "整数 0 とポインタとの順序比較です"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "スカラーが必要な場所にポインタに変換できない配列が使用されています"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "スカラーが必要な場所で構造体型の値が使用されています"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "スカラーが必要な場所で共用体型の値が使用されています"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "スカラーが必要な場所で構造体型の値が使用されています"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE は %<reduction%> 用の無効な型を持っています"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE は %<reduction(%s)%> 用の無効な型を持っています"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE は %<threadprivate%> (%<copyin%> 用として) でなければいけません"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE は句 %qs 内では変数ではありません"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE がデータ句内で二回以上出現しています"
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE は %<firstprivate%> 句内では変数ではありません"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE は %<lastprivate%> 句内では変数ではありません"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE は %qs (%qs 用) として前もって決められています"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17247,7 +17249,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17368,12 +17370,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "帯域レジスタ変数 %qD が入れ子になった関数内で使用されています"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr ""
@@ -17458,27 +17460,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "局所オブジェクトの総サイズが大きすぎます"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%> 内で制約を行うことは出来ません"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "変数 %q+D が %<longjmp%> または %<vfork%> によって破壊されるかもしれません"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "引数 %q+D が %<longjmp%> または %<vfork%> によって破壊されるかもしれません"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "関数が集合体を返します"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "仮引数 %q+D が未使用です"
@@ -17907,62 +17909,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr "%<void%> を返す関数の結果を使用しています"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr ""
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification に失敗しました"
@@ -18167,48 +18169,48 @@ msgstr "変数 %qD が関数として再宣言されました"
 msgid "function %qD redeclared as variable"
 msgstr "関数 %qD が変数として再宣言されました"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "OpenMP 構造化ブロックへの無効なエントリです"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "OpenMP 構造化ブロックへ/からの無効な分岐です"
@@ -18304,12 +18306,12 @@ msgstr "%s はこのコンフィギュレーションではサポートされま
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上では巻き戻し (unwind) 情報をサポートしません"
@@ -18684,8 +18686,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "%qs を固定レジスタとして使用できません"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "不明なレジスタ名です: %s"
@@ -18992,7 +18994,7 @@ msgstr "packed 属性は非効率な整列の原因となります"
 msgid "packed attribute is unnecessary"
 msgstr "packed 属性は必要ありません"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "配列要素の整列が要素のサイズより大きいです"
@@ -19012,12 +19014,12 @@ msgstr "入れ子になった関数はこのターゲットではサポートさ
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "target 属性はこのマシン上ではサポートされていません"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma GCC target はこのマシン用にはサポートされていません"
@@ -19212,7 +19214,7 @@ msgstr "テンプレート型統一中 `%s' が使用されました"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19227,7 +19229,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19242,7 +19244,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr ""
@@ -19279,7 +19281,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "大域 register 変数が関数定義の後ろにあります"
@@ -19909,118 +19911,118 @@ msgstr "ダンプファイル %qs を開けませんでした: %m"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "不明なオプション %q.*s (%<-fdump-%s%> 内) を無視しています"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "関数 %q+F は非局所 goto を受け取るため決して複製されません"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "関数 %q+F は静的変数内の局所ラベルのアドレスを保存するため、決して複写されません"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "関数 %q+F は setjmp を使用しているため決してインライン化されません"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "関数 %q+F は可変引数リストを使用しているため決してインライン化されません"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "関数 %q+F は非局所 goto を使用しているため決してインライン化されません"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "関数 %q+F はインライン化と競合する属性を使用しているため決してインライン化されません"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "%q+F 呼び出しのインライン化に失敗しました: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "ここから呼び出されました"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "%q+F 呼び出しのインライン化に失敗しました: %s"
@@ -20056,7 +20058,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "%q+D の戻り値のサイズが %wd バイトより大きいです"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA が破損しています"
@@ -20302,72 +20304,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "配列の添字が配列境界の外にあります"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "配列の添字が配列の境界を上回っています"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "配列の添字が配列の境界を下回っています"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "データ型の範囲制限により比較が常に偽 (false) となります"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "データ型の範囲制限により比較が常に真 (true) となります"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "%</%> または %<%%%> を %<>>%> または %<&%> へ単純化するときに符号のオーバーフローが発生しないと見なしています"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "%<abs (X)%> を %<X%> または %<-X%> へ単純化するときに符号のオーバーフローが発生しないと見なしています"
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "定義した後に %qT に適用される属性を無視しています"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D は既に dllexport 属性と宣言されています: dllimport は無視されます"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D は dll からの参照後に dllimport 属性無しで再宣言されました"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D は dllimport 属性無しで再宣言されました: 前の dllimport は無視されます"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20381,141 +20383,141 @@ msgstr "%q+D は dllimport 属性無しで再宣言されました: 前の dllim
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE 属性は無視されました"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "インライン関数 %q+D は dllimport として宣言されました: 属性が無視されました"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "関数 %q+D 定義は dllimport としてマークされています"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "変数 %q+D 定義は dllimport としてマークされています"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "シンボル %q+D 用に外部リンクが要求されます (%qE 属性のため)"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qE は暗黙的にデフォルトの可視性となりますが、%qD は既に異なる可視性として宣言されています"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "関数の配列は意味がありません"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "関数の返す型が関数であってはなりません"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qD は廃止されました (宣言位置 %s:%d): %s"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qD は廃止されました (宣言位置 %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qE は廃止されました (宣言位置 %s:%d): %s"
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qE は廃止されました (宣言位置 %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "型は廃止されました (宣言位置 %s:%d): %s"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "型は廃止されました (宣言位置 %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%qE は廃止されました: %s"
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%qE は廃止されました"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "型は廃止されました: %s"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "型は廃止されました"
@@ -20735,12 +20737,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -20755,8 +20757,8 @@ msgstr "%qD は関数スコープの外側で定義されていません"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "文字列長 %qd は長さ %qd (ISO C%d コンパイラでサポートが要求される長さ) より長いです"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "定数式内でオーバーフローしました"
@@ -21386,40 +21388,40 @@ msgstr "%qE 属性は %qE 用としては無視されます"
 msgid "invalid vector type for attribute %qE"
 msgstr "%qE 属性用としては無効なベクトル型です"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "ベクトルのサイズが要素のサイズの整数倍ではありません"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "ベクトルのサイズが 0 です"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "ベクトルの要素の数が 2 の累乗ではありません"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
@@ -21459,12 +21461,12 @@ msgstr "%qE 属性は名前付き引数があるプロトタイプが必要で
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -23235,233 +23237,233 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency 用の間違った値 %qs です"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "間違った組み込み fcode です"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "-mcpu=%s スイッチが -march=%s スイッチと競合しています"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "ターゲット CPU は ARM モードをサポートしていません"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "ターゲット CPU は ARM/Thumb 相互利用をサポートしていません"
 
 # 公式な名前は Thumb であり THUMB ではない
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "ターゲット CPU は Thumb 命令をサポートしていません"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "バックトレースサポートの有効化は Thumb 用にコンパイルしたときのみ意味があります"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "呼び出し先 ARM/Thumb 相互利用有効化は Thumb 用にコンパイルしたときのみ意味があります"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check と -mno-apcs-frame は併用できません"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic と -mapcs-reent は併用できません"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS 再入可能コードはサポートされていません。無視されました"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g に -mno-apcs-frame をつけると、きめ細かなデバッグはできないでしょう"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt は適切な操作用に AAPCS 互換 ABI を必要とします"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt ABI は iwmmxt 機能がある CPU を必要とします"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr "FPA は AAPCS 内ではサポートされていません"
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS は -mcaller-super-interworking をサポートしません"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS は -mcallee-super-interworking をサポートしません"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt およびハードウェア浮動小数点"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 かつ ldrh 無し"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard および VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15 を 16 ビット Thumb で使用できません"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "構造体サイズ境界は %s にのみ設定できます"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "構造体サイズ境界は %s にのみ設定できます"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC は Thumb では使用できません"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC は -msingle-pic-base と併用できません"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= は -fpic をつけないと役に立ちません"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "PIC レジスタ用に '%s' を使用できません"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support ARM mode"
 msgid "target CPU does not support unaligned accesses"
 msgstr "ターゲット CPU は ARM モードをサポートしていません"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition はこのアーキテクチャ上ではサポートされていません"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr "Thumb-1 ハードウェア浮動小数 VFP ABI"
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "%qE 属性は関数へのみ適用されます"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "スタックに積まれた仮引数の実際の位置を計算できません"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "引数は定数でなければいけません"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "セレクタは即値でなければなりません"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "マスクは即値でなければなりません"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "高位レジスタを pop する為に使用できる低位レジスタがありません"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "割り込みサービスルーチンを Thumb モードでコード化することはできません"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "%<va_list%> の名前符号化 (mangle) 方法は GCC 4.4 で変更されました"
@@ -23505,91 +23507,91 @@ msgstr "関数が __fp16 型を返しません"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs は綴りが間違ったシグナルハンドラのように見えます"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr "'builtin_return_address' がアドレスの 2 バイトのみ含んでいます"
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr "シンボルからのポインタオフセットが間違っているようです"
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr "プログラムメモリアドレスとしてデータメモリをアクセスしています"
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, fuzzy, gcc-internal-format
 #| msgid "accessing program  memory with data memory address"
 msgid "accessing program memory with data memory address"
 msgstr "データメモリアドレスとしてプログラムメモリをアクセスしています"
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "レジスタの数が整数を引数を渡すために使われる"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting named address spaces (%s vs %s)"
 msgid "writing to address space %qs not supported"
 msgstr "名前付きアドレス空間 (%s と %s) が競合しています"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "初期化されていない変数のみ .noinit セクション内に配置できます"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "初期化された変数のみプログラムメモリ領域内に配置できます"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs はアセンブラのみ用にサポートされています"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "文字列定数の中でファイルの終端を検出しました"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs expects a constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -23935,419 +23937,419 @@ msgstr "PCH ファイルを拡張できません: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "PCH ファイル内で位置を設定できません: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "%stune=x86-64%s は廃止されました。代わりに %stune=k8%s または %stune=generic%s の適切な方を使用してください"
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "コードモデル %qs は %s ビットモード内ではサポートされません"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in the %s bit mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "コードモデル %qs は %s ビットモード内ではサポートされません"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "コードモデル %s は PIC モードをサポートしません"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s はこの設定ではサポートされていません"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i ビットモードが使用できるようにコンパイルされていません"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "選択した CPU は x86-64 命令セットをサポートしていません"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, fuzzy, gcc-internal-format
 #| msgid "%sregparm%s is ignored in 64-bit mode"
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "%sregparm%s は 64 ビットモードでは無視されます"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%sregparm=%d%s is not between 0 and %d"
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "%sregparm=%d%s が 0 と %d の間ではありません"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s は 64 ビットモードでは無視されます"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "%spreferred-stack-boundary%s is not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "%spreferred-stack-boundary%s はこのターゲットではサポートされていません"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%spreferred-stack-boundary=%d%s is not between %d and %d"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "%spreferred-stack-boundary=%d%s が %d と %d の間ではありません"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d が %d と 12 の間ではありません"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "%ssseregparm%s が SSE が有効ではない状態で使用されています"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE 命令セットが無効になっています。 387 数値演算を使用します"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387 命令セットが無効になっています。SSE 数値演算を使用します"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mno-fentry は SEH と互換性がありません"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "-mrecip=%s 用の不明なオプションです"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "attribute(target(\"%s\")) が不明です"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "option(\"%s\") は既に指定されています"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall と regparm 属性は併用できません"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "regparam と thiscall 属性は併用できません"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "%qE 属性には整数定数引数が必要です"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "%qE 属性への引数が %d より大きいです"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall と cdecl 属性は併用できません"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall と stdcall 属性は併用できません"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "fastcall と thiscall 属性は併用できません"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall と cdecl 属性は併用できません"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "stdcall と fastcall 属性は併用できません"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "stdcall と thiscall 属性は併用できません"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "cdecl と thiscall 属性は併用できません"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "%qE 属性が非クラスメソッド用に使用されています"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "SSE/SSE2 が有効でない状態で sseregparm 属性付きの %qD を呼び出しています"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "SSE/SSE2 が有効でない状態で sseregparm 属性付きの %qT を呼び出しています<"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "ms_hook_prologue は入れ子になった関数と両立できません"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "可変長配列メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "long double を持つ共用体を渡す ABI は GCC 4.4 で変更になっています"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "複素浮動小数メンバを持つ構造体を渡す ABI は GCC 4.4 で変更になっています"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "SSE が無効の状態で SSE レジスタを戻して (return) います"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "SSE が無効の状態で SSE レジスタ引数があります"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "x87 が無効な状態で x87 レジスタを戻して (return) います"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "SSE が有効でない状態での SSE ベクトル引数は ABI を変更します"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "MMX が有効でない状態での MMX ベクトル引数は ABI を変更します"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "%d バイト整列の仮引数を渡す ABI は GCC 4.6 で変更になっています"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "SSE が有効でない状態での SSE ベクトル戻し (return) は ABI を変更します"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "MMX が有効でない状態での MMX ベクトル戻し (return) は ABI を変更します"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr "ms_hook_prologue 属性は 32 ビット用の -mfentry と併用できません"
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "最後の引数は 2 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "第五引数は 8 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "第三引数は 8 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "the last argument must be a 1-bit immediate"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "最後の引数は 1 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "最後の引数は 4 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "最後の引数は 1 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "最後の引数は 5 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "最後の引数の前の引数は 8 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "最後の引数は 8 ビット即値でなければいけません"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "最後の引数は 32 ビット即値でなければいけません"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE は isa オプション %s が必要です"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "最後の引数は即値でなければいけません"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 #| msgid "last argument must be an immediate"
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "最後の引数は即値でなければいけません"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "%qE 属性は 32 ビットでのみ使用できます"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "%qE 属性への引数が 0 でも 1 でもありません"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "ms_abi と sysv_abi 属性は互換性がありません"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "互換性がない %qE 属性は無視されました"
@@ -24417,13 +24419,13 @@ msgstr "アドレス領域属性は関数用には指定できません"
 msgid "%qE attribute requires a string constant argument"
 msgstr "%qE 属性は文字列定数引数を必要とします"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "-mfixed-range の値は REG1-REG2 形式でなければいけません"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24495,7 +24497,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%qE 属性は R8C ターゲット用にはサポートされていません"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "%qE 属性の引数が整数定数ではありません"
@@ -24550,7 +24552,7 @@ msgstr "複数の割り込み属性は許可されていません"
 msgid "interrupt_thread is available only on fido"
 msgstr "interrupt_thread は fido 上でのみ使用出来ます"
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "スタック制限式はサポートされていません"
@@ -24891,62 +24893,62 @@ msgstr "組み込み関数 %qE は MIPS16 用にはサポートされていま
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs は MIPS16 コードをサポートしません"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "%<-march=%s%> は選択した ABI とは互換性がありません"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%> が 32 ビットプロセッサで使用されています"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> が 64 ビット ABI で使用されています"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%> が 32 ビット ABI で使用されています"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "サポートされていない組み合わせです: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, 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:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "RTP PIC is incompatible with Thumb"
 msgid "%qs is incompatible with %qs"
@@ -24957,57 +24959,57 @@ msgstr "RTP PIC は Thumb では使用できません"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "%qs アーキテクチャは branch-likely 命令をサポートしていません"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> は %<-mexplicit-relocs%> が必要です"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> は %<-mpaired-single%> が必要です"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs は %qs と併用しなければいけません"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "%qs アーキテクチャは paired-single 命令をサポートしていません"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs はターゲットが %qs 命令を提供していることが必要となります"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs は branch-likely 命令が必要となります"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "%qs アーキテクチャは synci 命令をサポートしていません"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 関数プロファイル"
@@ -25288,314 +25290,314 @@ msgstr ""
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-mrecip は -ffinite-math または -ffast-math が必要となります"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip は -fno-trapping-math または -ffast-math が必要となります"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip は -freciprocal-math または -ffast-math が必要となります"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple はリトルエンディアンシステム上ではサポートされていません"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring はリトルエンディアンシステム上ではサポートされていません"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr "-mveclibabi= スイッチ用の不明なベクトルライブラリ ABI 型 (%s) です"
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr "target 属性または pragma が long double のサイズを変更します"
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr "target 属性または pragma が AltiVec ABI を変更します"
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr "target 属性または pragma が darwin64 ABI を変更します"
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr "target 属性または pragma が SPE ABI を変更します"
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr "target 属性または pragma が単精度浮動小数点を変更します"
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr "target 属性または pragma が倍精度浮動小数点を変更します"
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error: builtin function to %s already processed"
 msgid "internal error: builtin function %s already processed"
 msgstr "内部エラー: %s への組み込み関数は既に処理されています"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "第一引数は 5 ビット符号付きリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "第二引数は 5 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "__builtin_altivec_predicate の第一引数は定数でなければいけません"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "__builtin_altivec_predicate の第一引数が範囲外です"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "第三引数は 4 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "第三引数は 2 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "第三引数は 1 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "%qs への引数は 2 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "dss への引数は 2 ビット符号無しリテラルでなければいけません"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "__builtin_paired_predicate の第一引数は定数でなければいけません"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "__builtin_paired_predicate の第一引数が範囲外です"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "__builtin_spe_predicate の第一引数は定数でなければいけません"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "__builtin_spe_predicate の第一引数が範囲外です"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "この組み込み関数は fr450 上でのみ利用できます"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "組み込み関数 %qD は %<-mconstant-cfstrings%> フラグを要求します"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ifunc is not supported in this configuration"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "ifunc はこの設定ではサポートされていません"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "内部エラー: 組み込み関数 %s に型がありません"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "内部エラー: 組み込み関数 %s が予期しない戻り型 %s を持っています"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr "内部エラー: 組み込み関数 %s の第 %d 引数が予期しない引数型 %s を持っています"
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "スタックフレームが大きすぎます"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "AltiVec 型内での %<long double%> の使用は無効です"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "AltiVec 型内での真偽型 (boolean) の使用は無効です"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "AltiVec 型内での %<complex%> の使用は無効です"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "AltiVec 型内での十進浮動小数点の使用は無効です"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "-mvsx 無しで 64 ビットコード用の AltiVec 型内での %<long%> の使用は無効です"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "AltiVec 型内での %<long%> の使用は廃止されました。%<int%> を使用してください"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "-mvsx 無しで AltiVec 型内での %<long long%> の使用は無効です"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "-mvsx 無しで AltiVec 型内での %<double%> の使用は無効です"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "マイクロコード命令 %s\t[%s] #%d を発行しています"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "条件付きマイクロコード命令 %s\t[%s] #%d を発行しています"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "CPU \"%s\" は %s\"%s\"%s 用には無効です"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%s\"%s\"%s は許可されていません"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "%s\"%s\"%s は無効です"
@@ -25830,63 +25832,63 @@ msgstr "%qs のフレームサイズ: "
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs は動的スタック割り当てを使用します"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "%qE 属性は割り込み関数へのみ適用されます"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "%qE 属性は SH2A 用にのみサポートされています"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "interrupt_handler 属性は -m5-compact と併用できません"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "%qE 属性は SH2A へのみ適用されます"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "%qE 属性引数は 0 と 255 の間であるべきです"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "%qE 属性の引数が文字列定数ではありません"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 は呼び出しによって上書きされるレジスタとして利用できる必要があります"
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -26009,13 +26011,13 @@ msgstr "%<__BELOW100__%> 属性は変数へのみ適用できます"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ 属性は自動記憶域クラスでのみ許可されています"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin code"
 msgid "bad builtin icode"
 msgstr "間違った組み込みコードです"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -26241,38 +26243,38 @@ msgstr "%<-gnat%> が %<-gant%> と間違って綴られています"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "%qs 属性が無視されました"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qs 属性は名前付き引数を持つプロトタイプが必要です"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "%qE 属性は効果がありません"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "%qs 属性用の無効なベクトル型です"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "%qs 属性は配列型のみに適用できます"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "%qs 属性用の無効なエレメント型です"
@@ -26710,7 +26712,7 @@ msgstr "オブジェクト以外がメンバ関数 %qD を呼び出すことは
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
@@ -26770,429 +26772,429 @@ msgstr ""
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java クラス %qT はデストラクタを持つことは出来ません"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D はオーバーロードすることが出来ません"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "メソッド %q+D 用のアクセス指定が競合しています。無視されました"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "フィールド %qE 用のアクセス指定が競合しています。無視されました"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D は %q#T 内では無効です"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "基底クラス %q#T が非仮想デストラクタを持っています"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "クラス %qT 内の全てのメンバ関数が非公開です"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T はフレンドが無い非公開デストラクタのみ定義しています"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T はフレンドが無い非公開コンストラクタのみ定義しています"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D が定義されましたが使用されません"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D は隠されています"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr ""
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D は無効です。無名共用体は非静的データメンバのみ持つことが出来ます"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D は無効です。無名構造体は非静的データメンバのみ持つことが出来ます"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "無名共用体内に非公開メンバ %q+#D があります"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "無名構造体内に非公開メンバ %q+#D があります"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "無名共用体内に保護されたメンバ %q+#D があります"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "無名構造体内内に保護されたメンバ %q+#D があります"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "ビットフィールド %q+#D が非整数型です"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "ビットフィールド %q+D の幅が整数定数ではありません"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "ビットフィールド %q+D の幅が負です"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "ビットフィールド %q+D の幅が 0 です"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D の幅が型の大きさを超えています"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D は %q#T の全ての値を持つには小さすぎます"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "コンストラクタを持つメンバ %q+#D は共用体内では許可されていません"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "デストラクタを持つメンバ %q+#D は共用体内では許可されていません"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "コピー代入演算子を持つメンバ %q+#D は共用体内では許可されていません"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, fuzzy, gcc-internal-format
 #| msgid "unrestricted unions only available with -std=c++0x or -std=gnu++0x"
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "制限のない共用体は -std=c++0x または -std=gnu++0x を指定した時のみ使用できます"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "共用体 %qT 内の複数のフィールドが初期化されました"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D は共用体のメンバのため静的ではありません"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "フィールド %q+D はが関数型として無効な宣言をされました"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "フィールド %q+D はメソッド型として無効な宣言をされました"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "フィールド %q+#D がクラス名と同じです"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T がポインタデータメンバを持っています"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "非仮想関数 %q+D 用の初期化子が指定されています"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "非メンバ関数での `this' の使用は無効です"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "クラスタイプ項を欠いています"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "基底クラス %q#T が非仮想デストラクタを持っています"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "基底クラス %q#T が非仮想デストラクタを持っています"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "関数を inline にできません"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "コンストラクタが無いクラス内に非静的参照 %q+#D があります"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "コンストラクタが無いクラス内に非静的定数メンバ %q+#D があります"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr "%q+D は定数参照を取るように宣言されていますが、暗黙的な宣言では非定数参照を取ります"
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "直接の基底 %qT は曖昧なため %qT 内でアクセスできません"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "仮想基底 %qT は曖昧なため %qT 内ではアクセスできません"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T が再定義されています"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T は仮想関数を持っており非仮想デストラクタからアクセス可能です"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr ""
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "メンバ関数の名前を欠いています"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "言語文字列 %<\"%E\"%> は認識できません"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "関数 %qD から型 %q#T への変換が適合しません"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "オーバーロードされた関数 %qD から型 %q#T への変換は曖昧です"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "メンバ %qD へのポインタと見なしています"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "型情報が不十分です"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "%qE を型 %qT から型 %qT へ変換できません"
@@ -27202,12 +27204,12 @@ msgstr "%qE を型 %qT から型 %qT へ変換できません"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D が宣言されています"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "%qD の意味の %q+#D からの変更です"
@@ -27227,7 +27229,7 @@ msgstr "不完全型 %qT から %qT へ変換できません"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "%qE の %qT から %qT への変換は曖昧です"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "配列の添字が整数型ではありません"
@@ -28134,7 +28136,7 @@ msgstr ""
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "自明でないラベルのついた初期化子です"
@@ -28227,8 +28229,8 @@ msgstr "%s に `%s' という名前のメンバはありません"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "入力ファイルが多すぎます"
@@ -28760,7 +28762,7 @@ msgstr ""
 msgid "type %qT is not derived from type %qT"
 msgstr ""
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "`%s' の宣言は関数の配列"
@@ -29073,374 +29075,369 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "メンバ関数は暗黙的にそのクラスの friend です"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "`::main' を static としては宣言できません"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "非メンバ `%s' を `mutable' とは宣言できません"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, fuzzy, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "配列 `%s' の大きさが大きすぎます"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, fuzzy, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "`explicit' にできるのは、コンストラクタだけです"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, fuzzy, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "非メンバ `%s' を `mutable' とは宣言できません"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, fuzzy, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "非オブジェクトメンバ `%s' を `mutable' とは宣言できません"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "関数 `%s' を `mutable' としては宣言できません"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "static `%s' を mutable として宣言できません"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const `%s' を `mutable' として宣言できません"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "関数 `%s' を `mutable' としては宣言できません"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "仮引数 `%s' が void と宣言されています"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "デストラクタを静的メンバ関数とすることはできません"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "関数の返す型が関数であってはなりません"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, fuzzy, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "一つの空の宣言中に、二つの型が指定されています"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, fuzzy, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "クラス宣言の外側で virtual 指定しています"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, fuzzy, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "複雑なパラメタをもつ関数は inline にできません"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, fuzzy, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "friend 宣言がクラス定義の中にありません"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, fuzzy, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "クラス `%s' を大域スコープの friend にしようとしています"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, fuzzy, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "非メンバ関数での `this' の使用は無効です"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, fuzzy, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "`%s' の宣言はグローバル宣言を覆い隠します"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "仮引数宣言の中で `::' を使えません"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "仮引数 `%s' が void と宣言されています"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "仮引数 `%s' が void と宣言されています"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "無効な用法の of %%d, %%x, 又は %%X"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "%s: 関数 `%s' の宣言が変換されていません\n"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, fuzzy, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "領域 `%s' は関数として宣言されています"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "`::main' を static としては宣言できません"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "`%s' の宣言により `this' のメンバが覆い隠されます"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "デストラクタを静的メンバ関数とすることはできません"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "領域 `%s' は不完全な型です"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "仮引数が不完全型です"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "%s: `%s' の初期化:\n"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "`%s' は関数でもメンバ関数でもありません -- friend とは宣言できません"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "関数を inline にできません"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, fuzzy, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "関数 `%s' に対する記憶クラス `auto' は無効です"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, fuzzy, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "関数 `%s' に対する記憶クラス `register' は無効です"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, fuzzy, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "関数 `%s' に対する記憶クラス `auto' は無効です"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "初期化子リストは非メンバ関数では使えません"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, fuzzy, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "大域スコープ外の関数 `%s' に対する記憶クラス `inline' は無効です"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, fuzzy, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "大域スコープ外の関数 `%s' に対する記憶クラス `inline' は無効です"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, fuzzy, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "virtual な非クラス関数 `%s'"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "メソッド定義がクラスコンテキスト内ではありません"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "メソッド定義がクラスコンテキスト内ではありません"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "`::main' を static としては宣言できません"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "他の関数内で static 関数を宣言できません"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, fuzzy, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "`%s' が初期化されるところで、`extern' 宣言されました"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, fuzzy, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "`%s' に `extern' と初期化子の両方があります"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr ""
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr ""
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "関数がローカル変数のアドレスを返しています"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "関数がローカル変数のアドレスを返しています"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "仮引数 `%s' は不完全型です"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "パラメタはメソッドの型を不正に宣言しました"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -29460,169 +29457,169 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "`::main' を static としては宣言できません"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, fuzzy, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "デストラクタを静的メンバ関数とすることはできません"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "%s%s への変換で型変換演算子が利用されることは決してありません"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ は無名構造体を禁止しています"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "`%s' は 0 か 2 個の引数しかとりません"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "`%s' は 0 か 2 個の引数しかとりません"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "`%s' は 0 か 2 個の引数しかとりません"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "invalid template declaration of %qD"
 msgid "using alias template specialization %qT after %qs"
 msgstr "%qD の無効なテンプレート宣言です"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "前方での `%s' の宣言"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "前方での `%s' の宣言"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29634,88 +29631,88 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "%s: オプション `%s' はあいまいです\n"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, fuzzy, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "事前の宣言なしの大域関数に関して警告する"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "`%s' の宣言は仮引数を覆い隠します"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "前方での `%s' の宣言"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, fuzzy, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "型修飾子 `%s' は struct や class の後には使えません"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "重複した case の値"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "`%s' は前にここで定義されました"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29724,73 +29721,73 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "`%s' の列挙値が整数定数ではありません"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "integer constant is too large for %<unsigned long%> type"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "整数定数が %<unsigned long%> 型に対して大きすぎます"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, fuzzy, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "列挙値がオーバーフロー"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "戻り値の型が不完全型です"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "戻り値の型が不完全型です"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "`%s' の前方宣言がありません"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "無効な宣言です"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "仮引数 `%s' が void と宣言されています"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr ""
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, fuzzy, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "無効な宣言です"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
@@ -30150,7 +30147,7 @@ msgstr "例外処理を無効にしました. 有効にするには -fexceptions
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30411,152 +30408,152 @@ msgstr ""
 msgid "bad array initializer"
 msgstr "配列の不正な初期化"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "クラスタイプ項を欠いています"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "二項演算子 %s が不適切です"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "非メンバ関数での `this' の使用は無効です"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "メンバへのポインタでの無効な `%s' の使用"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, fuzzy, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "new に対して無効な型である `void'"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, fuzzy, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "Java コンストラクタが呼ばれましたが、`%s' は未定義です"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, fuzzy, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "フィールド '%s' がクラス内に見つかりません"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "要求されたメンバ `%s' は多重継承グラフの中で曖昧です"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "初期化子内に非定数の配列インデックスがあります"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "ISO C++ は new 式の初期化での `=' を禁じます"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "配列 new でのサイズは完全な型を持たねばなりません"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "参照型に対して new を適用できません"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "関数型に対して new を適用できません"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, fuzzy, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "Java コンストラクタが呼ばれましたが、`jclass' は未定義です"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr ""
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "初期設定子の末尾が本来より早く出現しました"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "多次元配列は初期化子で初期化することができません"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete での配列サイズが不明です"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "ベクトル型の delete ですが、ポインタでも配列型でもありません"
@@ -30646,12 +30643,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30661,12 +30658,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -30681,99 +30678,99 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, fuzzy, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "デストラクタを静的メンバ関数とすることはできません"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const %qD is invalid in C++"
 msgid "initializer for %q+#D is invalid"
 msgstr "初期化されていない定数 %qD は C++ 内では無効です"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr ""
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr ""
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "無効な宣言です"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "キャストによる関数の型が適合しません"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "複雑なパラメタをもつ関数は inline にできません"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -30911,153 +30908,153 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr "%s: %s: "
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%d 個のコンストラクタが見つかりました\n"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, fuzzy, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "`%s' のセクションは前方でに宣言されたものと衝突します"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "前方での `%s' の暗黙的な宣言"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr ""
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr ""
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr ""
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr ""
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "`%s' の宣言が矛盾しています"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%s: オプション `%s' には引数が必要です\n"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "`%s' 属性の疑似命令が無視されました"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -31188,7 +31185,7 @@ msgstr "無効な型: `void &'"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31417,7 +31414,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
@@ -31612,7 +31609,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr "純粋および定数関数を見つける"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
@@ -31643,7 +31640,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
@@ -31659,12 +31656,12 @@ msgstr "#if 式の中では文字列定数が使えません"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ は計算型 goto を禁じます"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -31702,7 +31699,7 @@ msgstr ""
 msgid "class definition may not be declared a friend"
 msgstr "`%s' は関数でもメンバ関数でもありません -- friend とは宣言できません"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31781,12 +31778,12 @@ msgstr "演算子が予期されます"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
@@ -31801,7 +31798,7 @@ msgstr "strftime フォーマットは引数をフォーマットできません
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "%<<%> が予期されます"
@@ -31928,12 +31925,12 @@ msgstr "%<;%> または %<{%> が予期されます"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
@@ -31978,73 +31975,73 @@ msgstr ""
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "一つの空の宣言中に、二つの型が指定されています"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "ここでは関数定義は許可されていません"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, fuzzy, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "初期化子リストは非メンバ関数では使えません"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "大域 register 変数が関数定義の後ろにあります"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr ""
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr ""
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "friend 関数 `%s' を初期化できません"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "配列の添字が整数型ではありません"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "トップレベルでの `this' の使用は無効です"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -32053,248 +32050,248 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "無効な宣言子です"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "宣言子が予期されます"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD は名前空間です"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "   ポインタからメンバへの変換で"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "ポインタ演算子が予期されます"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "expected type-specifier"
 msgid "duplicate virt-specifier"
 msgstr "型指定子が予期されます"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "無効な %<auto%> の使用です"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "\"%s\" はマクロ仮引数リストに現れてはなりません"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "型指定子が予期されます"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "%<,%> または %<...%> が予期されます"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "\"%s\" はマクロ仮引数リストに現れてはなりません"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, fuzzy, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "メソッドは関数ポインタに変換できません"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "strftime フォーマットは引数をフォーマットできません"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "strftime フォーマットは引数をフォーマットできません"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ は名前つき戻り値を許可しません"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ は名前つき戻り値を許可しません"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "クラス定義の後には %<;%> が予期されます"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "構造体定義の後には %<;%> が予期されます"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "共用体定義の後には %<;%> が予期されます"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "%<{%> または %<:%> が予期されます"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "クラス %s 用のファイルを見つけられません。"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD の宣言内に無効なクラス名です"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "関数テンプレート %qD がクラステンプレートとして再定義されました"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "%q+#T の前の定義"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "メンバ宣言の最後には %<;%> が予期されます"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "例外仕様の検査をするコードを生成しない"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "一つの空の宣言中に、二つの型が指定されています"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "無効な宣言です"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -32303,320 +32300,320 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "--driver は最早サポートされません"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr ""
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "`%s' の extern 宣言がネストしています"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "`>>' はテンプレートクラス名は `> >' とすべきです"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "テンプレート型統一中 `%s' が使用されました"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> が %qD の前にあります"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "%<new%> が予期されます"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "%<delete%> が予期されます"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "%<return%> が予期されます"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "%<extern%> が予期されます"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "%<static_assert%> が予期されます"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "%<decltype%> が予期されます"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "%<operator%> が予期されます"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "%<class%> が予期されます"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "%<template%> が予期されます"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "%<namespace%> が予期されます"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "%<using%> が予期されます"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "%<asm%> が予期されます"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "%<try%> が予期されます"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "%<catch%> が予期されます"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "%<throw%> が予期されます"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "%<__label__%> が予期されます"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "%<@try%> が予期されます"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "%<@synchronized%> が予期されます"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "%<@throw%> が予期されます"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<static_assert%>"
 msgid "expected %<__transaction_atomic%>"
 msgstr "%<static_assert%> が予期されます"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<static_assert%>"
 msgid "expected %<__transaction_relaxed%>"
 msgstr "%<static_assert%> が予期されます"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "%<::%> が予期されます"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "%<...%> が予期されます"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "%<*%> が予期されます"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "%<~%> が予期されます"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "%<:%> または %<::%> が予期されます"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "%<class%>、%<typename%>、または %<template%> が予期されます"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "前はここで宣言されました"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "`%s' が別のシンボル種として再宣言されました"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "デフォルト引数内でファイルが終了しています"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "識別子が必要です"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr ""
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "レジスタ変数 `%s' が入れ子関数の中で使われました"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "不十分な型情報"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "#pragma GCC java_exceptions の末尾にゴミ"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, fuzzy, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "ret 命令は実装されていません"
@@ -33330,17 +33327,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%s: `%s' の初期化:\n"
@@ -33358,258 +33355,258 @@ msgstr "%s: `%s' の初期化:\n"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "sizeof が関数型に適用されました"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "仮引数 `%s' は無効です"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "無効な宣言です"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 msgid "function returning an array"
 msgstr "関数が集合体を返しています"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 msgid "function returning a function"
 msgstr "`%s' は関数を返す関数として宣言されています"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "メンバ関数へのポインタが呼ばれましたが、クラススコープ内ではありません"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, fuzzy, gcc-internal-format
 msgid "forming reference to void"
 msgstr "一時オブジェクトへの参照を返そうとしています"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "不完全型のポインタへの間接参照"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "参照を参照として宣言できません"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "   ポインタからメンバへの変換で"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "   ポインタからメンバへの変換で"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "   ポインタからメンバへの変換で"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, fuzzy, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "大きさゼロの配列を作ろうとしています"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, fuzzy, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "テンプレート内で `%s' を使用しています"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "static フィールド `%s' を欠いています"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "void 式の不適切な使用"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%qE undeclared here (not in a function)"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%qE がここでは宣言されていません (関数内ではない)"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr ""
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "初期化子の要素が定数ではありません"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, fuzzy, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "不正な文字列定数です"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "自動テンプレート実体化を有効にする"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, fuzzy, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s: %s"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "%s: `%s' の初期化:\n"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ は減算にメソッドへのポインタを使うことを禁じます"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, fuzzy, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "自動テンプレート実体化を有効にする"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ は減算に関数へのポインタを使うことを禁じます"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
@@ -33621,32 +33618,32 @@ msgstr "インラインテンプレートの明示的な実体化のみを生成
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "インラインテンプレートの明示的な実体化のみを生成する"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "不完全な typedef `%s' の使用は不適切です"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "'#' にマクロ仮引数名が続いていません"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -33654,12 +33651,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -33897,7 +33894,7 @@ msgstr "インスタンス化されない型に対する無効な操作です"
 msgid "invalid base-class specification"
 msgstr "無効な宣言です"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
@@ -34074,267 +34071,267 @@ msgstr "関数 `%s' に対して不適切な保存クラス"
 msgid "%q#T has virtual base classes"
 msgstr "クラスタイプ項を欠いています"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr ""
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a function template"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%qD は関数テンプレートではありません"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr ""
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "非関数 %qD の呼び出しです"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "定数式がオーバーフローしました"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr ""
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not initialized with a constant expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD は定数式で初期化されませんでした"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "%qE は初期化されていません"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#D は const ではありません"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%q#D は volatile です"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD は定数式で初期化されませんでした"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, fuzzy, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "%qE の列挙値が整数定数式ではありません"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "定数式がオーバーフローしました"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, fuzzy, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "%qE の列挙値が整数定数式ではありません"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "初期化子の要素が定数式ではありません"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "初期化子内に非定数の配列インデックスがあります"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "ファイル \"%s\" に戻るはずでした"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "%s を参照として宣言できません"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand in unary expression"
 msgid "already captured %qD in lambda expression"
 msgstr "単項演算式内で無効な被演算子です"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "`java_interface' 属性は Java クラス定義に対してのみ用いる事ができます"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "`com_interface' 属性はクラス定義にのみ用いる事ができます"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "要求された init_priority は整数型の定数ではありません"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "要求された init_priority が範囲外です"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "要求された init_priority は内部で使用するために予約されています"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "init_priority 属性はこのプラットフォームではサポートされていません"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "Tree 検査: %s があるべき所に %s があります(%s 内, %s:%d)"
@@ -35279,123 +35276,123 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr "この文法を使って配列を初期化することはできません"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr ""
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "%qE の %qT から %qT への変換は曖昧です"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "非ワイド文字列から int の配列が初期化されました"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "非ワイド文字列から int の配列が初期化されました"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "char の配列にとって初期化子文字列が長すぎます"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "初期化子を欠いています"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "未初期化定数を ROM に置かない"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "未初期化定数を ROM に置かない"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, fuzzy, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "仮引数 `%s' が初期化されました"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, fuzzy, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "レコードや共用体にフィールド名がない初期化子です"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "union 初期化子がフィールド名ではなくインデックス値になっています"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "循環ポインタの代表を検出しました"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "`->' のベースオペランドがポインタではありません"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, fuzzy, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "`operator->()'の結果が非ポインタの結果をもたらします"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, fuzzy, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "`->' のベースオペランドがポインタではありません"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, fuzzy, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "\"%s\" は C++ の演算子であり、マクロ名として使用することはできません"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "関数 `%s' に対して不適切な保存クラス"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "不完全型への変換です"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "不完全型への変換です"
@@ -35455,187 +35452,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "配列の添字が `char' 型です"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "配列の添字が `char' 型です"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "無効な参照型です"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr ""
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "配列の次元を宣言で指定することはできません"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35670,7 +35667,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "`__builtin_args_info' の引数は定数でなければなりません"
@@ -35780,7 +35777,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -35863,8 +35860,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36009,7 +36006,7 @@ msgstr "`__builtin_args_info' の引数は定数でなければなりません"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -36139,42 +36136,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "フォーマットへの引数が多すぎます"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36186,7 +36183,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36466,7 +36463,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -36481,7 +36478,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -36491,7 +36488,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "長さ 0 の初期化は推奨されません"
@@ -36688,7 +36685,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36708,834 +36705,834 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "`%s' の宣言に二つ以上のデータ型が指定されました"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "プロシージャ開始と終了のスケジュールを行なわない"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "`%s' の extern 宣言がネストしています"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "コンストラクタを静的メンバ関数とすることはできません"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "switch 文の中でラベル `%s' が重複しています"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "行番号 %u に戻るはずでした"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "switch 文の中でラベル `%s' が重複しています"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "述語は識別子でなければなりません"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "配列を仮引数リストによって初期化しようとしています"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "反復子 `%s' は非整数型です"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "`*' の前に型の名前があるべきです"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "重複するアクセス指定子"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "重複するアクセス指定子"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "')' が必要です"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "不明なレジスタ名です: %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -37775,27 +37772,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38056,7 +38053,7 @@ msgid "can't open input file: %s"
 msgstr "入力ファイル %s を close できません"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38172,12 +38169,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40196,7 +40193,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41285,943 +41282,943 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "インスタンス変数の仕様が一貫していません"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "%s: オプション `%s' はあいまいです\n"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "ラベル %s があらゆる関数の外側で参照されました"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "%s: オプション `%s' はあいまいです\n"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "`asm' の引数が定数文字列ではありません "
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "case の値としてポインタは許可されていません"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "セクション属性は `%s' には使えません"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "呼び出されたオブジェクトは関数ではありません"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "FPU レジスタ内の機能の値を返す"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "shared と mdll とは共存できません"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "要求されたアラインメントが大きすぎます"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42230,175 +42227,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "式の中の文に不完全型があります"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -42406,950 +42403,950 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "配列 `%s' の大きさが大きすぎます"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "`%s' に `extern' と初期化子の両方があります"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "関数を inline にできません"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "可変長オブジェクトは初期化されないことになるでしょう"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "組み込み関数 `%s' は非関数として宣言されました"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Trampoline は、まだ実装されていません"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "%s に互換性のない型"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr "データ領域 '%s' は前の宣言と矛盾します"
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "ラベル `%s' が定義されましたが使われていません"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "ラベル `%s' が定義されましたが使われていません"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43515,34 +43512,34 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "`%s' オプションに対する引数がありません"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "`%s' の第二引数は `char **' とすべきです"
@@ -43550,47 +43547,47 @@ msgstr "`%s' の第二引数は `char **' とすべきです"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "関数呼び出しが集合体の値を持っています"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -43959,17 +43956,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -44580,17 +44577,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "ダンプファイル %s を開けませんでした"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
@@ -44600,70 +44597,70 @@ msgstr ""
 msgid "invalid line in the resolution file"
 msgstr ""
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr ""
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "%s を開けません"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "%s を開けません"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "%s を開けません"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr ""
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -45772,6 +45769,9 @@ msgstr ""
 #~ msgid "method call without object"
 #~ msgstr "オブジェクト無しのメソッド呼び出しです"
 
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "無効な unsafe.Pointer 変換です"
+
 #~ msgid "no object for method call"
 #~ msgstr "メソッド呼び出し用のオブジェクトがありません"
 
index f595637..42f9640 100644 (file)
Binary files a/gcc/po/nl.gmo and b/gcc/po/nl.gmo differ
index 73c183b..a04ac40 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.3.0\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -28,7 +28,7 @@ msgstr "<anoniem>"
 msgid "({anonymous})"
 msgstr "<anoniem>"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 msgid "expected end of line"
 msgstr "ongeldige operand van %s"
@@ -38,8 +38,8 @@ msgstr "ongeldige operand van %s"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "ongeldige operand van %s"
@@ -51,13 +51,13 @@ msgstr "ongeldige operand van %s"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "ongeldige operand van %s"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "ongeldige operand van %s"
@@ -73,14 +73,14 @@ msgstr "ongeldige operand van %s"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "ongeldige operand van %s"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "ongeldige operand van %s"
@@ -90,25 +90,25 @@ msgstr "ongeldige operand van %s"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "ongeldige operand van %s"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, fuzzy, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "ongeldige operand van %s"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "ongeldige operand van %s"
@@ -118,34 +118,34 @@ msgstr "ongeldige operand van %s"
 msgid "expected %<.%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "ongeldige operand van %s"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, fuzzy, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, fuzzy, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "top-level declaratie van %qs specifieert %<auto%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "ongeldige operand van %s"
@@ -332,12 +332,12 @@ msgstr "operand van '%%l' is geen label"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "floating-point constante verkeerd gebruikt"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "ongeldige expressie als operand"
@@ -1420,20 +1420,20 @@ msgstr "onherkenbare insn:"
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr ""
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr ""
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr ""
 
@@ -2042,196 +2042,196 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr ""
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr ""
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr ""
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr ""
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 msgid "maximum number of parameters in a SCoP"
 msgstr "ongeldige macronaam %<%.*s%>"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr ""
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2574,18 +2574,18 @@ msgid "invalid %%r value"
 msgstr "ongeldige waarde voor %%r"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "ongeldige waarde voor %%R"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "ongeldige waarde voor %%N"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "ongeldige waarde voor %%P"
@@ -2600,12 +2600,12 @@ msgstr "ongeldige waarde voor %%h"
 msgid "invalid %%L value"
 msgstr "ongeldige waarde voor %%L"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "ongeldige waarde voor %%m"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "ongeldige waarde voor %%M"
@@ -2616,7 +2616,7 @@ msgid "invalid %%U value"
 msgstr "ongeldige waarde voor %%U"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "ongeldige waarde voor %%s"
@@ -2626,7 +2626,7 @@ msgstr "ongeldige waarde voor %%s"
 msgid "invalid %%C value"
 msgstr "ongeldige waarde voor %%C"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "ongeldige waarde voor %%E"
@@ -2638,40 +2638,40 @@ msgid "unknown relocation unspec"
 msgstr "onbekende 'unspec' relocatie"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "ongeldige code voor %%xn"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "Thumb-instructie met predicaat"
 
 # mja. snappen wie snappen kan ^^
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "instructie met predicaat in voorwaardelijke sequentie"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "ongeldige operand voor code '%c'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "ongeldige shift-operand"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2679,86 +2679,86 @@ msgstr "ongeldige shift-operand"
 msgid "invalid operand for code '%c'"
 msgstr "ongeldige operand voor code '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "instructie wordt nooit uitgevoerd"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "operand ontbreekt"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function return type cannot be function"
 msgid "function parameters cannot have __fp16 type"
 msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "functie geeft geen string-type terug"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "operand %<%d%> is geen register"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr ""
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "adres-offset is geen constante"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr ""
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr ""
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "interne compilerfout.  Slecht adres:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "interne compilerfout.  Onbekende modus:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "ongeldige insn:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr ""
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "onbekende move-insn:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr ""
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "interne compilerfout.  Verkeerde shift:"
 
@@ -2774,7 +2774,7 @@ msgstr "ongeldige const_double operand"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3006,81 +3006,81 @@ msgstr "ongeldige output_move_double operand"
 msgid "bad output_condmove_single operand"
 msgstr "ongeldige output_condmove_single operand"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "ongeldige UNSPEC als operand"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "ongeldige operand voor code '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "ongeldige operand voor code '%c'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 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:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "ongeldige operand voor '%c'"
 
 # "constraints" hier te vertalen ("beperkingen"/"restricties") of niet?
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "ongeldige constraints voor operand"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "onbekende insn-modus"
 
@@ -3132,13 +3132,13 @@ msgstr "ongeldige conversie naar %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "ongeldige bewerking met %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "ongeldige waarde voor %%p"
@@ -3223,7 +3223,7 @@ msgid "post-increment address is not a register"
 msgstr "post-increment adres is geen register"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "slecht adres"
 
@@ -3365,124 +3365,124 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 msgid "-mvsx requires hardware floating point"
 msgstr "lege declaratie"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-fpic en -mapcs-reent zijn niet compatibel"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 msgid "-mvsx used with little endian code"
 msgstr "incompatibele record-modus"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "Schakel geïndexeerde adressering uit"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-fpic en -mapcs-reent zijn niet compatibel"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad test"
 msgid "bad move"
 msgstr "slechte test"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "ongeldige waarde voor %%H"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "ongeldige waarde voor %%K"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "ongeldige waarde voor %%O"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "ongeldige waarde voor %%q"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "ongeldige waarde voor %%x"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "twee %<u%>s in integerconstante"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "AltiVec argument doorgegeven aan functie zonder prototype"
 
@@ -3580,26 +3580,26 @@ msgstr "ongeldige operand voor 'o' modifier"
 msgid "invalid operand for code: '%c'"
 msgstr "ongeldige operand voor code: '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "ongeldige operand voor %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "ongeldige operand voor %%N"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "aangemaakt en gebruikt met verschillende architecturen / ABIs"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "aangemaakt en gebruikt met verschillende ABIs"
 
 # Vertaling voor "endianness"? Of niet nodig?
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "aangemaakt en gebruikt met verschillende \"endianness\""
 
@@ -3618,14 +3618,14 @@ msgstr "ongeldige operand voor %%A"
 msgid "invalid %%B operand"
 msgstr "ongeldige operand voor %%B"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%C operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%D operand"
@@ -3671,65 +3671,65 @@ msgstr "'o' operand is geen constante"
 msgid "xstormy16_print_operand: unknown code"
 msgstr ""
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "ongeldige operand voor %%c"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "ongeldige operand voor %%d"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%H specifier"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "ongeldige operand voor %%c"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "ongeldige operand voor %%P"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "ongeldige operand voor 'b' modifier"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4078,7 +4078,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "kandidaten zijn:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4496,12 +4496,12 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 #, fuzzy
 msgid "assignment"
 msgstr "beginwaarde ontbreekt"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 msgid "pointer assignment"
 msgstr "ongeldige lvalue in toewijzing"
@@ -4510,129 +4510,129 @@ msgstr "ongeldige lvalue in toewijzing"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 #, fuzzy
 msgid "module procedure"
 msgstr "%qs is geen bestand, pipe of tty"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 msgid "internal function"
 msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
 # Ongeldig soort wat?
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, fuzzy, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Ongeldige soort voor %s op %L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, fuzzy, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "incompatibele operands voor %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, fuzzy, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "onbekende operator '%s' in %%:version-compare"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, fuzzy, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "incompatibele operands voor %s"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 msgid "iterator variable"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "ongeldige expressie als operand"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4641,7 +4641,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4967,6 +4967,18 @@ msgstr ""
 msgid "cannot use mshared and static together"
 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-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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5062,29 +5074,12 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-#, 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."
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 #| msgid "GCC does not support -C or -CC without -E"
 msgid "gfortran does not support -E without -cpp"
 msgstr "GCC ondersteunt -C of -CC niet zonder -E"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a ondersteunt little-endian niet"
@@ -5097,6 +5092,11 @@ msgstr " conflicterende opties voor codegeneratie gebruikt"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+#, 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/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -7951,8 +7951,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr ""
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr ""
+#, fuzzy
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "ongeldig gebruik van %<restrict%>"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -12411,277 +12412,272 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr "Positie-onafhankelijke code wordt niet ondersteund.  Genegeerd"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 msgid "invalid use of type"
 msgstr "ongeldig gebruik van %<restrict%>"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 msgid "constant refers to itself"
 msgstr "sectie-pointer ontbreekt"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 msgid "expected numeric type"
 msgstr "ongeldige operand van %s"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 msgid "expected boolean type"
 msgstr "ongeldige operand van %s"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 msgid "expected integer or boolean type"
 msgstr "ongeldige waarheidsexpressie"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "ongeldige operanden voor binaire %s-operator"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 msgid "expected pointer"
 msgstr "ongeldige operand van %s"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 msgid "incompatible types in binary expression"
 msgstr "incompatibele types bij %s"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qs has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "grootte van array %qs is van een niet-integer type"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "switch-waarde is geen integer"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "negatieve insn-lengte"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 msgid "object is not a method"
 msgstr "opgeroepen object is geen functie"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 msgid "method type does not match object type"
 msgstr "argument %qs komt niet overeen met prototype"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 msgid "invalid use of %<...%> with builtin function"
 msgstr "ongeldig argument voor %<__builtin_return_address%>"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "geen argumenten"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "te veel argumenten voor formaat"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 msgid "argument 1 must be a map"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "ongeldig gebruik van %<restrict%>"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "slechte insn voor 'A'"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "te veel argumenten voor formaat"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "ongeldig argument voor %<__builtin_return_address%>"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 msgid "argument must be channel"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "%<defined%> zonder een naam"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 msgid "left argument must be a slice"
 msgstr "%<defined%> zonder een naam"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 msgid "first argument must be []byte"
 msgstr "%<defined%> zonder een naam"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 msgid "second argument must be slice or string"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "%Jparameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "%Jparameter %u heeft %<void%> als type"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "%Jparameter %u has incomplete type"
 msgid "argument must have complex type"
 msgstr "%Jparameter %u heeft een onvolledig type"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 msgid "complex arguments must have identical types"
 msgstr "het argument van %<cleanup%> is geen naam"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "ongeldig gebruik van %<this%> op hoogste niveau"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 msgid "expected function"
 msgstr "ongeldige operand van %s"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 msgid "incompatible type for receiver"
 msgstr "incompatibele types bij %s"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "%s laat qualifiers van doeltype van pointer vallen"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "number of arguments doesn%'t match prototype"
 msgid "number of results does not match number of values"
 msgstr "aantal argumenten kom niet overeen met prototype"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 msgid "index must be integer"
 msgstr "%<defined%> zonder een naam"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 msgid "incompatible type for map index"
 msgstr "incompatibele types bij %s"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "te veel argumenten voor formaat"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "te weinig argumenten voor formaat"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "ongeldige operand in de instructie"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 msgid "expected channel"
 msgstr "ongeldige operand van %s"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12722,21 +12718,25 @@ msgstr "ongeldige lvalue in asm-statement"
 msgid "expected boolean expression"
 msgstr "ongeldige waarheidsexpressie"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 msgid "incompatible types in send"
 msgstr "incompatibele types bij %s"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 msgid "invalid send on receive-only channel"
 msgstr "ongeldige operand in de instructie"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -13042,7 +13042,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "ongeldig argument voor %<__builtin_frame_address%>"
@@ -13136,13 +13136,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void-waarde niet genegeerd zoals het hoort"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "conversie naar niet-scalair type gevraagd"
@@ -13524,7 +13524,7 @@ msgstr "overflow in constante expressie"
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "ongeldig gebruik van %<restrict%>"
@@ -13656,7 +13656,7 @@ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "variabele %qD heeft beginwaarde, maar een onvolledig type"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "%J%<noinline%> attribuut gegeven aan ingebouwde functie %qD"
@@ -13666,7 +13666,7 @@ msgstr "%J%<noinline%> attribuut gegeven aan ingebouwde functie %qD"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "parameter %qs krijgt beginwaarde"
@@ -14624,7 +14624,7 @@ msgstr "argument %qs komt niet overeen met prototype"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "argument %qs komt niet overeen met prototype"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, 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"
@@ -14830,7 +14830,7 @@ msgstr "ISO C staat geen extra %<;%> buiten een functie toe"
 msgid "unknown type name %qE"
 msgstr "onbekende machine-modus %qs"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, fuzzy, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "meerdere opslagklassen in declaratie van %qs"
@@ -14840,7 +14840,7 @@ msgstr "meerdere opslagklassen in declaratie van %qs"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "het %qs attribuut wordt genegeerd voor %qs"
@@ -14890,7 +14890,7 @@ msgstr "ISO C90 ondersteunt %<long long%> niet"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 ondersteunt %<long long%> niet"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
@@ -14923,8 +14923,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, fuzzy, gcc-internal-format
 msgid "expected identifier"
 msgstr "ongeldige operand van %s"
@@ -15268,78 +15268,78 @@ msgstr "meerdere opslagklassen in declaratie van %qs"
 msgid "no type or storage class may be specified here,"
 msgstr "opslagklasse opgegeven voor parameter %qs"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "misvormde #pragma pack"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "misvormde #pragma pack"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jsectie-attribuut kan niet opgegeven worden voor lokale variabelen"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "sectie-attribuut kan niet opgegeven worden voor lokale variabelen"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "misvormde #pragma pack(pop[,id])"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "te veel invoerbestanden"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "vergelijking tussen signed en unsigned"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr ""
@@ -15354,42 +15354,42 @@ msgstr "ongeldige waarheidsexpressie"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "ongeldige const_double operand"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "-fPIC is niet geldig met -mcoff"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "ongeldige bewerking met %<__fpreg%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "ongeldige bewerking met %<__fpreg%>"
@@ -15399,7 +15399,7 @@ msgstr "ongeldige bewerking met %<__fpreg%>"
 msgid "expected %<(%> or end of line"
 msgstr "ongeldige operand van %s"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 msgid "for statement expected"
 msgstr "overflow in constante expressie"
@@ -15414,12 +15414,12 @@ msgstr "herdeclaratie van %qs"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "statische variable %qs is als dllimport aangeduid"
@@ -15445,27 +15445,27 @@ msgstr "statische variable %qs is als dllimport aangeduid"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%Jparameter %u heeft een onvolledig type"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -16267,7 +16267,7 @@ msgstr "array heeft stringconstante tussen haakjes als beginwaarde"
 msgid "initialization of a flexible array member"
 msgstr "initialisatie van flexibel array-lid"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-array heeft wide string als beginwaarde"
@@ -16478,227 +16478,227 @@ msgstr "%<return%> met waarde in een functie die void teruggeeft"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "%<return%> met waarde in een functie die void teruggeeft"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "functie geeft adres van lokale variabele terug"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch-waarde is geen integer"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "ongeldig gebruik van een void-expressie"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case-label niet in een switch-statement"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, fuzzy, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "default-label niet in een switch-statement"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break-statement niet in een lus of switch"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue-statement niet in een lus"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "break-statement niet in een lus of switch"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "statement zonder effect"
 
 # vertaling voor 'statement'?
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "teller van rechtse shift is negatief"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "teller van rechtse shift is >= breedte van het type"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "teller van links shift is negatief"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "teller van links shift is >= breedte van het type"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr ""
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "vergelijking tussen pointer en integer"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, 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:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "geordende vergelijking van een pointer met integer nul"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "geordende vergelijking van een pointer met integer nul"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "ongeldige registernaam voor %qs"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, 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:10582
+#: c-typeck.c:10588
 #, 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:10586
+#: c-typeck.c:10592
 #, 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:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr "waarde van struct-type gebruikt waar een scalair nodig is"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "ongeldig gebruik van %<restrict%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qs is geen bestand, pipe of tty"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17733,7 +17733,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17855,12 +17855,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "globale registervariabele %qs gebruikt in geneste functie"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "functie %qs geherdeclareerd met noinline attribuut"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "functie %qs geherdeclareerd met noinline attribuut"
@@ -17946,27 +17946,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "variabele %qs is te groot"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, fuzzy, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "incompatibele operands voor %s"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: function.c:4896
+#: function.c:4911
 #, fuzzy, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "ongeldige macronaam %<%.*s%>"
@@ -18425,62 +18425,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr "%<return%> zonder waarde in een functie die een niet-void waarde teruggeeft"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "ongeldige lvalue in toewijzing"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "registervariabele %qs gebruikt in geneste functie"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "registervariabele %qs gebruikt in geneste functie"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "registervariabele %qs gebruikt in geneste functie"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -18688,48 +18688,48 @@ msgstr "veld %qs als een functie gedeclareerd"
 msgid "function %qD redeclared as variable"
 msgstr "functie %qs geherdeclareerd als inline"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, fuzzy, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "continue-statement niet in een lus"
@@ -18830,12 +18830,12 @@ msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -19202,8 +19202,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
@@ -19508,7 +19508,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, 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."
@@ -19528,12 +19528,12 @@ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 msgid "nested function trampolines not supported on this target"
 msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
@@ -19723,7 +19723,7 @@ msgstr "ongeldige linker operand van %s"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19738,7 +19738,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19753,7 +19753,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "%qs staat niet aan het begin van een declaratie"
@@ -19789,7 +19789,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "globale registervariabele volgt op een functiedefinitie"
@@ -20427,119 +20427,119 @@ msgstr "kan bestand '%s' niet openen"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
 # vertaling voor 'statement'?
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "beginwaarde ontbreekt"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "inline maken mislukt in oproep van %qs"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "van hieruit opgeroepen"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, fuzzy, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "inline maken mislukt in oproep van %qs"
@@ -20575,7 +20575,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -20817,74 +20817,74 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "array subscript is geen integer"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "array subscript is geen integer"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "array subscript is geen integer"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison always false due to limited range of data type"
 msgstr "vergelijking is altijd vals omwille van het beperkte bereik van het datatype"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison always true due to limited range of data type"
 msgstr "vergelijking is altijd waar omwille van het beperkte bereik van het datatype"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "het %qs attribuut heeft enkel betekenis voor functies"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20898,141 +20898,141 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "het %qs attribuut wordt genegeerd"
 
-#: tree.c:5570
+#: tree.c:5585
 #, fuzzy, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "functie %qs geherdeclareerd met noinline attribuut"
 
-#: tree.c:5578
+#: tree.c:5593
 #, fuzzy, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "functie-definitie als %<auto%> gedeclareerd"
 
-#: tree.c:5586
+#: tree.c:5601
 #, fuzzy, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "statische variable %qs is als dllimport aangeduid"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, fuzzy, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qs als ander soort symbool geherdeclareerd"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "arrays van functies zijn niet betekenisvol"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -21248,12 +21248,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -21269,8 +21269,8 @@ msgstr "%qD is niet gedefinieerd buiten een functie"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "stringlengte %qd is groter dan %qd, de lengte die ISO C%d compilers moeten ondersteunen"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "overflow in constante expressie"
@@ -21912,40 +21912,40 @@ msgstr "het %qs attribuut wordt genegeerd voor %qs"
 msgid "invalid vector type for attribute %qE"
 msgstr "ongeldig vector-type voor attribuut %qs"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "het aantal componenten van de vector is geen macht van twee"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "nonnull attribuut zonder argumenten gebruikt voor een niet-prototype"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "argument van %<nonnull%> heeft een ongeldig operandnummer (argument %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "argument van %<nonnull%> heeft een operandnummer dat buiten bereik is (argument %lu, operand %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "argument van %<nonnull%> verwijst naar niet-pointer operand (argument %lu, operand %lu)"
@@ -21987,12 +21987,12 @@ msgstr "het %qs attribuut vereist prototypes met benoemde argumenten"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "het %qs attribuut is enkel van toepassing op variadische functies"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "gevraagde positie is geen integerconstante"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "gevraagde positie is kleiner dan nul"
@@ -23796,231 +23796,231 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "slechte waarde %qs voor -mmeroy-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "optie -mcpu=%s geeft conflicten met optie -mtune="
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check is niet compatibel met -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic en -mapcs-reent zijn niet compatibel"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS reentrant code wordt niet ondersteund.  Genegeerd"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, fuzzy, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g met -fomit-frame-pointer geeft mogelijk geen fatsoenlijke debug-mogelijkheden"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, fuzzy, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "Het doorgeven van floating-point argumenten in fp registers wordt nog niet ondersteund"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr ""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr ""
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "Grens voor structure-grootte kan enkel op 8 of 32 insgesteld worden"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "case-selector niet compatibel met label"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, fuzzy, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "case-selector niet compatibel met label"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "het %qs attribuut heeft enkel betekenis voor functies"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "het argument van %<asm%> is geen constante string"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -24061,87 +24061,87 @@ msgstr "functie geeft geen string-type terug"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "registervariabele %qs gebruikt in geneste functie"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "de zwakke declaratie van %qs moet publiek zijn"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, fuzzy, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "-pipe wordt niet ondersteund"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "ongeldige registernaam voor %qs"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "herhalings-aantal is geen integerconstante"
@@ -24482,414 +24482,414 @@ msgstr "kan bestand '%s' niet openen"
 msgid "can%'t set position in PCH file: %m"
 msgstr "kan bestand '%s' niet openen"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "slechte waarde (%s) voor de -march= optie"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "slechte waarde (%s) voor de -march= optie"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "slechte waarde (%s) voor de -march= optie"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d ligt niet tussen 0 en %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, fuzzy, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "pointer naar functie gebruikt in rekensom"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, fuzzy, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "pointer naar functie gebruikt in rekensom"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "onbekende machine-modus %qs"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, 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:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "herhalings-aantal is geen integerconstante"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "kan het %qs attribuut niet instellen na een definitie"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, 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:4954
+#: config/i386/i386.c:4961
 #, 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:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, 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:4976
+#: config/i386/i386.c:4983
 #, 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:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "het %qs attribuut wordt genegeerd voor niet-class-types"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "conflicterende types voor ingebouwde functie %qs"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "conflicterende types voor ingebouwde functie %qs"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 ondersteunt geen flexibele array-leden"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid operand code '%c'"
 msgid "non-integer operand used with operand code '%c'"
 msgstr "ongeldige operand voor '%c'"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "%<defined%> zonder een naam"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "het %qs attribuut wordt genegeerd"
@@ -24960,13 +24960,13 @@ msgstr "sectie-attribuut kan niet opgegeven worden voor lokale variabelen"
 msgid "%qE attribute requires a string constant argument"
 msgstr "herhalings-aantal is geen integerconstante"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -25040,7 +25040,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%Jsectie-attributen worden niet ondersteund voor dit doelsysteem"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "herhalings-aantal is geen integerconstante"
@@ -25097,7 +25097,7 @@ msgstr "%J%<noinline%> attribuut gegeven aan ingebouwde functie %qD"
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, fuzzy, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "-pipe wordt niet ondersteund"
@@ -25448,62 +25448,62 @@ msgstr "-pipe wordt niet ondersteund"
 msgid "%qs does not support MIPS16 code"
 msgstr "%s ondersteunt %s niet"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, 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:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "niet-ondersteunde versie"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "case-selector niet compatibel met label"
@@ -25513,57 +25513,57 @@ msgstr "case-selector niet compatibel met label"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "case-selector niet compatibel met label"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%<__thread%> samen met %s gebruikt"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "doel-CPU ondersteunt geen interworking"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -25851,309 +25851,309 @@ msgstr "cast laat qualifiers van doeltype van pointer vallen"
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "%<defined%> zonder een naam"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "%<defined%> zonder een naam"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, 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:11119
+#: config/rs6000/rs6000.c:11118
 #, 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "-pipe wordt niet ondersteund"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot disable built-in function %qs"
 msgid "internal error: builtin function %s had no type"
 msgstr "ingebouwde functie %qs kan niet uitgeschakeld worden"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 msgid "stack frame too large"
 msgstr "bestand %qs is te groot"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of '%%%c'"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "ongeldig gebruik van '%%%c'"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "spec '%s' is invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -26387,63 +26387,63 @@ msgstr "opslaggrootte van %qs is onbekend"
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, 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:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "het %qs attribuut heeft enkel betekenis voor functies"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "het %qs attribuut heeft enkel betekenis voor functies"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "herhalings-aantal is geen integerconstante"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "asm-template is geen stringconstante"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -26565,12 +26565,12 @@ msgstr "het %qs attribuut heeft geen betekenis voor types"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "slechte conditiecode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "operand 1 must be a hard register"
 msgid "operand must be an immediate of the right size"
@@ -26799,39 +26799,39 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "het %qs attribuut wordt genegeerd"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "het %qs attribuut vereist prototypes met benoemde argumenten"
 
 # goede vertaling van variadic?
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "het %qs attribuut is enkel van toepassing op variadische functies"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "het %qs attribuut wordt genegeerd"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "ongeldig vector-type voor attribuut %qs"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "ongeldig vector-type voor attribuut %qs"
@@ -27274,7 +27274,7 @@ msgstr ""
 msgid "passing %qT chooses %qT over %qT"
 msgstr "doorgeven van argument %d van %qs"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, fuzzy, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "kan oproep van %qs niet inline maken"
@@ -27337,425 +27337,425 @@ msgstr "ongeldige registernaam voor %qs"
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr ""
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, fuzzy, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, fuzzy, gcc-internal-format
 msgid "with %q+#D"
 msgstr "%s voor %qs"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "Ongeldige optie %qs"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, fuzzy, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "veld %qs heeft een onvolledig type"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "label %qs gedefinieerd maar niet gebruikt"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr ""
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, fuzzy, gcc-internal-format
 msgid "  by %q+D"
 msgstr "%s voor %qs"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, 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:2642
+#: cp/class.c:2643
 #, 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, fuzzy, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "breedte van bitveld %qs is geen integerconstante"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, 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:2908
+#: cp/class.c:2925
 #, fuzzy, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "bitveld %qs heeft een negatieve breedte"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, fuzzy, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "bitveld %qs heeft breedte 0"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, fuzzy, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "breedte van %qs overschrijdt zijn type"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, 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:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, 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:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, fuzzy, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "overtollige elementen in beginwaarde van union"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, 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:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "veld %qs als een functie gedeclareerd"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, fuzzy, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "bitveld %qs heeft een ongeldig type"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, 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:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr ""
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, fuzzy, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%s heeft geen benoemde leden"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, fuzzy, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "geen beginwaarde voor variant-veld %qs"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%qs is geen iterator"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "veld %qs heeft een onvolledig type"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "veld %qs heeft een onvolledig type"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "%qs is geen static veld"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, fuzzy, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "herdefinitie van %qs"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, 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:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "%qs is smaller dan waarden van zijn type"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, fuzzy, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "taal %s niet herkend"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, fuzzy, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "herhaald lid %qs"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
@@ -27765,12 +27765,12 @@ msgstr ""
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, fuzzy, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "herdeclaratie van %qs"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -27790,7 +27790,7 @@ msgstr "parameter %qs wijst naar een onvolledig type"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr ""
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "array subscript is geen integer"
@@ -28703,7 +28703,7 @@ msgstr "%qs als ander soort symbool geherdeclareerd"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "ISO C++ staat het gebruik van %<varargs.h%> niet toe"
@@ -28796,8 +28796,8 @@ msgstr "union heeft geen lid dat %qs heet"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, fuzzy, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "ongeldige beginwaarde voor veld %qs"
@@ -29333,7 +29333,7 @@ msgstr "%qs is geen iterator"
 msgid "type %qT is not derived from type %qT"
 msgstr "iterator %qs is van een afgeleid type"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qs wordt gedeclareerd als een array van functies"
@@ -29644,379 +29644,374 @@ msgid "cannot declare reference to %q#T, which is not a typedef or a template ty
 msgstr ""
 
 #: cp/decl.c:9497
-#, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
 #, fuzzy, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "zowel %<short%> als %<double%> opgegeven bij declaratie"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, fuzzy, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, fuzzy, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "kan niet derefereren, is geen pointer."
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "kan niet derefereren, is geen pointer."
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "kan niet derefereren, is geen pointer."
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "omvang van array %qs is te groot"
 
 # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, 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:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, fuzzy, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, fuzzy, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, fuzzy, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, fuzzy, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, fuzzy, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "%Jtypedef %qD als %<inline%> gedeclareerd"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, 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:9866
+#: cp/decl.c:9864
 #, 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:9893
+#: cp/decl.c:9891
 #, fuzzy, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "twee types opgegeven in één lege declaratie"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, 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:9906
+#: cp/decl.c:9904
 #, fuzzy, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "niet-beëindigde parameterlijst in %<#define%>"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, fuzzy, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "%s laat qualifiers van doeltype van pointer vallen"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, fuzzy, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "de declaratie van %qs verbergt een globale declaratie"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, fuzzy, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "attributen genegeerd in declarator van parameter-array"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "%Jparameter %qD als %<inline%> gedeclareerd"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "variabele %qs als inline gedeclareerd"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "ongeldig gebruik van %<restrict%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, fuzzy, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "veld %qs als een functie gedeclareerd"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "eerdere impliciete declaratie van `%s'"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "de declaratie van %qs verbergt een parameter"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "eerdere impliciete declaratie van `%s'"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, fuzzy, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "veld %qs heeft een onvolledig type"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, fuzzy, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "parameter %qs heeft een onvolledig type"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, fuzzy, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qs mag niet als alleen-lezen gedeclareerd worden"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "%qs is geen static veld"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "variabele %qs als inline gedeclareerd"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, fuzzy, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "ongeldige opslagklasse voor functie %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, fuzzy, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "ongeldige opslagklasse voor functie %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, fuzzy, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "ongeldige opslagklasse voor functie %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "globale registervariabele volgt op een functiedefinitie"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, fuzzy, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "ongeldige opslagklasse voor functie %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "het %qs attribuut wordt genegeerd voor niet-class-types"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, fuzzy, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "variabele %qs als inline gedeclareerd"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs krijgt beginwaarde en is als %<extern%> gedeclareerd"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs heeft zowel %<extern%> als een beginwaarde"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, 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:10573
+#: cp/decl.c:10571
 #, 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:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "ongeldig type-argument %qs"
 
 # Is the %s the argument, or is it 'of' the argument?
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "ongeldig type-argument %qs"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "%Jparameter %qD heeft een onvolledig type"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "parameter %qs als void gedeclareerd"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -30036,168 +30031,168 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, fuzzy, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, fuzzy, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, 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:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr ""
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, fuzzy, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, fuzzy, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, 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:11297
+#: cp/decl.c:11308
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, fuzzy, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, fuzzy, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, fuzzy, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "incompatibel type voor argument %d van %qs"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "incompatibel type voor argument %d van %qs"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, fuzzy, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "beginwaarde ontbreekt"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "dit is een eerdere declaratie"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, fuzzy, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "dit is een eerdere declaratie"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -30209,88 +30204,88 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, fuzzy, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "meerdere parameters hebben de naam %qs"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, fuzzy, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "grootte van %qs is %u bytes"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, 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:11717
+#: cp/decl.c:11728
 #, fuzzy, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, fuzzy, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "eerdere declaratie van %qs"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, fuzzy, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "overtollige elementen in beginwaarde van union"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, 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:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, fuzzy, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "herhaalde case-waarde"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "eerdere definitie van %qs"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -30299,74 +30294,74 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "enumeratiewaarde voor %qE is geen integerconstante"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C restricts enumerator values to range of %<int%>"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het %<int%> type"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, fuzzy, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "overflow in enumeratiewaarden"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "enumeratiewaarde voor %qE is geen integerconstante"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, fuzzy, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "type van teruggeefwaarde is onvolledig"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "teruggeeftype is onvolledig"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, fuzzy, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%Jgeen eerdere declaratie voor %qD"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "herhaalde label-declaratie %qs"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "parameter %qs als void gedeclareerd"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "label %qs gedefinieerd maar niet gebruikt"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, fuzzy, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "herhaalde label-declaratie %qs"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, fuzzy, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "kan klasse '%s' niet vinden"
@@ -30715,7 +30710,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30975,153 +30970,153 @@ msgstr "%qs is geen bestand, pipe of tty"
 msgid "bad array initializer"
 msgstr ""
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qs is geen iterator"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, fuzzy, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "bitveld %qs heeft een negatieve breedte"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, 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:1928
+#: cp/init.c:1930
 #, fuzzy, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "ongeldig gebruik van onvolledige typedef %qs"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "beginwaarde legt grootte van %qs niet vast"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr ""
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "beginwaarde legt grootte van %qs niet vast"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, fuzzy, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "kan klasse '%s' niet vinden"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, fuzzy, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "grootte van %qs is %u bytes"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "niet-constante array-index in beginwaarde"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "attributen genegeerd in declarator van parameter-array"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "kan %s niet vinden"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -31212,12 +31207,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -31227,12 +31222,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "%qs is geen static veld"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -31247,99 +31242,99 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "variable met beginwaarde %qs is als dllimport aangeduid"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "lege declaratie"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "niet-beëindigde parameterlijst in %<#define%>"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
 # Is the %s the argument, or is it 'of' the argument?
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "ongeldig type-argument %qs"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -31476,154 +31471,154 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr ""
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, fuzzy, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%d constructor(s) gevonden\n"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, 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:2292
+#: cp/name-lookup.c:2297
 #, fuzzy, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "eerdere declaratie van %qs"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, 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:2436
+#: cp/name-lookup.c:2441
 #, fuzzy, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, fuzzy, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%qs is geen iterator"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%qs is geen iterator"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%d constructor(s) gevonden\n"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, 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:3355
+#: cp/name-lookup.c:3360
 #, 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:3363
+#: cp/name-lookup.c:3368
 #, fuzzy, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "eerdere impliciete declaratie van `%s'"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "herhalings-aantal is geen integerconstante"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "attribuut-commando %qs wordt genegeerd"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, 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:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, 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:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 msgid "  %qE"
 msgstr "%s voor %qs"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -31753,7 +31748,7 @@ msgstr "ongeldig karakter in naam van macro-parameter"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "overflow in constante expressie"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31983,7 +31978,7 @@ msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "ongeldige operand van %s"
@@ -32175,7 +32170,7 @@ msgstr "%d constructor(s) gevonden\n"
 msgid "compound-statement in constexpr function"
 msgstr ""
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "herdeclaratie van %qs"
@@ -32207,7 +32202,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "herdeclaratie van %qs"
@@ -32223,12 +32218,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ verbiedt geneste functies"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "ongeldige beginwaarde"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -32265,7 +32260,7 @@ msgstr "herdefinitie van %<union %s%>"
 msgid "class definition may not be declared a friend"
 msgstr "%qs mag niet als alleen-lezen gedeclareerd worden"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -32343,12 +32338,12 @@ msgstr "onverwachte operand"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, 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:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
@@ -32363,7 +32358,7 @@ msgstr "niet-beëindigde parameterlijst in %<#define%>"
 msgid "expected template-id"
 msgstr "ongeldige beginwaarde"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "ongeldige operand van %s"
@@ -32491,12 +32486,12 @@ msgstr "ongeldige operand van %s"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "herhaalde definitie %qs"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "%qs wordt gedeclareerd als een array van functies"
@@ -32541,73 +32536,73 @@ msgstr "%qs staat niet aan het begin van een declaratie"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "geen eerdere declaratie voor %qs"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "%qs staat niet aan het begin van een declaratie"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, fuzzy, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "globale registervariabele volgt op een functiedefinitie"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 msgid "expected initializer"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "lege declaratie"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "ingebouwde functie %qs kan niet uitgeschakeld worden"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, fuzzy, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "attributen genegeerd in declarator van parameter-array"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "array subscript is geen integer"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "herhaald lid %qs"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%qs is geen iterator"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -32616,248 +32611,248 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 msgid "invalid declarator"
 msgstr "herdeclaratie van %qs"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 msgid "expected declarator"
 msgstr "meerdere opslagklassen in declaratie van %qs"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qs is geen iterator"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "herhaald lid %qs"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "onverwachte operand"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "herhaalde case-waarde"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "herhaalde case-waarde"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "ongeldig gebruik van %<restrict%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "%qs is geen iterator"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "%qs is geen iterator"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, fuzzy, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "argumenten aan macro %qs gegeven"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, fuzzy, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "argumenten aan macro %qs gegeven"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, 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:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ staat het gebruik van %<varargs.h%> niet toe"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 msgid "expected class-name"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "%J%qD als inline gedeclareerd na zijn definitie"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "%J%qD als inline gedeclareerd na zijn definitie"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "conflicterende declaraties van %qs"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "[kan %s niet vinden]"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "herdeclaratie van %qs"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, fuzzy, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "eerdere definitie van %qs"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "%qs staat niet aan het begin van een declaratie"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "%qs staat niet aan het begin van een declaratie"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "herdeclaratie van %qs"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, fuzzy, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "twee of meer data types in de declaratie van %qs"
@@ -32866,320 +32861,320 @@ msgstr "twee of meer data types in de declaratie van %qs"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, fuzzy, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "meerdere opslagklassen in declaratie van %qs"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, fuzzy, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "-pipe wordt niet ondersteund"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "herdeclaratie van %<enum %s%>"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "ongeldige linker operand van %s"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "herdeclaratie van %qs"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%qs is geen iterator"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "ongeldige linker operand van %s"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> vóór %<extern%> gebruikt"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "ongeldige beginwaarde"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "ongeldige operand van %s"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, fuzzy, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "Ongeldige optie %qs"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "dit is een eerdere declaratie"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qs als ander soort symbool geherdeclareerd"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
 # Is the %s the argument, or is it 'of' the argument?
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, fuzzy, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "ongeldig type-argument %qs"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "meerdere opslagklassen in declaratie van %qs"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%Jsectie-attribuut kan niet opgegeven worden voor lokale variabelen"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "ongeldig vector-type voor attribuut %qs"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "het %qs attribuut wordt genegeerd voor %qs"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operand for 'p' modifier"
 msgid "invalid type for property"
 msgstr "ongeldige operand voor 'p' modifier"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "registervariabele %qs gebruikt in geneste functie"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr ""
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "misvormde #pragma pack"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr ""
@@ -33893,17 +33888,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
@@ -33921,259 +33916,259 @@ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "variabele %qs als inline gedeclareerd"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, fuzzy, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "ongeldige operand voor %p-code"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, fuzzy, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "herdeclaratie van %qs"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 msgid "function returning an array"
 msgstr "%qs gedeclareerd als een functie die een array teruggeeft"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 msgid "function returning a function"
 msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "herhaald lid %qs"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "herhaald lid %qs"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "herhaald lid %qs"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "herhaald lid %qs"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "herhaald lid %qs"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, fuzzy, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "doorgeven van argument %d van %qs"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, 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:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, fuzzy, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "%qs is geen iterator"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "argument %qs komt niet overeen met prototype"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
 # 'whitespace' -> 'witruimte'?
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "ontbrekende witruimte na getal %qs"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "ongeldig gebruik van een void-expressie"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "%qs is geen iterator"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%J%qD als inline gedeclareerd na zijn definitie"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qs is geen iterator"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qs is geen iterator"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr ""
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, 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:14492
+#: cp/pt.c:14518
 #, fuzzy, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "argument %d is alleen-lezen"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, fuzzy, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "beginwaarde-element is niet constant"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, fuzzy, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "slechte stringconstante"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "herhaalde definitie %qs"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr ""
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, 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:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "eerdere impliciete declaratie van %qs"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "herhaalde definitie %qs"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "pointer naar functie gebruikt in aftrekking"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, fuzzy, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "herhaalde definitie %qs"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "impliciete declaratie van functie %qs"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, 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:18111
+#: cp/pt.c:18137
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "herhaalde definitie %qs"
@@ -34185,32 +34180,32 @@ msgstr "herhaalde definitie %qs"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "eerdere impliciete declaratie van %qs"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "incompatibel type voor argument %d van %qs"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%qs is geen iterator"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -34219,13 +34214,13 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 #| msgid "unable to emulate %qs"
 msgid "unable to deduce %qT from %qE"
 msgstr "kan %qs niet nabootsen"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -34462,7 +34457,7 @@ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
 msgid "invalid base-class specification"
 msgstr "ongeldige linker operand van %s"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qs is geen iterator"
@@ -34636,265 +34631,265 @@ msgstr "ongeldige opslagklasse voor functie %qs"
 msgid "%q#T has virtual base classes"
 msgstr "%qs is geen iterator"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%J%qD is gewoonlijk een niet-static funtie"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "kan functie %<main%> niet inline maken"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%J%qD werd voor haar definitie gebruikt zonder protoype"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "array subscript is geen integer"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "grootte van array %qs is van een niet-integraal type"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "array-index in beginwaarde van niet-array"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%qs is geen iterator"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%<%.*s%> is niet gedefinieerd"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "%qs is smaller dan waarden van zijn type"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "overflow in constante expressie"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "beginwaarde-element is niet constant"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "ongeldige waarheidsexpressie"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "ongeldig gebruik van een void-expressie"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "beginwaarde-element is niet constant"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "ongeldig gebruik van een void-expressie"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "niet-constante array-index in beginwaarde"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected AST of kind %s"
 msgstr "onverwachte operand"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "kan niet derefereren, is geen pointer."
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "ongeldige operanden voor binaire %s-operator"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> is niet beschikbaar in static member-funties"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, 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:2834
+#: cp/tree.c:2846
 #, 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:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -35854,123 +35849,123 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "ongeldige registernaam voor %qs"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "ongeldige registernaam voor %qs"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-array heeft niet-wide string als beginwaarde"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "int-array heeft niet-wide string als beginwaarde"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "beginwaarde-string voor array van chars is te lang"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, fuzzy, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "ongeldige beginwaarde voor member %qs"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, fuzzy, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "parameter %qs krijgt beginwaarde"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, fuzzy, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "parameter %qs krijgt beginwaarde"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, fuzzy, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "onbekend veld %qs opgegeven in beginwaarde"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "grootte van array %qs is van een niet-integraal type"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, fuzzy, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "grootte van array %qs is van een niet-integraal type"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, fuzzy, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "parameter %qs wijst naar een onvolledig type"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "parameter %qs wijst naar een onvolledig type"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "ongeldige opslagklasse voor functie %qs"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "dubbele beginwaarde"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, 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:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "parameter %qs wijst naar een onvolledig type"
@@ -36031,192 +36026,192 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Array subscript verwacht op %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Array subscript verwacht op %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Array subscript verwacht op %C"
 
 # Wet niet zeker of dit wel de betekenis is...
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Array subscript-stap verwacht op %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Ongeldige vorm van arrayverwijzing op %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected coarray designator at %C"
 msgstr "Array subscript verwacht op %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form of array reference at %C"
 msgid "Invalid form of coarray reference at %C"
 msgstr "Ongeldige vorm van arrayverwijzing op %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "twee of meer data types in de declaratie van %qs"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Lege array-constructor op %C is niet toegestaan"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -36252,7 +36247,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een constante zijn"
@@ -36366,7 +36361,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "incompatibele types bij %s"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -36455,8 +36450,8 @@ msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn"
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36614,7 +36609,7 @@ msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
 # rank -> rang: correct in Fortran-context?
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
@@ -36761,47 +36756,47 @@ msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic
 msgstr ""
 
 # vertaling voor 'intrinsic'? 'intrinsiek(e) xxx', maar wat als xxx te gebruiken?
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, fuzzy, gcc-internal-format, gfc-internal-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:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
 # rank -> rang: correct in Fortran-context?
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 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:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet %s zijn"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Te veel argumenten voor %s op %L"
 
 # rank -> rang: correct in Fortran-context?
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, fuzzy, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36813,7 +36808,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -37093,7 +37088,7 @@ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "herhaalde label-declaratie %qs"
@@ -37108,7 +37103,7 @@ msgstr "%<%.*s%> is niet gedefinieerd"
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "Initialisatie op %C is niet voor een pointervariable"
@@ -37118,7 +37113,7 @@ msgstr "Initialisatie op %C is niet voor een pointervariable"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "ongeldige waarheidsexpressie"
@@ -37315,7 +37310,7 @@ msgstr "het %qs attribuut heeft geen betekenis voor types"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -37335,838 +37330,838 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, fuzzy, gcc-internal-format, gfc-internal-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:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "twee of meer data types in de declaratie van %qs"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "conflicterende declaraties van %qs"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: 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:4780
+#: fortran/decl.c:4781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "gevraagd alignment is geen macht van 2"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "%s voor %qs"
 
 # Wet niet zeker of dit wel de betekenis is...
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript stride at %C"
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "Array subscript-stap verwacht op %C"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "overflow in constante expressie"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "constant object wordt beschreven (argument %d)"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "parameternaam ontbreekt uit parameterlijst"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "parameternaam ontbreekt uit parameterlijst"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "parameternaam ontbreekt uit parameterlijst"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "Functienaam '%s' niet toegestaan op %C"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "%s voor %qs"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Initialisatie op %C is niet voor een pointervariable"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "%s voor %qs"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "herhaalde label-declaratie %qs"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "herhaalde label-declaratie %qs"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Expected access-specifier at %C"
 msgstr "Array subscript verwacht op %C"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "herhaalde label-declaratie %qs"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "ongeldige operand van %s"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "constant object wordt beschreven (argument %d)"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "ongeldige expressie als operand"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "ongeldige waarheidsexpressie"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "ongeldige operand van %s"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Array subscript verwacht op %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "ongeldige operand van %s"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "ongeldige expressie als operand"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "fout in argumenten voor spec-functie '%s'"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "doorgeven van argument %d van %qs"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "ongeldige operand van %s"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "onbekende operator '%s' in %%:version-compare"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "veld %qs heeft al een beginwaarde gekregen"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "%s voor %qs"
@@ -38407,27 +38402,27 @@ msgstr "ongeldige lvalue in toewijzing"
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38689,7 +38684,7 @@ msgid "can't open input file: %s"
 msgstr "kan bestand '%s' niet openen"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38805,12 +38800,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40848,7 +40843,7 @@ msgstr "ongeldige beginwaarde"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "conflicterende declaraties van %qs"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41944,949 +41939,949 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "overflow in constante expressie"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, fuzzy, gcc-internal-format, gfc-internal-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:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-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:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "(dicht bij initialisatie van %qs)"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "(dicht bij initialisatie van %qs)"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, fuzzy, gcc-internal-format, gfc-internal-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:1530
+#: fortran/resolve.c:1532
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "taal %s niet herkend"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "naar label %s gerefereerd buiten enige functie"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, fuzzy, gcc-internal-format, gfc-internal-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:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "%s voor %qs"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "globale registervariabele volgt op een functiedefinitie"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Te veel argumenten voor %s op %L"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Te veel argumenten voor %s op %L"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "fout in argumenten voor spec-functie '%s'"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "fout in argumenten voor spec-functie '%s'"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
 # dit klinkt niet al te best
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "functie-oproep heeft geaggregeerde waarde"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "doorgeven van argument %d van %qs"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "pointers zijn niet toegestaan als case-waarden"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "doorgeven van argument %d van %qs"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "Array section in '%s' call at %L"
 msgstr "Functienaam '%s' niet toegestaan op %C"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, fuzzy, gcc-internal-format, gfc-internal-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:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 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:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-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:2969
+#: fortran/resolve.c:2971
 #, fuzzy, gcc-internal-format, gfc-internal-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:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "%qs is meestal een functie"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "Bestandsnaam ontbreekt na %qs optie"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "-shared en -mdll zijn niet compatibel"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "grootte van %qs is %u bytes"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "subscript ontbreekt in array-referentie"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "%qs is geen bestand, pipe of tty"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "requested alignment is too large"
 msgid "Substring end index at %L is too large"
 msgstr "gevraagd alignment is te groot"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "overflow in constante expressie"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "ongeldige expressie als operand"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "%s voor %qs"
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42895,180 +42890,180 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "expressie-statement heeft onvolledig type"
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "expressie-statement heeft onvolledig type"
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "%<defined%> zonder een naam"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -43076,955 +43071,955 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%s van alleen-lezen variabele %qs"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "%s van alleen-lezen variabele %qs"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array %qs is too large"
 msgid "String length at %L is too large"
 msgstr "omvang van array %qs is te groot"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, fuzzy, gcc-internal-format, gfc-internal-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:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
 # vertaling voor 'statement'?
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "expressie-statement heeft onvolledig type"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "parameternamen (zonder types) in functiedeclaratie"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "Te veel argumenten voor %s op %L"
 
 # rank -> rang: correct in Fortran-context?
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "Te veel argumenten voor %s op %L"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "veld %qs heeft al een beginwaarde gekregen"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
 # rank -> rang: correct in Fortran-context?
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Lege array-constructor op %C is niet toegestaan"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "het %qs attribuut heeft geen betekenis voor types"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "overflow in constante expressie"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "object van variabele lengte mag geen beginwaarde krijgen"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "label %qs gedefinieerd maar niet gebruikt"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "label %qs gedefinieerd maar niet gebruikt"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, fuzzy, gcc-internal-format, gfc-internal-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:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -44194,34 +44189,34 @@ msgstr "ongeldig type-argument %qs"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "het argument van %<asm%> is geen constante string"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -44229,48 +44224,48 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
 # dit klinkt niet al te best
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "functie-oproep heeft geaggregeerde waarde"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -44639,17 +44634,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -45270,18 +45265,18 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "eerdere impliciete declaratie van `%s'"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not open response file %s"
 msgid "could not parse file offset"
 msgstr "kan antwoordbestand %s niet openen"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected offset"
@@ -45293,69 +45288,69 @@ msgstr "onverwachte operand"
 msgid "invalid line in the resolution file"
 msgstr "ongeldig register in de instructie"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "ongeldig register in de instructie"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "kan %s niet vinden"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "open %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "open %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "open %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "kan bestand '%s' niet openen"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "kan bestand '%s' niet openen"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "kan bestand '%s' niet openen"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "could not open response file %s"
 msgid "could not open symbol resolution file: %m"
 msgstr "kan antwoordbestand %s niet openen"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -47028,6 +47023,10 @@ msgstr ""
 #~ msgstr "types in voorwaardelijke expressie komen niet overeen"
 
 #, fuzzy
+#~ msgid "invalid operand in conversion"
+#~ msgstr "ongeldige operand in de instructie"
+
+#, fuzzy
 #~ msgid "invalid operand in int to float conversion"
 #~ msgstr "ongeldige operand in de instructie"
 
index dae7ca0..5043e53 100644 (file)
Binary files a/gcc/po/ru.gmo and b/gcc/po/ru.gmo differ
index aa8a351..8d20703 100644 (file)
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.7.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2012-07-01 16:16+0200\n"
 "Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -30,7 +30,7 @@ msgstr "<anonymous>"
 msgid "({anonymous})"
 msgstr "({anonymous})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "ожидался конец строки"
@@ -40,8 +40,8 @@ msgstr "ожидался конец строки"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "ожидалось %<;%>"
@@ -53,13 +53,13 @@ msgstr "ожидалось %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "ожидалось %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "ожидалось %<,%>"
@@ -75,14 +75,14 @@ msgstr "ожидалось %<,%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "ожидалось %<)%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "ожидалось %<]%>"
@@ -91,25 +91,25 @@ msgstr "ожидалось %<]%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "ожидалось %<;%>, %<,%> или %<)%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "ожидалось %<}%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "ожидалось %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "ожидалось %<:%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "ожидалось %<while%>"
@@ -118,34 +118,34 @@ msgstr "ожидалось %<while%>"
 msgid "expected %<.%>"
 msgstr "ожидалось %<.%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "ожидалось %<@end%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "ожидалось %<>%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "ожидалось %<,%> или %<)%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "ожидалось %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "ожидалось %<#pragma omp section%> или %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "ожидалось %<{%>"
@@ -326,12 +326,12 @@ msgstr "операнд '%%l' не является меткой"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "некорректное использование плавающей константы"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "в списке операндов задано некорректное выражение"
@@ -1429,20 +1429,20 @@ msgstr "некорректная RTL-инструкция"
 msgid "insn does not satisfy its constraints:"
 msgstr "RTL-инструкция не удовлетворяет своим ограничениям:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "создан с одним значением '%s', а используется с другим"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "недостаточно памяти"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "создан с одним значением -fpic, а используется с другим"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "создан с одним значением -fpie, а используется с другим"
 
@@ -2061,202 +2061,202 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Максимальный размер выражения (число RTL-узлов), которое может быть записано как последнее известное значение псевдорегистра"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Максимальное число небольших целочисленных констант, для которых в компиляторе будут использованы разделяемые структуры"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Минимальное число виртуальных отображений, при котором может быть выполнено полное переименование виртуальных символов"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Отношение числа виртуальных отображений к числу виртуальных символов, при котором выполняется полное переименование символов"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Ограничение снизу на буфер для защиты от разрушения стека"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Максимальное число инструкций в блоке, который необходимо дублировать при протягивании переходов"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Если число  полей в структуре больше данного параметра, то при анализе указателей вся структура рассматривается как одна переменная"
 
-#: params.def:705
+#: params.def:706
 #, fuzzy
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Максимальное число инструкций в отрезке для междублочного планирования"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "Размер кэша L1"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "Размер строки кэша L1"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "Размер кэша L2"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Использовать ли канонические типы"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 #, fuzzy
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "При вынесении инвариантов цикла - минимальная цена выражения, рассматриваемого как дорогостоящее "
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 msgid "maximum number of parameters in a SCoP"
 msgstr "максимальное значение параметра %qs равно %u"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Максимальное число инструкций в отрезке для межблочного планирования"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 #, fuzzy
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "Число отложенных команд, подлежащих предварительному планированию"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Комбинировать условные переходы с другими инструкциями"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Комбинировать условные переходы с другими инструкциями"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2593,18 +2593,18 @@ msgid "invalid %%r value"
 msgstr "некорректное значение %%r"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "некорректное значение %%R"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "некорректное значение %%N"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "некорректное значение %%P"
@@ -2619,12 +2619,12 @@ msgstr "некорректное значение %%h"
 msgid "invalid %%L value"
 msgstr "некорректное значение %%L"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "некорректное значение %%M"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "некорректное значение %%M"
@@ -2635,7 +2635,7 @@ msgid "invalid %%U value"
 msgstr "некорректное значение %%U"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "некорректное значение %%s"
@@ -2645,7 +2645,7 @@ msgstr "некорректное значение %%s"
 msgid "invalid %%C value"
 msgstr "некорректное значение %%C"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "некорректное значение %%E"
@@ -2656,38 +2656,38 @@ msgid "unknown relocation unspec"
 msgstr "некорректное unspec-перемещение"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "некорректный код %%xn"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "предикативная инструкция для архитектуры Thumb"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "предикативная инструкция в условной последовательности"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "недопустимый операнд для кода '%c'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "некорректный оператор сдвига"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2695,84 +2695,84 @@ msgstr "некорректный оператор сдвига"
 msgid "invalid operand for code '%c'"
 msgstr "недопустимый операнд для кода '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "инструкция никогда не выполняется"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "отсутствует операнд"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 msgid "function parameters cannot have __fp16 type"
 msgstr "функция возвращает агрегатное значение"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 msgid "functions cannot return __fp16 type"
 msgstr "функция возвращает значение не строкового типа"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "для операнда адреса требуются ограничения одного из регистров X, Y или Z"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "выходной операнд %d должен содержать ограничитель %<&%>"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 msgid "bad address, not an I/O address:"
 msgstr "некорректный адрес, не (reg+disp)"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 msgid "bad address, not a constant:"
 msgstr "адресное смещение - не константа"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "некорректный адрес, не (reg+disp)"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "некорректный адрес, не post_inc или pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "внутренняя ошибка компилятора: некорректный адрес:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "внутренняя ошибка компилятора: неизвестный режим:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "недопустимая инструкция:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "некорректная инструкция:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "некорректная инструкция перемещения:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "некорректная инструкция сдвига:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "Внутренняя ошибка компилятора: некорректный сдвиг:"
 
@@ -2788,7 +2788,7 @@ msgstr "некорректный операнд const_double"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3019,72 +3019,72 @@ msgstr "некорректный операнд для output_move_double"
 msgid "bad output_condmove_single operand"
 msgstr "некорректный операнд для output_condmove_single"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "некорректный операнд UNSPEC"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "недопустимый операнд для кода '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "недопустимый операнд для кода '%c'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "операнд не является константой или кодом условия, неверный код операнда 'c'"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "некорректный код операнда '%c'"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "некорректные ограничения для операнда"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "некорректный режим инструкции"
 
@@ -3136,13 +3136,13 @@ msgstr "некорректное преобразование к %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "некорректный операнд для %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "неверное значение для кода %%p"
@@ -3223,7 +3223,7 @@ msgid "post-increment address is not a register"
 msgstr "постинкрементный адрес - не регистр"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "некорректный адрес"
 
@@ -3361,121 +3361,121 @@ msgstr "Выход за границу стека.\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "Попробуйте выполнить '%s' в командной строке, чтобы увеличить его размер.\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 msgid "-mvsx requires hardware floating point"
 msgstr "Использовать аппаратную реализацию плавающей арифметики"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "ключи -f%s и -msdata=%s несовместимы"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 msgid "-mvsx used with little endian code"
 msgstr "Генерировать код для обратного порядка байт (little endian)"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 msgid "-mvsx needs indexed addressing"
 msgstr "Не использовать индексную адресацию"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "ключи -f%s и -msdata=%s несовместимы"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 msgid "bad move"
 msgstr "Некорректная проверка"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 msgid "invalid %%c value"
 msgstr "некорректное %%H значение"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "недопустимое значение для кода %%f"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "недопустимое значение для кода %%F"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "недопустимое значение для кода %%G"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "недопустимое значение для кода %%j"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "недопустимое значение для кода %%J"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "недопустимое значение для кода %%k"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "недопустимое значение для кода %%K"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "недопустимое значение для кода %%O"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "недопустимое значение для кода %%q"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "недопустимое значение для кода %%S"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "недопустимое значение для кода %%T"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "недопустимое значение для кода %%u"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "недопустимое значение для кода %%v"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "неверное значение для кода %%x"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "некорректный знак %qc в ограничителе"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "Аргумент AltiVec передан в функцию без прототипа"
 
@@ -3564,25 +3564,25 @@ msgstr "некорректный операнд для модификатора
 msgid "invalid operand for code: '%c'"
 msgstr "некорректный операнд для кода '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "некорректный операнд для %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "некорректный операнд для %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "создан с одной архитектурой / ABI, а используется с другим"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "создан с одним ABI, а используется с другим"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "создан с одним значением endianness, а используется с другим"
 
@@ -3601,13 +3601,13 @@ msgstr "некорректный операнд для %%A"
 msgid "invalid %%B operand"
 msgstr "некорректный операнд для %%B"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 msgid "invalid %%C operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 msgid "invalid %%D operand"
 msgstr "неверный операнд для кода %%P"
@@ -3652,57 +3652,57 @@ msgstr "операнд с кодом 'o' - не константа"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: некорректный код"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "некорректный операнд для %%c"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "некорректный операнд для %%d"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 msgid "invalid %%H specifier"
 msgstr "недопустимое значение для кода %%j"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 msgid "invalid %%h operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 msgid "invalid %%I operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 msgid "invalid %%i operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 msgid "invalid %%j operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 msgid "invalid %%%c operand"
 msgstr "некорректный операнд для %%c"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 msgid "invalid %%N operand"
 msgstr "неверный операнд для кода %%P"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "некорректный операнд для модификатора 'b'"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4035,7 +4035,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "претенденты:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4429,11 +4429,11 @@ msgstr ""
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "присваивание"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 #, fuzzy
 msgid "pointer assignment"
 msgstr "присваивание"
@@ -4442,132 +4442,132 @@ msgstr "присваивание"
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 #, fuzzy
 msgid "module procedure"
 msgstr "В подпрограмме"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 msgid "internal function"
 msgstr "%qs объявлена как функция, возвращающая функцию"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 #, fuzzy
 msgid "elemental procedure"
 msgstr "В подпрограмме"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, fuzzy, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "некорректные ограничители операндов в операторе `asm'"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 #, fuzzy
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "квалификаторы `%V' не могут быть применены к %qT"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Неизвестный оператор '%s' в %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, fuzzy, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "некорректные ограничители операндов в операторе `asm'"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 msgid "iterator variable"
 msgstr "Выполнить отслеживание переменных"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 msgid "End expression in DO loop"
 msgstr "в списке операндов задано некорректное выражение"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 msgid "Step expression in DO loop"
 msgstr "некорректное адресное выражение"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE "
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 msgid "ALLOCATE object"
 msgstr "ALLOCATE "
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4576,7 +4576,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4907,6 +4907,18 @@ msgstr "Недопустимо одновременно использовать
 msgid "cannot use mshared and static together"
 msgstr "Недопустимо одновременно использовать mshared и static"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4998,27 +5010,11 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "Ключ -shared не поддерживается для VAX ELF"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 msgid "gfortran does not support -E without -cpp"
 msgstr "ключ -C или -CC допустим только с -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 "-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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a не поддерживает little-endian"
@@ -5031,6 +5027,10 @@ msgstr " заданы несовместимые ключи генерации 
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "Ключ -shared не поддерживается для VAX ELF"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 msgid "profiling not supported with -mg"
@@ -7896,7 +7896,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Следовать соглашениям о вызовах Renesas (бывшая Hitachi) для SuperH"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "Увеличить соответствие кода для плавающей арифметики стандарту IEEE"
 
 #: config/sh/sh.opt:278
@@ -12367,268 +12369,263 @@ msgstr "Поддерживать разделяемые библиотеки н
 msgid "Create a position independent executable"
 msgstr "Генерировать позиционно-независимый код для выполняемых модулей, если возможно (режим large)"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 msgid "invalid use of type"
 msgstr "некорректное использование %qD"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 msgid "constant refers to itself"
 msgstr "указатель inlined_to ссылается на себя"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 msgid "expected numeric type"
 msgstr "некорректное адресное выражение"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 msgid "expected boolean type"
 msgstr "ожидалось выражение"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 msgid "expected integer or boolean type"
 msgstr "ожидалось выражение"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "неверные операнды бинарной операции %s"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 msgid "expected pointer"
 msgstr "Ожидалось целочисленное значение"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 msgid "incompatible types in binary expression"
 msgstr "несовместимые типы в операторе возврата"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 msgid "shift of non-integer operand"
 msgstr "размер массива %qs имеет не целочисленный тип"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 msgid "shift count not unsigned integer"
 msgstr "в операторе switch задано не целое"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 msgid "negative shift count"
 msgstr "отрицательная длина RTL-инструкции"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 msgid "object is not a method"
 msgstr "вызываемый объект %qE не является функцией"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 msgid "method type does not match object type"
 msgstr "аргумент типа %qT не соответствует типу %qT"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 msgid "invalid use of %<...%> with builtin function"
 msgstr "некорректный аргумент внутренней функции"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 msgid "not enough arguments"
 msgstr "отсутствуют аргументы"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 msgid "too many arguments"
 msgstr "слишком много аргументов для форматирования"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 msgid "argument 1 must be a map"
 msgstr "аргумент %qD не является константой"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "неверное употребление спецификатора %<restrict%>"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 msgid "bad size for make"
 msgstr "некорректная инструкция для 'A'"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 msgid "too many arguments to make"
 msgstr "слишком много аргументов для %s `%+#D'"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "аргумент %qD не является константой"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "некорректный аргумент внутренней функции"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 msgid "argument must be channel"
 msgstr "аргумент %qD не является константой"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 #, fuzzy
 msgid "cannot close receive-only channel"
 msgstr "некорректный операнд в инструкции"
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "маска должна быть непосредственным значением"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 msgid "left argument must be a slice"
 msgstr "маска должна быть непосредственным значением"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 msgid "first argument must be []byte"
 msgstr "маска должна быть непосредственным значением"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 msgid "second argument must be slice or string"
 msgstr "аргумент %qD не является константой"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 msgid "argument 2 has invalid type"
 msgstr "%Jпараметр %u имеет неполный void"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 msgid "argument must have complex type"
 msgstr "%Jпараметр %u имеет неполный тип"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 msgid "complex arguments must have identical types"
 msgstr "аргумент атрибута cleanup - не идентификатор"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 msgid "complex arguments must have floating-point type"
 msgstr "Не использовать аппаратную плавающую арифметику"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "некорректное использование %<this%> на внешнем уровне"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 msgid "expected function"
 msgstr "Ожидалась строка"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 msgid "incompatible type for receiver"
 msgstr "несовместимые типы в операторе возврата"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "некорректное использование %<this%> в функции, не являющейся элементом"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 msgid "number of results does not match number of values"
 msgstr "число входящих дуг не соответствует числу аргументов PHI"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 msgid "index must be integer"
 msgstr "предикат должен быть идентификатором"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 msgid "slice end must be integer"
 msgstr "предикат должен быть идентификатором"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 msgid "incompatible type for map index"
 msgstr "несовместимые типы в присваивании"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 msgid "too many expressions for struct"
 msgstr "слишком много аргументов для форматирования"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 msgid "too few expressions for struct"
 msgstr "недостаточно аргументов для указанного формата"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "некорректный операнд в инструкции"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 msgid "expected channel"
 msgstr "ожидалось имя класса"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12670,21 +12667,25 @@ msgstr "неверное lvalue-выражение в операторе asm"
 msgid "expected boolean expression"
 msgstr "ожидалось выражение"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 msgid "incompatible types in send"
 msgstr "несовместимые типы в операторе возврата"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 msgid "invalid send on receive-only channel"
 msgstr "некорректный операнд в инструкции"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 #, fuzzy
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr "аргумент %qD не является константой"
@@ -12982,7 +12983,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "неверный аргумент для %<__builtin_frame_address%>"
@@ -13076,13 +13077,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "использование пустого (void) значения"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "преобразование к нескалярному типу"
@@ -13457,7 +13458,7 @@ msgstr "переход в выражение-оператор"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H%qE: определение с некорректным видом тега"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "неверное употребление спецификатора %<restrict%>"
@@ -13585,7 +13586,7 @@ msgstr "объект переменного размера нельзя иниц
 msgid "variable %qD has initializer but incomplete type"
 msgstr "переменная %qD инициализирована, хотя имеет неполный тип"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "inline функция %q+D с атрибутом noinline"
@@ -13595,7 +13596,7 @@ msgstr "inline функция %q+D с атрибутом noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "не инициализирован константный элемент %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%q+D будет инициализирован после"
@@ -14493,7 +14494,7 @@ msgstr "аргумент %qD не соответствует встроенно
 msgid "argument %qD doesn%'t match prototype"
 msgstr "аргумент %qD не соответствует прототипу"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "в функции, которая должна возвращать значение, отсутствует оператор return"
@@ -14696,7 +14697,7 @@ msgstr "согласно ISO C, избыточный знак %<;%> после 
 msgid "unknown type name %qE"
 msgstr "неизвестное имя регистра: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "ожидались спецификаторы декларации"
@@ -14706,7 +14707,7 @@ msgstr "ожидались спецификаторы декларации"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "ожидался идентификатор или %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "атрибут %qE для %qE проигнорирован"
@@ -14754,7 +14755,7 @@ msgstr "ISO C90 не поддерживает тип %<long long%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 не поддерживает тип %<long long%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "ожидался строковый литерал"
@@ -14786,8 +14787,8 @@ msgstr "Не выполнено необходимое условие в код
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "ожидался идентификатор"
@@ -15121,77 +15122,77 @@ msgstr "ожидались спецификаторы декларации"
 msgid "no type or storage class may be specified here,"
 msgstr "для %qs задан класс хранения"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "отсутствует %<(%> после %<#pragma pack%> - директива проигнорирована"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "отсутствует %<(%> после %<#pragma pack%> - директива проигнорирована"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jатрибут section недопустим для локальных переменных"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%Jатрибут адресного пространства для функций недопустим"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "некорректный формат #pragma GCC pch_preprocess, директива проигнорирована"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "слишком много входных файлов"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "сравнение знакового и беззнакового целых выражений"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, fuzzy, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "ожидалось %<,%> или %<;%>"
@@ -15206,42 +15207,42 @@ msgstr "ожидалось выражение"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, fuzzy, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "ожидалось %<:%>, %<,%>, %<;%>, %<}%> или %<__attribute__%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "некорректный операнд const_double"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs не является корректным выходным файлом"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "некорректный операнд для %<__fpreg%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "некорректный операнд для %<__fpreg%>"
@@ -15251,7 +15252,7 @@ msgstr "некорректный операнд для %<__fpreg%>"
 msgid "expected %<(%> or end of line"
 msgstr "некорректный операнд"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 msgid "for statement expected"
 msgstr "перед `*' должно быть имя типа"
@@ -15266,12 +15267,12 @@ msgstr "ожидалась декларация или оператор"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "instance-переменная %qs объявлена как private"
@@ -15296,27 +15297,27 @@ msgstr "instance-переменная %qs объявлена как private"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%Jпараметр %u имеет неполный тип"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -16104,7 +16105,7 @@ msgstr "инициализация символьного массива стр
 msgid "initialization of a flexible array member"
 msgstr "инициализация регулируемого элемента-массива"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "инициализация символьного массива строкой широких символов"
@@ -16310,223 +16311,223 @@ msgstr "оператор %<return%> <значение> в функции воз
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "оператор %<return%> <значение> в функции возвращающей void"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "функция возвращает адрес локальной переменной"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "в операторе switch задано не целое"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "в ISO C %<long%>-выражение в операторе switch не преобразуется в %<int%>"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "размер массива не является целочисленным константным выражением"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case-метка вне оператора switch"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "метка %<default%> вне оператора switch"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%Hиспользуйте фигурные скобки во избежание неоднозначной трактовки %<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "оператор break вне цикла или оператора switch"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "оператор continue вне цикла"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "оператор break вне цикла или оператора switch"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "оператор без побочного эффекта"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "оператор-выражение имеет неполный тип"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "сдвиг вправо на отрицательное число позиций"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "величина сдвига вправо больше или равна ширине данного типа"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "сдвиг влево на отрицательное число позиций"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "величина сдвига влево больше или равна ширине данного типа"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr "Предупреждать о отступлениях от стиля Effective C++"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "сравнение плавающих значений при помощи == или != не надежно"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "сравнение различных указательных типов без приведения типов"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "в ISO C сравнение указателя на функцию с указателем %<void *%> запрещено"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "сравнение различных указательных типов без приведения типов"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "сравнение указателя и целого"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "сравнение указателей на полный и неполный типы"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C разрешает сравнение указателей на функции только на равенство/неравенство"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "упорядоченное сравнение указателя с целочисленным нулем"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "упорядоченное сравнение указателя с целочисленным нулем"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "неявная конверсия из %qT в %qT, запрещенная в C++"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "массив, не приводимый к указателю, употреблен в контексте, где допустимо только скалярное значение"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "структурное значение употреблено в контексте, где допустимо только скалярное значение"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "объединение употреблено в контексте, где допустимо только скалярное значение"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr "структурное значение употреблено в контексте, где допустимо только скалярное значение"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "неверное употребление спецификатора %<restrict%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qT не является базовым для %qT"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "instance-переменная %qs объявлена как private"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "instance-переменная %qs объявлена как private"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17546,7 +17547,7 @@ msgstr "доминатором %d должен быть %d, а не %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17666,12 +17667,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "глобальная регистровая переменная %qD использована во вложенной функции"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%Jфункция %qD повторно декларирована с атрибутом noinline"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%Jфункция %qD повторно декларирована с атрибутом noinline"
@@ -17756,27 +17757,27 @@ msgstr "проверка fold: исходное дерево изменено ф
 msgid "total size of local objects too large"
 msgstr "%Jобщий размер локальных объектов слишком велик"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "некорректное ограничение в %<asm%>"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "переменная %q+D может быть испорчена вызовами %<longjmp%> или %<vfork%>"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "аргумент %qD мог быть испорчен вызовами `longjmp' или `vfork'"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "функция возвращает агрегатное значение"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "параметр %q+D не используется"
@@ -18205,62 +18206,62 @@ msgstr "дерево: ожидался класс %qs, обнаружен %qs (%
 msgid "using result of function returning %<void%>"
 msgstr "в функции, которая должна возвращать значение, отсутствует оператор return"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "неверное lvalue-выражение в выходном операторе %d оператора asm"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "невозможна прямая адресация к входной позиции памяти %d"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "регистровая переменная %qD использована во вложенной функции"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "instance-переменная %qs объявлена как private"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "instance-переменная %qs объявлена как private"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "регистровая переменная %qs использована во вложенной функции"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "локальная переменная %qD недопустима в данном контексте"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
@@ -18464,48 +18465,48 @@ msgstr "поле %qs описано как функция"
 msgid "function %qD redeclared as variable"
 msgstr "функция %q+D повторно декларирована как inline"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, fuzzy, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "  входит в try-блок"
@@ -18601,12 +18602,12 @@ msgstr "-m%s в данной конфигурации не поддержива
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition не работает для заданной архитектуры"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition не работает для заданной архитектуры"
@@ -18967,8 +18968,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "нельзя использовать '%s' как %s регистр"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "неизвестное имя регистра: %s"
@@ -19273,7 +19274,7 @@ msgstr "атрибут packed приводит к неэффективному 
 msgid "packed attribute is unnecessary"
 msgstr "атрибут packed не требуется"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "выравнивание элементов массива превышает их размер"
@@ -19293,12 +19294,12 @@ msgstr "глобальные деструкторы не поддерживаю
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections не поддерживается для этой целевой машины"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "атрибут %qs не поддерживается на данной платформе"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma extern_prefix для этой платформы не поддерживается"
@@ -19488,7 +19489,7 @@ msgstr "некорректная спецификация базового кл
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19503,7 +19504,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "inline-функции, переопределённые как extern, не подлежат подстановке"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19518,7 +19519,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "пространство имён %qD не допускается в using-декларации"
@@ -19553,7 +19554,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "атрибуты не допускаются при определении функции"
@@ -20173,117 +20174,117 @@ msgstr "ошибка открытия дамп-файла %qs: %s"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "проигнорирован неопознанная опция %q.*s в %<-fdump-%s%>"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr "блок %i не может выдавать исключений, но имеет EH-дуги"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr "блок %i не может выдавать исключений, но имеет EH-дуги"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "в последнем операторе блока %i некорректно установлен регион"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "ненужная EH-дуга %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr "некорректная RTL-инструкция в сквозной дуге"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr "в последнем операторе блока %i некорректно установлен регион"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr "некорректная RTL-инструкция в сквозной дуге"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "inline-подстановка функции %q+F невозможна, поскольку имеют нелокальные переходы в эту функцию"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "inline-подстановка функции %q+F невозможна, поскольку функция использует переменные переменного размера"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "inline-подстановка функции %q+F невозможна, поскольку функция использует setjmp"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "inline-подстановка функции %q+F невозможна, поскольку функция использует списки из переменного числа аргументов"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, 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:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, 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:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, 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:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "inline-подстановка при вызове %q+F не выполнена: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "которая вызвана здесь"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "inline-подстановка при вызове %q+F не выполнена: %s"
@@ -20319,7 +20320,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "размер возвращаемого значение %q+D превышает %wd байт"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "повреждение SSA"
@@ -20559,72 +20560,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "индекс массива не является целым значением"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "индекс массива не является целым значением"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "индекс массива не является целым значением"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "из-за ограниченности диапазона типа данных, результат сравнения всегда ложь"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "из-за ограниченности диапазона типа данных, результат сравнения всегда истина"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "отброшены атрибуты класса, заданные вне его объявления"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D уже декларирован(а) с атрибутом dllexport: dllimport игнорируется"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D повторно декларирован(а) без атрибута dllimport после ссылок с dll привязкой"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D повторно декларирован(а) без атрибута dllimport: предшествующая декларация с dllimport игнорируется"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20638,141 +20639,141 @@ msgstr "%q+D повторно декларирован(а) без атрибут
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "атрибут %qE проигнорирован"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "inline функция %q+D декларирована как dllimport: атрибут игнорируется"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "определение функции %q+D помечено dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "определение переменной %q+D помечено dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, fuzzy, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "символ %q+D должен быть внешним, поскольку задан атрибут %qs"
 
-#: tree.c:5628
+#: tree.c:5643
 #, fuzzy, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%J%qD повторно декларирован как символ другого вида"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "массивы функций не имеют осмысленной интерпретации"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "результат функции не может иметь тип функции"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "дерево: %s, имеется %s в %s, на %s:%d"
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "дерево: не ожидалось ничего из %s, обнаружено %s в %s, на %s:%d"
 
-#: tree.c:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr "дерево: не ожидалось ничего из %s, обнаружено %s в %s, на %s:%d"
 
-#: tree.c:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, fuzzy, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "устаревшая функция, переменная или тип %qs (декларация в %s:%d)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "устаревшая функция, переменная или тип %qs (декларация в %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "устаревшая функция, переменная или тип %qs (декларация в %s:%d)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "устаревшая функция, переменная или тип %qs (декларация в %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "поддержка данного типа будет исключена в будущих версиях (декларация в %s:%d)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "поддержка данного типа будет исключена в будущих версиях (декларация в %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "имя %qs будет исключено в будущих версиях"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "имя %qs будет исключено в будущих версиях"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "поддержка данного типа будет исключена в будущих версиях"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "поддержка данного типа будет исключена в будущих версиях"
@@ -20988,12 +20989,12 @@ msgstr "вектор %s %s ошибка области определения, 
 msgid "no sclass for %s stab (0x%x)"
 msgstr "отсутствует sclass для %s stab (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -21008,8 +21009,8 @@ msgstr "%qD не определено вне функции"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "строка имеет длину %qd, превышающую максимальную длину %qd, которую должны поддерживать компиляторы по стандарту ISO C%d"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "переполнение при вычислении константного выражения"
@@ -21631,40 +21632,40 @@ msgstr "атрибут %qE для %qE проигнорирован"
 msgid "invalid vector type for attribute %qE"
 msgstr "неверно задан векторный тип для атрибута %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "размер вектора не кратен размеру компонент"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "нулевой размер вектора"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "число компонент вектора не является степенью двойки"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "непустой атрибут без аргументов допустим только в прототипах"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "в непустом аргументе задан неверный номер операнда (аргумент %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "непустой аргумент содержит номер операнда вне диапазона (аргумент %lu, операнд %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "непустой аргумент ссылается на операнд, не являющийся указателем (аргумент %lu, операнд %lu)"
@@ -21704,12 +21705,12 @@ msgstr "в атрибуте %qE требуется прототип с имен
 msgid "%qE attribute only applies to variadic functions"
 msgstr "атрибут %qE допустим только для функций с переменным числом аргументом"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "заданная позиция не является целой константой"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "заданная позиция меньше нуля"
@@ -23460,229 +23461,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "некорректное значение %qs для -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "некорректный встроенный fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "ключ -mcpu=%s несовместим с ключом -march="
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "целевой процессор не поддерживает interworking"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "целевой процессор не поддерживает interworking"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "целевой процессор не поддерживает команды THUMB"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "поддержка backtrace имеет смысл только для Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "-mcallee-super-interworking имеет смысл только при компиляции для Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "ключ -mapcs-stack-check несовместим с -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "ключи -fpic и -mapcs-reent несовместимы"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "реентерабельный код APCS не поддерживается. Ключ игнорируется."
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g с -mno-apcs-frame может создать проблемы при отладке"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "передача плавающих аргументов на регистрах пока не поддерживается"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "для работы с ABI iwmmxt необходим процессор с поддержкой iwmmxt"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "целевой процессор не поддерживает interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "целевой процессор не поддерживает interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "аппаратная плавающая точка или iWMMXt"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mflat-abi=hard или VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, fuzzy, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "недопустимо использовать -mtp=cp15 и -mthumb"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "граница размера структуры может быть только %s"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "граница размера структуры может быть только %s"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "ключ -march=%s несовместим с выбранным ABI"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= не имеет смысла без -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "использование '%s' как PIC-регистра невозможно"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "целевой процессор не поддерживает interworking"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition не работает для заданной архитектуры"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "атрибут %qs допустим только для функций"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "невозможно вычислить фактическое положение параметра в стеке"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "аргумент %qD не является константой"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "селектор должен быть непосредственным значением"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "маска должна быть непосредственным значением"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "нет свободных low-регистров для выталкивания high-регистров"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "подпрограммы Service Routines для прерываний не могут использоваться в режиме Thumb"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23722,87 +23723,87 @@ msgstr "функция возвращает значение не строков
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs возможно некорректно названный обработчик сигнала"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Число регистров для передачи целочисленных аргументов"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "конфликтующее имя суперкласса %qs"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, fuzzy, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "несоответствие указательных типов в условном выражении"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, fuzzy, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "несоответствие указательных типов в условном выражении"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "Только неинициализированные переменные могут размещаться в секции .noinit"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "Только инициализированные переменные могут размещаться в области программной памяти"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs поддерживается только для ассемблера"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "Неожиданное окончание модуля в строковой константе"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "для %qs требуется константный аргумент"
@@ -24142,411 +24143,411 @@ msgstr "ошибка расширения PCH файла: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "ошибка позиционирования в PCH файле: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "некорректное значение (%s) для ключа -mtune="
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "модель кодирования %s не поддерживается в %s-битном режиме"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "модель кодирования %s не поддерживается в %s-битном режиме"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "модель кодирования %s не поддерживается в режиме PIC"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s в данной конфигурации не поддерживается"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i-битный режим не компилируется в"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "заданный процессор не поддерживает набор команд x86-64"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "некорректное значение (%s) для ключа -mtune="
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "некорректное значение (%s) для ключа -march"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, fuzzy, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "соглашения о вызовах -mrtd не поддерживаются в 64-битном режиме"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d вне диапазона 0 - %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "соглашения о вызовах -mrtd не поддерживаются в 64-битном режиме"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-arrays не поддерживается для этой целевой машины"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d вне диапазона  %d - 12"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d вне диапазона  %d - 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "ключ -msseregparm использован без SSE"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "набор команд SSE отменен, используется арифметика 387"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "набор команд 387 отменен, используется арифметика SSE"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "для корректной поддержки таблиц раскрутки стека требуется либо указатель кадра, либо -maccumulate-outgoing-args"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "для корректной поддержки таблиц раскрутки стека требуется либо указатель кадра, либо -maccumulate-outgoing-args"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "некорректный ключ -m%s=: '%s'"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "атрибуты fastcall и regparm несовместимы"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "атрибуты fastcall и stdcall несовместимы"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "аргументом атрибута %qs должна быть целая константа"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "аргумент атрибута %qs больше %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "атрибуты fastcall и cdecl несовместимы"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "атрибуты fastcall и stdcall несовместимы"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "атрибуты fastcall и stdcall несовместимы"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "атрибуты stdcall и cdecl несовместимы"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "атрибуты stdcall и fastcall несовместимы"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "атрибуты stdcall и fastcall несовместимы"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "атрибуты stdcall и fastcall несовместимы"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "атрибут %qE для не классовых типов игнорируется"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, fuzzy, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Вызов %qD с атрибутом sseregparm без задания SSE/SSE2"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, fuzzy, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Вызов %qT с атрибутом sseregparm без задания SSE/SSE2"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, fuzzy, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "аргумент - вектор MMX без включения MMX изменяет ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "возврат результата в SSE регистре без задания SSE"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "аргумент - SSE регистр без задания SSE"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "результат - вектор SSE без включения SSE изменяет ABI"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "аргумент - вектор SSE без включения SSE изменяет ABI"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "аргумент - вектор MMX без включения MMX изменяет ABI"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "результат - вектор SSE без включения SSE изменяет ABI"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "возврат вектора MMX без включения MMX изменяет ABI"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "индукция не поддерживается"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "индукция не поддерживается"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 не поддерживает регулируемые элементы-массивы"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "расширенные регистры не имеют верхних половин"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "некорректный размер операнда для расширенного регистра"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "некорректный код операнда '%c'"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "селектор должен быть целой константой в диапазоне 0..%wi"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "маска должна быть непосредственным значением"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "маска должна быть непосредственным значением"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "аргумент атрибута %qs не является строковой константой"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "атрибуты fastcall и stdcall несовместимы"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "%qs - несовместимый атрибут, игнорируется"
@@ -24616,13 +24617,13 @@ msgstr "%Jатрибут адресного пространства для фу
 msgid "%qE attribute requires a string constant argument"
 msgstr "аргументом атрибута %qs должна быть целая константа"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "значение ключа -mfixed-range имеет вид РЕГ1-РЕГ2"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24694,7 +24695,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%Jатрибут section для данной платформы не поддерживается"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "аргумент атрибута %qs не является целой константой"
@@ -24749,7 +24750,7 @@ msgstr "задано несколько атрибутов типа функци
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "выражение для границы стека не поддерживается"
@@ -25088,62 +25089,62 @@ msgstr "ms-bitfields не поддерживается для objc"
 msgid "%qs does not support MIPS16 code"
 msgstr "%s не поддерживает %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, fuzzy, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr "-%s конфликтует с другими ключами, которые задают процессор %s"
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "ключ -march=%s несовместим с выбранным ABI"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "ключ -mgp64 задан для 32-битного процессора"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "ключ -mgp32 задан для 64-битного процессора"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "ключ -mgp64 задан для 32-битного ABI"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "неподдерживаемая комбинация: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "ключ -march=%s несовместим с выбранным ABI"
@@ -25153,57 +25154,57 @@ msgstr "ключ -march=%s несовместим с выбранным ABI"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "ключ -march=%s несовместим с выбранным ABI"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "целевой процессор не поддерживает команды THUMB"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, fuzzy, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "для -mips3d требуется -mpaired-single"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "-frepo следует использовать вместе с -c"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "целевой процессор не поддерживает команды THUMB"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "целевой процессор не поддерживает команды THUMB"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "целевой процессор не поддерживает команды THUMB"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "профилирование функций mips16"
@@ -25484,307 +25485,307 @@ msgstr "приведение от %qT к %qT отменяет квалифика
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "недопустимая комбинация параметров для AltiVec intrinsic"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, fuzzy, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "Ключ -maix64 требует архитектуры PowerPC64"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr "данная конфигурация не поддерживает ABI: '%s'"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "проверка выхода за границу стека не поддерживается для этой платформы"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "проверка выхода за границу стека не поддерживается для этой платформы"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "ключ -mmultiple не поддерживается для систем little endian"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "ключ -mstring не поддерживается для систем little endian"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "Считать, что входной файл уже препроцессирован"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "второй аргумент должен быть 5-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "первый аргумент __builtin_altivec_predicate должен быть константой"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "первый аргумент __builtin_altivec_predicate вне диапазона"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "аргумент %qs должен быть 2-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "аргумент dss должен быть 2-битным беззнаковым литеральным значением"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "первый аргумент __builtin_spe_predicate должен быть константой"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "первый аргумент __builtin_spe_predicate вне диапазона"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "первый аргумент __builtin_spe_predicate должен быть константой"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "первый аргумент __builtin_spe_predicate вне диапазона"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "эта media-функция имеется только в fr400"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "внутренняя функция %q+D декларирована как не функция"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "внутренняя функция %q+D декларирована как не функция"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "внутренняя функция %q+D декларирована как не функция"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "внутренняя функция %q+D декларирована как не функция"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "-m%s в данной конфигурации не поддерживается"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "внутренняя ошибка: инструкция с побочным эффектом, влияющим на основной эффект"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, fuzzy, gcc-internal-format
 msgid "stack frame too large"
 msgstr "кадр стека слишком велик: %d байт"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "отсутствует профилирование 64-битного кода для этого ABI"
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, fuzzy, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, fuzzy, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, fuzzy, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, fuzzy, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, fuzzy, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, fuzzy, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "использование 'long' в типах AltiVec-данных будет отменено; используйте 'int'"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "недопустимое использование '%%%c'"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "некорректно употреблять %<#pragma%>"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "недопустимый параметр '%s'"
@@ -26017,63 +26018,63 @@ msgstr "размер %qD в памяти неизвестен"
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "для корректной поддержки таблиц раскрутки стека требуется либо указатель кадра, либо -maccumulate-outgoing-args"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs для этой платформы не поддерживается"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "атрибут %qs применим только к функциям обработки прерываний"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "атрибут %qs не поддерживается на данной платформе"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "атрибут interrupt_handler несовместим с -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "атрибут %qs допустим только для функций"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "аргумент атрибута %qs не является целой константой"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "аргумент атрибута %qs не является строковой константой"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr "Использовать регистр BK как регистр общего назначения"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr "Использовать регистр BK как регистр общего назначения"
@@ -26195,12 +26196,12 @@ msgstr "атрибут %qs допустим только для переменн
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "некорректный встроенный fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "маска должна быть непосредственным значением"
@@ -26415,38 +26416,38 @@ msgstr "ошибка: %<-gant%> вместо %<-gnat%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "атрибут %qs проигнорирован"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "в атрибуте %qE требуется прототип с именованными аргументами"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "атрибут %qE допустим только для функций с переменным числом аргументом"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "атрибут %qE проигнорирован"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "неверно задан векторный тип для атрибута %qE"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "неверно задан векторный тип для атрибута %qE"
@@ -26884,7 +26885,7 @@ msgstr "некорректный вызов элемента-функции %qD
 msgid "passing %qT chooses %qT over %qT"
 msgstr "при передаче %qT предпочтение отдается %qT, а не %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  в вызове %qD"
@@ -26944,425 +26945,425 @@ msgstr "некорректная инициализация неконстант
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "некорректная инициализация ссылки типа %qT из выражения типа %qT"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "ошибка преобразования базового %qT в производный тип %qT через виртуальный базовый тип %qT"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java-класс %qT не может иметь деструктор"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java-класс %qT не может иметь нетривиальный неявный деструктор"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, fuzzy, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "`%#D' и `%#D' не могут быть перегружены"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr ""
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "противоречивые спецификации доступа для метода %q+D, игнорируются"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, fuzzy, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "противоречивые спецификации доступа для поля %qs, игнорируются"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, fuzzy, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%qD некорректно в %qT"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, fuzzy, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr "  поскольку имеется локальный метод `%#D' с тем же именем"
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, fuzzy, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr "  поскольку имеется локальный элемент `%#D' с тем же именем"
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "ошибка преобразования базового %qT в производный тип %qT через виртуальный базовый тип %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "базовый класс %q#T имеет невиртуальный деструктор"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "все элементы-функции в классе %qT - частные (private)"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "в %q#T определен только private деструктор и нет друзей"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "в %q#T определен только private конструктор и нет друзей"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "отсутствует уникальное переопределение %qD в %qT"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D определена, но нигде не используется"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D скрыто"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  методом %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, fuzzy, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "`%#D' некорректно; в анонимном объединении допустимы только нестатические элементы"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "`%#D' некорректно; в анонимном объединении допустимы только нестатические элементы"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, fuzzy, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "private-элемент `%#D' в анонимном объединении"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "private-элемент `%#D' в анонимном объединении"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, fuzzy, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "protected-элемент `%#D' в анонимном объединении"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "protected-элемент `%#D' в анонимном объединении"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, fuzzy, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "битовое поле `%#D' не целочисленного типа"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "ширина битового поля %q+D не является целой константой"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "отрицательная ширина битового поля %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "нулевая ширина битового поля %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "ширина поля %q+D превышает ширину его типа"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D слишком мало для представления всех значений типа %q#T"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "элемент %q+#D с конструктором не допускается в объединении"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "элемент %q+#D с деструктором не допускается в объединении"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "элемент %q+#D с операцией присваивания путем копирования не допускается в объединении"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "инициализация нескольких полей в объединении %qT"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D может быть не статическим, поскольку это элемент объединения"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "поле %q+D ошибочно декларировано с типом функции"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "поле %q+D ошибочно декларировано с типом метода"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "атрибут packed проигнорирован для неупакованного не-POD поля %q+#D"
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "поле %q+#D с тем же именем, что и класс"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q+#T содержит элементы данных типа указатель"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  но не переопределяет %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  или %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  но не переопределяет %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "класс %qT будет рассматриваться как почти пустой в будущих версиях GCC"
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "инициализатор задан для невиртуального метода %q+D"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "%qs не является именем типа"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%q#T не является классом"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "базовый класс %q#T имеет невиртуальный деструктор"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "%qs не является именем типа"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "`%#D' не является нестатическим элементом %qT"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "нестатическая ссылка %q+#D в классе без конструктора"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "нестатический константный элемент %q+#D в классе без конструктора"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "непосредственная база %qT недоступна в %qT из-за неоднозначности"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "виртуальная база %qT недоступна в %qT из-за неоднозначности"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "повторное определение %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T содержит виртуальные функции, но невиртуальный деструктор"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "в типе прозрачного класса %qT нет никаких полей"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "в типе прозрачного класса %qT есть виртуальные функции"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "не удалось завершить структуру из-за предыдущих грамматических ошибок"
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "некорректная строка %<\"%E\"%>, задающая язык"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "ошибка при выборе перегруженной функции %qD при преобразовании к типу %qT"
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "нет способа для преобразования функции %qD к типу %q#T"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "преобразование перегруженной функции %qD к типу %q#T неоднозначно"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "предполагается указатель на элемент %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(указатель на элемент можно получить только при помощи %<&%E%>)"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "недостаточная информация о типе"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "ошибка преобразования %qE из типа %qT в тип %qT"
@@ -27372,12 +27373,12 @@ msgstr "ошибка преобразования %qE из типа %qT в ти
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "декларация %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "делает трактовку %qD отличной от %q+#D"
@@ -27397,7 +27398,7 @@ msgstr "ошибка при преобразовании неполного ти
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "преобразование %qE из %qT в %qT неоднозначно"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "индекс массива не является целым значением"
@@ -28300,7 +28301,7 @@ msgstr "переменная %qD декларирована как ссылка,
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "имя %qD использовано в назначенном инициализаторе массива, являющемся GNU-расширением языка"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, fuzzy, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "нетривиальные инициализаторы с метками"
@@ -28393,8 +28394,8 @@ msgstr "%qT не имеет нестатического элемента дан
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "избыточные элементы в инициализаторе для %qT"
@@ -28924,7 +28925,7 @@ msgstr "%qT не является классом или пространство
 msgid "type %qT is not derived from type %qT"
 msgstr "тип %qT не является производным от %qT"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "декларация %qD как не-функции"
@@ -29233,375 +29234,370 @@ msgid "cannot declare reference to %q#T, which is not a typedef or a template ty
 msgstr "Недопустимо определять ссылку на %q#T, которая не будет определением типа или аргументом шаблона"
 
 #: cp/decl.c:9497
-#, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
 #, fuzzy, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "в декларации использованы спецификаторы %<short%> и %<double%>"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "идентификатор шаблона %qD использован как декларатор"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "элементы-функции неявно считаются friend-функциями своего класса"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "избыточная квалификация %<%T::%> элемента %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "недопустимая декларация элемента-функции %<%T::%s%> внутри %<%T%>"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "недопустимая декларация элемента-функции %<%T::%s%> внутри %<%T%>"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "недопустимая декларация элемента %<%T::%s%> внутри %qT"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "не параметрический %qs не может содержать параметры"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "размер массива %qs слишком велик"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "элемент данных не может иметь тип %qT модифицируемого размера"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "только декларации конструкторов могут быть %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация не-элемента %qs как %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация не объектного элемента %qs как %<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация функции %qs как %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация статического %qs как %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация константного %qs как %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "недопустимая декларация функции %qs как %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "параметр %q+D объявлен %<inline%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%Jдля typedef-имени недопустимы квалификаторы классов"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ запрещает определять вложенный тип %qD с тем же именем, что и объемлющий класс"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "типы квалифицированных функций не могут использоваться для определения статических элементов-функций"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "типы квалифицированных функций не могут использоваться для определения свободных функций"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "в декларации friend-класса использованы квалификаторы типа"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "в декларации friend-класса использован квалификатор %<inline%>"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "параметры шаблона не могут быть friend"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "в friend-декларации требуется указание класса: %<friend class %T::%D%>"
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "в friend-декларации требуется указание класса: %<friend %#T%>"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "попытка сделать класс %qT \"другом\" глобальной области видимости"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "некорректные квалификаторы для типа функции, не являющейся элементом"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "абстрактный декларатор %qT использован в качестве декларатора"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "недопустимое использование %<::%> в декларации параметра"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "параметр %q+D объявлен %<inline%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "статический элемент %qD объявлен как %<register%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "недопустимое использование %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "декларация C-функции `%#D' противоречит"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "функция %qD объявлена виртуальной внутри объединения"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD не может быть объявлена виртуальной, поскольку она всегда статическая"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "квалификаторы не допускаются в декларации `operator %T'"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "декларация %qD перекрывает элемент класса, на который указывает 'this'"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "конструкторы нельзя декларировать как virtual"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "квалификаторы не допускаются в декларации `operator %T'"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "поле %qD имеет неполный тип"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "имя %qT имеет неполный тип"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  в конкретизации шаблона %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, fuzzy, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qs не является ни функцией, ни элементом-функцией; friend-декларация не допускается"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "`%#D' не является нестатическим элементом %qT"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "статический элемент %qD объявлен как %<register%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "некорректный класс хранения %<auto%> для функции %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "некорректный класс хранения %<register%> для функции %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "некорректный класс хранения %<__thread%> для функции %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "спецификация asm не допускается при определении функции"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "некорректно указано %<static%> для функции %qs, объявленной вне глобальной области видимости"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "некорректно указано %<inline%> для функции %qs, объявленной вне глобальной области видимости"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "виртуальная функция %qs не является элементом класса"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "атрибут %qE для не классовых типов игнорируется"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "атрибут %qE для не классовых типов игнорируется"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "недопустимая декларация статического элемента-функции %qD"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "недопустимая декларация статической функции внутри другой функции"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "слово %<static%> недопустимо при определении (в отличие от объявления) статического элемента данных в классе"
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "статический элемент %qD объявлен как %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "недопустимая явная extern-декларация элемента %q#D"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "декларация %q#D вне класса не является определением"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%<extern%> декларация %qs с инициализацией"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "для %qs задан спецификатор %<extern%> и инициализатор"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "аргумент по умолчанию для %q#D имеет тип %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "аргумент по умолчанию для параметра типа %qT имеет тип %qT"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "аргумент по умолчанию %qE использует локальную переменную %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "аргумент по умолчанию %qE использует локальную переменную %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "параметр %q+D имеет неполный тип"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "некорректная декларация параметра %qD с типом метода"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "параметр %qD включает %s на массив с неизвестной границей %qT"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "параметр %qD включает %s на массив с неизвестной границей %qT"
@@ -29621,168 +29617,168 @@ msgstr "параметр %qD включает %s на массив с неизв
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "некорректный конструктор; возможно, вы имели в виду %<%T (const %T&)%>"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "декларация %qD может не действовать в пространстве имён"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD можно не определять статической"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD должен быть нестатической элементом-функцией"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD должен быть либо нестатическим элементом-функцией или функцией-не-элементом"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD должен иметь аргумент типа класс или перечислимого типа"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "преобразование к %s%s никогда не будет использовать операцию преобразования типа"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ не поддерживает перегрузку операции ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD не может иметь переменное число аргументов"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "постфиксный %qD должен иметь аргумент типа %<int%>"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "постфиксный %qD должен иметь второй аргумент типа %<int%>"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD должен иметь не более одного аргумента"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD должен иметь один или два аргумента"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "префиксный %qD должен возвращать %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "постфиксный %qD должен возвращать %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD должен иметь список параметров %<void%>"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD должен иметь ровно один аргумент"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD должен иметь ровно два аргумента"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "пользовательский оператор %qD всегда вычисляет оба аргумента"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD должен возвращать результат по значению"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD не может иметь аргументов по умолчанию"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "использование параметра шаблона %qT после %qs"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "неоднозначная конкретизация шаблона %qD для %q+D"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "использование typedef-имени %qD после %qs"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "%q+D ранее декларирован здесь"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "ссылка на %qT как на %qs"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T ранее декларирован здесь"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "ссылка на %qT как на enum"
@@ -29794,88 +29790,88 @@ msgstr "ссылка на %qT как на enum"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "для %<%s %T%> нужен аргумент-шаблон"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD имеет то же имя, что и класс, в котором он(а) декларируется"
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "ссылка на %qD противоречива"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "использование перечисления %q#D без предыдущей декларации"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "повторная декларация %qT как не-шаблона"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "предыдущая декларация %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "некорректный производный тип union %qT"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java-класс %qT не может иметь несколько базовых классов"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java-класс %qT не может иметь виртуальных базовых классов"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "базовый тип %qT не является ни структурой, ни классом"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "рекурсивный тип %qT не определён"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "некорректное дублирование базового типа %qT"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 msgid "previous definition here"
 msgstr "%Jэто предыдущее определение"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29884,72 +29880,72 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "ни один целочисленный тип не годится для представления всех значений перечислимого типа %qT"
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "значение перечислимого типа для %qD не является константой целого типа"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "целая константа слишком велика для типа %qs"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "переполнение в перечисляемых значениях для %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "значение перечислимого типа для %qE не является константой целого типа"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "тип результата %q#T неполный"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "тип возвращаемого значения не полный"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> должен возвращать ссылку на %<*this%>"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "отсутствует предварительная декларация %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "некорректная декларация элемента-функции"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "параметр %qD объявлен void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "метка %q+D определена, но не используется"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "некорректная декларация элемента-функции"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD уже определена в классе %qT"
@@ -30297,7 +30293,7 @@ msgstr "обработка прерываний отключена, задайт
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "исключительная ситуация NULL имеет целый тип, а не тип указателя"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD не может быть перегружен(о/а)"
@@ -30556,152 +30552,152 @@ msgstr "тип %qD не является непосредственной баз
 msgid "bad array initializer"
 msgstr "некорректный инициализатор массива"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%q#T не является классом"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "неполный тип %qT не имеет элемента %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "некорректный указатель на битовое поле %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "некорректное использование нестатической функции-элемента %qD"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "некорректное использование нестатического элемента %qD"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "инициализирован элемент-ссылка %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "непроинициализированная константа в %<new%> от %q#T"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "не инициализирован константный элемент %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "некорректный тип %<void%> задан для new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "непроинициализированная константа в %<new%> от %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "вызов Java-конструктора с неопределенным %qs"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, fuzzy, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr "Java-класс %qT не может иметь несколько базовых классов"
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "не найдено подходящего %qD в классе %qT"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "запрос элемента %qD неоднозначен"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "неконстантный индекс массива в инициализаторе"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "атрибуты после инициализатора в скобках проигнорированы"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "размер в new для массива должен иметь целочисленный тип"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new нельзя применять к ссылочному типу"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new нельзя применять к типу функции"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "вызов Java-конструкторов, хотя %<jclass%> не определен"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "отсутствует %<class$%> в %qT"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "преждевременное завершение инициализатора"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "недопустимая инициализация многомерного массива при помощи инициализатора"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "в вызове оператора delete обнаружена возможная проблема:"
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, fuzzy, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "неизвестный размер массива в операторе delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "тип, заданный в векторном delete, не является ни массивом, ни указателем"
@@ -30791,12 +30787,12 @@ msgstr "невозможно кодирование пропущенного с
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "кодированное имя %qD изменится в будущих версиях GCC"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30806,12 +30802,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "ошибка в обобщенном thunk-коде для метода `%#D', который использует `...'"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "нестатический константный элемент `%#D', использование операции присваивания по умолчанию недопустимо"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr "нестатический элемент-ссылка `%#D', использование операции присваивания по умолчанию недопустимо"
@@ -30826,98 +30822,98 @@ msgstr "%Hсинтезированный метод %qD впервые потр
 msgid "union member %q+D with non-trivial %qD"
 msgstr "неинициализированный элемент %qD константного типа %qT"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, fuzzy, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "конструкторы нельзя декларировать как virtual"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "неинициализированная константа %qD"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "не инициализирован константный элемент %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "инициализирован элемент-ссылка %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "для декларации шаблона %qD"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "массив не соответствует дереву регионов"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "декларация %q+#D недопустима,"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "декларация %q+#D недопустима,"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "конец файла в аргументе по умолчанию"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 из-за неявного виртуального деструктора"
@@ -31054,132 +31050,132 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D скрывает конструктор для %q#T"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D конфликтует с предыдущим использованием декларации %q#D"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "предыдущая декларация не-функции %q+#D"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "в using-декларации нельзя задавать идентификатор шаблона. Попробуйте %<using %D%>"
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "пространство имён %qD не допускается в using-декларации"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "отсутствует декларация %qD"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "в этой области видимости уже есть декларация %qD"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "using-декларация для не-элемента внутри класса"
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> обозначает деструктор"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%%<%T::%D%> обозначает конструктор"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> обозначает конструктор в %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "нет элементов, соответствующих %<%T::%D%>, в %q#T"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "декларация %qD вне пространства имён, объемлющего %qD"
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "явные квалификаторы в декларации %qD"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD следовало объявить внутри %qD"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "аргументом атрибута %qs должна быть целая константа"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "атрибут %qD игнорируется"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "использование пространства имён %qD здесь недопустимо; предполагается %qD"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "strong имеет смысл только в пределах namespace"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, fuzzy, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "декларация %qD в %qD, который не объемлет %qD"
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
@@ -31187,22 +31183,22 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 msgid "  %qE"
 msgstr "  `%#D'"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX вход в pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX выход из pop_everything ()\n"
@@ -31332,7 +31328,7 @@ msgstr "некорректный идентификатор шаблона"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31560,7 +31556,7 @@ msgstr "typedef-имя %qD использовано как декларатор
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "ожидался список спецификаторов и квалификаторов"
@@ -31752,7 +31748,7 @@ msgstr "%<%T::%D%> обозначает конструктор в %qT"
 msgid "compound-statement in constexpr function"
 msgstr "%qD не является функцией шаблоном"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "ожидалась декларация или оператор"
@@ -31782,7 +31778,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "ожидалась декларация или оператор"
@@ -31798,12 +31794,12 @@ msgstr "стандартные преобразования в данном ко
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ не поддерживает вычисляемые goto"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "ожидался оператор"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "избыточная %<;%>"
@@ -31840,7 +31836,7 @@ msgstr "спецификатор pure в определении функции"
 msgid "class definition may not be declared a friend"
 msgstr "определение класса не должно содержать friend"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31916,12 +31912,12 @@ msgstr "некорректный операнд"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "ключевое слово %<export%> не реализовано; игнорируется"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "%qD не может иметь аргументов по умолчанию"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "%qD не может иметь аргументов по умолчанию"
@@ -31936,7 +31932,7 @@ msgstr "параметры шаблона не могут быть friend"
 msgid "expected template-id"
 msgstr "ожидался оператор"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "ожидалось %<{%>"
@@ -32063,12 +32059,12 @@ msgstr "ожидалось %<,%> или %<;%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Включить автоматическую конкретизацию шаблонов"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "декларация %qD в %qD, который не объемлет %qD"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "декларация %qD в %qD, который не объемлет %qD"
@@ -32113,73 +32109,73 @@ msgstr "идентификатор шаблона недопустим в using-
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "в описании возвращаемого типа нельзя определять новые типы"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "#pragma %s уже зарегистрирована"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "спецификация asm не допускается при определении функции"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "атрибуты не допускаются при определении функции"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 msgid "expected initializer"
 msgstr "ожидался идентификатор"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "пустая декларация"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "недопустимая инициализация friend-функции %qs"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "атрибуты после инициализатора в скобках проигнорированы"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, fuzzy, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "индекс массива не является целым значением"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "создание указателя на элемент ссылочного типа %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%D%> не является типом"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, fuzzy, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "некорректное использование нестатического элемента данных '%E'"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "используйте %<%T::%D%> вместо %<%T::%D%> для именования конструктора в имени с квалификатором"
@@ -32188,247 +32184,247 @@ msgstr "используйте %<%T::%D%> вместо %<%T::%D%> для име
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 msgid "invalid declarator"
 msgstr "некорректная декларация %q+D"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 msgid "expected declarator"
 msgstr "ожидались спецификаторы декларации"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, fuzzy, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qT не является пространством имён"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "создание указателя на элемент не классового типа %qT"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "некорректный операнд"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, fuzzy, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "повтор case-значения,"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "повтор case-значения,"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "недопустимое использование %<::%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "в описании возвращаемого типа нельзя определять новые типы"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "ожидался идентификатор"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "ожидалось %<:%> или %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "в описании возвращаемого типа нельзя определять новые типы"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "устаревшее использование аргумента по умолчанию в качестве параметра не-функции"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "аргументы по умолчанию разрешены только для параметров функций"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%qD не может иметь аргументов по умолчанию"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "%qD не может иметь аргументов по умолчанию"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ не поддерживает назначенные инициализаторы"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ не поддерживает назначенные инициализаторы"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 msgid "expected class-name"
 msgstr "ожидалось имя класса"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "%q+D: inline-декларация после определения"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "%q+D: inline-декларация после определения"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "Некорректный мусор после определения в %C"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "ожидалось %<,%> или %<;%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "нет файла для класса %s"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "в декларации friend нет имени класса или функции"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, fuzzy, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "некорректная template-декларация %qD"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "избыточные квалификаторы проигнориованы"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, fuzzy, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "перед явной специализацией должно быть 'template <>'"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "не шаблон %qD использован как шаблон"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "предыдущее определение %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "ожидалось имя класса"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "в декларации friend должно быть использовано ключевое слово класса"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "в декларации friend нет имени класса или функции"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "спецификатор pure в определении функции"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "некорректный операнд"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "#pragma %s уже зарегистрирована"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, fuzzy, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "использование `typename' вне шаблона"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, fuzzy, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "ключевое слово `typename' запрещено в этом контексте (инициализатор квалифицированного элемента неявно является типом)"
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "в описании возвращаемого типа нельзя определять новые типы"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "в описании возвращаемого типа нельзя определять новые типы"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "некорректная декларация %q+D"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "недостаточно списков параметров шаблонов"
@@ -32437,317 +32433,317 @@ msgstr "недостаточно списков параметров шабло
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "слишком много списков параметров шаблонов"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "именованные возвращаемые значения больше не поддерживаются"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "некорректная декларация шаблона-элемента `%#D' в локальном классе"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "шаблон с привязкой C"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "некорректная спецификация базового класса"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "шаблонная декларация `%#D'"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "явная специализация в не-namespace области %qD"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H%<>>%> должно быть %<> >%> внутри списка аргументов вложенного шаблона"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "ошибочное использование %<>>%>, используйте %<>%> для завершения списка аргументов шаблона"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "некорректная спецификация базового класса"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> перед %<extern%>"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "ожидался оператор"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, fuzzy, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr "ожидался оператор"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, fuzzy, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "ожидался оператор"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "ожидалось %<{%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "ожидалось %<:%> или %<...%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "ожидалось %<,%>, %<;%> или %<}%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, fuzzy, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "определение %qD уже есть в %qT"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "это предыдущее определение `%#D'"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, fuzzy, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%J%qD повторно декларирован как символ другого вида"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "слово %<template%> (для снятия неоднозначности) допускается только внутри шаблонов"
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "конец файла в аргументе по умолчанию"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "неверное положение %<@%D%> конструкции Objective-C++"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "в конструкции %<@encode%> в качестве аргумента должен быть задан тип"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "ожидались спецификаторы декларации"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "%Jатрибут section недопустим для локальных переменных"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "неверно задан векторный тип для атрибута %qE"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, fuzzy, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "Ожидался идентификатор"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "атрибут %qE для %qE проигнорирован"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 msgid "invalid type for property"
 msgstr "некорректный тип аргумента"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "регистровая переменная %qs использована во вложенной функции"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "недостаточная информация о типе"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "мусор в конце директивы %<#pragma pack%>"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, fuzzy, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "межмодульные оптимизации пока не реализованы"
@@ -33457,17 +33453,17 @@ msgstr "глубина конкретизации шаблона превыша
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "глубина конкретизации шаблона превышает максимум %d (задайте -ftemplate-depth-NN, чтобы увеличить максимум) при конкретизации %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, fuzzy, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "конкретизация %qD для типа %qT"
@@ -33485,257 +33481,257 @@ msgstr "конкретизация %qD для типа %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "переменная %qs инициализирована, хотя имеет неполный тип"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "некорректный тип параметра %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "в декларации %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, fuzzy, gcc-internal-format
 msgid "function returning an array"
 msgstr "функция возвращает агрегатное значение"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, fuzzy, gcc-internal-format
 msgid "function returning a function"
 msgstr "%qs объявлена как функция, возвращающая функцию"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "создание указателя на элемент-функцию не классового типа %qT"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "создание ссылки на void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "создание %s на ссылочный тип %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "создание %s на ссылочный тип %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "создание указателя на элемент не классового типа %qT"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "создание указателя на элемент ссылочного типа %qT"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, fuzzy, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "создание указателя на элемент ссылочного типа %qT"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "создание массива элементов типа %qT"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "создание массива элементов типа %qT, являющегося абстрактным классом"
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT не является типом class, struct или union"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, fuzzy, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "создание массива элементов типа %qT, являющегося абстрактным классом"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "использование %qs в шаблоне"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "квалифицированный тип %qT не соответствует имени деструктора `~%T'"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "задайте %<typename %E%>, если подразумевается тип"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, fuzzy, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "отсутствует статическое поле %qs"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "неправильное использование void-выражения"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, fuzzy, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "аргументы %<...%>.)"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "%<%T::%D%> не является типом"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%H%qE не описан в этой области (не в функции)"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT не является классом или пространством имён"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD не является классом или пространством имён"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, fuzzy, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "в %qT используется анонимный тип"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "аргумент по умолчанию для `%#D' имеет тип %qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "целочисленное выражение %qE не является константой"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  при конкретизации %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, fuzzy, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "неоднозначная конкретизация шаблона класса для %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "явная конкретизация `%#D', не являющегося шаблоном"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "`%#D' не является нестатическим элементом %qT"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "нет подходящего шаблона для %qD"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "явная конкретизация типа %qT, не являющегося шаблоном"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "явная конкретизация `%#D'"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, fuzzy, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "повторная явная конкретизация `%#D'"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ запрещает использование %<extern%> в явной конкретизации"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "класс хранения %qD в конкретизации шаблона"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "явная конкретизация `%#D', не являющегося шаблоном"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "явная конкретизация типа %qT, не являющегося шаблоном"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "явная конкретизация %q#T до определения шаблона"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ запрещает использование %qE в явных конкретизациях"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "повторная явная конкретизация %q#T"
@@ -33747,32 +33743,32 @@ msgstr "повторная явная конкретизация %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "явная конкретизация %qD без определения"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "глубина конкретизации шаблона превышает максимум %d (задайте -ftemplate-depth-NN, чтобы увеличить максимум) при конкретизации %qD"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "неправильное использование недоопределенного typedef %qD"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "`%#T' не является корректным типом для константного параметра шаблона"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, fuzzy, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "инициализация объекта %qD переменного размера недопустима"
@@ -33780,12 +33776,12 @@ msgstr "инициализация объекта %qD переменного р
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "эмуляция %qs невозможна"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -34022,7 +34018,7 @@ msgstr "некорректное определение квалифициров
 msgid "invalid base-class specification"
 msgstr "некорректная спецификация базового класса"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD не является типом"
@@ -34195,263 +34191,263 @@ msgstr "некорректный тип результата для функци
 msgid "%q#T has virtual base classes"
 msgstr "%q#T не является классом"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, fuzzy, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr "некорректная инициализация внутри класса статического элемента данных нецелочисленного типа %qT"
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "неинициализированный элемент %qD константного типа %qT"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%qD не является функцией шаблоном"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "в декларации friend нет имени класса или функции"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "вызов не функции %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%q+D использована без предварительного определения"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 msgid "call has circular dependency"
 msgstr "циклическая зависимость в протоколе %qs"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "глубина конкретизации шаблона превышает максимум %d (задайте -ftemplate-depth-NN, чтобы увеличить максимум) при конкретизации %qD"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "индекс массива не является целым значением"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "размер массива %qD не является целочисленным константным выражением"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "размер массива %qD не является целочисленным константным выражением"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "некорректный инициализатор массива"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#T не является классом"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "`%+#D' - частный (private) элемент"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "нет декларации %qD в этой области видимости"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "выражение в деклараторе new должно иметь целый или перечислимый тип"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, fuzzy, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "размер массива %qD не является целочисленным константным выражением"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "перечислимый и неперечислимый тип в условном выражении"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "целочисленное выражение %qE не является константой"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "ожидалось выражение"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, fuzzy, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "выражение %qE, имеющее тип абстрактного класса %qT, нельзя использовать в throw-выражении"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, fuzzy, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "размер массива не является целочисленным константным выражением"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "целочисленное выражение %qE не является константой"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "размер массива не является целочисленным константным выражением"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "неконстантный индекс массива в инициализаторе"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "Неожиданное окончание строки формата"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "недопустимая декларация ссылки на %q#T"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "неверные операнды бинарной операции %s"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "имя %<this%> недоступно для статических элементов-функций"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, fuzzy, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "квалификаторы `%V' не могут быть применены к %qT"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "атрибут %qs допустим только для определений Java-классов"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "атрибут %qs допустим только для определений классов"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, fuzzy, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qs устарел; таблицы виртуальных функций g++ теперь COM-совместимы по умолчанию"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "заданный init_priority не является целой константой"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "заданный init_priority вне диапазона"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "заданный init_priority зарезервировано для внутреннего использования"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "атрибут %qs не поддерживается на данной платформе"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_* check: ошибка в %s, в %s:%d"
@@ -35394,122 +35390,122 @@ msgstr "использован синтаксис конструктора дл
 msgid "cannot initialize arrays using this syntax"
 msgstr "недопустимый синтаксис для инициализации массива"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "преобразование %qE из %qT в %qT неоднозначно"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "преобразование %qE из %qT в %qT неоднозначно"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "инициализация массива int строкой не широких символов"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "инициализация массива int строкой не широких символов"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "слишком длинная строка инициализации для символьного массива"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "отсутствует инициализатор для элемента %qD"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "не инициализирован константный элемент %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "элемент %qD с неинициализированными константными полями"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "элемент %qD - неинициализированная ссылка"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, fuzzy, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "в инициализируемом объединении нет поля %qD"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "значение индекса вместо имени поля в инициализаторе объединения"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "обнаружено циклическое делегирование указателей"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, fuzzy, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "базовый операнд `->' имеет неуказательный тип %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "результат %<operator->()%> не является указателем"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "базовый операнд %<->%> не является указателем"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE не может использоваться как элемент, поскольку имеет тип %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "недопустимое взятие элемента %qE от %qE, который имеет неагрегатный тип %qT"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, fuzzy, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "тип элемента `%T::' несовместим с типом объекта %qT"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "некорректное приведение к типу функции %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "инициализация по умолчанию для `%#D', имеющего тип ссылки"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, fuzzy, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "вызов функции %qD, которая вызывает исключение неполного типа `%#T'"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, fuzzy, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "вызов функции, которая вызывает исключение неполного типа `%#T'"
@@ -35569,187 +35565,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr ""
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Неожиданное окончание строки формата"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Оператор в %0 некорректен в программной единице BLOCK DATA в %1"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "Ожидается другая размерность массива в определении %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "неверные операнды бинарной операции %s"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Нет определения метки для оператора FORMAT в %0"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Ожидается другая размерность массива в определении %C"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Ожидается другая размерность массива в определении %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35784,7 +35780,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr ""
@@ -35894,7 +35890,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -35977,8 +35973,8 @@ msgstr "аргумент `asm' - не константная строка"
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -36123,7 +36119,7 @@ msgstr "аргумент `asm' - не константная строка"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "аргумент `asm' - не константная строка"
@@ -36253,42 +36249,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, fuzzy, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -36300,7 +36296,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36580,7 +36576,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "повторная инициализация %D"
@@ -36595,7 +36591,7 @@ msgstr "отмена декларации %qD в пространстве имё
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -36605,7 +36601,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
@@ -36802,7 +36798,7 @@ msgstr "Неподдерживаемый VXT-оператор в %0"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36822,834 +36818,834 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr "%Jвнутренняя функция `%D' декларирована как не функция"
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "%Jвнутренняя функция `%D' декларирована как не функция"
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, fuzzy, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, fuzzy, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "синтаксическая ошибка в списке параметров макроса"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Неожиданное окончание строки формата"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "Некорректный мусор после определения в %C"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "оператор SAVE или атрибут в %1 несовместим с оператором SAVE или атрибутом в %0"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "конструктор не может быть статической элементом-функцией"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr "Внешняя процедура `%A' передана как фактический аргумент в %0, но не декларирована явно как EXTERNAL"
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "Функция '%s' в %C уже имеет тип %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "синтаксическая ошибка при разборе `%s'"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "В определении в %C ожидается формальный список аргументов"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "оператор RETURN в %0 недопустим внутри главной программы"
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "оператор RETURN в %0 недопустим внутри главной программы"
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "Спецификация нулевого размера в %0 некорректна"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "Отсутствует формальный параметр"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "Отсутствует формальный параметр"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "Отсутствует формальный параметр"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "Нет определения метки для оператора FORMAT в %0"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Отсутствует спецификатор %A в операторе в %0"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Отсутствует спецификатор %A в операторе в %0"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "предикат должен быть идентификатором"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr "оператор RETURN в %0 недопустим внутри главной программы"
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr "оператор RETURN в %0 недопустим внутри главной программы"
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Недопустимый знак в операторе FORMAT в %0"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "строка инициализации усечена в соответствии с размером переменной в %L"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "Внешняя процедура `%A' передана как фактический аргумент в %0, но не декларирована явно как EXTERNAL"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "Имя типа в %0 не совпадает с именем, заданным в %1"
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "перед `*' должно быть имя типа"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "после предыдущей спецификации в `%#D'"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "повторное употребление `restrict'"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "  ожидался шаблон класса, обнаружено %qT"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "атрибут packed не требуется"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "  ожидался тип, обнаружено %qE"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "Спецификация нулевого размера в %0 некорректна"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Ожидается другая размерность массива в определении %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "ошибка в аргументах spec-функции '%s'"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "передано %qT для %s %P в %qD"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "ожидалось имя типа"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "Неизвестный оператор '%s' в %%L"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Предупреждать о декларациях, встретившихся после операторов"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Недопустимое число в операторе FORMAT в %0"
@@ -37889,27 +37885,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -38170,7 +38166,7 @@ msgid "can't open input file: %s"
 msgstr "ошибка открытия входного файла %qs"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38286,12 +38282,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -40310,7 +40306,7 @@ msgstr "Неподдерживаемый VXT-оператор в %0"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -41399,943 +41395,943 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "противоречивая спецификация instance-переменной"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "Компонент в %C должен иметь атрибут POINTER"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "Несовместимые типы при присваивании указателей в %L"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Компонент в %C должен иметь атрибут POINTER"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "использование `%D' неоднозначно"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "Внешняя процедура `%A' передана как фактический аргумент в %0, но не декларирована явно как EXTERNAL"
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr "Альтернативный спецификатор возврата в %0 некорректен внутри функции"
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "%s: определение функции %qs не преобразовано\n"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Метка %A уже определена в %1 а затем переопределена в %0"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "Функция-оператор `%A', определенная в %0, не используется"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "Функция-оператор `%A', определенная в %0, не используется"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Внешняя процедура `%A' передана как фактический аргумент в %0, но не декларирована явно как EXTERNAL"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr "ошибка в аргументах spec-функции '%s'"
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "использование `%D' неоднозначно"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "стандартные преобразования в данном контексте недопустимы"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "ошибка в аргументах spec-функции '%s'"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "ошибка в аргументах spec-функции '%s'"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "передано %qT для %s %P в %qD"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "в конструкции case нельзя употреблять указатели"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "передано %qT для %s %P в %qD"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "ошибка преобразования %qT в %qT в %s"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, fuzzy, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "%q+D не является функцией,"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "%Jвнутренняя функция `%D' декларирована как не функция"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "отсутствует аргумент ключа %qs"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "shared и mdll несовместимы"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Элемент массива в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "отсутствует индекс массива"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "индекс размерности %d выходит за границы в %L"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "%qD не является элементом типа %qT"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Массив `%A' в %0 слишком велик"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "Начало или конец подстроки в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "Начало или конец подстроки в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "Начало или конец подстроки в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "Начало или конец подстроки в %0 вне диапазона, заданного в определении"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "предикат должен быть идентификатором"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Выход за границы в подстроке или обращении к массиву для `%A' в операторе в %0"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Выход за границы в подстроке или обращении к массиву для `%A' в операторе в %0"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Нет определения метки для оператора FORMAT в %0"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "Нет определения метки для оператора FORMAT в %0"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Нет определения метки для оператора FORMAT в %0"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "Оператор в %0 некорректен в контексте, установленном оператором в %1"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -42344,175 +42340,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "оператор-выражение имеет неполный тип"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "оператор-выражение имеет неполный тип"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "оператор-выражение имеет неполный тип"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "предикат должен быть идентификатором"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "предикат должен быть идентификатором"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "маска должна быть непосредственным значением"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Оператор в %0 некорректен в контексте, установленном оператором в %1"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr "оператор continue вне цикла"
@@ -42520,950 +42516,950 @@ msgstr "оператор continue вне цикла"
 #. 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:8597
+#: fortran/resolve.c:8599
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Оператор в %0 некорректен в контексте, установленном оператором в %1"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Неподдерживаемый VXT-оператор в %0"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%s по отношению к переменной %qs, доступной только на чтение"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "%s по отношению к переменной %qs, доступной только на чтение"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "размер массива %qs слишком велик"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "Альтернативный спецификатор возврата в %0 некорректен внутри функции"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "Функция-оператор `%A', определенная в %0, не используется"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "%qD должен иметь ровно один аргумент"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "оператор-выражение имеет неполный тип"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Предупреждать о неявных декларациях функций"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr "\"трамплины\" не поддерживаются"
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "Внешняя процедура `%A' передана как фактический аргумент в %0, но не декларирована явно как EXTERNAL"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "аргумент `asm' - не константная строка"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Компонент в %C должен иметь атрибут POINTER"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Альтернативный спецификатор возврата в %0 некорректен внутри функции"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "несовместимые типы в операторе `%s'"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "атрибут %qs допустим только для переменных"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr "Пустой аргумент в %0 в вызове функции-оператора в %1"
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Слишком много аргументов %s в %L"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "%s не может присутствовать в константном выражении"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "метка %qD определена, но не используется"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "метка %qD определена, но не используется"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43629,34 +43625,34 @@ msgstr "неверный аргумент для %qs"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "номер сумматора вне диапазона"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -43664,47 +43660,47 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "функция возвращает агрегатное значение"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -44073,17 +44069,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -44693,17 +44689,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "квалификаторы не допускаются в декларации `operator %T'"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "не удалось найти файл отзыва %s"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 msgid "unexpected offset"
 msgstr "некорректный операнд"
@@ -44713,67 +44709,67 @@ msgstr "некорректный операнд"
 msgid "invalid line in the resolution file"
 msgstr "некорректный регистр в инструкции"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "некорректный регистр в инструкции"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "нет класса %qs"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "ошибка открытия %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "ошибка открытия %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "ошибка открытия %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "при открытии выходного файла %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "при записи вывода в %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "при открытии выходного файла %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "не удалось найти файл отзыва %s"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -45713,6 +45709,10 @@ msgstr ""
 msgid "creating selector for nonexistent method %qE"
 msgstr "%Hсоздаётся селектор для несуществующего метода %qE"
 
+#, fuzzy
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "некорректный операнд в инструкции"
+
 #~ msgid "internal gcc abort in %s, at %s:%d"
 #~ msgstr "аварийный выход gcc в %s, в %s:%d"
 
index d70d44c..bc9922a 100644 (file)
Binary files a/gcc/po/sr.gmo and b/gcc/po/sr.gmo differ
index fd6c4ee..de343fc 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.2.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -27,7 +27,7 @@ msgstr "<анонимно>"
 msgid "({anonymous})"
 msgstr "<анонимно>"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of module"
 msgid "expected end of line"
@@ -38,8 +38,8 @@ msgstr "Неочекиван крај модула"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "очекивано је %<;%>"
@@ -51,13 +51,13 @@ msgstr "очекивано је %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "очекивано је %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<,%>"
@@ -74,7 +74,7 @@ msgstr "очекивано је %<{%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<)%>"
@@ -82,7 +82,7 @@ msgstr "очекивано је %<{%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<]%>"
@@ -94,27 +94,27 @@ msgstr "очекивано је %<{%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "очекивано је %<,%>, %<;%> или %<}%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<}%>"
 msgstr "очекивано је %<{%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "очекивано је %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<:%>"
 msgstr "очекивано је %<{%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<while%>"
@@ -126,37 +126,37 @@ msgstr "очекивано је %<{%>"
 msgid "expected %<.%>"
 msgstr "очекивано је %<{%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@end%>"
 msgstr "очекивано је %<{%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<>%>"
 msgstr "очекивано је %<{%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<,%> or %<)%>"
 msgstr "очекивано је %<,%> или %<;%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "очекивано је %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "очекивано је %<#pragma omp section%> или %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<[%>"
@@ -351,12 +351,12 @@ msgstr "операнд уз ‘%%l’ није етикета"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "лоша употреба реалне константе"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "неисправан израз као операнд"
@@ -1518,20 +1518,20 @@ msgstr "непрепознатљива ија:"
 msgid "insn does not satisfy its constraints:"
 msgstr "ија не задовољава своја ограничења:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "направљено и употребљено са различитим поставкама за ‘%s’"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "нема меморије"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "направљено и употребљено са различитим поставкама за -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "направљено и употребљено са различитим поставкама за -fpie"
 
@@ -2187,205 +2187,205 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Највећи број РТЛ чворова који се може снимити као последња вредност комбинатора"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Горња граница за дељење целобројних константи"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Најмањи број виртуелних мапирања за разматрање пребацивања на пуна виртуална преименовања"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Однос између виртуелних мапирања и виртуелних симбола да би се радила пуна виртуелна преименовања"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Доња граница за бафер да би се размотрила заштита разбијања стека"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Највећи број наредби дозвољен у блоку којем је потребно умножавање при уплитању скокова"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Највећи број поља у структури пре него што анализа показивача сматра структуру као једну променљиву"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Највећи број инструкција спремних за издавање који распоређивач узима у обзир током првог пролаза"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 #, fuzzy
 #| msgid "The minimum cost of an expensive expression in the loop invariant motion"
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "Најмања цена скупог израза у кретању инваријанте петље"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 #| msgid "maximum value of parameter %qs is %u"
 msgid "maximum number of parameters in a SCoP"
 msgstr "највећа вредност параметра %qs је %u"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Највећи број ија у области која се разматра за мећублоковско распоређивање"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Дозволи да гранања буду упакована са другим инструкцијама"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Дозволи да гранања буду упакована са другим инструкцијама"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2734,18 +2734,18 @@ msgid "invalid %%r value"
 msgstr "неисправна %%r вредност"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "неисправна %%R вредност"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "неисправна %%N вредност"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "неисправна %%P вредност"
@@ -2760,12 +2760,12 @@ msgstr "неисправна %%h вредност"
 msgid "invalid %%L value"
 msgstr "неисправна %%L вредност"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "неисправна %%m вредност"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "неисправна %%M вредност"
@@ -2776,7 +2776,7 @@ msgid "invalid %%U value"
 msgstr "неисправна %%U вредност"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "неисправна %%s вредност"
@@ -2786,7 +2786,7 @@ msgstr "неисправна %%s вредност"
 msgid "invalid %%C value"
 msgstr "неисправна %%C вредност"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "неисправна %%E вредност"
@@ -2797,39 +2797,39 @@ msgid "unknown relocation unspec"
 msgstr "непознато unspec релокације"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "неисправан %%xn кôд"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "предикатна инструкција Тамба"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "предикатна инструкција у условном редоследу"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "неисправан операнд за кôд ‘%c’"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "неисправан операнд помака"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2837,90 +2837,90 @@ msgstr "неисправан операнд помака"
 msgid "invalid operand for code '%c'"
 msgstr "неисправан операнд за кôд ‘%c’"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 #| msgid "instruction never exectued"
 msgid "instruction never executed"
 msgstr "инструкција се никад не извршава"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "недостаје операнд"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "функција враћа скупинску вредност"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "функција не враћа податак типа ниске"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "адресни операнд захтева ограничење за X, Y или Z регистар"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "излазни операнд %d мора користити ограничење %<&%>"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "лоша адреса, није (reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "помак адресе није константа"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "лоша адреса, није (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "лоша адреса, није post_inc или pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "унутрашња грешка компилатора. Лоша адреса:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "унутрашња грешка компилатора. Непознат режим:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "неисправна ија:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "нетачна ија:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "непозната ија премештања:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "лоша ија помака:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "унутрашња грешка компилатора. Нетачан помак:"
 
@@ -2936,7 +2936,7 @@ msgstr "неисправан const_double операнд"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3168,80 +3168,80 @@ msgstr "лош операнд output_move_double"
 msgid "bad output_condmove_single operand"
 msgstr "лош операнд output_condmove_single"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "неисправан УНСПЕЦ као операнд"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "неисправан операнд за кôд ‘%c’"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "неисправан операнд за кôд ‘%c’"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "операнд није ни константа ни условни кôд, неисправан кôд аргумента ‘c’"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "неисправан кôд операнда ‘%c;’"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "неисправна ограничења за операнд"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "непознат режим ије"
 
@@ -3295,13 +3295,13 @@ msgstr "неисправно претварање у %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "неисправна операција на %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "неисправан %%P операнд"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "неисправна %%p вредност"
@@ -3384,7 +3384,7 @@ msgid "post-increment address is not a register"
 msgstr "адреса постувећања није регистар"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "лоша адреса"
 
@@ -3530,129 +3530,129 @@ msgstr "Нема места на стеку.\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "Покушајте да покренете ‘%s’ у шкољци да повећате ограничење.\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Користи хардверски покретан зарез"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-f%s и -msdata=%s нису сагласни"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "Произведи кôд мале крајности"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "Искључи индексно адресирање"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s и -msdata=%s нису сагласни"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad test"
 msgid "bad move"
 msgstr "лоша проба"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "неисправна %%H вредност"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "неисправна %%f вредност"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "неисправна %%F вредност"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "неисправна %%G вредност"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "неисправан %%j кôд"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "неисправан %%J кôд"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "неисправна %%k вредност"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "неисправна %%K вредност"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "неисправна %%O вредност"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "неисправна %%q вредност"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "неисправна %%S вредност"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "неисправна %%T вредност"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "неисправна %%u вредност"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "неисправна %%v вредност"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "неисправна %%x вредност"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 #| msgid "invalid punctuation %qc in constraint"
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "неисправна интерпункција %qc у ограничењу"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "алтивек аргумент прослеђен непрототипизираној функцији"
 
@@ -3750,25 +3750,25 @@ msgstr "неисправан операнд за модификатор ‘o’"
 msgid "invalid operand for code: '%c'"
 msgstr "неисправан операнд за кôд: ‘%c’"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "неисправан операнд за %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "неисправан операнд за %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "направљено и употребљено на различитим архитектурама / АБИјима"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "направљено и употребљено са различитим АБИјима"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "направљено и употребељно са различитом крајношћу"
 
@@ -3787,13 +3787,13 @@ msgstr "неисправан %%A операнд"
 msgid "invalid %%B operand"
 msgstr "неисправан %%B операнд"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "неисправан %%C операнд"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "неисправан %%D операнд"
@@ -3838,65 +3838,65 @@ msgstr "‘o’ операнд није константа"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: непознат кôд"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "неисправан %%c операнд"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "неисправан %%d операнд"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "неисправан %%j кôд"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "неисправан %%P операнд"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "неисправан %%P операнд"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "неисправан %%P операнд"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "неисправан %%P операнд"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "неисправан %%c операнд"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "неисправан %%P операнд"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "неисправан операнд за модификатор ‘b’"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4264,7 +4264,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "кандидати су:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4672,11 +4672,11 @@ msgstr "блоковско IF"
 msgid "implied END DO"
 msgstr "имплицитно END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "додела"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "додела показивача"
 
@@ -4684,143 +4684,143 @@ msgstr "додела показивача"
 msgid "simple IF"
 msgstr "једноставно IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "function returning a function"
 msgid "internal function"
 msgstr "функција враћа функцију"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 #, fuzzy
 #| msgid "elemental subroutine"
 msgid "elemental procedure"
 msgstr "елементални потпрограм"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, fuzzy, c-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Неисправна врста за %s код %L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "Операнд унарног бројевног оператора ‘%s’ код %%L је %s"
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "Операнди бинарног бројевног оператора ‘%s’ код %%L су %s/%s"
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "Операнди оператора надовезивања ниски код %%L су %s/%s"
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "Операнди логичког оператора ‘%s’ код %%L су %s/%s"
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, fuzzy, c-format
 #| msgid "Operand of .NOT. operator at %%L is %s"
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Операнд оператора .NOT. код %%L је %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "Комплексне величине се не могу поредити код %L"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "Логичке код %%L морају бити поређене са %s уместо %s"
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "Операнди оператора поређења ‘%s’ код %%L су %s/%s"
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, fuzzy, c-format
 #| msgid "unknown operator '%s' in %%:version-compare"
 msgid "Unknown operator '%s' at %%L"
 msgstr "непознате оператор ‘%s’ у %%:version-compare"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "Операнд корисничког оператора ‘%s’ код %%L је %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "Операнди корисничког оператора ‘%s’ код %%L су %s/%s"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, fuzzy, c-format
 #| msgid "Inconsistent ranks for operator at %L and %L"
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Неусаглашени рангови за оператор код %L и %L"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 #| msgid "Perform variable tracking"
 msgid "iterator variable"
 msgstr "Изврши праћење променљивих"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Start expression in DO loop"
 msgstr "Израз за корак у петљи DO код %L не може бити нула"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "неисправан израз као операнд"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Step expression in DO loop"
 msgstr "Израз за корак у петљи DO код %L не може бити нула"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 #| msgid "DEALLOCATE "
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE "
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 #| msgid "ALLOCATE "
 msgid "ALLOCATE object"
 msgstr "ALLOCATE "
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4829,7 +4829,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5169,6 +5169,18 @@ msgstr "не могу се заједно користити mthreads и mlegacy
 msgid "cannot use mshared and static together"
 msgstr "не могу се заједно користити mshared и static"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5262,28 +5274,12 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "опција -shared тренутно није подржана за ВАКСов ЕЛФ"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 #| msgid "GCC does not support -C or -CC without -E"
 msgid "gfortran does not support -E without -cpp"
 msgstr "ГЦЦ не подржава -C или -CC без -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 "-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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "СХ2а не подржава малу крајност"
@@ -5296,6 +5292,10 @@ msgstr " употребљени су сукобљени прекидачи ст
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "опција -shared тренутно није подржана за ВАКСов ЕЛФ"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8298,7 +8298,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Прати Ренесасову (бившу Хитачијеву) конвенцију позивања СуперХ"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "Повећај сагласност кôда покретног зареза са ИЕЕЕом"
 
 #: config/sh/sh.opt:278
@@ -13017,312 +13019,306 @@ msgstr "Укључи дељене библиотеке на основу ИДа"
 msgid "Create a position independent executable"
 msgstr "Стварај положајно-независни кôд за извршне ако је могуће (велики режим)"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of %qD"
 msgid "invalid use of type"
 msgstr "неисправна употреба %qD"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 #| msgid "inlined_to pointer refers to itself"
 msgid "constant refers to itself"
 msgstr "показивач inlined_to упућује на самог себе"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected numeric type"
 msgstr "Очекиван је тип израза"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected boolean type"
 msgstr "Очекиван је тип израза"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 #| msgid "expected integer expression"
 msgid "expected integer or boolean type"
 msgstr "очекиван је целобројни израз"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operands to binary %s"
 msgid "invalid operand for unary %<&%>"
 msgstr "неисправни операнди за бинарно %s"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "Expected integer"
 msgid "expected pointer"
 msgstr "Очекиван је цео број"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in binary expression"
 msgstr "несагласни типови у повратку"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qs has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "величина низа %qs има нецелобројни тип"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "величина у прекидачу није целобројна"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "негативна дужина ије"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object %qE is not a function"
 msgid "object is not a method"
 msgstr "позвани објекат %qE није функција"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "argument of type %qT does not match %qT"
 msgid "method type does not match object type"
 msgstr "аргумент типа %qT не поклапа се са %qT"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "неисправан аргумент за уграђену функцију"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "без аргумената"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "превише аргумената за формат"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument 1 must be a map"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "%qE has invalid type for %<reduction%>"
 msgid "invalid type for make function"
 msgstr "%qE има неисправан тип за %<reduction%>"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "лоша ија за ‘A’"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "превише аргумената за формат"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be array or slice or channel"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "unsupported argument type to builtin function"
 msgstr "неисправан аргумент за уграђену функцију"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "Argument dim at %L must be scalar"
 msgid "argument must be channel"
 msgstr "Аргумент димензије код %L мора бити скалар"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "Qualifier must be a reference"
 msgid "argument must be a field reference"
 msgstr "Одредба мора бити упућивач"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "left argument must be a slice"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "first argument of %q+D should be %<int%>"
 msgid "first argument must be []byte"
 msgstr "први аргумент за %q+D треба да је %<int%>"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "tls_model argument not a string"
 msgid "second argument must be slice or string"
 msgstr "аргумент за tls_model није ниска"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "%Jparameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "%Jпараметар %u има празан тип"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "%Jparameter %u has incomplete type"
 msgid "argument must have complex type"
 msgstr "%Jпараметар %u има непотпун тип"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "cleanup argument not an identifier"
 msgid "complex arguments must have identical types"
 msgstr "чистачки аргумент није идентификатор"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "Do not use hardware floating point"
 msgid "complex arguments must have floating-point type"
 msgstr "Не користи хардверски покретан зарез"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of %<this%> at top level"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "неисправна употреба %<this%> на највишем нивоу"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "Expected string"
 msgid "expected function"
 msgstr "Очекивана је ниска"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for receiver"
 msgstr "несагласни типови у повратку"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of %<this%> in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "неисправна употреба %<this%> у нечланској функцији"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "incoming edge count does not match number of PHI arguments"
 msgid "number of results does not match number of values"
 msgstr "долазна ивица се не поклапа са бројем ПХИ аргумената"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer."
 msgid "index must be integer"
 msgstr "Крејов показивач код %C мора бити целобројни."
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "schedule chunk size expression must be integral"
 msgid "slice end must be integer"
 msgstr "израз за величину одломка при распоређивању мора бити интегрални"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in assignment"
 msgid "incompatible type for map index"
 msgstr "несагласни типови у додели"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "превише аргумената за формат"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "премало аргумената за формат"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid use of void expression"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "неисправна употреба израза празног типа"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 #, fuzzy
 #| msgid "Invalid interface type"
 msgid "type assertion only valid for interface types"
 msgstr "Неисправан тип сучеља"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "expected class name"
 msgid "expected channel"
 msgstr "очекивано је име класе"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13370,21 +13366,25 @@ msgstr "Недостаје наредба повратка"
 msgid "expected boolean expression"
 msgstr "очекиван је израз"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in send"
 msgstr "несагласни типови у повратку"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -13706,7 +13706,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
@@ -13808,13 +13808,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "празна вредност није игнорисана а требало би"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "затражено је претварање у нескаларни тип"
@@ -14208,7 +14208,7 @@ msgstr "скок у наредбени израз"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H%qE дефинисан као погрешна врста ознаке"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "неисправна употреба %<restrict%>"
@@ -14339,7 +14339,7 @@ msgstr "објекат променљиве величине не може се
 msgid "variable %qD has initializer but incomplete type"
 msgstr "променљива %qD има успостављач али је непотпуног типа"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "утканој функцији %q+D дат је атрибут noinline"
@@ -14350,7 +14350,7 @@ msgstr "утканој функцији %q+D дат је атрибут noinline
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "неуспостављени константни члан %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D will be initialized after"
 msgid "%qD should be initialized"
@@ -15343,7 +15343,7 @@ msgstr "аргумент %qD не одговара уграђеном прото
 msgid "argument %qD doesn%'t match prototype"
 msgstr "аргумент %qD не одговара прототипу"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "нема повратне наредбе у функцији која враћа непразан тип"
@@ -15559,7 +15559,7 @@ msgstr "ИСО Ц не дозвољава додатно %<;%> изван фун
 msgid "unknown type name %qE"
 msgstr "непознато име регистра: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "очекивани су наводиоци декларације"
@@ -15570,7 +15570,7 @@ msgstr "очекивани су наводиоци декларације"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "очекиван је идентификатор или %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored for methods"
@@ -15623,7 +15623,7 @@ msgstr "ИСО Ц 90 не подржава %<long long%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ИСО Ц 90 не подржава %<long long%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "очекивана је дословна ниска"
@@ -15659,8 +15659,8 @@ msgstr "Тврдња КРИС-порта није прошла: "
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "очекиван је идентификатор"
@@ -16013,84 +16013,84 @@ msgstr "Очекивана је декларација класе или суч
 msgid "no type or storage class may be specified here,"
 msgstr "складишна класа наведена за %qs"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "недостаје %<(%> после %<#pragma pack%> — игноришем"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "недостаје %<(%> после %<#pragma pack%> — игноришем"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jатрибут одељка се не може навести за локалне променљиве"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 #| msgid "%Jaddress area attribute cannot be specified for functions"
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%Jадресна област атрибута не може бити наведена за функције"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> може бити употребљено само у сложеним наредбама"
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%> може бити употребљено само у сложеним наредбама"
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> може бити употребљено само у сложеним наредбама"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> може бити употребљено само у сложеним наредбама"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%> може бити употребљено само у конструкцији %<#pragma omp sections%>"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> мора бити прво"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "превише %qs одредби"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 #| msgid "comparison between signed and unsigned integer expressions"
 msgid "collapse argument needs positive constant integer expression"
 msgstr "поређење означених и неозначених целобројних израза"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "очекивано је %<none%> или %<shared%>"
@@ -16105,45 +16105,45 @@ msgstr "очекиван је целобројни израз"
 msgid "%<num_threads%> value must be positive"
 msgstr "вредност %<num_threads%> мора бити позитивна"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "очекивано је %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%> или %<||%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "распоред %<runtime%> не узима параметар %<chunk_size%>"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, fuzzy, gcc-internal-format
 #| msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "распоред %<runtime%> не узима параметар %<chunk_size%>"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "неисправна врста распореда"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "очекивана је одредба %<#pragma omp%>"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs није исправно за %qs"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operator for %<#pragma omp atomic%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "неисправан оператор за %<#pragma omp atomic%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "неисправан оператор за %<#pragma omp atomic%>"
@@ -16153,7 +16153,7 @@ msgstr "неисправан оператор за %<#pragma omp atomic%>"
 msgid "expected %<(%> or end of line"
 msgstr "очекивано је %<(%> или крај линије"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "очекивана је наредба for"
@@ -16168,12 +16168,12 @@ msgstr "очекивано је успостављање или декларац
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should not be firstprivate"
 msgid "iteration variable %qD should not be firstprivate"
@@ -16200,27 +16200,27 @@ msgstr "аутоматска променљива %qE не може бити н
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "нитно-локално %qE има непотпун тип"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -17042,7 +17042,7 @@ msgstr "низ успостављен константном ниском у з
 msgid "initialization of a flexible array member"
 msgstr "успостављање флексибилног чланског низа"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-низ успостављен широком ниском"
@@ -17253,229 +17253,229 @@ msgstr "%<return%> са вредношћу у функцији која враћ
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "%<return%> са вредношћу у функцији која враћа празан тип"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "функција враћа адресу на локалну променљиву"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "величина у прекидачу није целобројна"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "%<long%> израз у прекидачу не претвара се у %<int%> у ИСО Ц-у"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "case label is not an integer constant expression"
 msgstr "величина низа није интегралан констатан израз"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "етикета случаја није у оквиру наредбе прекидача"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "етикета %<default%> није у оквиру наредбе прекидача"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%Hпредложи експлицитне витичасте заграде ради избегавања двосмисленог %<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "наредба искакања није у оквиру петље или прекидача"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "наредба настављања није у оквиру петље"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "наредба искакања употребљена са ОпенМПом за петљу"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "наредба без ефекта"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "наредба израза има непотпун тип"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "негативан десни помак"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "десни помак >= од ширине типа"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "негативан леви помак"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "леви помак >= од ширине типа"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "поређење реалних помоћу == или != није безбедно"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "поређењу различитих показивачких типова недостаје претапање"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ИСО Ц забрањује поређење %<void *%> и функцијског показивача"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "поређењу различитих показивачких типова недостаје претапање"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "поређење између показивача и целобројног"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "поређење потпуног и непотпуног показивача"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ИСО Ц забрањује поређена уређености показивача на функције"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "поређење уређености показивача са целобројном нулом"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "поређење уређености показивача са целобројном нулом"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 #| msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "захтев за имплицтно претварање из %qT у %qT није дозвољен у Ц++у"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "употребљен низ који се не може претворити у показивач где се захтева скалар"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "употребљена вредност структурног типа где се захтева скалар"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "употребљена вредност унијског типа где се захтева скалар"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "употребљена вредност структурног типа где се захтева скалар"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE има неисправан тип за %<reduction%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE има неисправан тип за %<reduction(%s)%>"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE мора бити нитно-локално за %<copyin%>"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE није променљива у одредби %qs"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE се појављује више од једном у одредбама података"
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE није променљива у одредби %<firstprivate%>"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE није променљива у одредби %<lastprivate%>"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE је предодређено као %qs за %qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -18545,7 +18545,7 @@ msgstr "доминатор %d треба да је %d, не %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -18672,13 +18672,13 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "глобална регистарска променљива %qD употребљена у угњежденој функцији"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "функција %q+D поново декларисана са атрибутом неуткане"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute warning: %s"
@@ -18773,27 +18773,27 @@ msgstr "провера сажимања: првобитно дрво измењ
 msgid "total size of local objects too large"
 msgstr "%Jукупна величина локалних објеката је превелика"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "немогуће ограничење у %<asm%>"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "променљива %q+D може бити продрмана са %<longjmp%> или %<vfork%>"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "аргумент %q+D може бити продрман са %<longjmp%> или %<vfork%>"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "функција враћа скупинску вредност"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "неупотребљен параметар %q+D"
@@ -19272,70 +19272,70 @@ msgstr "провера стабла: очекивах класу %qs, имам %
 msgid "using result of function returning %<void%>"
 msgstr "нема повратне наредбе у функцији која враћа непразан тип"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "неисправна л-вредност у излазу асемблера %d"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "немеморијски улаз %d мора остати у меморији"
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "меморијски улаз %d не може се непосредно адресирати"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "threadprivate variables not supported in this target"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "нитно-локалне променљиве нису подржане за овај циљ"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, fuzzy, gcc-internal-format
 #| msgid "%Henclosing parallel"
 msgid "enclosing task"
 msgstr "%Hобухватајуће паралелно"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, fuzzy, gcc-internal-format
 #| msgid "%qs not specified in enclosing parallel"
 msgid "%qE not specified in enclosing parallel"
 msgstr "%qs није наведено у обухватајућем паралелном"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, fuzzy, gcc-internal-format
 #| msgid "%Henclosing parallel"
 msgid "enclosing parallel"
 msgstr "%Hобухватајуће паралелно"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should be private"
 msgid "iteration variable %qE should be private"
 msgstr "требало би да променљива итерације %qs буде приватна"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should not be firstprivate"
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "не би требало да променљива итерације %qs буде firstprivate"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should not be reduction"
 msgid "iteration variable %qE should not be reduction"
 msgstr "не би требало да променљива итерације %qs буде свођена"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 #| msgid "%s variable %qs is private in outer context"
 msgid "%s variable %qE is private in outer context"
 msgstr "%s променљива %qs је приватна у спољашњем контексту"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "гимплификација није успела"
@@ -19557,52 +19557,52 @@ msgstr "поље %qs декларисано као функција"
 msgid "function %qD redeclared as variable"
 msgstr "функција %q+D поново декларисана као уткана"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, fuzzy, gcc-internal-format
 #| msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "подељена област не може бити блиско угњеждена унутар подељене, критичне, уређене или главне области"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, fuzzy, gcc-internal-format
 #| msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "подељена област не може бити блиско угњеждена унутар подељене, критичне, уређене или главне области"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, fuzzy, gcc-internal-format
 #| msgid "master region may not be closely nested inside of work-sharing region"
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "главна област не може бити блиско угњеждена унутар дељене"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, fuzzy, gcc-internal-format
 #| msgid "ordered region may not be closely nested inside of critical region"
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "уређена област не може бити блиско угњеждена унутар критичне"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr "уређена област мора бити блиско угњеждена унутар петље са одредбом уређености"
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr "критична област не може бити угњеждена унутар истоимене критичне области"
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "неисправан излаз из структуираног блока ОпенМПа"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "неисправан улаз у структуирани блок ОпенМПа"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, fuzzy, gcc-internal-format
 #| msgid "invalid exit from OpenMP structured block"
 msgid "invalid branch to/from an OpenMP structured block"
@@ -19708,13 +19708,13 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition не ради на овој архитектури"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
@@ -20101,8 +20101,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "„%s“ се не може користити као %s регистар"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "непознато име регистра: %s"
@@ -20415,7 +20415,7 @@ msgstr "атрибут паковања доводи до неефикасног
 msgid "packed attribute is unnecessary"
 msgstr "атрибут паковања непотребан"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "равнање елемената низа је веће од величине елемента"
@@ -20437,13 +20437,13 @@ msgstr "глобални деструктори нису подржани на 
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections није подржано за овај циљ"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "target attribute is not supported on this machine"
 msgstr "атрибут %qE није подржан на овој платформи"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 #| msgid "#pragma extern_prefix not supported on this target"
 msgid "#pragma GCC target is not supported for this machine"
@@ -20643,7 +20643,7 @@ msgstr "неисправна употреба %qD у одредници пове
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -20659,7 +20659,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "изворно посредан позив функције се не разматра за уткивање"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -20674,7 +20674,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "%<[*]%> not allowed in other than a declaration"
 msgid "asm not allowed in atomic transaction"
@@ -20713,7 +20713,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "attributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -21407,127 +21407,127 @@ msgstr "нисам могао да отворим датотеку пописа
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "игноришем непознату опцију %q.*s у %<-fdump-%s%>"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i has multiple EH edges"
 msgstr "Об. %i не може да баци али има ЕХ ивице"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i can not throw but has an EH edge"
 msgstr "Об. %i не може да баци али има ЕХ ивице"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "Последња наредба у об. %i има неисправно постављену област"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unnecessary EH edge %i->%i"
 msgid "Incorrect EH edge %i->%i"
 msgstr "непотребна ЕХ ивица %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "погрешна ија у пропадном потегу"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i has incorrect edge"
 msgstr "Последња наредба у об. %i има неисправно постављену област"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "погрешна ија у пропадном потегу"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it receives a non-local goto"
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "функција %q+F се не може уткати јер прима нелокално goto"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it uses variable sized variables"
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "функција %q+F се не може уткати јер користи променљиве променљиве величине"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "функција %q+F се не може уткати јер користи setjmp"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "функција %q+F се не може уткати јер користи променљиву листу аргумената"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "функција %q+F се не може уткати јер користи нелокално goto"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "функција %q+F се не може уткати јер користи рачунско goto"
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "функција %q+F не може никако бити уткана јер користи атрибуте сукобљене са уткивањем"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "уткивање није успело у позиву %q+F: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "позвано одавде"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "уткивање није успело у позиву %q+F: %s"
@@ -21565,7 +21565,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "величина повратне вредности %q+D је већа од %wd бајтова"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "ССА искварење"
@@ -21814,80 +21814,80 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is outside array bounds"
 msgstr "индекс низа није целобројан"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is above array bounds"
 msgstr "индекс низа није целобројан"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is below array bounds"
 msgstr "индекс низа није целобројан"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr "претпостављам да се означено преливање не дешава при упрошћавању услова до константе"
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr "претпостављам да се означено преливање не дешава при упрошћавању услова"
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison always false due to limited range of data type"
 msgstr "поређење је увек нетачно услед ограниченог опсега типа"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison always true due to limited range of data type"
 msgstr "поређење је увек тачно услед ограниченог опсега типа"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, fuzzy, gcc-internal-format
 #| msgid "assuming signed overflow does not occur when simplifying range test"
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "претпостављам да се означено преливање не дешава при упрошћавању пробе опсега"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, fuzzy, gcc-internal-format
 #| msgid "assuming signed overflow does not occur when simplifying range test"
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "претпостављам да се означено преливање не дешава при упрошћавању пробе опсега"
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute can only be applied to class definitions"
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "атрибут %qE може се применити само на дефиниције класа"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D већ декларисано са атрибутом dllexport: dllimport се игнорише"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D поново декларисано без атрибута dllimport пошто је на њ упућено ДЛЛ повезивошћу"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D поново декларисано без атрибута dllimport: претходно dllimport се игнорише"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -21901,152 +21901,152 @@ msgstr "%q+D поново декларисано без атрибута dllimpo
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "атрибут %qE се игнорише"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "уткана функција %q+D поново декларисана као dllimport: атрибут се игнорише"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "дефиниција функције %q+D означена као dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "дефиниција променљиве %q+D означена као dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, fuzzy, gcc-internal-format
 #| msgid "external linkage required for symbol %q+D because of %qs attribute"
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "спољашња повезивост неопходна за симбол %q+D због атрибута %qs"
 
-#: tree.c:5628
+#: tree.c:5643
 #, fuzzy, gcc-internal-format
 #| msgid "%qD redeclared with different visibility"
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qD поново декларисано са другачијом видљивошћу"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "низови функција немају смисла"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "повратни тип функције не може бити функција"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "провера стабла: %s, имам %s у %s, код %s:%d"
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "провера стабла: не очекивах ниједно од %s, имам %s у %s, код %s:%d"
 
-#: tree.c:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected tree that contains %qs structure, have %qs  in %s, at %s:%d"
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr "провера стабла: очекивах стабло које садржи структуру %qs, имам %qs у %s, код %s:%d"
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qs је превазиђено (декларисано код %s:%d)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qs је превазиђено (декларисано код %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qs је превазиђено (декларисано код %s:%d)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qs је превазиђено (декларисано код %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "тип је превазиђен (декларисан код %s:%d)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "тип је превазиђен (декларисан код %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "%qs је превазиђено"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated"
 msgstr "%qs је превазиђено"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "тип је превазиђен"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "тип је превазиђен"
@@ -22277,12 +22277,12 @@ msgstr "вектор %s грешке домена %s, у %s код %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "нема sclass за %s stab (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -22297,8 +22297,8 @@ msgstr "%qD није дефинисано изван досега функциј
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "дужина ниске %qd већа је од дужине %qd коју ИСО компилатори Ц%d морају да подрже"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "преливање у константном изразу"
@@ -22968,40 +22968,40 @@ msgstr "атрибут %qE се игнорише за %qE"
 msgid "invalid vector type for attribute %qE"
 msgstr "неисправан тип вектора за атрибут %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "величина вектора није целобројни умножак величине компоненте"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "нулта величина вектора"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "број компоненти вектора није степен двојке"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "ненулти атрибут без аргумената код непрототипа"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "ненулти аргумент има неисправан број операнада (аргумент %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "ненулти аргумент са бројем операнада ван опсега (аргумент %lu, операнд %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "ненулти аргумент упућује на непоказивачки операнд (аргумент %lu, операнд %lu)"
@@ -23041,12 +23041,12 @@ msgstr "атрибут %qE захтева прототипове са имено
 msgid "%qE attribute only applies to variadic functions"
 msgstr "атрибут %qE је примењив само на варијадичке функције"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "захтевани положај није целобројна константа"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "захтевани положај је мањи од нуле"
@@ -24909,242 +24909,242 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "лоша вредност %qs за -mmemory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "лош уграђени fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "прекидач -mcpu=%s коси се са -march="
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support ARM mode"
 msgstr "циљни ЦПУ не подржава интерворкинг"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "циљни ЦПУ не подржава интерворкинг"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "циљни ЦПУ не подржава инструкције Тамба"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "укључивање подршке за контраход има смисла само када се компилује за Тамб"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "укључивање подршке за интерворкинг позваних има смисла само када се компилује за Тамб"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check није сагласно са -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic и -mapcs-reent нису сагласни"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "Вишеулазни кôд АПЦСа није подржан, игноришем"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g уз -mno-apcs-frame може дати бесмислено исправљање"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "прослеђивање аргумената у покретном зарезу у ФП регистрима још увек није подржано"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iWMMXt захтева ААПЦС-сагласан АБИ за правилан рад"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iWMMXt АБИ захтева iWMMXt-способан ЦПУ"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "циљни ЦПУ не подржава интерворкинг"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "циљни ЦПУ не подржава интерворкинг"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt и хардверски покретан зарез"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard и ВФП"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, fuzzy, gcc-internal-format
 #| msgid "can not use -mtp=cp15 with -mthumb"
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "не може се користити -mtp=cp15 уз -mthumb"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "граница величине структура може бити постављена само на %s"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "граница величине структура може бити постављена само на %s"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 #| msgid "%<-G%> is incompatible with %<-mabicalls%>"
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "%<-G%> није сагласно са %<-mabicalls%>"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, fuzzy, gcc-internal-format
 #| msgid "%<-G%> is incompatible with %<-mabicalls%>"
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "%<-G%> није сагласно са %<-mabicalls%>"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= је бескорисно без -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "не могу да користим „%s“ за ПИЦ регистар"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support unaligned accesses"
 msgstr "циљни ЦПУ не подржава интерворкинг"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition не ради на овој архитектури"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "атрибут %qs примењује се само на функције"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "не могу да срачунам стварну локацију параметра на стеку"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qd is not a constant"
 msgid "argument must be a constant"
 msgstr "аргумент %qd није константа"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "селектор мора бити непосредни"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "маска мора бити непосредна"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "нема доступних ниских регистара за подизање високих регистара"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "сервисне рутине прекида не могу бити кодиране у режиму Тамба"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -25188,91 +25188,91 @@ msgstr "Функција не враћа вредност"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs изгледа као погрешно написан руковалац сигналима"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Број регистара који се користи за прослеђивање целобројних аргумената"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "weak declaration of %q+D not supported"
 msgid "writing to address space %qs not supported"
 msgstr "слаба декларација %q+D није подржана"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "само неуспостављене променљиве могу се сместити у одељак .noint"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "само успостављене променљиве могу се сместити у меморијску област програма"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "МЦУ %qs подржан само за асемблер"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of module in string constant"
 msgid "%s expects a compile time integer constant"
 msgstr "Неочекиван крај модула у константној ниски"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -25633,321 +25633,321 @@ msgstr "не могу да проширим ПЦХ датотеку: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "не могу да поставим положај у ПЦХ датотеци: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -mtune= switch"
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "лоша вредност (%s) за прекидач -mtune="
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mtune=x86-64 is deprecated.  Use -mtune=k8 or -mtune=generic instead as appropriate."
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "-mtune=x86-64 је превазиђено. Користите -mtune=k8 или -mtune=generic уместо тога."
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "модела кôда %qs није подржан у %s-битном режиму"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "модела кôда %s није подржан у ПИЦ режиму"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %s does not support PIC mode"
 msgstr "модела кôда %s није подржан у ПИЦ режиму"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s није подржано у овој конфигурацији"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i-битни режим није укомпилован"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "ЦПУ који сте изабрали не подржава скуп инструкција икс86-64"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "generic CPU can be used only for -mtune= switch"
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "генерички ЦПУ може бити употребљен само за прекидач -mtune="
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "лоша вредност (%s) за прекидач -march="
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d није између 0 и %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-arrays није подржано за овај циљ"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d није између %d и 12"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d није између %d и 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-msseregparm used without SSE enabled"
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "-msseregparm употребљено без укључених ССЕ инструкција"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "скуп ССЕ инструкција искључен, користим 387 аритметику"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "скуп 387 инструкција искључен, користим ССЕ аритметику"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за исправност"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за исправност"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown -m%s= option specified: '%s'"
 msgid "unknown option for -mrecip=%s"
 msgstr "непозната опција типа -m%s=: „%s“"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ACCESS specification at %L was already specified"
 msgid "option(\"%s\") was already specified"
 msgstr "Одредница ACCESS код %L је већ наведена "
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "атрибути fastcall и regparm нису сагласни"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "атрибути fastcall и stdcall нису сагласни"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "атрибут %qs захтева целобројну константу као аргумент"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to %qs attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "аргумент за атрибут %qs већи од %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "атрибути fastcall и cdecl нису сагласни"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "атрибути fastcall и stdcall нису сагласни"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "атрибути fastcall и stdcall нису сагласни"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "атрибути stdcall и cdecl нису сагласни"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "атрибути stdcall и fastcall нису сагласни"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "атрибути stdcall и fastcall нису сагласни"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "атрибути stdcall и fastcall нису сагласни"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qE attribute is used for none class-method"
 msgstr "атрибут %qE се игнорише на не-класним типовима"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Позивање %qD са атрибутом sseregparm без укључених ССЕ/ССЕ2"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "Позивање %qT са атрибутом sseregparm без укључених ССЕ/ССЕ2"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "-march=%s није сагласно са изабраним АБИјем"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, fuzzy, gcc-internal-format
 #| msgid "MMX vector argument without MMX enabled changes the ABI"
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "ММИкс векторски аргумент без укључених ММИкс мења АБИ"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "ССЕ враћање регистра уз искључене ССЕ"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "ССЕ регистарски аргумент уз искључене ССЕ"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "враћање из регистра x87 када је x87 искључено"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "ССЕ векторски аргумент без укључених ССЕ мења АБИ"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "ММИкс векторски аргумент без укључених ММИкс мења АБИ"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "ССЕ векторско враћање без укључених ССЕ мења АБИ"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "ММИкс векторско враћање без укључених ММИкс мења АБИ"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 #| msgid "%s not supported for nested functions"
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "%s није подржано за угњеждене функције"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, fuzzy, gcc-internal-format
 #| msgid "%s not supported for nested functions"
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
@@ -25955,133 +25955,133 @@ msgstr "%s није подржано за угњеждене функције"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "%s functions limited to %d register parameters"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "%s функције ограничене на %d регистарских параметара"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "проширени регистри немају високе половине"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "неподржана величина операнда за проширени регистар"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid operand code '%c'"
 msgid "non-integer operand used with operand code '%c'"
 msgstr "неисправан кôд операнда ‘%c;’"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 2-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "shift must be an immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "помак мора бити непосредни"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the third argument must be an 8-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "the last argument must be a 4-bit immediate"
 msgstr "аргумент 3 мора бити четворобитна неозначена константа"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 1-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 5-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 8-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "селектор мора бити целобројна константа у опсегу 0..%wi"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "last argument must be an immediate"
 msgstr "маска мора бити непосредна"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "%qE attribute only available for 32-bit"
 msgstr "атрибут %qs примењује се само на променљиве"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of %qs attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "аргумент атрибута %qs није константна ниска"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "атрибути fastcall и stdcall нису сагласни"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "%qs incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -26159,13 +26159,13 @@ msgstr "%Jадресна област атрибута не може бити н
 msgid "%qE attribute requires a string constant argument"
 msgstr "атрибут %qs захтева целобројну константу као аргумент"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "вредност уз -mfixed-range мора бити облика РЕГ1-РЕГ2"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -26241,7 +26241,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "атрибут %qE није подржан на овој платформи"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -26304,7 +26304,7 @@ msgstr "наведени вишеструки атрибути типа функ
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "израз ограничења стека није подржан"
@@ -26680,67 +26680,67 @@ msgstr "Уткане функције Ц-а 99 нису подржане; кор
 msgid "%qs does not support MIPS16 code"
 msgstr "%s не подржава %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, fuzzy, gcc-internal-format
 #| msgid "-%s conflicts with the other architecture options, which specify a %s processor"
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr "-%s се коси са осталим опцијама архитектуре, које наводе процесор %s"
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "-march=%s није сагласно са изабраним АБИјем"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit processor"
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "-mgp64 употребљено са 32-битним процесором"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp32 used with a 64-bit ABI"
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "-mgp32 употребљено са 64-битним АБИјем"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit ABI"
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "-mgp64 употребљено са 32-битним АБИјем"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "неподржана комбинација: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "%qs is incompatible with %qs"
@@ -26751,64 +26751,64 @@ msgstr "тврдња: %s је доделом сагласно са %s"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "тврдња: %s је доделом сагласно са %s"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "циљни ЦПУ не подржава инструкције Тамба"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, fuzzy, gcc-internal-format
 #| msgid "-mips3d requires -mpaired-single"
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "-mips3d захтева -mpaired-single"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 #| msgid "-frepo must be used with -c"
 msgid "%qs must be used with %qs"
 msgstr "-frepo мора бити коришћено уз -c"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "циљни ЦПУ не подржава инструкције Тамба"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 #| msgid "Use the bit-field instructions"
 msgid "%qs requires branch-likely instructions"
 msgstr "Користи инструкције битског нивоа"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "циљни ЦПУ не подржава инструкције Тамба"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "профилисање функција мипса16"
@@ -27096,327 +27096,327 @@ msgstr "прослеђивање арга %d за %qE одбацује одре
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "неисправна комбинација параметара за алтивек сопствену"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 захтева архитектуру ПауерПЦ-64, укључујем"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "није подешено за АБИ: „%s“"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "AltiVec not supported in this target"
 msgstr "ограничења стека нису подржана на овом циљу"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "SPE not supported in this target"
 msgstr "ограничења стека нису подржана на овом циљу"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple није подржано на системима мале крајности"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring није подржано на системима мале крајности"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "ГЦЦ вектор враћен упућивачем: нестандарно проширење АБИја, без јемства сагласности"
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "ГЦЦ вектор прослеђен упућивачем: нестандарно проширење АБИја, без јемства сагласности"
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Treat the input file as already preprocessed"
 msgid "internal error: builtin function %s already processed"
 msgstr "Сматрај улазну датотеку већ предобрађеном"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "аргумент 1 мора бити петобитна означена константа"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "аргумент 2 мора бити петобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "аргумент 1 за __builtin_altivec_predicate мора бити константа"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "аргумент 1 за __builtin_altivec_predicate ван опсега"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "аргумент 3 мора бити четворобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "аргумент 3 мора бити четворобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "аргумент 3 мора бити четворобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "аргумент за %qs мора бити двобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "неразрешено препуњавање за алтивек уграђено %qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "аргумент за dss мора бити двобитна неозначена константа"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "аргумент 1 за __builtin_spe_predicate мора бити константа"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "аргумент 1 за __builtin_spe_predicate ван опсега"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "аргумент 1 за __builtin_spe_predicate мора бити константа"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "аргумент 1 за __builtin_spe_predicate ван опсега"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "ова уграђена функција доступна је само на фр450"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "уграђена функција %q+D декларисана као нефункција"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "уграђена функција %q+D декларисана као нефункција"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "уграђена функција %q+D декларисана као нефункција"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "уграђена функција %q+D декларисана као нефункција"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "command line option %qs is not supported by this configuration"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "опција командне линије %qs није подржана овом конфигурацијом"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error: sideeffect-insn affecting main effect"
 msgid "internal error: builtin function %s had no type"
 msgstr "унутрашња грешка: ија за споредни ефекат утиче на главни ефекат"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "оквир стека превелик"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "нема профилисања 64-битног кôда за овај АБИ"
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "употреба %<long double%> у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "употреба логичких типова у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "употреба %<complex%> у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "употреба децималних реалних типова у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "употреба %<long%> у алтивек типовима није исправна у 64-битном кôду"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "превазиђена употреба %<long%> у алтивек; користите %<int%>"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long long%> in AltiVec types is invalid"
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "употреба %<long long%> у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<double%> in AltiVec types is invalid"
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "употреба %<double%> у алтивек типовима није исправна"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "неисправна употреба %<::%>"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%<#pragma%> is not allowed here"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%<#pragma%> није дозвољена овде"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "spec '%s' is invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -27658,69 +27658,69 @@ msgstr "величина оквира за %qs је "
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs користи динамичко резервисање стека"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "игноришем -fschedule-insns због грешке у руковању изузецима"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за исправност"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs није подржано овим подциљем"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "атрибут %qs примењив је само на функције прекида"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "атрибут %qE није подржан на овој платформи"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "атрибут interrupt_handler није сагласан са -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to SH2A"
 msgstr "атрибут %qs примењује се само на функције"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "аргумент атрибута %qs није целобројна константа"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "аргумент атрибута %qs није константна ниска"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 мора бити доступан као позивом продрман регистар"
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Need a second call-clobbered general purpose register"
 msgid "need a second call-clobbered general purpose register"
 msgstr "Потребан је други позивом продрман регистар опште намене"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 #| msgid "Need a call-clobbered target register"
 msgid "need a call-clobbered target register"
@@ -27850,13 +27850,13 @@ msgstr "атрибут %<__BELOW100__%> примењује се само на п
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "атрибут __BELOW100__ није дозвољен са аутом. складишном класом"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin fcode"
 msgid "bad builtin icode"
 msgstr "лош уграђени fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -28086,43 +28086,43 @@ msgstr "%<-gnat%> погрешно уписано као %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "атрибут %qs се игнорише"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires prototypes with named arguments"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "атрибут %qE захтева прототипове са именованим аргументима"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variadic functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "атрибут %qE је примењив само на варијадичке функције"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "атрибут %qE се игнорише"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid vector type for attribute %qs"
 msgstr "неисправан тип вектора за атрибут %qE"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "атрибут %qs примењује се само на променљиве"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid element type for attribute %qs"
@@ -28599,7 +28599,7 @@ msgstr "чланска функција %qD не може се позвати б
 msgid "passing %qT chooses %qT over %qT"
 msgstr "прослеђивање %qT бира %qT пре него %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  у позиву %qD"
@@ -28664,438 +28664,438 @@ msgstr "неисправно успостављање неконстантног
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "неисправно успостављање упућивача типа %qT изразом типа %qT"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "не може се претворити из основе %qT у изведени тип %qT преко виртуелне основе %qT"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "јаванска класа %qT не може имати деструктор"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "јаванска класа %qT не може имати имплицитни нетривијални деструктор"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D не може бити препуњено"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "са %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "сукобљене одреднице приступа за метод %q+D, игноришем"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "сукобљене одреднице приступа за поље %qE, игноришем"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D неисправно у %q#T"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr "  због истоименог локалног метода %q+#D"
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr "  због истоименог локалног члана %q+#D"
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "не може се претворити из основе %qT у изведени тип %qT преко виртуелне основе %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "основна класа %q#T има не-виртуелни деструктор"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "све чланске функције у класи %qT су приватне"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T дефинише само приватни деструктор и нема пријатељâ"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T дефинише само приватне конструкторе и нема пријатељâ"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "нема јединственог коначног потискивача за %qD у %qT"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D дефинисано али неупотребљено"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D је сакривено"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  овим %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D није исправно; анонимна унија може имати само нестатичке чланске податке"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D није исправно; анонимна унија може имати само нестатичке чланске податке"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "приватни члан %q+#D у анонимној унији"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 #| msgid "private member %q+#D in anonymous union"
 msgid "private member %q+#D in anonymous struct"
 msgstr "приватни члан %q+#D у анонимној унији"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "заштићени члан %q+#D у анонимној унији"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 #| msgid "protected member %q+#D in anonymous union"
 msgid "protected member %q+#D in anonymous struct"
 msgstr "заштићени члан %q+#D у анонимној унији"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "битско поље %q+#D неинтегралног типа"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "ширина битског поља %q+D није целобројна константа"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "негативна ширина у бистком пољу %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "нулта ширина за битско поље %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "ширина %q+D премашује свој тип"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D је премало да садржи све вредности за %q#T"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "члан %q+#D са конструктором није дозвољен у унији"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "члан %q+#D са деструктором није дозвољен у унији"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "члан %q+#D са оператором копирања-доделе није дозвољен у унији"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "успостављена вишеструка поља у унији %qT"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D не може бити статичко зато што је члан уније"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "поље %q+D неисправно декларисан функцијски тип"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "поље %q+D неисправно декларисан методски тип"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "игноришем атрибут паковања због непакованог не-ПОД поља %q+#D"
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "поље %q+#D истог имена као и класа"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T има показивачке чланске податке"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  али не потискује %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  или %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  али не потискује %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "класа %qT ће бити сматрана скоро празном у будућим верзијама ГЦЦа"
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "успостављач наведен за невиртуелни метод %q+D"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static member function %qD"
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "неисправна употреба нестатичке чланске функције %qD"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q+T is not literal because:"
 msgstr "%q#T није класа"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "основна класа %q#T има не-виртуелни деструктор"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "основна класа %q#T има не-виртуелни деструктор"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static data member %q+D"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "неисправна употреба нестатичког чланског податка %q+D"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "нестатички упућивач %q+#D у класи без конструктора"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "нестатчики константни члан %q+#D у класи без конструктора"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "непосредна основа %qT није доступна у %qT услед двосмислености"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "виртуелна основа %qT није доступна у %qT услед двосмислености"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "поновна дефиниција %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T has virtual functions but non-virtual destructor"
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T има виртуелне функције, али невиртуелни деструктор"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "класа %qT нема поље по имену %qD"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type %qs has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "тип %qs има виртуелне чланске функције"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "у покушају да довршим структуру, али избачен услед претходних грешака у рашчлањивању"
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "језичка ниска %<\"%E\"%> није препозната"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "не могу да разрешим препуњену функцију %qD на основу претварања у тип %qT"
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "нема поклапања за претварање функције %qD у тип %q#T"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "двосмислено претварање препуњене функције %qD у тип %q#T"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "претпостављам показивач на члан %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(показивач на члан може бити формиран само помоћу %<&%E%>)"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "нема довољно података о типу"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "не може се претворити %qE из типа %qT у тип %qT"
@@ -29105,12 +29105,12 @@ msgstr "не може се претворити %qE из типа %qT у тип
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "декларација %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "мења значење за %qD са %q+#D"
@@ -29131,7 +29131,7 @@ msgstr "не може се претворити из непотпуног тип
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "двосмислено претварање %qE из %qT у %qT"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "array bound is not an integer constant"
 msgid "zero as null pointer constant"
@@ -30102,7 +30102,7 @@ msgstr "%qD декларисано као упућивач али није ус
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "име %qD употребљено у успостављачу низа утврђеном као Гну-стил"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "нетривијални утврђени успостављачи нису подржани"
@@ -30201,8 +30201,8 @@ msgstr "%qT нема нестатички члански податак по и
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "превише успостављача за %qT"
@@ -30777,7 +30777,7 @@ msgstr "%qT није ни класа ни именски простор"
 msgid "type %qT is not derived from type %qT"
 msgstr "тип %qT није изведен из типа %qT"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "декларација %qD као не-функције"
@@ -31101,394 +31101,389 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "ид. шаблона %qD употребљен као декларатор"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "чланске функције су имплицитно пријатељи својих класа"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "сувишна одредба %<%T::%> на члану %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "не може се дефинисати чланска функција %<%T::%s%> унутар %<%T%>"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "не може се декларисати функција %<%T::%s%> унутар %<%T%>"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "не може се декларисати члан %<%T::%s%> унутар %qT"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 #| msgid "data member %qD cannot be a member template"
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "члански податак %qD не може бити члански шаблон"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "величина низа %qs је превелика"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "члански податак не може имати променљиво измењив тип %qT"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "само декларације конструктора могу имати %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "не-члан %qs не може бити декларисан %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "не-објектни члан %qs не може бити декларисан %<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "функција %qs не може бити декларисана %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "статичко %qs не може бити декларисано %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "константно %qs не може бити декларисано %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function %qs cannot be declared %<mutable%>"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "функција %qs не може бити декларисана %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "typedef %q+D declared %<inline%>"
 msgid "typedef declared %<auto%>"
 msgstr "дефиниција типа %q+D декларисана као %<inline%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 #| msgid "%Jtypedef name may not be a nested-name-specifier"
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%Jиме за дефиницију типа не може бити угњеждени-именски-наводилац"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ИСО Ц++ забрањује угњеждени тип %qD истог имена као и обухватајућа класа"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "одређени функцијски типови не могу бити коришћени за декларацију %s функција"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "одређени функцијски типови не могу бити коришћени за декларацију %s функција"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "одредбе типа наведене уз декларацију пријатељске класе"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "%<inline%> наведено уз декларацију пријатељске класе"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "шаблонски параметри не могу бити пријатељи"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "декларација пријатеља захтева реч class, тј. %<friend class %T::%D%>"
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "декларација пријатеља захтева реч class, тј. %<friend %#T%>"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "покушај да се класа %qT учини пријатељем глобалног досега"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "неисправне одредбе уз тип не-чланске функције"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "апстрактни декларатор %qT употребљен као декларација"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "не може се користити %<::%> у декларацији параметра"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D declared %<inline%>"
 msgid "parameter declared %<auto%>"
 msgstr "параметар %q+D декларисан као %<inline%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member declared %<auto%>"
 msgstr "статички члан %qD декларисан као %<register%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "неисправна употреба %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function %q#D conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "декларација Ц функције %q#D коси се са"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "функција %qD декларисана виртуелном унутар уније"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD не може бити декларисана виртуелном, јер је увек статичка"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "очекивано одређено име у декларацији пријатеља за деструктор %qD"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "декларација %qD као члана %qT"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "Constructor can't be %s"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "Конструктор не може бити %s"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "очекивано одређено име у декларацији пријатеља за деструктор %qD"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "поље %qD има непотпун тип"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "име %qT има непотпун тип"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  у извођењу шаблона %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE није ни функција ни чланска функција; не може се декларисати пријатељем"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "Сопствено ‘%s’ код %L не може имати успостављач"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "статички члан %qD декларисан као %<register%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "складишна класа %<auto%> неисправна за функцију %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "складишна класа %<register%> неисправна за функцију %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "складишна класа %<__thread%> неисправна за функцију %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "an asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "навод asm није дозвољен на дефиницији функције"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "%<static%> неисправно наведено за функцију %qs декларисану изван глобалног досега"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "наводилац %<inline%> није исправан за функцију %qs декларисану изван глобалног досега"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "виртуелна не-класна функција %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 #| msgid "No variable %qs defined in class %qs"
 msgid "%qs defined in a non-class scope"
 msgstr "Променљива %qs није дефинисана у класи %qs"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qs declared in a non-class scope"
 msgstr "%qD није декларисано у овом досегу"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "не може се декларисати статичка повезивост за чланску функцију %qD"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "не може се декларисати статичка функција унутар друге функције"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "%<static%> не може бити употребљено при дефинисању (насупрот декларисања) статичког чланског податка"
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "статички члан %qD декларисан као %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "не може се експлицитно декларисати спољашња повезивост за члан %q#D"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %q#D outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "декларација %q#D изван класе није дефиниција"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs успостављено и декларисано као %<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs има и %<extern%> и успостављач"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "подразумевани аргумент за %q#D има тип %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "подразумевани аргумент за параметар типа %qT има тип %qT"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument %qE uses local variable %qD"
 msgid "default argument %qE uses %qD"
 msgstr "подразумевани аргумент %qE користи локалну променљиву %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "подразумевани аргумент %qE користи локалну променљиву %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D has incomplete type"
 msgid "parameter %qD has Java class type"
 msgstr "параметар %q+D има непотпун тип"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "параметар %qD неисправно декларише тип метода"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "параметар %qD укључује %s у низ непознатих граница %qT"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes reference to array of unknown bound %qT"
@@ -31509,176 +31504,176 @@ msgstr "параметар %qD укључује %s у низ непознати
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "неисправан конструктор; вероватно сте мислили %<%T (const %T&)%>"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD не може бити декларисано унутар именског простора"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD не може бити декларисано статичко"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD мора бити нестатичка чланска функција"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD мора бити или нестатичка чланска функција или не-чланска функција"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD мора имати аргумент класног или набројивог типа"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "претварање у %s%s никад неће користити оператор претварања типа"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ИСО Ц++ забрањује препуњавање оператора ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD не може имати променљив број аргумената"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "постфиксно %qD мора узимати %<int%> као аргумент"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "постфиксно %qD мора узимати %<int%> као други аргумент"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD мора узимати ниједан или један аргумент"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD мора узимати један или два аргумента"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "префиксно %qD треба да враћа %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "постфиксно %qD треба да враћа %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD мора узимати %<void%>"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD мора узимати тачно један аргумент"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD мора узимати тачно два аргумента"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "кориснички дефинисано %qD увек израчунава оба аргумента"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD треба да враћа по вредност"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD не може имати подразумеване аргументе"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "употреба параметра шаблонског типа %qT после %qs"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization %qD for %q+D"
 msgid "using alias template specialization %qT after %qs"
 msgstr "двосмислена специјализација шаблона %qD за %q+D"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "употреба typedef-имена %qD после %qs"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D has a previous declaration here"
 msgid "%qD has a previous declaration here"
 msgstr "%q+D има претходну декларацију овде"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT се помиње као %qs"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T има претходну декларацију овде"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT се помиње као набрајање"
@@ -31690,89 +31685,89 @@ msgstr "%qT се помиње као набрајање"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "потребан шаблонски аргумент за %<%s %T%>"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD има исто име као и класа у којој је декларисано"
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "двосмислено упућивање на %qD"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "употреба набрајања %q#D без претходне декларације"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "поновљена декларација %qT као не-шаблона"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "претходна декларација %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "неисправна изведена унија %qT"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "јаванска класа %qT не може имати вишеструке основе"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "јаванска класа %qT не може имати виртуелне основе"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "тип основе %qT није класа или структура"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "недефинисан рекурзивни тип %qT"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "неисправан удвостручен тип основе %qT"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 #| msgid "%Jprevious definition here"
 msgid "previous definition here"
 msgstr "%Jпретходна дефиниција је овде"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -31781,78 +31776,78 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "ниједан интегрални тип не може представљати све вредности набрајача за %qT"
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "вредност набрајача за %qE није целобројна константа"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C restricts enumerator values to range of %<int%>"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "ИСО Ц ограничава вредности набрајача на опсег %<int%>"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "преливање у вредностима набрајача код %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "вредност набрајача за %qE није целобројна константа"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "повратни тип %q#T није потпун"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "return type has Java class type %q#T"
 msgstr "повратни тип је непотпун тип"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> треба да враћа упућивач на %<*this%>"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "нема претходне декларације за %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, fuzzy, gcc-internal-format
 #| msgid "invalid member function declaration"
 msgid "invalid function declaration"
 msgstr "неисправна декларација чланске функције"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "параметар %qD декларисан празним"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label %q+D defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "етикета %q+D дефинисана али неупотребљена"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "неисправна декларација чланске функције"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD је већ дефинисано у класи %qT"
@@ -32208,7 +32203,7 @@ msgstr "руковање изузецима је искључено, укључ
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "баца се NULL, које има интегрални, а не показивачки тип"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD не треба никада препуњавати"
@@ -32486,161 +32481,161 @@ msgstr "тип %qT није непосредна основа од %qT"
 msgid "bad array initializer"
 msgstr "лош успостављач низа"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%qT is not a class type"
 msgstr "%q#T није класа"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "непотпун тип %qT нема члан %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "неисправан показивач на битско поље %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "неисправна употреба нестатичке чланске функције %qD"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "неисправна употреба нестатичког чланског податка %qD"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized reference member in %q#T"
 msgstr "%Jнеуспостављени упућивачки члан %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in %<new%> of %q#T"
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "неуспостављена константа у %<new%> за %q#T"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized const member in %q#T"
 msgstr "неуспостављени константни члан %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "неисправан тип %<void%> за new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "неуспостављена константа у %<new%> за %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "позив јаванском конструктору док је %qs недефинисано"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, fuzzy, gcc-internal-format
 #| msgid "Java class %qT cannot have multiple bases"
 msgid "Java class %q#T object allocated using placement new"
 msgstr "јаванска класа %qT не може имати вишеструке основе"
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "ниједно погодно %qD није нађено у класи %qT"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "двосмислен захтев за чланом %qD"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "неконстантан индекс низа у успостављачу"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "игноришу се атрибути после заграђеног успостављача"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "величина у низовном new мора бити интегралног типа"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new се не може применити на упућивачки тип"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new се не може применити на функцијиски тип"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "позив јаванском конструктору док је %<jclass%> недефинисано"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find %<class$%> in %qT"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "не могу да нађем %<class$%> у %qT"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "успостављач се прерано окончава"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "у успостављачу се не могу успостављати вишедимензиони низови"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "откривен могућ проблем у позиву оператора delete:"
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, fuzzy, 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."
 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "непозната величина низа за delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "тип уз векторско delete није ни показивачки ни низовни"
@@ -32730,12 +32725,12 @@ msgstr "изостављени средњи операнд у %<?:%> не мож
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "запетљано име за %qD биће измењено у будућим верзијама ГЦЦа"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -32745,13 +32740,13 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "генерички кôд смрза не пролази за метод %q#D који користи %<...%>"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member %q#D, can't use default assignment operator"
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "нестатички константни члан %q#D, не може се користити подразумевани оператор доделе"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member %q#D, can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -32769,106 +32764,106 @@ msgstr "%Hсамосачињени метод %qD прво захтеван ов
 msgid "union member %q+D with non-trivial %qD"
 msgstr "%Jнеуспостављени члан %qD са %<const%> типом %qT"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "initializer for %qT must be brace-enclosed"
 msgid "initializer for %q+#D is invalid"
 msgstr "успостављач за %qT мора бити у витичастим заградама"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized non-static const member %q#D"
 msgstr "неуспостављени константни члан %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "%Jнеуспостављени упућивачки члан %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "repeated using declaration %q+D"
 msgid "defaulted declaration %q+D"
 msgstr "поновљена декларација коришћења %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "array does not match the region tree"
 msgid "does not match expected signature %qD"
 msgstr "низ не одговара стаблу области"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a template cannot be defaulted"
 msgstr "шаблонски параметри не могу бити пријатељи"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D cannot be declared"
 msgid "%qD cannot be defaulted"
 msgstr "%q+#D се не може декларисати"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 #| msgid "file ends in default argument"
 msgid "defaulted function %q+D with default argument"
 msgstr "датотека се завршава подразумеваним аргументом"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 можда не поштује АБИ, и може се изменити у будућим верзијама ГЦЦа услед имплицитног виртуелног деструктора"
@@ -33013,133 +33008,133 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D скрива конструктор за %q#T"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D се коси са претходном декларацијом употребе %q#D"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "претходна нефункцијска декларација %q+#D"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "декларација употребе не може навести ид. шаблона. Покушајте %<using %D%>"
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "именски простор %qD није дозвоље у декларацији употребе"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD није декларисано"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD је већ декларисано у овом досегу"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "декларација употребе за не-члан у досегу класе"
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> именује деструктор"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> именује конструктор"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> именује конструктор у %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "нема члана који одговара %<%T::%D%> у %q#T"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "декларација %qD није у именском простору који окружује %qD"
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "експлицитна одредба у декларацији %qD"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD треба да је декларисано унутар %qD"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires a single NTBS argument"
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "атрибут %qs захтева тачно један НТБС аргумент"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "атрибутска директива %qD игнорисана"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "алијас именског простора %qD није дозвољен овде, претпостављам %qD"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "јако using има смисла само у досегу именског простора"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "текући именски простор %qD не обухвата јако употребљени именски простор %qD"
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
@@ -33148,23 +33143,23 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+#D"
 msgid "  %qE"
 msgstr "  %q+#D"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "потрага у зависности од аргумента даје %q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX entering pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX leaving pop_everything ()\n"
@@ -33311,7 +33306,7 @@ msgstr "неисправан ид. шаблона"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s не може да се јави у константном изразу"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr "претапање у тип који није ни интегрални ни набројиви не може се јавити у изразу константе"
@@ -33565,7 +33560,7 @@ msgstr "typedef-име %qD употребљено као декларатор д
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 #| msgid "expected specifier-qualifier-list"
 msgid "expected unqualified-id"
@@ -33777,7 +33772,7 @@ msgstr "%<%T::%D%> именује конструктор у %qT"
 msgid "compound-statement in constexpr function"
 msgstr "Откривај чисте и константне функције"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected selection-statement"
@@ -33810,7 +33805,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected iteration-statement"
@@ -33827,13 +33822,13 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ИСО Ц++ забрањује рачунско goto"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected jump-statement"
 msgstr "очекивана је наредба"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "сувишно %<;%>"
@@ -33871,7 +33866,7 @@ msgstr "наводилац pure на дефиницији функције"
 msgid "class definition may not be declared a friend"
 msgstr "дефиниција класе не може бити декларисана пријатељем"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "шаблони не могу бити виртуелни"
@@ -33955,13 +33950,13 @@ msgstr "неочекиван операнд"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "кључна реч %<export%> није имплементирана, игнорише се"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "%qD не може имати подразумеване аргументе"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "template parameter pack cannot have a default argument"
@@ -33979,7 +33974,7 @@ msgstr "шаблонски параметри не могу бити прија
 msgid "expected template-id"
 msgstr "очекивана је наредба"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<<%>"
@@ -34121,13 +34116,13 @@ msgstr "очекивано је %<,%> или %<;%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Укључи аутоматско извођење шаблона"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %qD in %qD which does not enclose %qD"
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "декларација %qD у %qD која не обухвата %qD"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "декларација %qD у %qD која не обухвата %qD"
@@ -34174,79 +34169,79 @@ msgstr "ид. шаблона не може да се јави у деклара
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in alias template declarations"
 msgstr "не могу се дефинисати нови типови у повратном типу"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%s: function definition not converted\n"
 msgid "a function-definition is not allowed here"
 msgstr "%s: дефиниција функције није претворена\n"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "навод asm није дозвољен на дефиницији функције"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "атрибути нису дозвољени на дефиницији функције"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected initializer"
 msgstr "очекиван је идентификатор"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "derived type declaration"
 msgid "invalid type in declaration"
 msgstr "декларација изведеног типа"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "успостављач дат за функцију"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "игноришу се атрибути после заграђеног успостављача"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "граница низа није целобројна константа"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type %qT"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "стварање показивача на члан упућивачког типа %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%D%> није тип"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "неисправна употреба конструктора као шаблона"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "употреба %<%T::%D%> уместо %<%T::%D%> за именовање конструктора у одређеном имену"
@@ -34255,275 +34250,275 @@ msgstr "употреба %<%T::%D%> уместо %<%T::%D%> за именова
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 #| msgid "Invalid declaration"
 msgid "invalid declarator"
 msgstr "Неисправна декларација"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "expected declarator"
 msgstr "очекивани су наводиоци декларације"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD је именски простор"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type %qT"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "стварање показивача на члан некласног типа %qT"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "неочекиван операнд"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "удвостручена кн-одредба"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate cv-qualifier"
 msgid "duplicate virt-specifier"
 msgstr "удвостручена кн-одредба"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid use of %<auto%>"
 msgstr "неисправна употреба %<::%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "не могу се дефинисати нови типови у повратном типу"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected type-specifier"
 msgstr "очекиван је идентификатор"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<,%> or %<...%>"
 msgstr "очекивано је %<:%> или %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "не могу се дефинисати нови типови у повратном типу"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "превазиђена употреба подразумеваног аргумента као параметра не-функције"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "подразумевани аргументи су дозвољени само за параметре функција"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%qD не може имати подразумеване аргументе"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack cannot have a default argument"
 msgstr "%qD не може имати подразумеване аргументе"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ИСО Ц++ не дозвољава утврђене успостављаче"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ИСО Ц++ не дозвољава утврђене успостављаче"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-name"
 msgstr "очекивано је име класе"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after class definition"
 msgstr "%q+D декларисано уткано после своје дефиниције"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after struct definition"
 msgstr "%q+D декларисано уткано после своје дефиниције"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected junk after function declaration at %C"
 msgid "expected %<;%> after union definition"
 msgstr "Неочекивано смеће после декларације функције код %C"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<{%> or %<:%>"
 msgstr "очекивано је %<,%> или %<;%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "не могу да нађем датотеку за класу %s"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "qualified name does not name a class"
 msgstr "декларација пријатеља не именује ни класу ни функцију"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "неисправно име класе у декларацији %qD"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification ignored"
 msgid "extra qualification not allowed"
 msgstr "сувишне одредбе се игноришу"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "експлицитној специјализацији мора претходити %<template <>%>"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 #| msgid "non-template %qD used as template"
 msgid "function template %qD redeclared as a class template"
 msgstr "%qD употребљено као шаблон, а није"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "претходна дефиниција %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-key"
 msgstr "очекивано је име класе"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "a class-key must be used when declaring a friend"
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "при декларацији пријатеља мора бити употребљена кључна реч class"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "декларација пријатеља не именује ни класу ни функцију"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "наводилац pure на дефиницији функције"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<(%> or end of line"
 msgid "expected %<;%> at end of member declaration"
 msgstr "очекивано је %<(%> или крај линије"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "кључна реч %<typename%> није дозвољена изван шаблона"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "кључна реч %<typename%> није дозвољена у овом контексту (основна класа је имплицитно тип)"
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "не могу се дефинисати нови типови у повратном типу"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "не могу се дефинисати нови типови у повратном типу"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of %q+D"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "неисправна поновљена декларација %q+D"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "премало листа параметара шаблона"
@@ -34532,355 +34527,355 @@ msgstr "премало листа параметара шаблона"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "превише листа шаблонских параметера"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "именоване повратне вредности нису више подржане"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "неисправна декларација чланског шаблона у локалној класи"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "шаблон са Ц повезивошћу"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid explicit specialization"
 msgstr "неисправан навод основне класе"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %qs"
 msgid "template declaration of %<typedef%>"
 msgstr "декларација шаблона %qs"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization in non-namespace scope %qD"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "експлицитна специјализација у не-именскопросторном досегу %qD"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H%<>>%> треба да је %<> >%> унутар угњеждене листе шаблонских аргумената"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "сувишно %<>>%>, користите %<>%> за затварање листе шаблонских аргумената"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "неисправна употреба %qD у одредници повезивости"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> пре %qD"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<new%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<delete%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<return%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<extern%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected %<static_assert%>"
 msgstr "очекивана је наредба"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<decltype%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<operator%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<class%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<template%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<namespace%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<using%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<asm%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<try%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<catch%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<throw%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<__label__%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@try%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@synchronized%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@throw%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<none%> or %<shared%>"
 msgid "expected %<__transaction_relaxed%>"
 msgstr "очекивано је %<none%> или %<shared%>"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<::%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<...%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<*%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<~%>"
 msgstr "очекивано је %<{%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<:%> or %<::%>"
 msgstr "очекивано је %<:%> или %<...%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%>, %<;%> or %<}%>"
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "очекивано је %<,%>, %<;%> или %<}%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "ознака %qs употребљена при именовању %q#T"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "%q+#D претходно декларисано овде"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD поново декларисано са другачијим приступом"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "%<template%> (као разјашњење двосмислености) дозвољено је само унутар шаблона"
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "датотека се завршава подразумеваним аргументом"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "конструкција %<@%D%> објективног Ц++а на погрешном месту"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%> мора навести тип као аргумент"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "неисправно име селектора објективног Ц++а"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "Class or interface declaration expected"
 msgid "objective-c++ method declaration is expected"
 msgstr "Очекивана је декларација класе или сучеља"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%Jатрибут одељка се не може навести за локалне променљиве"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "%Hinvalid type for iteration variable %qE"
 msgid "invalid type for instance variable"
 msgstr "%Hнеисправан тип променљиве итерације %qE"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "очекиван је идентификатор после %<@protocol%>"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "атрибут %qE се игнорише за %qE"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "неисправан типски аргумент"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 #| msgid "iteration variable %qs should not be reduction"
 msgid "iteration variable %qD should not be reduction"
 msgstr "не би требало да променљива итерације %qs буде свођена"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "not enough type information"
 msgid "not enough collapsed for loops"
 msgstr "нема довољно података о типу"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "смеће на крају %<#pragma GCC pch_preprocess%>"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "унутармодулске оптимизације нису имплеметиране за Ц++"
@@ -35638,17 +35633,17 @@ msgstr "дубина извођења шаблона премашује макс
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "дубина извођења шаблона премашује максимум од %d (употребите -ftemplate-depth-NN да повећате дубину) извођења %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "извођење %q+D је типа %qT"
@@ -35666,268 +35661,268 @@ msgstr "извођење %q+D је типа %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "променљива %qD има функцијски тип"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "неисправан тип параметра %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "у декларацији %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "функција враћа низ"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "функција враћа функцију"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "стварање показивача на чланску функцију некласног типа %qT"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "обликовање упућивача на празно"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming pointer to reference type %qT"
 msgstr "обликовање %s на тип упућивача %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming reference to reference type %qT"
 msgstr "обликовање %s на тип упућивача %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "стварање показивача на члан некласног типа %qT"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "стварање показивача на члан упућивачког типа %qT"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "стварање показивача на члан празног типа"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "стварање низа типа %qT"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "стварање низа типа %qT, који је апстрактна класа"
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT није тип класе, структуре, нити уније"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT се разрешава до %qT, што није набројиви тип"
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT се разрешава до %qT, што није класни тип"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "употреба %qs у шаблону"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type %qT does not match destructor name ~%qT"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "одређени тип %qT не поклапа се са именом деструктора ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "зависно име %qE рашчлањује се као не-тип, али извођење производи тип"
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "ставите %<typename %E%> ако мислите на тип"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "употреба неисправног поља %qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of void expression"
 msgid "invalid use of pack expansion expression"
 msgstr "неисправна употреба израза празног типа"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, fuzzy, gcc-internal-format
 #| msgid "%<...%> as arguments.)"
 msgid "use %<...%> to expand argument pack"
 msgstr "%<...%> за аргументе.)"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "use %<%T::%D%> instead"
 msgstr "%<%T::%D%> није тип"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D декларисано уткано после своје дефиниције"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT није ни класа ни именски простор"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD није ни класа ни именски простор"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT јесте/користи анонимни тип"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "шаблонски аргумент за %qD користи локални тип %qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT је променљиво измењив тип"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "интегрални израз %qE није константа"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  покушај извођења %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "двосмислено извођење шаблона класе за %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "експлицитно извођење не-шаблона %q#D"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D is not a non-static data member of %qT"
 msgid "%qD is not a static data member of a class template"
 msgstr "%q#D је нестатички члански податак у %qT"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "поклапајући шаблон за %qD није нађен"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type %qT"
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "експлицитно извођење нешаблонског типа %qT"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "експлицитно извођење %q#D"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "удвостручено експлицитно извођење %q#D"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ИСО Ц++ забрањује употребу %<extern%> на експлицитним извођењима"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "складишна класа %qD примењена на извођење шаблона"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template %q#D"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "експлицитно извођење не-шаблона %q#D"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "експлицитно извођење нешаблонског типа %qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "експлицитно извођење %q#T пре дефиниције шаблона"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ИСО Ц++ забрањује употребу %qE на експлицитним извођењима"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "удвостручено експлицитно извођење %q#T"
@@ -35939,35 +35934,35 @@ msgstr "удвостручено експлицитно извођење %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "експлицитно извођење %qD али дефиниција није доступна"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "дубина извођења шаблона премашује максимум од %d извођења %q+D, могуће услед стварања виртуелних табела (употребите -ftemplate-depth-NN да повећате максимум)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "using template type parameter %qT after %qs"
 msgid "invalid template non-type parameter"
 msgstr "употреба параметра шаблонског типа %qT после %qs"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T није исправан тип за шаблонски константан параметар"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, fuzzy, gcc-internal-format
 #| msgid "variable %qD may not have been initialized"
 msgid "variable %q#D with %<auto%> type used in its own initializer"
@@ -35976,13 +35971,13 @@ msgstr "променљива %qD можда није успостављена"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 #| msgid "unable to emulate %qs"
 msgid "unable to deduce %qT from %qE"
 msgstr "не могу да емулирам %qs"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -36229,7 +36224,7 @@ msgstr "неисправна дефиниција одређеног типа %q
 msgid "invalid base-class specification"
 msgstr "неисправан навод основне класе"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a type"
 msgid "%qD is not captured"
@@ -36417,293 +36412,293 @@ msgstr "неисправан апстрактни повратни тип за 
 msgid "%q#T has virtual base classes"
 msgstr "%q#T није класа"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized member %qD with %<const%> type %qT"
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "%Jнеуспостављени члан %qD са %<const%> типом %qT"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is normally a non-static function"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D је обично нестатичка функција"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "expression %qE does not designate a constexpr function"
 msgstr "декларација пријатеља не именује ни класу ни функцију"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "позив не-функције %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD called in a constant expression"
 msgstr "%qD се не може јавити у константном изразу"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D was used with no prototype before its definition"
 msgid "%qD used before its definition"
 msgstr "%q+D је употребљено без прототипа пре дефиниције"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qs has circular dependency"
 msgid "call has circular dependency"
 msgstr "протокол %qs има кружну зависност"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "дубина извођења шаблона премашује максимум од %d (употребите -ftemplate-depth-NN да повећате дубину) извођења %qD"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "%q+E is not a constant expression"
 msgstr "Недостаје или неисправан константан израз"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript out of bound"
 msgstr "индекс низа није целобројан"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "%qE is not a constant expression"
 msgstr "Недостаје или неисправан константан израз"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD се не може јавити у константном изразу"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 #| msgid "Missing or invalid constant expression"
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "Недостаје или неисправан константан израз"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qD is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "величина низа %qD није интегралан констатан израз"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "array used as initializer"
 msgid "%qD used in its own initializer"
 msgstr "низ употребљен као успостављач"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q#D is not const"
 msgstr "%q#T није класа"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D is private"
 msgid "%q#D is volatile"
 msgstr "%q+#D је приватно"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD се не може јавити у константном изразу"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD није декларисано у овом досегу"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 #| msgid "expression in new-declarator must have integral or enumeration type"
 msgid "%qD does not have integral or enumeration type"
 msgstr "израз у декларатору new мора имати интегрални или набројиви тип"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "набројиви и ненабројиви тип у условном изразу"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "expression %qE is not a constant-expression"
 msgstr "интегрални израз %qE није константа"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "expected expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "очекиван је израз"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "величина низа није интегралан констатан израз"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "интегрални израз %qE није константа"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "величина низа није интегралан констатан израз"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "неконстантан индекс низа у успостављачу"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of file in '%s'"
 msgid "unexpected AST of kind %s"
 msgstr "Неочекиван крај датотеке у ‘%s’"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot capture %qE by reference"
 msgstr "не може се декларисати упућивач на %q#T"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> is unavailable for static member functions"
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> није доступно за статичке чланске функције"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV одредбе не могу се применити на %qT"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "атрибут %qE може се применити само на јаванске дефиниције класа"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "атрибут %qE може се применити само на дефиниције класа"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE је застарело; в-табеле су сада подразумевано сагласне са КОМом"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "захтевано init_priority није целобројна константа"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "атрибут %qE може се користити само уз дефиниције објеката класног типа у датотечном досегу"
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "захтевано init_priority је ван опсега"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "захтевано init_priority резервисано је за унутрашњу употребу"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "атрибут %qE није подржан на овој платформи"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "провера lang_*: крах у %s, код %s:%d"
@@ -37727,127 +37722,127 @@ msgstr "употребљена синтакса конструктора, али
 msgid "cannot initialize arrays using this syntax"
 msgstr "низ се не може успостављати овом синтаксом"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "двосмислено претварање %qE из %qT у %qT"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "двосмислено претварање %qE из %qT у %qT"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-низ успостављен из не-широке ниске"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "int-низ успостављен из не-широке ниске"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "предугачка ниска успостављача за низ знакова"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "скупина типа %qT не може се успостављати сложеном константном"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "успостављач низа мора бити нешто у витичастим заградама"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "недостаје успостављач за члан %qD"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "неуспостављени константни члан %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "члан %qD са неуспостављеним константним пољима"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "члан %qD је неуспостављен упућивач"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "поље %qD није нађено у унији која се успоставља"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "индексна вредност уместо имена поља у успостављачу уније"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "откривено кружно прослеђивање показивача"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "основни операнд за %<->%> непоказивачког је типа %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "%<operator->()%> производи непоказивачки резултат"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "основни операнд за %<->%> није показивач"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE се не може користити као члански показивач, пошто је типа %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "члански показивач %qE не може се применити на %qE, које је некласног типа %qT"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "тип показивача на члан %qT није сагласан са типом објекта %qT"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type %qT"
 msgid "functional cast to array type %qT"
 msgstr "неисправно претапање у функцијски тип %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jdefault-initialization of %q#D, which has reference type"
 msgid "invalid value-initialization of reference type"
 msgstr "%Jподразумевано успостављање %q#D, које је упућивачког типа"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "позив функције %qD која баца непотпун тип %q#T"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "позив функције која баца непотпун тип %q#T"
@@ -37909,199 +37904,199 @@ msgstr "Цео број ван симетричног опсега имплиц
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "Холеритова константа код %L је предугачка за претварање у %s"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Очекиван је индекс низа код %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Очекиван је индекс низа код %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Очекиван је индекс низа код %C"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Очекиван је корак индекса низа код %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Неисправан облик упућивача низа код %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "Упућивач низа код %C не може имати више од %d димензија"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected coarray designator at %C"
 msgstr "Очекиван је индекс низа код %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected another dimension in array declaration at %C"
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "Очекивана је друга димензија у декларацији низа код %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form of array reference at %C"
 msgid "Invalid form of coarray reference at %C"
 msgstr "Неисправан облик упућивача низа код %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr "Променљива ‘%s’ код %L мора бити константна у овом контексту"
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L in this context must be constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "Променљива ‘%s’ код %L мора бити константна у овом контексту"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "Очекиван је израз у одредници низа код %C"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification for assumed shape array at %C"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Лоша одредница за низ претпостављеног облика код %C"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr "Лоша одредница за низ експлицитног облика код %C"
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr "Лоша одредница за низ претпостављеног облика код %C"
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr "Лоша одредница за низ одложеног облика код %C"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr "Лоша одредница за низ претпостављене величине код %C"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Очекивана је друга димензија у декларацији низа код %C"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "Одредница низа код %C има више од %d димензија"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification at %C has more than %d dimensions"
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Одредница низа код %C има више од %d димензија"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Nonstandard type declaration %s*%d at %C"
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Нестандардна декларација типа %s*%d код %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr "DO-итератор ‘%s’ код %L је унутар истоименог итератора"
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "Синтаксна грешка у конструктору низа код %C"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: [...] style array constructors at %C"
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Ново у фортрану 2003: [...] конструктори низа код %C"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in character length specification at %C"
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Синтаксна грешка у одредници знаковне дужине код %C"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "Низ ‘%s’ код %L не може имати одложен облик"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Празан конструктор низа код %C није дозвољен"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "Елемент у конструктору низа %s код %L је %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "Корак итератора код %L не може бити нула"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Element in %s array constructor at %L is %s"
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
@@ -38137,7 +38132,7 @@ msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L м
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr "Аргумент ‘%s’ сопственог ‘%s’ код %L мора бити целобројан или процедура"
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити константа"
@@ -38253,7 +38248,7 @@ msgstr "Аргумент ‘dim’ за сопствено ‘%s’ код %L н
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "Различите знаковне дужине у додели показивача код %L"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr "Аргументи ‘%s’ и ‘%s’ сопственог ‘%s’ код %L морају бити истог типа"
@@ -38342,8 +38337,8 @@ msgstr "Аргумент ‘%s’ сопственог ‘%s’ код %L мор
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
@@ -38504,7 +38499,7 @@ msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L м
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
@@ -38649,47 +38644,47 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити %s"
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити исте врсте као ‘%s’"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "Аргументи ‘%s’ и ‘%s’ сопственог ‘%s’ код %L морају бити истог типа"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити %s"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "Превише аргумената за %s код %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
 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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "Аргумент ‘%s’ сопственог ‘%s’ код %L мора бити целобројан или логички"
@@ -38701,7 +38696,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -39000,7 +38995,7 @@ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Фортран 2003: Ознака IOMSG код %L"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate array spec for Cray pointee at %C."
 msgid "Duplicate array spec for Cray pointee at %C"
@@ -39017,7 +39012,7 @@ msgstr "Тип ‘%s’ код %C није декларисан унутар с
 msgid "Extension: Old-style initialization at %C"
 msgstr "Проширење: Старовремско успостављање код %C"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "Успостављање код %C није за показивачку променљиву"
@@ -39027,7 +39022,7 @@ msgstr "Успостављање код %C није за показивачку
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "Успостављање показивача код %C захтева ‘=>’, не ‘=’"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Очекиван је успостављачки израз код %C"
@@ -39240,7 +39235,7 @@ msgstr "Фортран 2003: Наредба FLUSH код %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -39263,57 +39258,57 @@ msgstr "Фортран 2003: Наредба FLUSH код %C"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be an internal function"
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr "Одредничка функција ‘%s’ код %L не може бити унутрашња функција"
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L has not been assigned a format label"
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr "Променљивој ‘%s’ код %L није додељена етикета формата"
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE"
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати низовну вредност"
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
@@ -39321,17 +39316,17 @@ msgstr "Одредничка функција ‘%s’ код %L не може 
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.c:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing generic specification in USE statement at %C"
 msgid "Missing entity or common block name for attribute specification statement at %C"
@@ -39339,830 +39334,830 @@ 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:4244
+#: fortran/decl.c:4245
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition."
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr "Изведени тип код %C није претходно дефинисан и зато се не може појавити у дефиницији изведеног типа."
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "Синтаксна грешка у декларацији података код %C"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "Име ‘%s’ код %C је име процедуре"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Неочекивано смеће у формалној листи аргумената код %C"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "Удвостручени симбол ‘%s’ у формалној листи аргумената код %C"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "Променљива RESULT код %C мора бити различита од имена функције"
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "Неочекивано смеће после декларације функције код %C"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Атрибут SAVE код %L не може бити наведен у чистој процедури"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Iterator step at %L cannot be zero"
 msgid "Interface '%s' at %C may not be generic"
 msgstr "Корак итератора код %L не може бити нула"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "Одредничка функција ‘%s’ код %L не може бити наредбена функција"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као стварни аргумент"
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure '%s' at %C cannot have a generic interface"
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr "Лажна процедура ‘%s’ код %C не може имати генеричко сучеље"
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "Име изведеног типа ‘%s’ код %C већ има основни тип %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "фортран 2003: Очекиван је параметарски симбол у комплексној константи код %C"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in structure constructor at %C"
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "Синтаксна грешка у конструктору структуре код %C"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr "MODULE PROCEDURE код %C мора бити у генеричком сучељу модула"
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "Очекивана је формална листа аргумената у дефиницији функције код %C"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "Наредба ENTRY код %C не може бити унутар PROGRAM"
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "Наредба ENTRY код %C не може бити унутар MODULE"
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "Наредба ENTRY код %C не може бити унутар BLOCK DATA"
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "Наредба ENTRY код %C не може бити унутар INTERFACE"
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока DERIVED TYPE"
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока IF-THEN"
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока DO"
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока SELECT"
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока FORALL"
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "Наредба ENTRY код %C не може бити унутар блока WHERE"
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "Наредба ENTRY код %C не може бити унутар садржаног потпрограма"
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "Наредба ENTRY код %C не може бити у садржаној процедури"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in CASE-specification at %C"
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "Синтаксна грешка у одредници CASE код %C"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "Недостаје етикета формата код %C"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "Недостаје етикета формата код %C"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing paren for binding label at %C"
 msgstr "Недостаје етикета формата код %C"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "Име функције ‘%s’ није дозвољено код %C"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "Неочекивана наредба END код %C"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'"
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Фортран 2003: наводилац %s у наредби %s код %C има вредност ‘%s’"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "Очекивана је наредба %s код %L"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "Очекивана је наредба %s код %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "Очекивано је име блока за ‘%s’ у наредби %s код %C"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "Очекивана је етикета ‘%s’ за наредбу %s код %C"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Недостаје одредница низа код %L у наредби DIMENSION"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing array specification at %L in DIMENSION statement"
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Недостаје одредница низа код %L у наредби DIMENSION"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "Одредница низа мора бити одложена код %L"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Неочекиван знак у листи променљивих код %C"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "Очекивано је ‘(’ код %C"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "Очекивано је име променљиве код %C"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Cray pointer at %C must be an integer"
 msgstr "Крејов показивач код %C мора бити целобројни."
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes."
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr "Крејов показивач код %C има %d бајтова тачности; меморијска адреса захтева %d бајтова."
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "Очекивано је ‘,’ код %C"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "Очекивано је ‘)’ код %C"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "Очекивано је ‘,’ или крај наредбе код %C"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer declaration at %C requires -fcray-pointer flag."
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "Декларација Крејовог показивача код %C захтева заставицу -fcray-pointer."
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr "Одредница приступа оператора %s код %C је већ наведена"
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr "Одредница приступа оператора .%s. код %C је већ наведена"
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr "Наредба DATA код %C није дозвољена у чистој процедури"
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr "Наредба DATA код %C није дозвољена у чистој процедури"
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "Очекивано је име променљиве код %C у наредби PARAMETER"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "Очекиван је знак = у наредби PARAMETER код %C"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "Очекиван је израз код %C у наредби PARAMETER"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initializer not allowed for COMMON variable '%s' at %C"
 msgid "Initializing already initialized variable at %C"
 msgstr "Успостављач није дозвољен за заједничку променљиву ‘%s’ код %C"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Неочекивани знакови у наредби PARAMETER код %C"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr "Покривачка наредба SAVE код %C прати претходну наредбу SAVE"
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "Наредба SAVE код %C прати покривачку наредбу SAVE"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Синтаксна грешка у наредби SAVE код %C"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr "MODULE PROCEDURE код %C мора бити у генеричком сучељу модула"
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "Очекивано је :: у дефиницији TYPE код %C"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "No such symbol in TYPE definition at %C"
 msgstr "Очекивано је :: у дефиницији TYPE код %C"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C can only be PRIVATE within a MODULE"
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr "Изведени тип код %C може бити само приватан унутар модула"
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C can only be PUBLIC within a MODULE"
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr "Изведени тип код %C може бити само јаван унутар модула"
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: IOMSG tag at %L"
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Фортран 2003: Ознака IOMSG код %L"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "Очекивано је :: у дефиницији TYPE код %C"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "Име типа ‘%s’ код %C не може бити исто као сопственог типа"
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr "Име изведеног типа ‘%s’ код %C већ има основни тип %s"
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr "Дефиниција изведеног типа ‘%s’ код %C је већ учињена"
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr "Крејов показивани код %C не може бити низ претпостављеног облика"
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: ENUM and ENUMERATOR at %C"
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Ново у фортрану 2003: ENUM и ENUMERATOR код %C"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "Набрајач премашује Ц-ов целобројни тип код %C"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "Набрајач %L није успостављен целобројним изразом"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "Очекивана је наредба дефиниције ENUM пре %C"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "Синтаксна грешка у дефиницији ENUMERATOR код %C"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s specification at %C"
 msgid "Duplicate access-specifier at %C"
 msgstr "Удвостручена одредница %s код %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s attribute at %L"
 msgid "Duplicate POINTER attribute at %C"
 msgstr "Удвостручени атрибут %s код %L"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "Очекивано је VARIABLE код %C"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate SEQUENCE statement at %C"
 msgid "Duplicate DEFERRED at %C"
 msgstr "Удвостручена наредба SEQUENCE код %C"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected a nameless interface at %C"
 msgid "Expected access-specifier at %C"
 msgstr "Очекивано је безимено сучеље код %C"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding attribute at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "')' expected"
 msgid "')' expected at %C"
 msgstr "Очекивано је ‘)’"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding name at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Фортран 2003: Наредба FLUSH код %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding target after '=>' at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '::' at %C"
 msgstr "Очекивано је ‘(’ код %C"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Очекиван је индекс низа код %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '=>' at %C"
 msgstr "Очекивано је ‘(’ код %C"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected specific binding name at %C"
 msgstr "Очекивано је завршно име код %C"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "There is no specific function for the generic '%s' at %L"
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "Нема одређене функције за генеричко ‘%s’ код %L"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Empty FINAL at %C"
 msgstr "Очекивано је VARIABLE код %C"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected a procedure for argument '%s' at %L"
 msgid "Expected module procedure name at %C"
 msgstr "Очекивана је процедура за аргумент ‘%s’ код %L"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected ',' at %C"
 msgstr "Очекивано је ‘(’ код %C"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "procedure name = %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "име процедуре = %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s procedure at %L is already declared as %s procedure"
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "Процедура %s код %L је већ декларисана као процедура %s"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected characters in PARAMETER statement at %C"
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Неочекивани знакови у наредби PARAMETER код %C"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
@@ -40416,27 +40411,27 @@ msgstr "Функција са показивачком вредношћу пој
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -40722,7 +40717,7 @@ msgid "can't open input file: %s"
 msgstr "не могу да отворим улазну датотеку: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "creating array of %qT"
@@ -40845,12 +40840,12 @@ msgstr "Први аргумент дефинисане доделе код %L м
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "Други аргумент дефинисане доделе код %L мора бити намере-у"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "Први аргумент сучеља оператора код %L мора бити намере-у"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "Други аргумент сучеља оператора код %L мора бити намере-у"
@@ -43028,7 +43023,7 @@ msgstr "Неочекивано смеће после наредбе ELSE код
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Неочекивано смеће после наредбе ELSE код %C"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "Одредба IF код %L захтева скаларни логички израз"
@@ -44186,481 +44181,481 @@ msgstr "Аргумент ‘%s’ чистог потпрограма ‘%s’ 
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "Аргумент ‘%s’ чистог потпрограма ‘%s’ код %L мора имати наведену намеру"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Keyword argument '%s' at %L is not in the procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "Кључна реч ‘%s’ код %L није у процедури"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L мора бити скалар"
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "Лажна процедура код %L није дозвољена у елементалној процедури"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "Аргумент ‘%s’ чистог потпрограма ‘%s’ код %L мора имати наведену намеру"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "Аргумент ‘%s’ наредбене функције код %L мора бити скалар"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr "Аргумент знаковне вредности ‘%s’ наредбене функције код %L мора имати константну дужину"
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "Садржана функција ‘%s’ код %L нема имплицитан тип"
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr "Садржана функција ‘%s’ код %L нема имплицитан тип"
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued internal function '%s' at %L must not be assumed length"
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Унутрашња функција знаковне вредности ‘%s’ код %L не може бити претпостављене дужине"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure %s at %L has entries with mismatched array specifications"
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "Процедура %s код %L има уносе са неусаглашеним одредницама низа"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr "Резултат функције %s не може бити низ у функцији %s код %L"
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr "Улазни резултат %s не може бити низ у функцији %s код %L"
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "Резултат функције %s не може бити показивач у функцији %s код %L"
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "Улазни резултат %s не може бити показивач у функцији %s код %L"
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "Резултат функције %s не може бити типа %s у функцији %s код %L"
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "Улазни резултат %s не може бити типа %s у функцији %s код %L"
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Named COMMON block '%s' at %L shall be of the same size"
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr "Именовани заједнички блок ‘%s’ код %L ће бити исте величине"
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Named COMMON block '%s' at %L shall be of the same size"
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr "Именовани заједнички блок ‘%s’ код %L ће бити исте величине"
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too few components in structure constructor at %C"
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "Премало компонената у конструктору структуре код %C"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "Ранг елемента у конструктору изведеног типа код %L не одговара оном компоненте (%d/%d)"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненте ‘%s’, јесте %s а треба да буде %s"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненту ‘%s’, треба да је показивач или циљ"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too many components in structure constructor at %C"
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "Превише компонената у конструктору структуре код %C"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненту ‘%s’, треба да је показивач или циљ"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Pointer initialization at %C requires '=>', not '='"
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "Успостављање показивача код %C захтева ‘=>’, не ‘=’"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "Елемент у конструктору изведеног типа код %L, за показивачку компоненте ‘%s’, јесте %s а треба да буде %s"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L."
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
 msgstr "Горња граница у последњој димензији мора се појавити у упућивачу на низ претпостављене величине ‘%s’ код %L."
 
-#: fortran/resolve.c:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L is ambiguous"
 msgid "'%s' at %L is ambiguous"
 msgstr "Двосмислен симбол ‘%s’ код %L"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "GENERIC non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "Генеричка несопствена процедура ‘%s’ није дозвољена као стварни аргумент код %L"
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Alternate return specifier in function '%s' at %L is not allowed"
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr "Наводилац алтернативног повратка није дозвољен у функцији ‘%s’ код %L"
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr "Сопствено ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "COMMON '%s' at %L does not exist"
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "Заједничко ‘%s’ код %L не постоји"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Етикета %d поменута код %L није дефинисана"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "Наредбена функција ‘%s’ код %L није дозвољена као стварни аргумент"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "Сопствено ‘%s’ код %L није дозвољено као стварни аргумент"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као стварни аргумент"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "Елементална несопствена процедура ‘%s’ код %L није дозвољена као стварни аргумент"
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr "Не могу да нађем одређену сопствену процедуру за упућивач ‘%s’ код %L"
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "Двосмислен симбол ‘%s’ код %L"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "Аргумент-по-вредности код %L није бројевног типа"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "Аргумент-по-вредности код %L не може бити низ или одељак низа"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "Аргумент-по-вредности код %L није дозвољен у овом контексту"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "Није дозвољено прослеђивање унутрашње процедуре по локацији код %L"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optionalargument with the same rank (12.4.1.5)"
 msgid "'%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:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Неслагање рангова у упућивачу низа код %L (%d/%d)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Type/rank mismatch in argument '%s' at %L"
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Неслагање типа/ранга у аргументу ‘%s’ код %L"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "Симбол ‘%s’ код %L већ има експлицитно сучеље"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "Симбол ‘%s’ код %L већ има експлицитно сучеље"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "Аутоматска функција знаковне дужине ‘%s’ код %L мора имати експлицитно сучеље"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "Симбол ‘%s’ код %L већ има експлицитно сучеље"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "Аутоматска функција знаковне дужине ‘%s’ код %L мора имати експлицитно сучеље"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "Аутоматска функција знаковне дужине ‘%s’ код %L мора имати експлицитно сучеље"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure '%s' at %C cannot have a generic interface"
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "Лажна процедура ‘%s’ код %C не може имати генеричко сучеље"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "Симбол ‘%s’ код %L већ има експлицитно сучеље"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "Нема одређене функције за генеричко ‘%s’ код %L"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr "Генеричка функција ‘%s’ код %L није у складу са одређеним сопственим сучељем"
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "Функција ‘%s’ код %L је сопствена али није сагласна са сопственом"
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "Не могу да разрешим одређену функцију ‘%s’ код %L"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "Функција ‘%s’ код %L нема имплицитан тип"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of %s at %L is not a valid type"
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "Аргумент у %s код %L није исправног типа"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "More actual than formal arguments in procedure call at %L"
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "Више стварних него формалних аргумената у позиву процедуре код %L"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "показивачи нису дозвољени као вредности случаја"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "Array section in '%s' call at %L"
 msgstr "Име функције ‘%s’ није дозвољено код %C"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
@@ -44668,545 +44663,545 @@ msgstr "Аргумент за %s код %L мора бити дужине јед
 
 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
 #. scalar pointer.
-#: fortran/resolve.c:2916
+#: fortran/resolve.c:2918
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити показивач"
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити скалар"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Name '%s' at %C is the name of the procedure"
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "Име ‘%s’ код %C је име процедуре"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr "Аргумент ‘%s’ чисте функције ‘%s’ код %L мора бити намере-у"
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "‘%s’ код %L није функција"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr "Кориснички дефинисана неелементална функција ‘%s’ код %L није дозвољена у конструкцији WORKSHARE"
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "упућивач на не-чисту функцију ‘%s’ код %L унутар FORALL %s"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "упућивач на не-чисту функцију ‘%s’ код %L унутар FORALL %s"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr "Упућивач функције на ‘%s’ код %L је за нечисту процедуру унутар чисте процедуре"
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "Позив за унос ‘%s’ код %L јесте рекурзиван, али функција ‘%s’ није декларисана као таква"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "Функција ‘%s’ код %L не може позивати саму себе, пошто није рекурзивна"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr "Позив потпрограма за ‘%s’ у блоку FORALL код %L није чист"
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "Позив потпрограма за ‘%s’ у блоку FORALL код %L није чист"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr "Позив потпрограма за ‘%s’ код %L није чист"
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr "Нема одређеног потпрограма за генеричко ‘%s’ код %L"
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr "Генерички потпрограм ‘%s’ код %L није у складу са сучељем сопственог потпрограма"
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing actual argument '%s' in call to '%s' at %L"
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "Недостаје стварни аргумент ‘%s’ у позиву ‘%s’ код %L"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "Потпрограм ‘%s’ код %L је сопствени али није сагласан са сопственим"
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr "Не могу да разрешим одређени потпрограм ‘%s’ код %L"
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr "„%s“ код %L има тип који није у складу са позивом код %L"
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "Позив за унос ‘%s’ код %L јесте рекурзиван, али потпрограм ‘%s’ није декларисан као такав"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "Потпрограм ‘%s’ код %L не може позивати самог себе, пошто није рекурзиван"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "Облици операнада код %L и %L нису усагласиви"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "Недозвољен нулти корак код %L"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Упућивач низа код %L је изван граница"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "Није наведена десна горња граница низа претпостављене величине код %L"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "Неслагање рангова у упућивачу низа код %L (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "Неслагање рангова у упућивачу низа код %L (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "index in dimension %d is out of bounds at %L"
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "Индекс у димензији %d је ван граница код %L"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "Индекс низа код %L мора бити скалар"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array index at %L must be of INTEGER type"
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "Индекс низа код %L мора бити целобројни"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Проширење: реални индекс низа код %L"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "Аргумент димензије код %L мора бити скалар"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "Аргумент димензије код %L мора целобројни"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Индекс низа код %L је низ ранга %d"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "Индекс почетка подниске код %L мора бити целобројни"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "Индекс почетка подниске код %L мора бити скалар"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "Индекс почетка подниске код %L је мањи од један"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "Индекс краја подниске код %L мора бити целобројни"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "Индекс краја подниске код %L мора бити скалар"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "Индекс краја подниске код %L премашује дужину ниске"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L is too large"
 msgstr "Индекс краја подниске код %L мора бити скалар"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "Компонента десно од делимичног упућивача са ненултим рангом не сме имати атрибут показивача код %L"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "Компонента десно од делимичног упућивача са ненултим рангом не сме имати атрибут резервљивости код %L"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "Два или више делимична упућивача са ненултим рангом не смеју бити наведени код %L"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s',used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
 msgid "Variable '%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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-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:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s tag at %L must be scalar"
 msgid "Passed-object at %L must be scalar"
 msgstr "Ознака %s код %L мора бити скалар"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L мора бити скалар"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L is not a VALUE"
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "‘%s’ код %L није вредност"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора бити функција"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s код %L мора бити скалар"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "Крејов показивач код %C мора бити целобројни."
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s код %L мора бити целобројно"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "Израз за корак у петљи DO код %L не може бити нула"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "Индекс-име у FORALL код %L мора бити скларни целобројан"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "Израз за почетак у FORALL код %L мора бити скаларни целобројан"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "Израз за крај у FORALL код %L мора бити скаларни целобројан"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "Израз за корак у FORALL код %L мора бити скаларни %s"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "Израз за корак у FORALL код %L не може бити нула"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' cannot appear in the expression at %L"
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "Променљива ‘%s’ се не може јавити у изразу код %L"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "Израз у наредби ALLOCATE код %L мора бити резервљив или показивач"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Потребна је одредница низа у наредби ALLOCATE код %L"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification required in ALLOCATE statement at %L"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Потребна је одредница низа у наредби ALLOCATE код %L"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Лоша одредница низа у наредби ALLOCATE код %L"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr "‘%s’ не може да се јави у одредници низа код %L у истој наредби резервисања где се и само резервише"
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "Лоша одредница низа у наредби ALLOCATE код %L"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Лоша одредница низа у наредби ALLOCATE код %L"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "Етикета код %L није у истом блоку као наредба GOTO код %L"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "Одредница UNIT код %L мора бити целобројни израз или знаковна променљива"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -45215,179 +45210,179 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "Етикета CASE код %L преклапа етикету CASE код %L"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "Израз у наредби CASE код %L мора бити типа %s"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be kind %d"
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "Израз у наредби CASE код %L мора бити врста %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "Израз у наредби CASE код %L мора бити скалар"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "Изборни израз у рачунском GOTO код %L мора бити скаларни целобројан израз"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "Аргумент наредбе SELECT код %L не може бити %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be of type %s"
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "Израз у наредби CASE код %L мора бити типа %s"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "DEFAULT CASE код %L не може бити праћен другим DEFAULT CASE код %L"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "Логички опсег у наредби CASE код %L није дозвољен"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "constant logical value in CASE statement is repeated at %L"
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "константна логичка вредност у наредби CASE поновљена је код %L"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "Одредница опсега код %L не може никако бити поклопљена"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "Блок логичког SELECT CASE код %L има више од два случаја"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Global name '%s' at %L is already being used as a %s at %L"
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Глобално име ‘%s’ код %L се већ користи као %s код %L"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in EQUIVALENCE statement at %L"
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "Синтаксна грешка у наредби EQUIVALENCE код %L"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type '%s' at %C is being used before it is defined"
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "Изведени тип ‘%s’ код %C користи се пре него што је дефинисан"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "Име изведеног типа ‘%s’ код %C већ има основни тип %s"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "Елемент преноса података код %L не може имати показивачке компоненте"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "Елемент преноса података код %L не може имати показивачке компоненте"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have ALLOCATABLE components"
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "Елемент преноса података код %L не може имати резервљиве компоненте"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "Елемент преноса података код %L не може имати приватне компоненте"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "Елемент преноса података код %L не може бити пун упућивач на низ претпостављене величине"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "Индекс-име у FORALL код %L мора бити скларни целобројан"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument dim at %L must be scalar"
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "Аргумент димензије код %L мора бити скалар"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "Аргумент наредбе SELECT код %L мора бити скаларни израз"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ACOS at %L must be between -1 and 1"
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "Аргумент у ACOS код %L мора бити између -1 и 1"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Наредба код %L није исправна наредба циља гранања за наредбу гранања код %L"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Branch at %L causes an infinite loop"
 msgid "Branch at %L may result in an infinite loop"
@@ -45395,12 +45390,12 @@ msgstr "Гранање код %L води у бесконачну петљу"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -45408,679 +45403,679 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Етикета код %L није у истом блоку као наредба GOTO код %L"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "Маска у WHERE код %L има неусаглашен облик"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "Циљ доделе у WHERE код %L има неусаглашен облик"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Неподржана наредба унутар WHERE код %L"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Додела у индексну променљиву за FORALL код %L"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "FORALL са индексом ‘%s’ изазива више од једне доделе овом објекту код %L"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "Спољашња конструкција FORALL већ има индекс са овим именом %L"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "Одредба WHERE/ELSEWHERE код %L захтева логички низ"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER expression at %L is being truncated (%d/%d)"
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr "Знаковни израз код %L бива подсечен (%d/%d)"
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "Десна страна доделе код %L је изведени тип који садржи показивач у чистој процедури"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
 msgid "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:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assignment to a FORALL index variable at %L"
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "Додела у индексну променљиву за FORALL код %L"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr "Наредба ASSIGNED GOTO код %L захтева целобројну променљиву"
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr "Променљивој ‘%s’ није додељена циљна етикета код %L"
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "Алтернативна наредба повратка код %L захтева скаларни целобројни наводилац повратка"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "ASSIGN код %L захтева скаларну подразумевану целобројну променљиву"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr "Аритметичко IF код %L захтева бројевни израз"
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "Излазни услов из петље DO WHILE код %L мора бити скаларни логички израз"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL mask clause at %L requires a LOGICAL expression"
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "Одредба маске у FORALL код %L захтева логички израз"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array %qs is too large"
 msgid "String length at %L is too large"
 msgstr "величина низа %qs је превелика"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr "Резервљиви низ ‘%s’ код %L мора имати одложени облик"
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr "Скаларни објекат ‘%s’ код %L не може бити резервљив"
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "Низовни показивач ‘%s’ код %L мора имати одложен облик"
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "Низ ‘%s’ код %L не може имати одложен облик"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The type %s cannot be host associated at %L because it is blocked by an incompatible object of the same name at %L"
 msgid "The type '%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:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr "Низ модула или главног програма ‘%s’ код %L мора имати константан облик"
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "Ентитет са претпостављеном знаковном дужином код %L мора бити лажни аргумент или параметар"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr "‘%s’ код %L мора имати константну знаковну дужину у овом контексту"
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L must have constant character length in this context"
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "‘%s’ код %L мора имати константну знаковну дужину у овом контексту"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "Резервљиво ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "Спољашње ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "Лажно ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "Сопствено ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "Резултат функцији ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "Аутоматски низ ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr "Наредбена функција знаковне вредности ‘%s’ код %L мора имати константну дужину"
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
 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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "Резултат функцији ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "Спољашњи објекат ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr "Елементална функција ‘%s’ код %L мора имати скаларни резултат"
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "Наредбена функција ‘%s’ код %L није дозвољена као стварни аргумент"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати низовну вредност"
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати показивачку вредност"
 
 # no-c-format
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити чиста"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити рекурзивна"
 
 # no-c-format
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити чиста"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "Атрибут %s коси се са атрибутом %s у ‘%s’ код %L"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора бити функција"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ICHAR at %L must be of length one"
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "Аргумент у ICHAR код %L мора бити дужине један"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити показивач"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L не сме бити опциони"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "Први аргумент сучеља оператора код %L мора бити намере-у"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initialization at %C is not allowed in a PURE procedure"
 msgid "Finalization at %L is not yet implemented"
 msgstr "Успостављање код %C није дозвољено у чистој процедури"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' called with an implicit interface at %L"
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "Процедура ‘%s’ позвана са имплицитним сучељем код %L"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Процедура ‘%s’ у %s код %L није ни функција ни потпрограм"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити неизведени тип"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити скалар"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити показивач"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array pointer '%s' at %L must have a deferred shape"
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "Низовни показивач ‘%s’ код %L мора имати одложен облик"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "Аргумент ‘%s’ чисте функције ‘%s’ код %L мора бити намере-у"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Показивачка компонента ‘%s’ у ‘%s’ код %L припада типу који није декларисан"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити неизведени тип"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of statement function at %L must be scalar"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Аргумент ‘%s’ наредбене функције код %L мора бити скалар"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Аргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "Аргумент ‘%s’ за сопствено ‘%s’ код %L мора бити резервљив"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "Процедура сучеља ‘%s’ код %L има исто име као и обухватајућа процедура"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character length of component '%s' needs to be a constant specification expression at %L."
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr "Знаковна дужина компоненте ‘%s’ мора бити константан одреднички израз код %L."
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgid "Fortran 2003: 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:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "Компонента %s типа SEQUENCE декларисаног код %L нема атрибут SEQUENCE"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-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:11945
+#: fortran/resolve.c:11948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component '%s' of '%s' at %L must have constant array bounds."
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "Компонента ‘%s’ у ‘%s’ код %L мора имати константне границе низа."
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed."
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Низ претпостављене величине ‘%s’ у листи имена ‘%s’ код %C није дозвољен."
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "NAMELIST object '%s' at %L cannot have ALLOCATABLE components"
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
@@ -46088,338 +46083,338 @@ msgstr "Објекат листе имена ‘%s’ код %L не може и
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr "Приватни симбол ‘%s’ не може бити члан јавне листе имена код %L"
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr "Приватни симбол ‘%s’ не може бити члан јавне листе имена код %L"
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr "Параметарски низ ‘%s’ код %L не може бити аутоматског или претпостављеног облика"
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr "Имплицитно типски параметар ‘%s’ код %L не одговара каснијем имплицитном типу"
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "Несагласан изведени тип у параметру код %L"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "Атрибут процедуре коси се са атрибутом листе имена у ‘%s’ код %L"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "Низ претпостављене величине код %L мора бити лажни аргумент"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "Низ претпостављеног облика код %L мора бити лажни аргумент"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "Симбол код %L није лажна променљива"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued statement function '%s' at %L must have constant length"
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr "Наредбена функција знаковне вредности ‘%s’ код %L мора имати константну дужину"
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr "Изведени тип ‘%s’ код %L је типа ‘%s’, који није дефинисан."
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’"
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-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:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "Резултат функцији ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "Низ ‘%s’ код %L не може имати одложен облик"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "Резервљиви низ ‘%s’ код %L мора имати одложени облик"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "Лажна процедура код %L није дозвољена у елементалној процедури"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "Нитно-приватно код %L не снима се"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr "BLOCK DATA елемент ‘%s’ код %L мора бити у заједничком"
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy '%s' at %L cannot have an initializer"
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "Лажно ‘%s’ код %L не може имати успостављач"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "Неконстантан одељак низа код %L у наредби DATA"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "Наредба DATA код %L има више променљивих него вредности"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "Наредба DATA код %L има више вредности него променљивих"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Ознака %d код %L дефинисана али неупотребљена"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "Ознака %d код %L дефинисана али не може бити употребљена"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције"
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr "Променљива изведеног типа ‘%s’ код %L не може имати резервљиве компоненте како би била објекат еквиваленције"
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
 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:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr "Променљива изведеног типа ‘%s’ код %L са показивачким компонентама не може бити објекат еквиваленције"
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "Синтаксна грешка у наредби EQUIVALENCE код %L"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-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:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "Именована константа ‘%s’ код %L не може бити објекат еквиваленције"
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr "Низ ‘%s’ код %L са неконстантним границама не може бити објекат еквиваленције"
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "Компонената структуре ‘%s’ код %L не може бити објекат еквиваленције"
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "Подниска код %L има нулту дужину"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "Унос ‘%s’ код %L нема имплицитан тип"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора бити функција"
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr "Процедура корисничког оператора ‘%s’ код %L не може бити претпостављене знаковне дужине"
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr "Процедура корисничког оператора ‘%s’ код %L мора имати бар један аргумент"
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "Први аргумент сучеља оператора код %L не може бити опциони"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "Други аргумент сучеља оператора код %L не може бити опциони"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "Сучеље оператора код %L мора имати, највише, два аргумента"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr "Садржана процедура ‘%s’ код %L у чистој процедури мора такође бити чиста"
@@ -46593,34 +46588,34 @@ msgstr "Магнитуда другог аргумента у ISHFT премаш
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr "Магнитуда другог аргумента у ISHFTC премашује BIT_SIZE првог аргумента код %L"
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "Аргумент димензије код %L је ван граница"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr "Аргумент у LOG код %L не може бити мањи или једнак нули"
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr "Комплексни аргумент у LOG код %L не може бити нула"
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-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:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr "Други аргумент у MOD код %L је нула"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "Други аргумент у MOD код %L је нула"
@@ -46628,50 +46623,50 @@ msgstr "Други аргумент у MOD код %L је нула"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "Други аргумент у MODULO код %L је нула"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Result of %s is NaN at %L"
 msgid "Result of NEAREST is NaN at %L"
 msgstr "Резултат %s јесте NaN код %L"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument NCOPIES of REPEAT intrinsic is negative"
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr "Аргумент NCOPIES уз сопствено REPEAT негативан је"
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument NCOPIES of REPEAT intrinsic is negative"
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr "Аргумент NCOPIES уз сопствено REPEAT негативан је"
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "Резултат SCALE прелива своју врсту код %L"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "Аргумент у SQRT код %L има негативну вредност"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -47065,18 +47060,18 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, fuzzy, gcc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr "Могућа грешка у прочељу: Низ одложене величине без показивача, атрибута резервљивости или изведеног типа без резервљивих компоненти."
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "лош тип израза током хода (%d)"
@@ -47732,19 +47727,19 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "очекивано одређено име у декларацији пријатеља за деструктор %qD"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not find specs file %s\n"
 msgid "could not parse file offset"
 msgstr "нисам могао да нађем датотеку навода %s\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "unexpected offset"
@@ -47756,76 +47751,76 @@ msgstr "неочекиван операнд"
 msgid "invalid line in the resolution file"
 msgstr "неисправан регистар у инструкцији"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "неисправан регистар у инструкцији"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot find class %qs"
 msgid "cannot read LTO decls from %s"
 msgstr "не могу да нађем класу %qs"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "не могу да отворим %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "не могу да отворим %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "не могу да отворим %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening LTRANS output list %s: %m"
 msgstr "отварам улазну датотеку %s: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 #| msgid "when writing output to %s: %m"
 msgid "writing to LTRANS output list %s: %m"
 msgstr "када уписујем излаз у %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "closing LTRANS output list %s: %m"
 msgstr "отварам улазну датотеку %s: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "%s:could not open output file '%s'\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "%s:нисам могао да отворим излазну датотеку ‘%s’\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index 0f9602a..f90b268 100644 (file)
Binary files a/gcc/po/sv.gmo and b/gcc/po/sv.gmo differ
index 424e879..859822d 100644 (file)
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gcc 4.7.1\n"
+"Project-Id-Version: gcc 4.7.2\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
-"PO-Revision-Date: 2012-06-25 13:11+0200\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
+"PO-Revision-Date: 2012-09-26 23:19+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -29,7 +29,7 @@ msgstr "<anonym>"
 msgid "({anonymous})"
 msgstr "({anonym})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "oväntat radslut"
@@ -39,8 +39,8 @@ msgstr "oväntat radslut"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "%<;%> förväntades"
@@ -52,13 +52,13 @@ msgstr "%<;%> förväntades"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "%<(%> förväntades"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "%<,%> förväntades"
@@ -74,14 +74,14 @@ msgstr "%<,%> förväntades"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "%<)%> förväntades"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "%<]%> förväntades"
@@ -90,25 +90,25 @@ msgstr "%<]%> förväntades"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "%<;%>, %<,%> eller %<)%> förväntades"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "%<}%> förväntades"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "%<{%> förväntades"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "%<:%> förväntades"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "%<while%> förväntades"
@@ -117,34 +117,34 @@ msgstr "%<while%> förväntades"
 msgid "expected %<.%>"
 msgstr "%<.%> förväntades"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "%<@end%> förväntades"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "%<>%> förväntades"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "%<,%> eller %<)%> förväntades"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "%<=%> förväntades"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "%<#pragma omp section%> eller %<}%> förväntades"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "%<[%> förväntades"
@@ -321,12 +321,12 @@ msgstr "'%%l'-operand är inte en etikett"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "flyttalskonstant felanvänd"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "ogiltigt uttryck som operand"
@@ -1415,20 +1415,20 @@ msgstr "okänd instruktion:"
 msgid "insn does not satisfy its constraints:"
 msgstr "instruktionen håller inte sina begränsningar:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "skapad och använd med olika inställningar av ”%s”"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "slut på minne"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "skapad och använd med olika inställningar av -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "skapad och använd med olika inställningar av -fpie"
 
@@ -2030,195 +2030,195 @@ msgstr "Minimala avståndet mellan lagring och läsning som kan vara i konflikt"
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Det maximala antalet RTL-noder som kan noteras som kombinerarens sista värde"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Övre gränsen för att dela heltalskonstanter"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Minsta antalet virtuella avbildningar för att beakta övergång till fullständig virtuell omnamning"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Förhållande mellan virtuella avbildningar och virtuella symboler för att göra fullständig virtuell omnamning"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Den undre gränsen för att en buffer skall övervägas för skydd mot stacksprängning"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Maximalt antal satser som tillåts i ett block som behöver dubbleras när hopp trådas"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Maximalt antal fält i en post före pekaranalys behandlar posten som en enda variabel"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Det maximala antalet instruktioner redo att matas ut för att övervägas under det första schemaläggningspasset"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr "Maximalt antal aktiva lokala lagringar i RTL vid eliminering av döda lagringar"
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "Antalet instruktioner som körs före förhandshämtning (prefetch) är klar"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "Antalet förhandshämtningar (prefetch) som kan vara igång samtidigt"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "Storleken på L1-cachen"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "Storleken på cache-raderna i L1"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "Storleken på L2-cachen"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Om kanoniska typer skall användas"
 
-#: params.def:765
+#: params.def:766
 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"
 
-#: params.def:775
+#: params.def:776
 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:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr "Maximalt slingantal för regional RA"
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr "Maximal storlek på konflikttabell i MB"
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "Antalet register i varje klass som behålls oanvänt vid flyttning av slinginvariant"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "Det maximala förhållandet mellan vektorstorlek och switch-grenar för att en switch-konvertering skall ske"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr "storlek på bitar för slingblockning"
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "maximalt antal parameter i en SCoP"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr "maximalt antal grundblock per funktion att analyseras av Graphite"
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr "Maximalt antal datareferenser i en slinga för att bygga slingdataberoenden"
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "Maximalt antal grundblock i slinga-för-slinga-invarianta förflyttningar"
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Det maximala antalet instruktioner i grundblock för beaktas för SLP-vektorisering"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) för en slinga med okänt antal turer"
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) i en slinga"
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr "Max storlek på hashtabell för variabelspårning"
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr "Maximalt rekursionsdjup för att expandera variiabelspårningsuttryck"
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr "Minsta UID som får användas för en icke-felsökningsinstruktion"
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr "Största tillåtna storleksökning för nya parametrar som ipa-sra ersätter en pekare till ett aggregat med"
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr "Storlek i byte efter vilken trådlokala aggregat skall instrumenteras med loggningsfunktioner istället för spara/återställ-par"
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr "Maximal storlek för en lista på värden associerad med varje parameter för konstantpropagering mellan procedurer"
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr "Tröskelvärde för ipa-cp-tillfällesberäkning som fortfarande betraktas som fördelaktig att klona."
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr "Antal paritioner programmet skall delas upp i"
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr "Minimal storlek på en paritition för LTO (i uppskattade instruktioner)"
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "Det maximala antalet namnrymder att söka i för alternativ när namnuppslagning misslyckas"
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "Maximalt antal villkorliga lagringspar som kan sänkas"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr "Det minsta antalet olika värden för vilka det är bäst att använda hopptabeller istället för ett träd med villkorliga grenar, om 0, använd standardvärdet för maskinen"
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr "Tillåt att nya datakapplöpningar vid laddningar introduceras"
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr "Tillåt att nya datakapplöpningar vid lagringar introduceras"
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Tillåt att nya datakapplöpningar vid laddning av packade data introduceras"
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Tillåt att nya datakapplöpningar vid lagring av packade data introduceras"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr "Sätt maximala antalet instruktioner som exekveras parallellt i ett reassociativt träd.  Om 0, använd den målberoende heuristiken."
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr "Maximalt antal liknande gb att jämföra ett gb med"
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr "Maximalt antal iterationer för passet över en funktion"
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr "Maximalt antal strängar för vilket strlen-optimeringspasset kommer följa stränglängder"
 
@@ -2551,18 +2551,18 @@ msgid "invalid %%r value"
 msgstr "ogiltigt %%r-värde"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "ogiltigt %%R-värde"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "ogiltigt %%N-värde"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "ogiltigt %%P-värde"
@@ -2577,12 +2577,12 @@ msgstr "ogiltigt %%h-värde"
 msgid "invalid %%L value"
 msgstr "ogiltigt %%L-värde"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "ogiltigt %%m-värde"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "ogiltigt %%M-värde"
@@ -2593,7 +2593,7 @@ msgid "invalid %%U value"
 msgstr "ogiltigt %%U-värde"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "ogiltigt %%s-värde"
@@ -2603,7 +2603,7 @@ msgstr "ogiltigt %%s-värde"
 msgid "invalid %%C value"
 msgstr "ogiltigt %%C-värde"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "ogiltigt %%E-värde"
@@ -2614,38 +2614,38 @@ msgid "unknown relocation unspec"
 msgstr "okänd avspecifikation av omlokalisering"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "ogiltig %%xn-kod"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "förutsade Thumb-instruktion"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "förutsade instruktion i villkorlig sekvens"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "Ej stödd operand för kod ”%c”"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "ogiltig skiftoperand"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2653,79 +2653,79 @@ msgstr "ogiltig skiftoperand"
 msgid "invalid operand for code '%c'"
 msgstr "ogiltig operand för kod ”%c”"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "instruktionen aldrig utförd"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "operand saknas"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "funktionsparaketrar kan inte ha typen __fp16"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "funktioner kan inte reutnrera typen __fp16"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, 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:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "operander till %T/%t måste vara reg + const_int:"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 msgid "bad address, not an I/O address:"
 msgstr "felaktig adress, inte en I/O-adress:"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 msgid "bad address, not a constant:"
 msgstr "felaktig adress, inte en konstant:"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "felaktig adress, inte (reg+avst):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "felaktig adress, inte post_inc eller pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "internt kompilatorfel.  Felaktig adress:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "internt kompilatorfel.  Okänt läge:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "ogiltig instruktion:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "felaktig instruktion:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "okänd move-instruktion:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "felaktig skiftinstruktion:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "internt kompilatorfel.  Felaktig skift:"
 
@@ -2741,7 +2741,7 @@ msgstr "ogiltig const_double-operand"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2971,72 +2971,72 @@ msgstr "felaktig operand till output_move_double"
 msgid "bad output_condmove_single operand"
 msgstr "felaktig operand till output_condmove_single"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "ogiltig UNSPEC som operand"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "”%%&” använt utan någon lokal dynamisk TLS-referens"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "ogiltig operandstorlek för operandkod ”%c”"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "ogiltig operandtyp vid operandkod ”%c”"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "operand är inte en villkorskod, ogiltig operandkod ”D”"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, 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:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "operand är varken en konstant eller en villkorskod, ogiltig operandkod ”F”"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "operand är varken en konstant eller en villkorskod, ogiltig operandkod ”f”"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "operand är inte en justerbar minnesreferens, ogiltig operandkod ”H”"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "operanden är inte en villkorskod, ogiltig operandkod ”Y”"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "ogiltig operandkod ”%c”"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "ogiltig begränsning för operand"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "okänt instruktionsläge"
 
@@ -3087,13 +3087,13 @@ msgstr "ogiltig konvertering till %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "ogiltig operation på %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "ogiltig %%P-operand"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "ogiltigt %%p-värde"
@@ -3172,7 +3172,7 @@ msgid "post-increment address is not a register"
 msgstr "efterinkrementeringsadress är inte ett register"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "felaktig adress"
 
@@ -3307,115 +3307,115 @@ msgstr "Slut på stackutrymme.\n"
 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:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx kräver hårdvaruflyttal"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx och -mpaired är inkompatibla"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "-mvsx använd med kod för omvänd byteordning"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr "-mvsx behöver indexerad adressering"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx och -mno-altivec är inkompatibla"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec avaktiverar vsx"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "felaktig förflyttning"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "ogiltigt %%c-värde"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "ogiltigt %%f-värde"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "ogiltigt %%F-värde"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "ogiltigt %%G-värde"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "ogiltig %%j-kod"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "ogiltig %%J-kod"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "ogiltigt %%k-värde"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "ogiltigt %%K-värde"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "ogiltigt %%O-värde"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "ogiltigt %%q-värde"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "ogiltigt %%S-värde"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "ogiltigt %%T-värde"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "ogiltigt %%u-värde"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "ogiltig %%v-kod"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "ogiltigt %%x-värde"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "ogiltigt %%y-värde, försök använda ”Z”-begränsningen"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "AltiVec-argument skickat till funktion utan prototyp"
 
@@ -3504,25 +3504,25 @@ msgstr "ogiltigt uttryck för utmatningsmodifieraren ”%c”"
 msgid "invalid operand for code: '%c'"
 msgstr "ogiltig operand för kod: ”%c”"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "ogiltig operand till %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "ogiltig operand till %%R"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "skapad och använd med olika arkitekturer/ABI:er"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "skapad och använd med olika ABI:er"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "skapad och använd med olika byteordning"
 
@@ -3541,13 +3541,13 @@ msgstr "ogiltig %%A-operand"
 msgid "invalid %%B operand"
 msgstr "ogiltig %%B-operand"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "ogiltig %%C-operand"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "ogiltig %%D-operand"
@@ -3592,57 +3592,57 @@ msgstr "”o”-operand är ej konstant"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: okänd kod"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "ogiltig %%c-operand"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "ogiltig %%d-operand"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, c-format
 msgid "invalid %%H specifier"
 msgstr "ogiltig %%H-specificerare"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, c-format
 msgid "invalid %%h operand"
 msgstr "ogiltig %%h-operand"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, c-format
 msgid "invalid %%I operand"
 msgstr "ogiltig %%I-operand"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, c-format
 msgid "invalid %%i operand"
 msgstr "ogiltig %%i-operand"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, c-format
 msgid "invalid %%j operand"
 msgstr "ogiltig %%j-operand"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, c-format
 msgid "invalid %%%c operand"
 msgstr "ogiltig %%%c-operand"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, c-format
 msgid "invalid %%N operand"
 msgstr "ogiltig %%N-operand"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "ogiltig operand för ”r”-modifierare"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr "kan inte skriva ut operanden ännu; kod == %d (%c)"
@@ -3958,7 +3958,7 @@ msgstr "%s:%d:   i expansion av konstantuttryck i från %qs"
 msgid "candidates are:"
 msgstr "kandidater är:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4327,11 +4327,11 @@ msgstr "block-IF"
 msgid "implied END DO"
 msgstr "underförstådd END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "tilldelning"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "pekartilldelning"
 
@@ -4339,123 +4339,123 @@ msgstr "pekartilldelning"
 msgid "simple IF"
 msgstr "enkelt IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr "modulprocedur"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr "intern funktion"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "elementär procedur"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Ogiltigt sammanhang för NULL()-pekare vid %%L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, 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:3830
+#: fortran/resolve.c:3832
 #, 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:3845
+#: fortran/resolve.c:3847
 #, 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:3864
+#: fortran/resolve.c:3866
 #, 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:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Operand till operatorn .not. vid %%L är %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "COMPLEX-kvantiteter kan inte jämföras vid %L"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, 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:3927
+#: fortran/resolve.c:3929
 #, 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:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Okänd operator ”%s” vid %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, 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:3941
+#: fortran/resolve.c:3943
 #, 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:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Inkonsistenta ordningar för operator vid %%L och %%L"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr "Slingvariabel"
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 msgid "iterator variable"
 msgstr "iteratorvariabel"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr "Startuttryck i DO-slinga"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr "Slututtryck i DO-slinga"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr "Steguttryck i DO-slinga"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE-objekt"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr "ALLOCATE-objekt"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr "STAT-variabel"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr "ERRMSG-variabel"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr "objekt i READ"
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr "ACQUIRED_LOCK-variabel"
 
@@ -4464,7 +4464,7 @@ msgstr "ACQUIRED_LOCK-variabel"
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "Olika CHARACTER-längder (%ld/%ld) i vektorkonstruerare"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr "Heltalsspill vid beräkning av mängden minne att allokera"
 
@@ -4786,6 +4786,18 @@ msgstr "mthreads och mlegacy-threads kan inte användas tillsammans"
 msgid "cannot use mshared and static together"
 msgstr "mshared och static kan inte användas tillsammans"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4875,26 +4887,10 @@ msgstr "GNU Objective C stödjer inte längre traditionell kompilering"
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr "objc-cpp-output bör undvikas; använd objective-c-cpp-output istället"
 
-#: config/vax/netbsd-elf.h:51
-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"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran stödjer inte -E utan -cpp"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a stödjer inte omvänd byteordning"
@@ -4907,6 +4903,10 @@ msgstr " kodgenereringsflaggor som står i konflikt används"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr "objc++-cpp-output bör undvikas; använd objective-c++-cpp-output istället"
 
+#: config/vax/netbsd-elf.h:51
+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/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "profilering stöds inte med -mg"
@@ -7605,8 +7605,8 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Följ Renesas (tidigare Hitachi) / SuperH-anropskonventioner"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr "Öka efterföljden av IEEE för flyttalskod"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "Öka efterföljden av IEEE för flyttalsjämförelser"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -11817,224 +11817,220 @@ msgstr "Skapa ett delat bibliotek"
 msgid "Create a position independent executable"
 msgstr "Skapa ett positionsoberoende körbart program"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr "ogiltigt användning av typ"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr "konstant refererar till sig själv"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "numerisk typ förväntades"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr "boolesk typ förväntades"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "heltal eller boolesk typ förväntades"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 msgid "invalid operand for unary %<&%>"
 msgstr "ogiltig operand till unärt %<&%>"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "pekare förväntades"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 msgid "incompatible types in binary expression"
 msgstr "inkompatibla typer i binärt uttryck"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr "skift med operand som inte är heltal"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr "skiftantal är inte teckenlöst heltal"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr "negativt skiftantal"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "objektet är inte en metod"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr "metodtypen stämmer inte med objekttypen"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr "ogiltig användning av %<...%> med inbyggd funktion"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "inte tillräckligt med argument"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "för många argument"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 msgid "argument 1 must be a map"
 msgstr "argument 1 måste vara en avbildning"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 msgid "invalid type for make function"
 msgstr "ogiltigt typ för make-funktion"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr "en längd behövs när en skiva allokeras"
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 msgid "bad size for make"
 msgstr "felaktig storlek för make"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr "felaktig kapacitet när en skiva görs"
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 msgid "too many arguments to make"
 msgstr "för många argument till make"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr "argumentet måste vara en vektor eller skiva eller kanal"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr "argumentet måste vara en sträng eller vektor eller skiva eller avbildning eller kanal"
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 msgid "unsupported argument type to builtin function"
 msgstr "argumenttyp som inte stödjs till inbyggd funktion"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr "argumentet måste vara en kanal"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr "kan inte stänga en kanal endast för mottagning"
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 msgid "argument must be a field reference"
 msgstr "argumentet måste vara en fältreferens"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr "vänstra argumentet måste vara en skiva"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr "elementtyper måste vara samma"
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 msgid "first argument must be []byte"
 msgstr "första argumentet måste vara []byte"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr "andra argumentet måste vara en skiva eller sträng"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 msgid "argument 2 has invalid type"
 msgstr "parameter 2 har ogiltig typ"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr "argumentet måste ha komplex typ"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr "komplexa argument måste ha identiska typer"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr "komplexa argument måste ha flyttalstyp"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 msgid "invalid use of %<...%> with non-slice"
 msgstr "ogiltig användning av %<...%> med annat än skiva"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "en funktion förväntades"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr "inkompatibel typ för mottagare"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "ogiltig användning av %<.%> i en funktion som inte är variadisk"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr "antalet resultat stämmer inte med antalet värden"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "indexet måste vara ett heltal"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr "skivslut måste vara ett heltal"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr "skiva av oadresserbart värde"
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr "inkompatibel typ för avbildningsindex"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr "gränssnitt eller pekare till gränssnitt förväntades"
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr "för många uttryck för post"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr "för få argument för post"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-msgid "invalid unsafe.Pointer conversion"
-msgstr "ogiltiga unsafe.Pointer-konvertering"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr "typförsäkran är endast giltigt för gränssnittstyper"
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr "omöjlig typförsäkran: typen implementerar inte ett gränssnitt"
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr "kanal förväntades"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr "ogiltig receive på kanal endast för sändning"
 
@@ -12070,19 +12066,23 @@ msgstr "för många värden i retursats"
 msgid "expected boolean expression"
 msgstr "booleskt uttryck förväntades"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr "kan inte göra en typ-switch på något som inte är ett gränssnittsvärde"
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr "inkompatibla typer i send"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr "ogiltig send på kanal endast för mottagning"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr "för många variabler för intervallklausul med kanal"
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr "en intervallklausul måste ha vektor-, skiv-, sträng-, avbildnings- eller kanaltyp"
 
@@ -12367,7 +12367,7 @@ msgstr "argument 1 till __atomic_is_lock_free är inte heltal"
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%Kogiltigt användning av %<__builtin_va_arg_pack ()%>"
@@ -12461,13 +12461,13 @@ msgstr "%Kförsök att frigöra ett icke-heap-objekt"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "värdet av typen void ignoreras inte vilket bör göras"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "konvertering till icke-skalär typ begärd"
@@ -12843,7 +12843,7 @@ msgstr "switch hoppar in i satsuttryck"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE definierad som fel sorts tagg"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "ogiltigt användning av %<restrict%>"
@@ -12971,7 +12971,7 @@ msgstr "objekt med variabel storlek kan inte initieras"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "variabeln %qD har initierare men ofullständig typ"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "inline-funktionen %q+D har fått attributet noinline"
@@ -12981,7 +12981,7 @@ msgstr "inline-funktionen %q+D har fått attributet noinline"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "oinitierad const-medlem i %qT är ogiltigt i C++"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%qD borde initieras"
@@ -13879,7 +13879,7 @@ msgstr "argument %qD stämmer inte med inbyggd prototyp"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "argument %qD stämmer inte med prototypen"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "ingen retursats i funktion som returnerar icke-void"
@@ -14082,7 +14082,7 @@ msgstr "ISO C tillåter inte extra %<;%> utanför funktioner"
 msgid "unknown type name %qE"
 msgstr "okänt typnamn %qE"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "deklarationsspecificerare förväntades"
@@ -14092,7 +14092,7 @@ msgstr "deklarationsspecificerare förväntades"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "%<;%>, identifierare eller %<(%> förväntades"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "prefixattribut ignoreras för metoder"
@@ -14140,7 +14140,7 @@ msgstr "ISO C99 stödjer inte %<_Static_assert%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 stödjer inte %<_Static_assert%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "strängkonstant förväntades"
@@ -14172,8 +14172,8 @@ msgstr "statisk försäkran misslyckades: %E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "identifierare förväntades"
@@ -14507,77 +14507,77 @@ msgstr "objective-c-metoddeklaration förväntas"
 msgid "no type or storage class may be specified here,"
 msgstr "ingen typ eller lagringsklass kan anges här,"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "okänt egenskapsattribut"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "%<=%> saknas (efter attributet %<getter%>)"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "%<=%> saknas (efter attributet %<setter%>)"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "attributet %<setter%> kan bara anges en gång"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr "setter-namn måste avslutas med %<:%>"
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "attributet %<getter%> kan bara anges en gång"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, 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:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, 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:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> får bara användas i sammansatta satser"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskyield%> får bara användas i sammansatta satser"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, 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"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%> måste komma först"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "för många %qs-klausuler"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "collapse-argument behöver ett positivt konstant heltalsuttryck"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "%<none%> eller %<shared%> förväntades"
@@ -14592,42 +14592,42 @@ msgstr "heltalsuttryck förväntades"
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%>-värdet måste vara positivt"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> eller %<max%> förväntades"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "%<runtime%>-schemaläggning tar ingen %<chunk_size%>-parameter"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "%<auto%>-schemaläggning tar ingen %<chunk_size%>-parameter"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "ogiltig schedule-sort"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "förväntade %<#pragma omp%>-klausul"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs är inte giltigt för %qs"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "ogiltig form på %<#pragma omp atomic%>"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "ogiltig operator för %<#pragma omp atomic%>"
@@ -14637,7 +14637,7 @@ msgstr "ogiltig operator för %<#pragma omp atomic%>"
 msgid "expected %<(%> or end of line"
 msgstr "%<(%> eller filslut förväntades"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "for-sats förväntades"
@@ -14652,12 +14652,12 @@ msgstr "iterationsdeklaration eller initiering förväntades"
 msgid "not enough perfectly nested loops"
 msgstr "inte tillräckligt med perfekt nästade slingor"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "kollapsade slingor inte perfekt nästade"
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "iterationsvariabel %qD får inte vara firstprivate"
@@ -14682,27 +14682,27 @@ msgstr "automatisk variabel %E kan inte vara %<threadprivate%>"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%> %qE har ofullständig typ"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr "%<__transaction_cancel%> utan att stöd för transaktionsminne är aktiverat"
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr "%<__transaction_cancel%> inom en %<__transaction_relaxed%>"
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr "yttre %<__transaction_cancel%> som inte är inom en yttre %<__transaction_atomic%>"
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr "  eller en %<transaction_may_cancel_outer%>-funktion"
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr "%<__transaction_cancel%> inte inom %<__transaction_atomic%>"
@@ -15480,7 +15480,7 @@ msgstr "vektor initierad från strängkonstant inom parentes"
 msgid "initialization of a flexible array member"
 msgstr "initiering av medlem som är en flexibel vektor"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "char-vektor initierad från bred sträng"
@@ -15686,223 +15686,223 @@ msgstr "%<return%> med värde i funktion som returnerar void"
 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:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "funktionen returnerar adress till en lokal variabel"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch-argument är inte ett heltal"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "case-etikett är inte ett konstant heltalsuttryck"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case-etikett är inte i en switch-sats"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%>-etikett som inte ligger i en switch-sats"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "föreslår uttryckliga klamrar för att undvika tvetydighet i %<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, 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:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue-sats som inte är i en loop"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "break-sats använd med OpenMP-for-slinga"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "sats utan effekt"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "uttryckssats har ofullständig typ"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr "konvertering av skalär till vektor innebär avhuggning"
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "högershiftoperanden är negativ"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "högershiftoperanden >= storleken på typen"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "vänstershiftoperanden är negativ"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "vänstershiftoperanden >= storleken på typen"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr "jämför vektorer med skilda elementtyper"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr "jämför vektorer med olika antal element"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "jämföra flyttal med == eller != är osäkert"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr "jämförelsen kommer alltid beräknas till %<false%> för adressen till %qD kommer aldrig att vara NULL"
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr "jämförelsen kommer alltid beräknas till %<true%> för adressen till %qD kommer aldrig att vara NULL"
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "jämförelse av pekare till skilda adressutrymmen"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, 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:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "jämförelse mellan pekare och heltal"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "jämförelse av kompletta och ofullständiga pekare"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "ordningsjämförelse av pekare med nollpekare"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "ordningsjämförelse av pekare med heltalet noll"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "implicit konvertering från %qT till %qT för att matcha den andra operanden i binärt uttryck"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, 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:10582
+#: c-typeck.c:10588
 #, 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:10586
+#: c-typeck.c:10592
 #, 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:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr "vektortyp använd där skalär krävs"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE har ogiltig typ för %<reduction%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE har ogiltig typ för %<reduction(%s)%>"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE måste vara %<threadprivate%> för %<copyin%>"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE är inte en variabel i klausul %qs"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, 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:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE är inte en variabel i klausul %<firstprivate%>"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE är inte en variabel i klausul %<lastprivate%>"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE är förutbestämd som %qs för %qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr "C++ kräver en befodrad typ, inte en uppräkningstyp, i %<va_arg%>"
@@ -16922,7 +16922,7 @@ msgstr "dominerare av %d vara %d, inte %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr "multipla EH-personligheter stöds endast med assemblerare som stödjer direktivet .cfi.personality."
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr "odelegitimerad UNSPEC %s (%d) funnen på variabelplats"
@@ -17042,12 +17042,12 @@ msgstr "när ett flyktigt objekt sträcker sig över flera typstora platser mås
 msgid "local frame unavailable (naked function?)"
 msgstr "lokal ram otillgänglig (naken funktion?)"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%Kanrop av %qs deklarerad med attributet error: %s"
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%K anrop av %qs deklarerad med attributet warning: %s"
@@ -17132,27 +17132,27 @@ msgstr "vikningskontroll: originalträdet ändrat av vikning"
 msgid "total size of local objects too large"
 msgstr "total storlek på lokala objekt är för stor"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "omöjlig begränsning i %<asm%>"
 
-#: function.c:3959
+#: function.c:3974
 #, 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:3980
+#: function.c:3995
 #, 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "funktionen returnerar ett aggregat"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "oanvänd parameter %q+D"
@@ -17581,62 +17581,62 @@ msgstr "gimple-kontroll: %s(%s) förväntades, har %s(%s) i %s, vid %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "använder resultat från funktion som returnerar %<void%>"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "ogiltigt l-värde i asm-utdata %d"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "icke-minnesindata %d måste stanna i minnet"
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "minnesindata %d är inte direkt adresserbar"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "trådprivat variabel %qE använd i obunden uppgift"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr "omgivande uppgift"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr "%qE inte angiven i omgivande parallel"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr "omgivande parallel"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "instansvariabel %qE skall vara privat"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "iterationsvariabel %qE får inte vara firstprivate"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "iterationsvariabel %qE skall inte vara reduction"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "%s-variabel %qE är privat i yttre sammanhang"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification misslyckades"
@@ -17840,48 +17840,48 @@ msgstr "variabeln %qD omdeklarerad som en funktion"
 msgid "function %qD redeclared as variable"
 msgstr "funktionen %qD omdeklarerad som en variabel"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "barriärregion får inte vara nära innesluten inuti arbetsdelande, kritisk, ordnad, huvud- eller explicit uppgiftsregion"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "arbetsdelande region får inte vara nära innesluten inuti arbetsdelande, kritisk, ordnad, huvud- eller explicit uppgiftsregion"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "huvudregion får inte vara nära innesluten inuti arbetsdelande eller explicit uppgiftsregion"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "ordnad region får inte vara nära innesluten inuti kritisk eller explicit uppgiftsregion"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, 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:1905
+#: omp-low.c:1914
 #, 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:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "ogiltig utgång från OpenMP strukturerat block"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "ogiltig ingång till OpenMP strukturerat block"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "ogiltig gren till/från OpenMP-strukturerat block"
@@ -17977,12 +17977,12 @@ msgstr "transaktionsminne stödjs inte i denna konfiguration"
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr "sektionsankare måste vara avaktiverade när ordningsändring på toppnivå är avaktiverat"
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition fungerar inte med undantag på denna arkitektur"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition stödjer inte upprullningsinformation på denna arkitektur"
@@ -18352,8 +18352,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "det går inte att använda %qs som ett fast register"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "okänt registernamn: %s"
@@ -18658,7 +18658,7 @@ msgstr "attributet packed medför ineffektiv justering"
 msgid "packed attribute is unnecessary"
 msgstr "attributet packed är onödigt"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "justeringen av vektorelement är större än elementstorleken"
@@ -18678,12 +18678,12 @@ msgstr "nästade funktioner stöds inte på denna målarkitektur"
 msgid "nested function trampolines not supported on this target"
 msgstr "nästade funktionstrampoliner stöds inte för denna målarkitektur"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "målattribut stöds inte på denna maskin"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma GCC target stöds inte för denna maskin"
@@ -18873,7 +18873,7 @@ msgstr "ogiltig volatil användning av %qD inuti transaktion"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr "%<transaction_may_cancel_outer%>-funktionsanrop som inte är inuti en yttre transaktion eller %<transaction_may_cancel_outer%>"
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr "osäkert funktionsanrop av %qD inuti atomär transaktion"
@@ -18888,7 +18888,7 @@ msgstr "osäkert funktionsanrop av %qE inuti atomär transaktion"
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "osäkert indirekt funktionsanrop inuti en atomär transaktion"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr "osäkert funktionsanrop av %qD inuti %<transaction_safe%>-funktion"
@@ -18903,7 +18903,7 @@ msgstr "osäkert funktionsanrop av %qE inuti %<transaction_safe%>-funktion"
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr "osäkert indirekt funktionsanrop inuti en %<transaction_safe%>-funktion"
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr "asm är inte tillåtet i en atomär transaktion"
@@ -18938,7 +18938,7 @@ msgstr "yttre transaktion i %<transaction_may_cancel_outer%>-funktion"
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr "yttre transaktion i %<transaction_safe%>-funktion"
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr "%Kasm är inte tillåtet i en %<transaction_safe%>-funktion"
@@ -19560,117 +19560,117 @@ msgstr "det gick inte att öppna dump-filen %qs: %m"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "ignorerar okänt alternativ %q.*s i %<-fdump-%s%>"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr "BB %i har flera EH-bågar"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr "BB %i kan inte kasta men har en EH-båge"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "BB %i:s sista sats har felaktigt satt lp"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr "BB %i sakar en EH-båge"
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "Felaktig EH-båge %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr "BB %i saknar en båge"
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr "BB %i har för många fall-igenom-bågar"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr "BB %i har felaktig båge"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr "BB %i har felaktig fall-igenom-båge"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "funktion %q+F kan aldrig kopieras eftersom den tar emot ett icke-lokalt goto"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "funktion %q+F kan aldrig kopieras eftersom den sparar adressen av en lokal etikett i en statisk variabel"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, 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:3122
+#: tree-inline.c:3123
 #, 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:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, 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:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, 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:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, 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:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "inline:ing misslyckades i anrop av always_inline %q+F: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "anropad härifrån"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "inline:ing misslyckades i anrop av %q+F: %s"
@@ -19706,7 +19706,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "trasigt i SSA"
@@ -19946,72 +19946,72 @@ msgstr "vektoroperationen kommer expanderas med en ensam skalär operation"
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr "vektorblandningsoperationen kommer expanderas bitvis"
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "vektorindex är utanför vektorgränserna"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "vektorindex är ovanför vektorgränsen"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "vektorindex är under vektorgränsen"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, 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:6034
+#: tree-vrp.c:6006
 #, 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-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison 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"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison 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"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "antar att teckenspill inte förekommer vid förenkling av %</%> eller %<%%%> till %<>>%> eller %<&%>"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "antar att teckenspill inte förekommer vid förenkling av %<abs (X)%> till %<X%> eller %<-X%>"
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "ignorerar attribut använda på %qT efter dess definition"
 
-#: tree.c:5460
+#: tree.c:5475
 #, 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:5472
+#: tree.c:5487
 #, 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:5487
+#: tree.c:5502
 #, 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:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20025,141 +20025,141 @@ msgstr "%q+D omdeklarerades utan attributet dllimport: tidigare dllimport ignore
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "attributet %qE ignorerat"
 
-#: tree.c:5570
+#: tree.c:5585
 #, 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:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "funktionsdefinition %q+D är markerad dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "variabeldefinition %q+D är markerad dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "extern länkklass krävs för symbol %q+D på grund av attributet %qE"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qE implicerar standardsynlighet, men %qD har redan deklarerats med annan synlighet"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "vektorer av funktioner är inte meningsfulla"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "funktionsreturtyp kan inte vara funktion"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-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:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-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:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qD bör undvikas (deklarerad vid %s:%d): %s"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qD bör undvikas (deklarerad vid %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qE bör undvikas (deklarerad vid %s:%d): %s"
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qE bör undvikas (deklarerad vid %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "typen bör undvikas (deklarerad vid %s:%d): %s"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "typen bör undvikas (deklarerad vid %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "%qE bör undvikas: %s"
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "%qE bör undvikas"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "typen bör undvikas: %s"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "typen bör undvikas"
@@ -20376,12 +20376,12 @@ msgstr "vektor %s %s-domänfel i %s vid %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "ingen klass för %s-stab (0x%x)"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr "bytekodström: förväntade taggen %s istället för %s"
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr "bytekodström: taggen %s ligger inte i det förväntade intervallet [%s, %s]"
@@ -20396,8 +20396,8 @@ msgstr "%qD är inte definierad utanför funktionsnivå"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "stränglängden %qd är större än den längden %qd som ISO C%d kompilatorer skall stödja"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "spill i konstant uttryck"
@@ -21019,40 +21019,40 @@ msgstr "attributet %qE ignorerat för %qE"
 msgid "invalid vector type for attribute %qE"
 msgstr "ogiltig vektortyp för attributet %qE"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "vektorstorleken är inte en hel multipel av komponentstorleken"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "vektorstorlek noll"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "antal komponenter i vektorn inte en tvåpotens"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "attributet nonnull utan argument på en icke-prototyp"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "argument till nonnull har ett ogiltigt värde (argument %lu)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "nonnull-argument med felaktigt operandnummer (argument %lu, operand %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "nonnull-argument refererar icke-pekar-operand (argument %lu, operand %lu)"
@@ -21092,12 +21092,12 @@ msgstr "attributet %qE kräver prototyper med namngivna argument"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "attributet %qE är bara tillämplig på funktioner med variabelt antal argument"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "den begärda positionen är inte en heltalskonstant"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "begärd position är mindre än noll"
@@ -22848,229 +22848,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "felaktigt värde %qs till flaggan -memory-latency"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "felaktig inbyggd fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "flaggan -mcpu=%s står i konflikt med flaggan -march=%s"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "målprocessorn stödjer inte ARM-läge"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "målprocessorn stödjer inte interworking"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "målprocessorn stödjer inte THUMB-instruktioner"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "aktivering av stöd för bakåtspårning är endast meningsfullt vid kompilering för Thumb"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "aktivering av stöd för anroparnätverkande är endast meningsfullt vid kompilering för Thumb"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check är inkompatibel med -mno-apcs-frame"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic och -mapcs-reent är inkompatibla"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS-återanropsbar kod stöds inte.  Ignoreras"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g med -mno-apcs-frame ger kanske inte vettig felsökning"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "att skicka flyttalsargument i fp-register stöds ännu inte"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr "%<mwords-little-endian%> bör undvikas och kommer tas bort i en framtida utgåva"
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt kräver ett AAPCS-kompatibelt ABI för att fungera riktigt"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt-abi kräver en CPU som klarar iwmmxt"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr "FPA stöds inte i AAPCS"
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS stödjer inte -mcaller-super-interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS stödjer inte -mcallee-super-interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt och hårdvaruflyttal"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 och ingen ldrh"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard och VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "det går inte att använda -mtp=cp15 med 16-bitars Thumb"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "storleksgräns för poster kan bara sättas till 8, 32 eller 64"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "storleksgräns för poster kan bara sättas till 8 eller 32"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC är inkompatibel med Thumb"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC är inkompatibelt med -msingle-pic-base"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= är oanvändbar utan -fpic"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "kan inte använda ”%s” som PIC-register"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr "målprocessorn stödjer inte ojusterade åtkomster"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition stöds inte på denna arkitektur"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr "icke-AAPCS-härledd PCS-variant"
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr "variadiska funktioner måsta använda bas-AAPCS-varianten"
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "PCS-variant"
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr "Thumb-1 hårda flyttals VFP ABI"
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "attributet %qE är bara tillämpligt på funktioner"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "kan inte beräkna verklig plats för stackparameter"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "argumentet måste vara en konstant"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "väljare måste vara en omedelbar"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "mask måste vara en omedelbar"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "inga låga register tillgängliga för att poppa höga register"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "avbrottsservicerutiner kan inte kodas i Thumb-läge"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "manglingen av %<va_list%> har ändrats i GCC 4.4"
@@ -23110,87 +23110,87 @@ msgstr "funktionen %qs kan inte reutnrera ett värde"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs verkar vara en felstavad %s-hanterare"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr "”builtin_return_address” innehåller bara 2 byte adress"
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr "pekarförskjutning från symbol kan vara oriktig"
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr "åtkomst av dataminne med programminnesadress"
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr "åtkomst av programminne med dataminnesadress"
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "fast register %s använt för att skicka en parameter till en funktion"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr "skrivning till adressrymden %qs stödjs inte"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr "%qT använder adressrymden %qs bortom flash för %qs"
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr "%s %q+D använder adressrymden %qs bortom flash för %qs"
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "pekare med mål i adressrymden %qs måste vara konstanta i %qT"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "pekare med mål i adressrymden %qs måste vara konstanta i %s %q+D"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr "variabeln %q+D ligger i adressrymden %qs bortom flash för %qs"
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr "variabeln %q+D måste vara const för att kunna läggas i en endast läsbar sektion med hjälp av %qs"
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "den oinitierade variabeln %q+D placerad i programminnesområdet"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs stöds endast i assembler"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "%s förväntar sig ett heltal konstant vid kompileringstillfället"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr "%s förväntar sig ett långt heltal konstant vid kompileringstillfället som första argument"
@@ -23530,412 +23530,412 @@ msgstr "det går inte att utöka PCH-fil: %m"
 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:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "felaktigt värde (%s) till %stune=%s %s"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "%stune=x86-64%s bör undvikas.  Använd istället det som passar av %stune=k8%s och %stune=generic%s"
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr "-mstringop-strategy=rep_8byte stödjs inte för 32-bitarskod"
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr "kodmodellen %qs stöds inte i x32-läge"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "kodmodellen %s stödjer inte PIC-läge"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr "-masm=intel stödjs inte i denna konfiguration"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i-bitsläge inte inkompilerat"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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"
 
 # "generic" är bokstavligt argument till flaggan
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "generic CPU kan användas endast till %stune=%s %s"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "felaktigt värde (%s) till %sarch=%s %s"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "-mregparm ignoreras i 64-bitsläge"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d är inte mellan 0 och %d"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s ignoreras i 64-bitsläge"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-mprefetch-stack-boundary stödjs inte för denna målarkitektur"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d är inte mellan %d och %d"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d är inte mellan %d och 12"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "%ssseregparm%s använd utan SSE aktiverat"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "instruktionsuppsättningen SSE avaktiverad, använder 387-aritmetik"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "instruktionsuppsättningen 387 avaktiverad, använder SSE-aritmetik"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "utrullning av tabeller kräver antingen en rampekare eller %saccumulate-outgoing-args%s för att bli korrekt"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "utrullning av tabeller kräver antingen en rampekare eller %saccumulate-outgoing-args%s för att bli korrekt"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr "-mfentry stödjs inte för 32 bitar i kombination med -fpic"
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mno-fentry är inte kompatibelt med SEH"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "okänt alternativ till -mrecip=%s"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "attribute(target(”%s”)) är okänt"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "option(”%s”) var redan angivet"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "attributen fastcall och regparm är inte kompatibla"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "attributen regparam och thiscall är inte kompatibla"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "attributet %qE kräver en heltalskonstant som argument"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "argument till attributet %qE är större än %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "attributen fastcall och cdecl är inte kompatibla"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "attributen fastcall och stdcall är inte kompatibla"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "attributen fastcall och thiscall är inte kompatibla"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "attributen stdcall och cdecl är inte kompatibla"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "attributen stdcall och fastcall är inte kompatibla"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "attributen stdcall och thiscall är inte kompatibla"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "attributen cdecl och thiscall är inte kompatibla"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "attributet %qE används för annat än klassmetod"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, 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:5232
+#: config/i386/i386.c:5239
 #, 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:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "ms_hook_prologue är inte kompatibelt med nästade funktioner"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr "attributet ms_abi kräver -maccumulate-outgoing-args eller optimering av undermålarkitektur som implicerar det"
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "AVX-vektorargument utan AVX aktiverat ändrar ABI:et"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "ABI:et för att skicka en post med en flexibel vektormedlem har ändrats i GCC 4.4"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "ABI:et för att skicka unioner med long double har ändrats i GCC 4.4"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "ABI:et för att skicka en post med complex float medlem har ändrats i GCC 4.4"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "SSE-registerretur med SSE avaktiverat"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "SSE-registerargument med SSE avaktiverat"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "x87-registerretur med x87 avaktiverat"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, 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:6721
+#: config/i386/i386.c:6728
 #, 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:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "ABI:et för att skicka parametrar med %d-bytejustering har ändrats i GCC 4.6"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, 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:7442
+#: config/i386/i386.c:7449
 #, 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:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr "attributet ms_hook_prologue är inte kompatibelt med -mfentry i 32-bitsläge"
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "-fsplit-stack stödjer inte fastcall med nästade funktioner"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "-fsplit-stack stödjer inte 2 registerparametrar för en nästad funktion"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "-fsplit-stack stödjer inte 3 registerparametrar"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "utökade register har inga höga halvor"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "ej stödd operandstorlek för utökat register"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "operand som inte är heltal använt med operandkod ”%c”"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "det sista argumentet måste vara en 2-bitars omedelbar"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "det femte argumentet måste vara en 8-bitars omedelbar"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, 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:28699
+#: config/i386/i386.c:28829
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr "det sista argumentet måste vara en 1-bits omedelbar"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "det sista argumentet måste vara en 4-bitars omedelbar"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "det sista argumentet måste vara en 1-bits omedelbar"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "det sista argumentet måste vara en 5-bitars omedelbar"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "det näst sista argumentet måste vara en 8-bitars omedelbar"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "det sista argumentet måste vara en 8-bitars omedelbar"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "det sista argumentet måste vara en 32-bitars omedelbar"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, 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:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE behöver en okänd isa-flagga"
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE behöver isa-flaggan %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "sista argumentet måste vara en omedelbar"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "sista argumentet ha skala 1, 2, 4, 8"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "attributet %qE är bara tillgängligt för 32 bitar"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "argumentet till attributet %qE är varken noll eller ett"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "attributen ms_abi och sysv_abi är inte kompatibla"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "%qE-inkompatibelt attribut ignorerat"
@@ -24005,13 +24005,13 @@ msgstr "adressområdesattribut kan inte anges för funktioner"
 msgid "%qE attribute requires a string constant argument"
 msgstr "attributet %qE kräver en strängkonstant som argument"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24083,7 +24083,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "attributet %qE stöds inte för denna målarkitekturen R8C"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "argumentet till attribut %qE är inte en heltalskonstant"
@@ -24138,7 +24138,7 @@ msgstr "flera avbrottsattribut är inte tillåtet"
 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:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "stackgränsuttryck stöds inte"
@@ -24481,62 +24481,62 @@ msgstr "inbyggd funktion %qE stöds inte för MIPS16"
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs stödjer inte MIPS16-kod"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC för andra ABI:er än o32 och o64"
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr "MIPS16 -mxgot-kod"
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, 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:15818
+#: config/mips/mips.c:15824
 #, 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:15828
+#: config/mips/mips.c:15834
 #, 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:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%> använt med en 32-bitarsprocessor"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> använt med ett 64-bitars ABI"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%> använt med ett 32-bitars ABI"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "ej stödd kombination: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, 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:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "%qs är inkompatibel med %qs"
@@ -24546,57 +24546,57 @@ msgstr "%qs är inkompatibel med %qs"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "kombinationen av %qs och %qs är inkompatibel med %qs"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, 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:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%> behöver %<-mexplicit-relocs%>"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, 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:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%> kräver %<-mpaired-single%>"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs måste användas tillsammans med %qs"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "arkitekturen %qs stödjer inte par-enkel-instruktioner"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs kräver ett mål som klarar instruktionen %qs"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs kräver trolig gren-instruktioner"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "arkitekturen %qs stödjer inte instruktionen synci"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "funktionsprofilering för mips16"
@@ -24877,307 +24877,307 @@ msgstr "att skicka argument %d till %qE kastar kvalificerare från pekarmåltyp"
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "ogiltigt parameterkombination för inbyggd AltiVec"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-mrecip kräver -ffinite-math eller -ffast-math"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip kräver -fno-trapping-math eller -ffast-math"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip kräver -freciprocal-math eller -ffast-math"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 kräver PowerPC64-arkitektur, aktiverar"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr "inte konfigurerad för SPE-ABI:"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "AltiVec stödjs inte på denna målarkitektur"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "SPE stödjs inte på denna målarkitektur"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, 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:2746
+#: config/rs6000/rs6000.c:2745
 #, 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:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr "okänd ABI-typ (%s) till vektoriseringsbibliotek för flaggan -mveclibabi="
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr "målattribut eller pragma ändrar storlek på long double"
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr "målattribut eller pragma ändrar AltiVec ABI"
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr "målattribut eller pragma ändrar darwin64 ABI"
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr "målattribut eller pragma ändrar SPE ABI"
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr "målattribut eller pragma ändrar enkel precisions flyttal"
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr "målattribut eller pragma ändrar dubbel precisions flyttal"
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, 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:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, 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:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "internt fel: den inbyggda funktionen %s redan bearbetad"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "argument 3 måste vara en 2-bitars literal utan tecken"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "argument 3 måste vara en 1-bitars literal utan tecken"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, 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:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "ej upplöst överlagring för inbyggd Altivec %qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, 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:11119
+#: config/rs6000/rs6000.c:11118
 #, 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "Den inbyggda funktionen %s är endast giltig för cell-processorn"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "Den inbyggda funktionen %s behöver flaggan -mvsx"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "Den inbyggda funktionen %s behöver flaggan -maltivec"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "Den inbyggda funktionen %s behöver flaggan -mpaired"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "Den inbyggda funktionen %s behöver flaggan -mspe"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "Den inbyggda funktionen %s stödjs inte med de aktuella flaggorna"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "internt fel: inbyggd funktion %s har ingen typ"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "internt fel: inbyggd funktion %s hade en oväntad returtyp %s"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr "internt fel: inbyggd funktion %s, argument %d har en oväntad argumenttyp %s"
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "för stor stackram"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr "Du kan inte ta adressen till en nästad funktion om du använder flaggan -mno-pointers-to-nested-functions"
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, 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:24119
+#: config/rs6000/rs6000.c:24142
 #, 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:24121
+#: config/rs6000/rs6000.c:24144
 #, 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:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "användning av decimala flyttalstyper i AltiVec-typer är ogiltigt"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "användning av %<long%> i AltiVec-typer är ogiltigt för 64-bitskod utan -mvsx"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, 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:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "användning av %<long long%> i AltiVec-typer är ogiltigt utan -mvsx"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "användning av %<double%> i AltiVec-typer är ogiltigt utan -mvsx"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "matar ut mikrokodsinstruktion %s\t[%s] nr %d"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "matar ut villkorlig mikrokodsinstruktion %s\t[%s] nr %d"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "felaktig cpu ”%s” för %s”%s”%s"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%s”%s”%s är inte tillåtet"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "%s”%s”%s är ogiltigt"
@@ -25410,63 +25410,63 @@ msgstr "ramstorlek på %qs är %wd byte"
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs använder dynamisk stackallokering"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "ignorerar -fschedule-insns på grund av ett fel i undantagshanteringen"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "utrullningstabeller kräver för närvarande antingen en rampekare eller -maccumulate-outgoing-args för att bli korrekt"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, 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:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "attributet %qE är bara tillämpligt på avbrottsfunktioner"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "attributet %qE stöds endast för SH2A"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "attributet interrupt_handler är inte kompatibelt -m5-compact"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "attributet %qE är bara tillämpligt på SH2A"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "argument till attribut %qE skall vara mellan 0 och 255"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "argument till attribut %qE är inte en strängkonstant"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, 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:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr "behöver ett andra generellt anropsöverskrivet register"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr "behöver ett anropsöverskrivet målregister"
@@ -25588,12 +25588,12 @@ msgstr "attributet %<__BELOW100__%> är bara tillämpbart på variabler"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "attributet __BELOW100__ är inte tillåtet med lagringsklassen auto"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "felaktig inbyggd icode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "operanden måste vara en omedelbar av rätt storlek"
@@ -25812,38 +25812,38 @@ msgstr "%<-gnat%> felstavat %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr "-fexcess-precision=standard för Ada"
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "attributet %qs ignorerat"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "attributet %qs kräver prototyper med namngivna argument"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "attributet %qs fungerar bara på funktioner med variabelt antal argument"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "attributet %qE har ingen effekt"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "ogiltig vektortyp för attributet %qs"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "attributet %qs är bara tillämpbart på vektortyper"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "ogiltig elementtyp för attributet %qs"
@@ -26280,7 +26280,7 @@ msgstr "det går inte att anropa medlemsfunktion %qD utan ett objekt"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "att skicka %qT väljer %qT framför %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  i anrop till %qD"
@@ -26340,425 +26340,425 @@ msgstr "ogiltig initiering av icke konstant referens av typ %qT från ett r-vär
 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"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 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:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Javaklass %qT kan inte ha en destruerare"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, 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:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D kan inte överlagras"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "med %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, 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:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "åtkomstspecifikationer i konflikt för fält %qE, ignoreras"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D ogiltig i %q#T"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, 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:1247
+#: cp/class.c:1248
 #, 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:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "kan inte härleda från %<final%> bas %qT i härledd typ %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, 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:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "alla medlemsfunktioner i klass %qT är privata"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, 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:1764
+#: cp/class.c:1765
 #, 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:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "ingen unik slutlig ersättare för %qD i %qT"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+#D är markerad final, men är inte virtuell"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr "%q+#D markerad override, men den åsidosätter inte"
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D var dold"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  av %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, 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:2642
+#: cp/class.c:2643
 #, 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "privat medlem %q+#D i anonym union"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "privat medlem %q+#D i anonym post"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "skyddad medlem %q+#D i anonym union"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "skyddad medlem %q+#D i anonym post"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "bitfält %q+#D har en icke-heltalstyp"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, 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:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "negativ bredd i bitfält %q+D"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "noll i bredd i bitfält %q+D"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, 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:2923
+#: cp/class.c:2940
 #, 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:2982
+#: cp/class.c:2999
 #, 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:2985
+#: cp/class.c:3002
 #, 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:2987
+#: cp/class.c:3004
 #, 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "obegränsade unioner är endast tillgängliga med -std=c++11 eller -std=gnu++11"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "flera fält i unionen %qT initierade"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, 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:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "fält %q+D ogiltigt deklarerad funktionstyp"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "fält %q+D ogiltigt deklarerad metodtyp"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, 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:3285
+#: cp/class.c:3302
 #, 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:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T har pekardatamedlemmar"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  men ersätter inte %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  eller %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  men ersätter inte %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, 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:3999
+#: cp/class.c:4016
 #, 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:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr "metoden åsidosätter både metoderna %<transaction_pure%> och %qE"
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr "metod deklarerad %qE åsidosätter %qE-metod"
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "omslutande klass till constexpr icke-statisk medlemsfunktion %q+#D är inte en literal typ"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr "%q+T är inte literal för att:"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "  %q+T har en icke-trivial destruerare"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr "  %q+T är inte ett aggregat, har inte en trivial standardkonstruerare och har ingen constexpr-konstruerare som inte är en kopierings- eller flyttningskonstruerare"
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "  basklassen %qT till %q+T är inte literal"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "  den icke-statiska datamedlemmen %q+D har icke-literal typ"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, 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:5076
+#: cp/class.c:5094
 #, 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"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr "%q+D deklarerad att ta const-referens, men implicit deklaration skulle ta icke-const"
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr "%q+D deklarerad att ta icke-const-referens kan inte standarddefinieras i klasskroppen"
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, 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:5442
+#: cp/class.c:5460
 #, 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:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "omdefinition av %q#T"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T har virtuella funktioner och åtkomlig ickevirtuell destruerare"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr "den typgenomskinliga klassen %qT har inga fält"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr "den typgenomskinliga klassen %qT har basklasser"
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr "den typgenomskinliga klassen %qT har virtuella funktioner"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "språksträng %<”%E”%> känns inte igen"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, 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:6972
+#: cp/class.c:7024
 #, 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:6995
+#: cp/class.c:7047
 #, 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:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "antar pekare till medlem %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, 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:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "inte tillräcklig typinformation"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "kan inte konvertera %qE från typ %qT till typ %qT"
@@ -26768,12 +26768,12 @@ msgstr "kan inte konvertera %qE från typ %qT till typ %qT"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "deklaration av %q#D"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "byter betydelse av %qD från %q+#D"
@@ -26793,7 +26793,7 @@ msgstr "det går inte att konvertera från ofullständig typ %qT till %qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "konvertering av %qE från %qT till %qT är tvetydig"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "noll som en nollpekarkonstant"
@@ -27696,7 +27696,7 @@ msgstr "%qD är deklarerad som en referens men inte initierad"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "namn använt i en designerad initierare i GNU-stil för en vektor"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "icketriviala designerade initierare stöds inte"
@@ -27789,8 +27789,8 @@ msgstr "%qT har ingen icke-statisk medlem med namnet %qD"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr "C99-beteckningen %qE utanför aggregatinitierare"
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "för många initierare för %qT"
@@ -28320,7 +28320,7 @@ msgstr "%q#T är inte en klass eller namnrymd"
 msgid "type %qT is not derived from type %qT"
 msgstr "typ %qT är inte härledd från typen %qT"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "deklaration av %qD som en icke-funktion"
@@ -28630,374 +28630,369 @@ msgstr "det går inte att deklarera en referens till %q#T, som inte är ett type
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr "man kan inte använda både %<const%> och %<constexpr%> här"
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "det går inte att använda både %<volatile%> och %<constexpr%> här"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "mall-id %qD använd som en deklarerare"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "medlemsfunktioner är implicit vänner till sin klass"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "extra kvalifikation %<%T::%> på medlem %qs"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, 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:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "det går inte att deklarera medlemsfunktionen %<%T::%s%> inuti %<%T%>"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, 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:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "icke-parameter %qs kan inte vara ett parameterpaket"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "storleken på vektorn %qs är för stor"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, 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:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "endast deklarationer av konstruerare kan vara %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "icke-medlem %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "icke-objektmedlem %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "funktionen %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "statiska %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "const %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "referensen %qs kan inte deklareras %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr "typedef deklarerad %<auto%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "typedef-namn får inte vara en nästad-namnspecificerare"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, 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:9864
+#: cp/decl.c:9862
 #, 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:9866
+#: cp/decl.c:9864
 #, 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:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "typkvalificerare angivna för vänklassdeklaration"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "%<inline%> angivet för vänklassdeklaration"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "mallparametrar kan inte vara vänner"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, 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:9912
+#: cp/decl.c:9910
 #, 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:9925
+#: cp/decl.c:9923
 #, 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:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "ogiltiga kvalificerare på typ som inte är medlemsfunktion"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "abstrakt deklarerare %qT använd som deklaration"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "det går inte att använda %<::%> i parameterdeklaration"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "parametern deklarerad %<auto%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr "ej statisk datamedlem deklarerad %<auto%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "ogiltigt användning av %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "deklaration av funktionen %qD i ogiltig kontext"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "funktionen %qD deklarerad virtuell inuti en union"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, 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:10106
+#: cp/decl.c:10104
 #, 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:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "deklaration av %qD som medlem av %qT"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "en destruerare kan inte vara %<constexpr%>"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, 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:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "fält %qD har ofullständig typ"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "namnet %qT har ofullständig typ"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  i instansiering av mallen %qT"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE är varken en funktion eller medlemsfunktion, kan inte deklareras som vän"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "statisk constexpr-datamedlemmen %qD måste ha en initierare"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "ickestatisk datamedlem %qE deklarerad %<constexpr%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "lagringsklassen %<auto%> är ogiltig för funktionen %qs"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "lagringsklassen %<register%> är ogiltig för funktionen %qs"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "lagringsklassen %<__thread%> är ogiltig för funktionen %qs"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "virt-specificerare i %qs är inte tillåtet utanför en klassdefinition"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, 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:10324
+#: cp/decl.c:10322
 #, 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:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "virtuell icke klassfunktion %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "%qs definierad utan att vara i klassräckvidd"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr "%qs deklarerad utan att vara i klassräckvidd"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, 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:10375
+#: cp/decl.c:10373
 #, 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:10405
+#: cp/decl.c:10403
 #, 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:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "statisk medlem %qD deklarerad %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, 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:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "deklarationen av constexpr-variabeln %qD är inte en definition"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs initierad och deklarerad %<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs har både %<extern%> och initierare"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "standardargumentet för %q#D har typen %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, 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:10601
+#: cp/decl.c:10599
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr "standardargument %qE använder %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "standardargument %qE använder lokal variabel %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "parametern %qD har Javaklasstyp"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "parameter %qD ogiltigt deklarerad metodtyp"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "parameter %qD inkluderar pekare till vektor %qT med okänd gräns"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "parameter %qD inkluderar referens till vektor %qT med okänd gräns"
@@ -29017,168 +29012,168 @@ msgstr "parameter %qD inkluderar referens till vektor %qT med okänd gräns"
 #. 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:10987
+#: cp/decl.c:10998
 #, 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:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD är kanske inte deklarerad i en namnrymd"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD får inte deklareras som statisk"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD måste vara en icke-statisk medlemsfunktion"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, 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:11171
+#: cp/decl.c:11182
 #, 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:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "konvertering till en referens till void kommer aldrig använda en typkonverteringsoperator"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "konvertering till void kommer aldrig använda en typkonverteringsoperator"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "konvertering till en referens till samma typ kommer aldrig använda en typkonverteringsoperator"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "konvertering till samma typ kommer aldrig använda en typkonverteringsoperator"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "konvertering till en referens till en basklass kommer aldrig använda en typkonverteringsoperator"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "konvertering till en basklass kommer aldrig använda en typkonverteringsoperator"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ förhindrar överlagring av operatorn ?:"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD får inte ha variabelt antal argument"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, 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:11289
+#: cp/decl.c:11300
 #, 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:11297
+#: cp/decl.c:11308
 #, 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:11299
+#: cp/decl.c:11310
 #, 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:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "prefix %qD skall returnera %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "postfix %qD skall returnera %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD måste ta %<void%>"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD måste ta exakt ett argument"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD måste ta exakt två argument"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "användardefinierad %qD beräknar alltid båda argumenten"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD skall returnera som värde"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD kan inte ha standardargument"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "malltypparametern %qT används efter %qs"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "användning av aliasmallspecialisering %qT efter %qs"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "typedef-namnet %qD används efter %qs"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr "%qD har en tidigare deklaration här"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT refererad till som %qs"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T har en tidigare deklaration här"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT refererad till som enum"
@@ -29190,88 +29185,88 @@ msgstr "%qT refererad till som enum"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "mallargument krävs för %<%s %T%>"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "referens till %qD är tvetydig"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "enum %q#D används utan tidigare deklaration"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "omdeklaration av %qT som en icke-mall"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "tidigare deklaration %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "härledd unionen %qT ogiltig"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Javaklass %qT kan inte ha flera baser"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Javaklass %qT kan inte ha virtuella baser"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, 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:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "rekursiv typ %qT odefinierad"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "upprepat bastyp %qT ogiltig"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr "uppräkningstyp med/utan räckviddsbegränsning stämmer inte överens för enum %q#T"
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "tidigare definition här"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr "underliggande typ stämmer inte överens i enum %q#T"
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr "olika underliggande typ i enum %q#T"
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "underliggande typ %<%T%> till %<%T%> måste vara en heltalstyp"
@@ -29280,72 +29275,72 @@ msgstr "underliggande typ %<%T%> till %<%T%> måste vara en heltalstyp"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, 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:12407
+#: cp/decl.c:12424
 #, 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:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "ökat uppräkningsvärde är för stort för %<unsigned long%>"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "överspill i uppräkningsvärden vid %qD"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "uppräkningsvärde %E är för stort för den underliggande typen %<%T%>"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "returtypen %q#T är ofullständig"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "returtypen har Javaklasstyp %q#T"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> skall returnera en referens till %<*this%>"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "ingen tidigare deklaration av %q+D"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "ogiltig funktionsdeklaration"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "parameter %qD deklarerad void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "parametern %q+D sätts men används inte"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "ogiltig medlemsfunktionsdeklaration"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD är redan definierad i klassen %qT"
@@ -29693,7 +29688,7 @@ msgstr "undantagshantering avslagen, använd -fexceptions för att aktivera"
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "kastar NULL, som har heltals-, inte pekartyp"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD skall aldrig överlagras"
@@ -29952,152 +29947,152 @@ msgstr "typ %qT är inte en direkt bas till %qT"
 msgid "bad array initializer"
 msgstr "felaktig vektorinitierare"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT är inte en klasstyp"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "ofullständig typ %qT har inte medlem %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "ogiltigt pekare till bitfält %qD"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "ogiltig användning av icke-statisk medlemsfunktion %qD"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "ogiltig användning av icke-statisk datamedlem %qD"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr "oinitierad referensmedlem i %q#T använder %<new%> utan new-initierare"
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "oinitierad referensmedlem i %q#T"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "oinitierad const-medlem i %q#T använder %<new%> utan new-initierare"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "oinitierad const-medlem i %q#T"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "ogiltig typ %<void%> för new"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "oinitierad const i %<new%> av %q#T"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "anrop av Javakonstruerare med %qs odefinierad"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, 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:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "ingen lämplig %qD i klassen %qT"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "begäran av medlem %qD är tvetydig"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "ickekonstant vektorstorlek i new, kan inte verifiera längden på initierarlistan"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "initierare inom parentes i vektor-new"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "storlek i vektor-new måste ha heltalstyp"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new kan inte användas på en referenstyp"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new kan inte användas på en funktionstyp"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "anrop till Javakonstruerare med %<jclass%> odefinierad"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "kan inte hitta %<class$%> i %qT"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "initierare tar slut i förtid"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, 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:3620
+#: cp/init.c:3622
 #, 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:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr "radering av objekt av den abstrakta klasstypen %qT som har en ej virtuell destruerare kommer medföra odefinierat beteende"
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr "radering av objekt av den polymorfa klasstypen %qT som har en ej virtuell destruerare kommer medföra odefinierat beteende"
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "okänd vektorstorlek i delete"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "typ till vektor-delete är varken pekar- eller vektortyp"
@@ -30187,12 +30182,12 @@ msgstr "utelämnad mittenoperand till %<?:%> kan inte manglas"
 msgid "string literal in function template signature"
 msgstr "strängliteral i funktionsmallsignatur"
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr "-fabi-version=6 (eller =0) undviker detta fel med en ändring av manglingen"
@@ -30202,12 +30197,12 @@ msgstr "-fabi-version=6 (eller =0) undviker detta fel med en ändring av manglin
 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:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "ickestatisk const-medlem %q#D, kan inte använda standardtilldelningsoperatorn"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr "ickestatisk referensmedlem %q#D, kan inte använda standardtilldelningsoperatorn"
@@ -30222,98 +30217,98 @@ msgstr "syntetiserad metod %qD krävs första gången här "
 msgid "union member %q+D with non-trivial %qD"
 msgstr "union-medlem %q+D med icketrivial %qD"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "standarddefinierad konstrerare anropar %q+D som inte är constexpr"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "initieraren för %q+#D är ogiltig"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "oinitierad ej statisk const-medlem %q#D"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "oinitierad ej statisk referensmedlem %q#D"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr "den standarddefinierade standardkonstrueraren initierar inte %q+#D"
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr "den standarddefinierade standardkonstrueraren initierar inte några ej statiska datamedlemmar"
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr "%qT har virtuella baser, standard flyttningstilldelningsoperator kan inte genereras"
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr "en lambdahöljestyp har en raderad standardkonstruerare"
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr "en lambdahöljetyp har en raderad koperingstilldelningsoperator"
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr "%q+#D är implicit deklarerad som raderad för att %qT deklarerar en flyttkonstruerare eller flytttilldelningsoperator"
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr "%q+#D är underförstått raderad eftersom standarddefinitionen skulle vara felformulerad:"
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "standarddefinierad deklaration %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "stämmer inte med förväntad signatur %qD"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr "funktionen %q+D standarddefinierades i sin första deklaration med en undantagsspecifikation som skiljer från den implicita deklarationen %q#D"
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr "den explicit standarddefinierade funktionen %q+D kan inte deklareras som constexpr för att den implicita deklarationen är inte constexpr:"
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr "en mall kan inte standarddefinieras"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%qD kan inte standarddefinieras"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "standarddefinierad funktion %q+D med standardargument"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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"
@@ -30451,154 +30446,154 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, 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:2269
+#: cp/name-lookup.c:2274
 #, 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:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "tidigare icke-funktions-deklaration av %q+#D"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, 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:2400
+#: cp/name-lookup.c:2405
 #, 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:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD inte deklarerad"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD är redan deklarerad i detta definitionsområde"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> namnger en destruerare"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> namnger en konstruerare"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> namnger konstruerare i %qT"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, 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:3355
+#: cp/name-lookup.c:3360
 #, 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:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "explicit-kvalifikation i deklaration av %qD"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD borde ha deklarerats inuti %qD"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "attributet %qD kräver ett ensamt NTBS-argument"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, 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:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "attributdirektivet %qD ignorerat"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, 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:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "strong using är endast meningsfullt vid namnrymdsräckvidd"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, 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:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr "maxgräns på %d namnrymder sökta %qE"
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] "föreslaget alternativ:"
 msgstr[1] "föreslagna alternativ:"
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr "  %qE"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "argumentberoende uppslagning hittar %q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX går in i pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX lämnar pop_everything ()\n"
@@ -30728,7 +30723,7 @@ msgstr "ogiltigt mall-id"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "en flyttalsliteral får inte finnas i ett konstantuttryck"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, 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"
@@ -30956,7 +30951,7 @@ msgstr "typedef-namnet %qD använt som destruerardeklarerare"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr "literala operatorsuffix som inte föregås av %<_%> är reserverade för framtida standardisering"
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "okvalificerat id förväntades"
@@ -31148,7 +31143,7 @@ msgstr "%<%T::%D%> namnger konstrueraren, inte typen"
 msgid "compound-statement in constexpr function"
 msgstr "sammansatt sats i en constexpr-funktion"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "selektionssats förväntades"
@@ -31178,7 +31173,7 @@ msgstr "intervallbaserat %<for%>-uttryck av typen %qT har en %<begin%>-medlem me
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr "inkonsistenta start-/sluttyper i intervallbaserat %<for%>-sats: %qT och %qT"
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "iterationssats förväntades"
@@ -31194,12 +31189,12 @@ msgstr "intervallbaserade %<for%>-slingor är inte tillåtna i C++98-läge"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ förbjuder beräknade goto"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "hoppsats förväntades"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "extra %<;%>"
@@ -31236,7 +31231,7 @@ msgstr "decl-specificerare är ogiltig i villkor"
 msgid "class definition may not be declared a friend"
 msgstr "klassdefinition kan inte deklareras som en vän"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "mallar får inte vara %<virtual%>"
@@ -31312,12 +31307,12 @@ msgstr "operator förväntades"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "nyckelordet %<export%> är inte implementerat och kommer ignoreras"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "mallparameterpaket %qD kan inte ha ett standardargument"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "mallparameterpaket kan inte ha ett standardargument"
@@ -31332,7 +31327,7 @@ msgstr "mallparameterpaket kan inte ha standardargument"
 msgid "expected template-id"
 msgstr "mall-id förväntades"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "%<<%> förväntades"
@@ -31459,12 +31454,12 @@ msgstr "%<;%> eller %<{%> förväntades"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "det går inte att lägga till en uppräkningslista till en mallinstansiering"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "deklaration av %qD i %qD som inte innesluter %qD"
@@ -31509,73 +31504,73 @@ msgstr "ett mall-id får inte förekomma i en using-deklaration"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr "åtkomstdeklarationer bör undvikas till förmån för using-deklarationer; förslag: lägg till nyckelordet %<using%>"
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr "typer får inte definieras i aliasmalldeklarationer"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "en funktionsdefinition är inte tillåten här"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, 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:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "attribut är inte tillåtna vid en funktionsdefinition"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr "konstruerare, destruerare eller typkonvertering förväntades"
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr "initierare förväntades"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "ogiltig typ i deklaration"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "initierare angiven för funktion"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "attribut efter initierare inom parentes ignoreras"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "vektorgräns är inte en heltalskonstant"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "det går inte att definiera medlem av beroende typedef %qT"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%E%> är inte en typ"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "ogiltig användning av konstruerare som en mall"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, 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"
@@ -31584,247 +31579,247 @@ msgstr "använd %<%T::%D%> istället för %<%T::%D%> för att namnge konstruerar
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "ogiltig deklarator"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "deklarator förväntades"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD är en namnrymd"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "kan inte skapa en pekare till medlem av %q#T som inte är en klass"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "oväntad pekaroperator"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "upprepade cv-kvalificerare"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr "upprepade virt-specificerare"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "ogiltigt användning av %<auto%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "typer får inte definieras i mallargument"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "typspecificerare förväntades"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "%<,%> eller %<...%> förväntades"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "typer får inte definieras i parametertyper"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "standardargument är endast tillåtna för funktionsparametrar"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "parameterpaket %qD kan inte ha ett standardargument"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr "parameterpaket kan inte ha ett standardargument"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ tillåter inte designerade initierare"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ tillåter inte C99:s designerade initierare"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr "klassnamn förväntades"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "%<;%> förväntades efter klassdefinition"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "%<;%> förväntades efter postdefinition"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "%<;%> förväntades efter uniondefinition"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "%<{%> eller %<:%> förväntades"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr "det går inte att ange %<override%> för en klass"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr "globala kvalificering av klassnamn är ogiltigt"
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "kvalificerat namn namnger inte en klass"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "ogiltigt klassnamn i deklaration av %qD"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "extra kvalifikation inte tillåten"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, 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:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "funktionsmall %qD omdeklarerad som en klassmall"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr "det gick inte att lösa upp typnamnstyp"
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "föregående definition av %q+#T"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr "klassnyckel förväntades"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "i C++03 måste en klassnyckel användas när en vän deklareras"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "pure-specificerare på funktionsdefinition"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "%<;%> förväntades vid slutet av medlemsdeklaration"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr "ogiltig pure-specifiserare (endast %<= 0%> är tillåtet)"
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "en klammeromsluten initierare är inte tillåten här"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr "%<virtual%> anges mer än en gång i basspecificerade"
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr "mer än en åtkomstspecifikation i basspecificerade"
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "nyckelordet %<typename%> är inte tillåtet utanför mallar"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "typer får inte definieras i en undantagsspecifikation"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr "dynamiska undantagsspecifikationer undanbedes i C++0x, använd %<noexcept%> istället"
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "typer får inte definieras i undantagsdeklarationer"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr "specialisering av medlem %<%T::%E%> kräver %<template<>%>-syntax"
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "ogiltig omdeklaration av %<%T::%E%>"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "för få mallparameterlistor"
@@ -31833,318 +31828,318 @@ msgstr "för få mallparameterlistor"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "för många mallparameterlistor"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "namngivna returvärden stödjs inte längre"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "ogiltig deklaration av medlemsmall i lokal klass"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "mall med C-länkning"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "ogiltig explicit specifikation"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr "den literala operatormallen %qD har ogiltig parameterlista.  Ett mallargument som inte är en typ pack <char…> förväntades"
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "malldeklaration av %<typedef%>"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "explicit mallspecialisering kan inte ha en lagringsklass"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%<>>%> skulle vara %<> >%> inuti en nästad mallargumentlista"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, 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:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "ogiltig användning av %qD i länkklasspecifikation"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> före %qD"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "%<new%> förväntades"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "%<delete%> förväntades"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "%<return%> förväntades"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "%<extern%> förväntades"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "%<static_assert%> förväntades"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "%<decltype%> förväntades"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "%<operator%> förväntades"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "%<class%> förväntades"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "%<template%> förväntades"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "%<namespace%> förväntades"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "%<using%> förväntades"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "%<asm%> förväntades"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "%<try%> förväntades"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "%<catch%> förväntades"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "%<throw%> förväntades"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "%<__label__%> förväntades"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "%<@try%> förväntades"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "%<synchronized%> förväntades"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "%<@throw%> förväntades"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr "%<__transaction_atomic%> förväntades"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "%<__transaction _relaxed%> förväntades"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "%<::%> förväntades"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "%<...%> förväntades"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "%<*%> förväntades"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "%<~%> förväntades"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "%<:%> eller %<::%> förväntades"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "%<class%>, %<typename%> eller %<template%> förväntades"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "%qs-tagg använd vid namngivning av %q#T"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr "%q#T deklarerades tidigare här"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD omdeklarerad med annan åtkomst"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, 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:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "filen slutar i standardargument"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "felplacerad Objective-C++-konstruktion %<@%D%>"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr "objective-c++-meddelandeargument förväntades"
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, 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:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "ogiltigt Objective-C++-selekterarnamn"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "metodeklaration i objective-c++ förväntades"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "metodattribut måste anges på slutet"
 
 # %qs blir "{" eller "}"
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr "vilsekommet %qs mellan Objective-C++ metoder"
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "ogiltig typ för iterationsvariabel"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "identifierare förväntades efter %<@protocol%>"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr "attribut får inte anges före Objective-C++-nyckelordet %<@%D%>"
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "prefixattribut ignoreras före %<@%D%>"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr "ogiltigt typ på egenskap"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "initiering i parenteser är inte tillåtet i en OpenMP-%<for%>-slinga"
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "iterationsvariabel %qD skall inte vara reduction"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "inte tillräcklig kollapsat för slingor"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr "%<__transaction_relaxed%> utan stöd för transaktionsminne aktiverat"
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr "%<__transaction_atomic%> utan stöd för transaktionsminne aktiverat"
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, 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:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "intermoduloptimeringar inte implementerade för C++"
@@ -32850,17 +32845,17 @@ msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftempl
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth= för att öka maxvärdet) vid instansiering av %qD"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, 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:9447
+#: cp/pt.c:9459
 #, 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:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "instansiering av %q+D som typ %qT"
@@ -32878,257 +32873,257 @@ msgstr "instansiering av %q+D som typ %qT"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "variabeln %qD har funktionstyp"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "ogiltig parametertyp %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "i deklaration %q+D"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "funktion som returnerar en vektor"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "funktion som returnerar en funktion"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "formar referens till void"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "formar pekare till en referenstyp %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "formar referens till en referenstyp %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, 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:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "skapar pekare till medlemsreferenstyp %qT"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "skapar pekare till medlem av typ void"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "skapar vektor av %qT"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, 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:11714
+#: cp/pt.c:11740
 #, 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:11751
+#: cp/pt.c:11777
 #, 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:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "användning av %qs i mall"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "kvalificerande typ %qT matchar inte destruerarnamnet ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, 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:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "säg %<typename %E%> om en typ avses"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "användning av ogiltigt fält %qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "ogiltig användning av paketexpansionsuttryck"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "använd %<...%>  för att expandera argumentpaket"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr "%qD har inte deklarerats i denna räckvidd, och inga deklarationer hittades vid argumentberoende uppslagning vid instantieringspunkten"
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr "deklarationer i beroende bas %qT hittas inte av en okvalificerad uppslagning"
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr "använd %<this->%D%> istället"
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr "använd %<%T::%D%> istället"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D är deklarerad här, senare i översättningsenheten"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT är inte en klass eller namnrymd"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD är inte en klass eller namnrymd"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT är/använder en anonym typ"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, 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:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT är en variabel typ"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "heltalsuttryck %qE är inte konstant"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  försöker instansiera %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "tvetydig klassmallinstansiering av %q#T"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "explicit instansieringar av icke-mall %q#D"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, 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:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "det finns ingen matchande mall för %qD"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, 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:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "explicit instansiering av %q#D"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "dubblerad explicit instansiering av %q#D"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 1998 förbjuder användning av %<extern%> vid explicita instansieringar"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "lagringsklass %qD tillämpad på mallinstansiering"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr "explicit instansieringar av mallen %q#D som inte är en klass"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "explicit instansieringar av icke-malltyp %qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, 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:18065
+#: cp/pt.c:18091
 #, 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:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "dubblerad explicit instansiering av %q#T"
@@ -33140,32 +33135,32 @@ msgstr "dubblerad explicit instansiering av %q#T"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, 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:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d vid instansiering av %q+D, möjligen från generering av virtuell tabell (använd -ftemplate-depth= för att öka maxvärdet)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "ogiltig mallparameter som inte är en typ"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T är inte en giltig typ för en mallparameter som inte är en typ"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "härledning från klammeromgiven initierarlista kräver #include <initializer_list>"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "variabeln %q#D med %<auto%>-typ använd i sin egen initierare"
@@ -33173,12 +33168,12 @@ msgstr "variabeln %q#D med %<auto%>-typ använd i sin egen initierare"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "kan inte härleda %qT från %qE"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr "inkonsistent härledning för %qT: %qT och sedan %qT"
@@ -33415,7 +33410,7 @@ msgstr "ogiltig definition av kvalificerad typ %qT"
 msgid "invalid base-class specification"
 msgstr "ogiltig basklasspecifikation"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD är inte fångad"
@@ -33588,264 +33583,264 @@ msgstr "ogiltig returtyp %qT för constexpr-funktionen %q+D"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T har virtuella basklasser"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr "constexpr-konstruerare har inte tom kropp"
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr "%<constexpr%>-konstrueraren för unionen %qT måste initiera precis en icke statisk datamedlem"
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "oinitierad medlem %qD i %<constexpr%>-konstruerare"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "kroppen i constexpr-funktionen %qD är inte en retursats"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D är inte användbar som en constexpr-funktion eftersom:"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "uttrycket %qE anger inte en constexpr-funktion"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr "anrop av icke-constexpr-funktion %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "%qD anropad i ett konstant uttryck"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%qD användes före sin definition"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr "anrop har cirkulärt beroende"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "beräkning av constexpr överskrider maxvärdet på %d (använd -fconstexpr-depth= för att öka maxvärdet)"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%q+E är inte ett konstant uttryck"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "vektorindex är utanför gränserna"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE är inte ett konstant uttryck"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "muterbar %qD är inte användbart i ett konstant uttryck"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "använder medlem %qD istället för initierad medlem %qD i ett konstant uttryck"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "använder värdet av %qE genom ett %qT-glvalue i ett konstant uttryck"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "värdet på %qD är inte användbart i ett konstant uttryck"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "%qD använd i sin egen initierare"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#D är inte const"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%q+#D är volatile"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD initierades inte med ett konstant uttryck"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD deklarerades inte %<constexpr%>"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "%qD har inte heltals- eller uppräkningstyp"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "användning av värdet på objektet som konstrueras i ett konstant uttryck"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "temporär av den ej literala typen %qT i ett konstant uttryck"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "uttrycket %qE är inte ett konstantuttryck"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "oväntat uttryck %qE av sorten %s"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr "%qT kan inte vara typen på ett komplett konstantuttryck eftersom det har muterbara delobjekt"
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "konvertering från pekartypen %qT till den aritmetiska typen %qT i ett konstant uttryck"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr "uttrycket %qE har sidoeffekter"
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "anrop av en medlemsfunktion i objektet som konstrueras i ett konstant uttryck"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr "adress-av på ett objekt %qE med trådlokal eller automatisk lagring är inte ett konstant uttryck"
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr "typeid-uttryck är inte ett konstant uttryck eftersom %qE har polymorf typ"
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "skillnaden mellan två pekaruttryck är inte ett konstant uttryck"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "pekarjämförelseuttryck är inte ett konstant uttryck"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "division med noll är inte ett konstantuttryck"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "ickekonstant vektorinitierare"
 
 # ast = abstract syntax tree
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "oväntat AST av sorten %s"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "det går inte att fånga %qE via referens"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr "redan infångad %qD i lambdauttryck"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "%<this%> fångades inte för denna lambdafunktion"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV-kvalificerare kan inte tillämpas på %qT"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, 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:2834
+#: cp/tree.c:2846
 #, 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:2840
+#: cp/tree.c:2852
 #, 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:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "begärd init_priority är inte en heltalskonstant"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "begärd init_priority är utanför sitt intervall"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "attributet %qE stöds inte på denna plattform"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_*-kontroll: misslyckades i %s, vid %s:%d"
@@ -34788,122 +34783,122 @@ msgstr "konstruerarsyntax använd, men ingen konstruerare är deklarerad för ty
 msgid "cannot initialize arrays using this syntax"
 msgstr "det går inte att initiera vektorer med denna syntax"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "avsmalnande konvertering av %qE från %qT till %qT inuti { }"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "avsmalnande konvertering av %qE från %qT till %qT inuti { } är felaktig i C++11"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int-vektor initierad från icke-bred sträng"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "int-vektor initierad från inkompatibel bred sträng"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, 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"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "det går inte att initiera aggregat med typ %qT med en sammansatt literal"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "vektorer måste initieras med en initierare inom klamrar"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "initierare saknas för medlem %qD"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "oinitierad const-medlem %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "medlem %qD med oinitierade const-fält"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "medlem %qD är oinitierad referens"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "inget fält %qD finns i unionen som initieras"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "indexvärde istället för fältnamn i unioninitierare"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "cirkulär pekardelegering detekterad"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "basoperanden till %<->%> har icke-pekartyp %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "resultatet av %<operator->()%> ger annat än pekare"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "basoperanden till %<->%> är inte en pekare"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE kan inte användas som en medlemspekare eftersom den är av typen %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "det går inte att applicera medlemspekare %qE på %qE, som är av typ %qT som inte är en klass"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "pekare-på-medlemstyp %qT är inkompatibel med objekttyp %qT"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr "funktionell konvertering till vektortypen %qT"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "ogiltig värdeinitiering av referenstyper"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, 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:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "anrop till funktion som kastar ofullständig typ %q#T"
@@ -34963,187 +34958,187 @@ msgstr "Heltal utanför symmetriskt intervall implicerat av Standard Fortran vid
 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/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "Förväntade vektorindex vid %C"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Oväntad ”*” i co-vektorindex vid %C"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "Steg är inte tillåtna i co-vektorindex vid %C"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "Förväntade intervall av vektorindex vid %C"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "Felaktig form av vektorreferens vid %C"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "Vektorreferens vid %C kan inte ha mer än %d dimensioner"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr "Co-vektorer avaktiverade vid %C, använd -fcoarray= för att aktivera"
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "Oväntad co-vektorbeteckning vid %C"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr "För få co-dimensioner vid %C, %d och inte %d förväntades"
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr "För många co-dimensioner vid %C, %d och inte %d förväntades"
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "Oväntad ”*” för co-dimension %d av %d vid %C"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "Felaktig form av co-vektorreferens vid %C"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr "Ogiltig co-dimension %d vid %C, endast %d co-dimensioner finns"
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 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:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr "Uttrycket vid %L i detta sammanhang måste vara konstant"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "Förväntade uttryck i vektorspecifikation vid %C"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "Felaktig vektorspecifikation för en förmodat formad vektor vid %C"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-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:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-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:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-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:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-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:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "Förväntade en annan dimension i vektordeklaration vid %C"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "Vektorspecifikation vid %C har mer än %d dimensioner"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Fortran 2008: Vektorspecifikation vid %C har mer än 7 dimensioner"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2008: Co-vektordeklaration vid %C"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr "Övre gränsen av sista co-vektordimensionen måste vara ”*” vid %C"
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-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:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "Syntaxfel i vektorkonstruerare vid %C"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003: [...]-stils vektorkonstruerare vid %C"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Fortran 2003: Vektorkonstruerare med typspecifikation vid %C"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "Typspecifikation vid %L kan inte innehålla ha en fördröjd typparameter"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "Tom vektorkonstruerare vid %C är inte tillåtet"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "Element i %s-vektorkonstruerare vid %L är %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "Iteratorsteg vid %L kan inte vara noll"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr "Antalet element i vektorkonstrueraren vid %L kräver en ökning av den tillåtna övre gränsen %d.  Se flaggan -fmax-array-constructor"
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr "Olika CHARACTER-längder (%d/%d) i vektorkonstruerare vid %L"
@@ -35178,7 +35173,7 @@ msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara REAL eller
 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:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara en konstant"
@@ -35288,7 +35283,7 @@ msgstr "”dim”-argumentet till inbyggd ”%s” vid %L är inte ett giltigt d
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "Olika teckenlängder (%ld/%ld) i %s vid %L"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-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"
@@ -35371,8 +35366,8 @@ msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste ha typen REAL el
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003: inbyggd ”%s” vid KIND-argument vid %L"
@@ -35517,7 +35512,7 @@ msgstr "Argument ”%s” till inbyggd ”%s” vid %L måste vara en POINTER, A
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "Fortran 2003: inbyggd NULL med KIND-argument vid %L"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste ge åtminstone lika många element som det finns .TRUE.-värden i ”%s” (%ld/%d)"
@@ -35647,42 +35642,42 @@ msgstr "Antalet vektorelement i argumentet SUB till IMAGE_INDEX vid %L skall var
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr "DIM-argument utan ARRAY-argument är inte tillåtet för inbyggd THIS_IMAGE vid %L"
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-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:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-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"
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste ha samma ordning som ”%s” eller vara en skalär"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "”%s”- och ”%s”-argumenten till inbyggd ”%s” vid %L måste ha identiska former"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "Stolek på ”%s”-argumentet till inbyggd ”%s” vid %L är för liten (%i/%i)"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "För många argument till %s vid %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-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"
@@ -35694,7 +35689,7 @@ msgstr "Polymorfa objekt eller komponenter med förmodad storlek, såsom den vid
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr "Maximal utökningsnivå nådd med typen ”%s” vid %L"
@@ -35974,7 +35969,7 @@ msgstr "Icke-PARAMETER-symbolen ”%s” vid %L kan inte förmodad form"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2008: Vektor med förmodad form vid %L"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "Dubblerad vektorspecifikation för Cray-utpekad vid vid %C"
@@ -35989,7 +35984,7 @@ msgstr "Typen på ”%s” vid %C har inte deklarerats inuti gränssnittet"
 msgid "Extension: Old-style initialization at %C"
 msgstr "Utökning: Gammaldags initiering vid %C"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "Initieringen vid %C är inte för en pekarvariabel"
@@ -35999,7 +35994,7 @@ msgstr "Initieringen vid %C är inte för en pekarvariabel"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "Pekarinitiering vid %C kräver ”=>”, inte ”=”"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "Ett initieringsuttryck förväntades vid %C"
@@ -36196,7 +36191,7 @@ msgstr "Fortran 2003: ASYNCHRONOUS-attribut vid %C"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2008: CONTIGUOUS-attribut vid %C"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-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"
@@ -36216,834 +36211,834 @@ msgstr "Fortran 2003: VALUE-attribut vid %C"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003: VOLATILE-attribut vid %C"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr "Flera identifierare angivna med en ensam NAME=-specificerare vid %C"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-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:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-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:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-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:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-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:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-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:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-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:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-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:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-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:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-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:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "Syntaxfel i datadeklaration vid %C"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2008: IMPURE-procedur vid %C"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr "PURE och IMPURE får inte båda finnas vid %C"
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "Namnet ”%s” vid %C är namnet på proceduren"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "Oväntat skräp i formell argumentlista vid %C"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "Dubblerad symbol ”%s” i formell argumentlista vid %C"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-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:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "Oväntat skräp efter funktionsdeklaration vid %C"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Fortran 2008: BIND(C)-attribut vid %L kan inte anges för en intern procedur"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "Gränssnitt ”%s” vid %C kan inte vara generiskt"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-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:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-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:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-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:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-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:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-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:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "Procedur ”%s” vid %L har redan en grundtyp %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "Syntaxfel i PROCEDURE-sats vid %C"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "”::” förväntades efter bindningsattribut vid %C"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr "NOPASS eller explicit gränssnitt krävs vid %C"
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003: Procedurpekarkomponent vid %C"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "Syntaxfel i procedurpekarkomponent vid %C"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-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:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003: PROCEDURE-sats vid %C"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "Formell argumentlista förväntades i funktionsdefinitionen vid %C"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-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:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2008: föråldrad funktion: ENTRY-sats vid %C"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-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:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-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:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-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:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-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:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-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:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-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:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-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:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-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:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-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:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-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:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-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:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-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:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-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:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "Avslutande citationstecken '”' saknas för att binda etikett vid %C"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "Avslutande citationstecken ”'” saknas för att binda etikett vid %C"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "Slutparentes saknas för att binda etikett vid %C"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-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:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-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:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-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:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "Oväntad END-sats vid %C"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Fortran 2008: END-sats istället för %s-sats vid %L"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "%s-sats förväntades vid %L"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "%s-sats förväntades vid %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-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:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "Avslutande namn förväntades vid %C"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-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:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "Vektorspecifikation saknas vid %L i DIMENSION-sats"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-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:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "Vektorspecifikation saknas vid %L i CODIMENSION-sats"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "Vektorspecifikation måste vara fördröjd vid %L"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "Oväntat tecken i variabellista vid %C"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "”(” förväntades vid %C"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "Variabelnamn förväntades vid %C"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "Cray-pekare vid %C måste vara ett heltal"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-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:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "”,” förväntades vid %C"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "”)” förväntades vid %C"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "”,” ellerslut på sats förväntades vid %C"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr "INTENT är inte tillåtet inuti BLOCK vid %C"
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr "OPTIONAL är inte tillåtet inuti BLOCK vid %C"
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "Cray-pekardeklaration vid %C kräver flaggan -fcray-pointer"
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2008: CONTIGUOUS-sats vid %C"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-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:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-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:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003: PROTECTED-sats vid %C"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "Syntaxfel i PROTECTED-sats vid %C"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-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:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "Variabelnamn förväntades vid %C i PARAMETER-sats"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "=-tecken i PARAMETER-sats förväntades vid %C"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "Uttryck förväntades vid %C i PARAMETER-sats"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "Initierar redan initierad variabel vid %C"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "Oväntade tecken i PARAMETER-sats vid %C"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-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:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "SAVE-sats vid %C följer allmän SAVE-sats"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "Syntaxfel i SAVE-sats vid %C"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr "VALUE är inte tillåtet inuti BLOCK vid %C"
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003: VALUE-sats vid %C"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "Syntaxfel i VALUE-sats vid %C"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003: VOLATILE-sats vid %C"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr "VOLATILE anges för co-vektorvariabel ”%s” vid %C, vilket är use-/host-associerat"
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "Syntaxfel i VOLATILE-sats vid %C"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: ASYNCHRONOUS-sats vid %C"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "Syntaxfel i ASYNCHRONOUS-sats vid %C"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-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:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2008: dubbelkolon i MODULE PROCEDURE-sats vid %L"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "Den inbyggda proceduren vid %L kan inte vara en MODULE PROCEDURE"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "Tvetydig symbol i TYPE-definition vid %C"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr "Ingen sådan symbol i TYPE-definition vid %C"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr "”%s” i EXTENDS-uttryck vid %C är inte en härledd typ"
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr "”%s” kan inte utökas vid %C för att den är BIND(C)"
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "”%s” kan inte utökas vid %C eftersom det är en SEQUENCE-typ"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-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:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-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:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003: ABSTRACT typ vid %C"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ":: förväntades i TYPE-definition vid %C"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-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:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-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:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-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:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003: ENUM och ENUMERATOR vid %C"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "Uppräkningstypen överskrider C:s heltalstyp vid %C"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "ENUMERATOR %L är inte initierad med ett heltalsuttryck"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "ENUM-definitionssats förväntades före %C"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "Syntaxfel i ENUMERATOR-definition vid %C"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "Dubblerad åtkomstspecifikation vid %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr "Bindningsattribut anger redan passing, otillåten NOPASS vid %C"
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr "Bindningsattribut anger redan passing, otillåten PASS vid %C"
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "Dubblerat POINTER-attribut vid %C"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "Dubblerad NON_OVERRIDABLE vid %C"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr "Dubblerad DEFERRED vid %C"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "Åtkomstspecificerare förväntades vid %C"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "Bindningsattribut förväntades vid %C"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr "NON_OVERRIDABLE och DEFERRED kan inte båda finnas vid %C"
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr "POINTER-attribut krävs för procedurpekarkomponenten vid %C"
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr "Gränssnittsnamn förväntades efter ”(” vid %C"
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "”)” förväntades vid %C"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "Gränssnitt måste anges för DEFERRED bindning vid %C"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr "PROCEDURE(interface) vid %C skulle vara deklarerat DEFERRED"
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "Bindningsnamn förväntades vid %C"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2008: PROCEDURE-lista vid %C"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr "”=> mål” är ogiltigt för DEFERRED-bindning vid %C"
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr "”::” behövs i PROCEDURE-bindning med explicit mål vid %C"
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "Bindningsmål förväntades efter ”=>” vid %C"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr "Typen ”%s” som innehåller en DEFERRED-bindning vid %C är inte ABSTRACT"
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Det finns redan en procedur med bindningsnamnet ”%s” för den härledda typen ”%s” vid %C"
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr "GENERIC vid %C måste vara inuti en härledd typs CONTAINS"
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "”::” förväntades vid %C"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "Generiskt namn eller operatorbeskrivare förväntades vid %C"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "”=>” förväntades vid %C"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "Det finns redan en icke-generisk procedur med bindningsnamnet ”%s” för den härledda typen ”%s” vid %C"
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr "Bindning vid %C måste ha samma åtkomst som den redan definierade bindningen ”%s”"
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "Specifikt bindningsnamn förväntades vid %C"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "”%s” är redan definierat som en specifik bindning för den generiska ”%s” vid %C"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr "Skräp efter GENERIC-bindning vid %C"
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr "FINAL-deklaration vid %C måsta vara inuti en härledd typs CONTAINS-sektion"
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr "Härledd typdeklaration med FINAL vid %C måste vara med i specifikationsdelen av en MODULE"
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr "Tom FINAL vid %C"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "Modulprocedurnamn förväntades vid %C"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "”,” förväntades vid %C"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "Okänt procedurnamn ”%s” vid %C"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "”%s” vid %C är redan definierad som FINAL procedur"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Okänt attribut i !GCC$ ATTRIBUTES-sats vid %C"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "Syntaxfel i !GCC$ ATTRIBUTES-sats vid %C"
@@ -37283,27 +37278,27 @@ msgstr "POINTER-värd funktion förekommer på högersidan av tilldelning vid %L
 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:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-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:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-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:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-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"
@@ -37564,7 +37559,7 @@ msgid "can't open input file: %s"
 msgstr "Kan inte öppna indatafil: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -37680,12 +37675,12 @@ msgstr "Första argumentet till definierad tilldelning vid %L måste vara INTENT
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "Andra argumentet av definierad tilldelning vid %L måste vara INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "Första argumentet till operatorgränssnitt vid %L måste vara INTENT(IN)"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "Andra argumentet till operatorgränssnitt vid %L måste vara INTENT(IN)"
@@ -39704,7 +39699,7 @@ msgstr "Oväntat skräp efter $OMP BARRIER-sats vid %C"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "Oväntat skräp efter NOWAIT-klausul vid %C"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "IF-klausul vid %L kräver ett skalärt LOGICAL-uttryck"
@@ -40793,943 +40788,943 @@ msgstr "Fortran 2008: Argument ”%s” till pure-subrutin ”%s” vid %L med a
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "Argumentet ”%s” till pure-subrutin ”%s” vid %L måste ha sitt INTENT angivet eller ha attributet VALUE"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "Co-vektorattrappargument ”%s” vid %L till elementär i proceduren"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-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:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "Argumentet ”%s” av elementär procedur vid %L får inte ha attributet ALLOCATABLE"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-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:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-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:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "Argumentet ”%s” till den elementära proceduren ”%s” vid %L måste ha sitt INTENT angivet"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-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:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-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:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "Innesluten funktion ”%s” vid %L har ingen IMPLICIT-typ"
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-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:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Teckenvärd %s ”%s” vid %L får inte ha antagen längd"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "Funktion %s vid %L har ingångar med vektorspecifikationer som ej stämmer överens"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-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:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-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:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-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:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-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:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-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:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-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:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-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:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-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:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-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:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-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:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-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:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-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:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "COMMON-blocket ”%s” vid %L får inte ha attributet EXTERNAL"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-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:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-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:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-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:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "Komponenter i postkonstruerare ”%s” vid %L är PRIVATE"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "Ordningen på elementet i postkonstrueraren vid %L stämmer inte överens med komponentens (%d/%d)"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "Elementet i postkonstrueraren vid %L, för pekarkomponent ”%s”, är %s men borde vara %s"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "NULL i postkonstrueraren vid %L används på komponenten ”%s”, som varken är en POINTER eller en ALLOCATABLE"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "Gränssnittet stämmer inte för procedurpekarkomponenten ”%s” i postkonstruerare vid %L: %s"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "Elementet i postkonstrueraren vid %L, för pekarkomponent ”%s”, borde vara en POINTER eller en TARGET"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "Pekarinitieringsmål vid %L får inte vara ALLOCATABLE "
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Pekarinitieringsmål vid %L måste ha attributet SAVE"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "Ogiltigt uttryck i postkonstrueraren för pekarkomponent ”%s” vidl %L i PURE-procedur"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "”%s” vid %L är tvetydig"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-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:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-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:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-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:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "”%s” deklarerad INTRINSIC vid %L finns inte"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr "Den inbyggda ”%s” deklarerad INTRINSIC vid %L är inte tillgänglig i den aktuella standardinställningen utan i %s.  Använd en lämplig flagga -std=* eller aktivera -fall-intrinsics för att använda den."
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr "Icke RECURSIVE procedur ”%s” vid %L anropar kanske sig själv rekursivt.  Deklarera den RECURSIVE eller använd -frecursive."
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Etikett %d som refereras vid %L är aldrig definierad"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-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:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-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:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "Fortran 2008: Den interna proceduren ”%s” används som aktuellt argument vid %L"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-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:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-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:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "Symbolen  ”%s” vid %L är tvetydig"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "Värdesargument vid %L har inte en numerisk typ"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "Värdeargument vid %L får inte vara en vektor eller vektorsektion"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "Värdesargument vid %L är inte tillåtet i denna kontext"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "Att skicka intern procedur som plats vid %L är inte tillåtet"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr "Co-indexerat aktuellt argument vid %L med slutlig pekarkomponent"
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 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:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 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:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "Teckenlängd stämmer inte i returtypen för funktion ”%s” vid %L (%ld/%ld)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Returtypen stämmer inte för funktionen ”%s” vid %L (%s/%s)"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr "Attrappargument ”%s” till proceduren ”%s” vid %L har ett attribut som kräver ett explicit gränssnitt för denna procedur"
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "Proceduren ”%s” vid %L med attrappargument ”%s” med förmodad form måsta ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "Proceduren ”%s” vid %L med ett co-vektorattrappargument ”%s” måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "Proceduren ”%s” vid %L med parametriserat härlett typargument ”%s” måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "Proceduren ”%s” vid %L med polymorft attrappargument ”%s” måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr "Referensen till funktionen ”%s” vid %L behöver antingen ett explicit INTERFACE eller så är ordningen fel"
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr "Funktionen ”%s” vid %L med ett POINTER eller ALLOCATABLE-resultat måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "Ej konstant teckenlängdsfunktion ”%s” vid %L måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "ELEMENTAL-proceduren ”%s” vid %L måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "Proceduren ”%s” vid %L med attributet BIND(C) måste ha ett explicit gränssnitt"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-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:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-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:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-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:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-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:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "Funktionen ”%s” vid %L har ingen IMPLICIT-typ"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "Argument till ”%s” vid %L är inte en variabel"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-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:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-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:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "Co-indexerat argument är inte tillåtet i anrop av ”%s” vid %L"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "En vektorsektion är inte tillåten i anrop av ”%s” vid %L"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "Vektorsektion i anrop av ”%s” vid %L"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-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:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-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"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "Parametern ”%s” till ”%s” vid %L får inte vara polymorf"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-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:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-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:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "”%s” vid %L är inte en funktion"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-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:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-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:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "Referens till funktion ”%s” som inte är PURE vid %L är inuti ett DO CONCURRENT-%s"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-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:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "ENTRY ”%s” vid %L får inte anropas rekursivt, eftersom funktionen ”%s” inte är RECURSIVE"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "Funktion ”%s” vid %L får inte anropas rekursivt, eftersom den inte är RECURSIVE"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-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:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "Subrutinanrop till ”%s” i DO CONCURRENT-block vid %L är inte PURE"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr "Subrutinanrop till ”%s” vid %L är inte PURE"
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-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:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-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:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "SHAPE-parameter saknas i anrop till %s vid %L"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-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:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-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:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-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:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-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:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "ENTRY ”%s” vid %L är får inte anropas rekursivt, eftersom subrutinen ”%s” inte är RECURSIVE"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "SUBROUTINE ”%s” vid %L får inte anropas rekursivt, eftersom den inte är RECURSIVE"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "Formerna för operanderna vid %L och %L är inte konforma"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "Vektorreferens vid %L är utanför gränsen (%ld < %ld) i co-dimension %d"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "Vektorreferens vid %L är utanför gränsen (%ld > %ld) i co-dimension %d"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "Otillåtet steg på noll vid %L"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Undre vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Undre vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "Övre vektorreferens vid %L är utanför gränsen (%ld < %ld) i dimension %d"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "Övre vektorreferens vid %L är utanför gränsen (%ld > %ld) i dimension %d"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "Högraste övre gränsen av en sektion av vektor med antagen storlek inte angiven vid %L"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "Ordning stämmer inte i vektorreferens vid %L (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "Co-indexordning stämmer inte i vektorreferens vid %L (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "Co-index i co-dimension %d måste vara en skalär vid %L"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "Vektorindex vid %L måste vara skalärt"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "Vektorindex vid %L måste ha INTEGER-typ, fann %s"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Utökning: REAL-vektorindex vid %L"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "Dim-argumentet vid %L måste vara skalärt"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "Dim-argumentet vid %L måste ha INTEGER-typ"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "Vektorindex vid %L är en vektor med ordning %d"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "Startindex för delsträng vid %L måste typen INTEGER"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "Startindex för delsträng vid %L måste vara skalärt"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "Substrängs startindex vid %L är mindre än ett"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "Slutindex för delsträng vid %L måste ha typen INTEGER"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "Slutsträng för delsträng vid %L måste vara skalärt"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "Slutindex för delsträng vid %L överstiger strängens längd"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "Slutindex för delsträng vid %L är för stort"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "Komponent till den högra av en delreferens med ordning skild från noll får inte ha attributet POINTER vid %L"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "Komponent till den högra av en delreferens med ordning skild från noll får inte ha attributet ALLOCATABLE vid %L"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "Två eller flera delreferenser med ordning skild från noll får inte anges vid %L"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-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:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr "Polymorft subobjekt till co-indexerat objekt vid %L"
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr "Co-indexerat objekt med polymorf allokerbar delkomponent vid %L"
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "Skickat objekt vid %L måste vara skalär"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr "Basobjekt för procedurpekarkomponentanrop vid %L är av ABSTRACT typ ”%s”"
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr "Basobjekt för typbundet proceduranrop vid %L är av ABSTRACT typ ”%s”"
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "Basobjekt för typbundet NOPASS-proceduranrop vid %L måste vara skalärt"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr "Hittade ingen matchande specifik bindning för anropet till GENERIC ”%s” vid %L"
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "”%s” vid %L skulle vara en SUBROUTINE"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "”%s” vid %L skulle vara en SUBROUTINE"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s vid %L måste vara en skalär"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "Borttagen funktion: %s vid %L måste vara ett heltal"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s vid %L måste vara INTEGER"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "Steguttryck i DO-slinga vid %L får inte vara noll"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr "DO-slinga vid %L kommer köras noll gånger"
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "FORALL-indexnamn vid %L måste vara en skalär INTEGER"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "FORALL-slututtryck vid %L måste vara en skalär INTEGER"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "FORALL-slututtryck vid %L måste vara en skalär INTEGER"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "FORALL-steguttryck vid %L måste vara en skalär %s"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "FORALL-steguttryck vid %L får inte vara noll"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-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:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "Allokeringsojbekt vid %L måste vara ALLOCATABLE eller en POINTER"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr "Co-indexerat allokerbart objekt vid %L"
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr "Källuttryck vid %L måste vara skalärt eller ha samma ordning som allokeringsobjektet vid %L"
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr "Källuttryck vid %L och allokeringsobjekt vid %L måste ha samma form"
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr "Typen på enheten vid %L är typinkompatibel med källuttrycket vid %L"
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr "Allokeringsobjektet vid %L och källuttrycket vid %L skall ha samma sorts typparameter"
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr "Källuttrycket vid %L skall varken vara av typen LOCK_TYPE eller ha en LOCK_TYPE-komponent om det allokerbara objektet vid %L är en co-vektor"
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr "Allokering %s av ABSTRACT bastyp vid %L behöver en typspecifikation eller source-uttryck"
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr "Allokerar %s vid %L med typspecifikation kräver samma teckenlängdsparameter som i deklarationen"
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "Vektorspecifikation krävs i ALLOCATE-sats vid %L"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "Co-vektorspecifikation krävs i ALLOCATE-sats vid %L"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "Felaktig vektorspecifikation i ALLOCATE-sats vid %L"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in 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:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "”*” förväntades i co-indexspecifikation i ALLOCATE-sats vid %L"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "Felaktig co-vektorspecifikation i ALLOCATE-sats vid %L"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "Statvariabel vid %L måste vara en INTEGER-variabel"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "Statvariabel vid %L skall inte %s:as i samma %s-sats"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr "ERRMSG vid %L är oanvändbart utan en STAT-tagg"
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "Errmsg-variabeln vid %L måste vara en skalär CHARACTER-variabel"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr "Errmsg-variabel vid %L skall inte %s:as i samma %s-sats"
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr "Allokeringsobjekt vid %L förekommer också vid %L"
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr "Allokeringsobjekt vid %L är underobjet till objekt vid %L"
@@ -41738,175 +41733,175 @@ msgstr "Allokeringsobjekt vid %L är underobjet till objekt vid %L"
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "CASE-etikett vid %L överlappar med CASE-etikett vid %L"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "uttryck i CASE-sats vid %L måste vara av typ %s"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "Uttryck i CASE-sats vid %L måste ha sort %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "Uttryck i CASE-sats vid %L måste vara skalärt"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "Valuttryck i beräknad-GOTO-sats vid %L måste vara ett skalärt heltalsuttryck"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "Argument till SELECT-sats vid %L kan inte vara %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "Uttryck i CASE-sats vid %L ligger inte i intervallet %s"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "DEFAULT CASE vid %L får inte följas av ett andra DEFAULT CASE vid %L"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "Logiskt intervall CASE-sats vid %L är inte tillåtet"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "Konstant logiskt värde i CASE-sats upprepas vid %L"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "Intervallspecifikationen vid %L kan aldrig matchas"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "Logiskt SELECT CASE-block vid %L har mer än två fall"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Associationsnamn ”%s” vid %L används som en vektor"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "Selektorer skall vara polymorfiska i SELECT TYPE-sats vid %L"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "Härledd typ ”%s” vid %L måste vara utökningsbar"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "Härledd typ ”%s” vid %L måste vara en utökning av ”%s”"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr "Dubbelt CLASS IS-block i SELECT TYPE-sats vid %L"
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr "Inbyggd NULL vid %L i dataöverföringssats kräver MOLD="
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr "Dataöverföringselementet vid %L kan inte vara polymorft om det inte behandlas av en definierad input/output-procedur"
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "Dataöverföringselementet vid %L kan inte ha POINTER-komponenter om det inte behandlas av en definierad input/output-procedur"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "Dataöverföringselement vid %L får inte ha procedurpekarkomponenter"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "Dataöverföringselementet vid %L kan inte ha ALLOCATABLE-komponenter om det inte behandlas av en definierad input/output-procedur"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "Dataöverföringselement vid %L får inte ha PRIVATE-komponenter"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "Dataöverföringselement vid %L får inte vara en full referens till en vektor med förmodad storlek"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "Låsvariabel vid %L måste vara en skalär av typen LOCK_TYPE"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "STAT=-argumentet vid %L måste vara en skalär INTEGER-variabel"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "ERRMSG=-variabeln vid %L måste vara en skalär CHARACTER-variabel"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "ACQUIRED_LOCK=-argumentet vid %L måste vara en skalär LOGICAL-variabel"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "Bildmängdsargument vid %L måste vara ett skalärt eller ordning-1-uttryck"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "Bildmängdsargument vid %L måste vara mellan 1 och num_images()"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "Sats vid %L är inte en giltig grenmålssats för grensatsen vid %L"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr "Gren vid %L kan orsaka en oändlig slinga"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr "GOTO-sats vid %L lämnar CRITICAL-konstruktion för etikett vid %L"
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr "GOTO-sats vid %L lämnar DO CONCURRENT-konstruktion för etikett vid %L"
@@ -41914,950 +41909,950 @@ msgstr "GOTO-sats vid %L lämnar DO CONCURRENT-konstruktion för etikett vid %L"
 #. The label is not in an enclosing block, so illegal.  This was
 #. allowed in Fortran 66, so we allow it as extension.  No
 #. further checks are necessary in this case.
-#: fortran/resolve.c:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "Etiketten vid %L är inte i samma block som GOTO-satsen vid %L"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "WHERE-mask vid %L har inkonsistent form"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "WHERE-tilldelningsmål vid %L har inkonsistent form"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr "Ej ELEMENTAL användardefinierad tilldelning i WHERE vid %L"
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "Ej stödd sats inuti WHERE vid %L"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "Tilldelning till en FORALL-indexvariabel vid %L"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "FORALL med index ”%s” används inte på vänster sida av en tilldelning vid %L och kan därför orsaka multipla tilldelningar till detta objekt"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "En yttre FORALL-konstruktion har redan ett index med detta namn %L"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "WHERE/ELSEWHERE-klausul vid %L kräver en LOGICAL-vektor"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-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:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "Co-indexerat uttryck vid %L är tilldelat till en härledd typvariabel med en POINTER-komponent i en PURE-procedur"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 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:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "Tilldelning till en co-indexerad variabel vid %L i en PURE-procedur"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr "Variabeln får inte vara polymorf i inbyggd tilldelning vid %L - kontrollera att det finns en matchande specifik subrutin för operatorn ”=”"
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr "Co-indexerad variabel får inte ha en allokerbar yttersta komponent i tilldelningen vid %L"
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-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:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-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:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "Alternativ RETURN-sats vid %L kräver en SCALAR-INTEGER-retuspecificerare"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "ASSIGN-sats vid %L kräver en skalär standard-INTEGER-variabel"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-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:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "Avslutsvillkor i DO WHILE-slinga vid %L måste vara ett skalärt LOGICAL-uttryck"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "FORALL-maskklausul vid %L kräver ett skalärt LOGICAL-uttryck"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-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:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-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:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr "CHARACTER-variabel vid %L har negativ längd %d, längden har satts till noll"
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "Stränglängden vid %L är för stor"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-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:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-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:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-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:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-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:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "Typen ”%s” på CLASS-variabeln ”%s” vid %L är inte utvidgningsbar"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr "CLASS-variabel ”%s” vid %L måste vara en atrapp, allokerbar eller pekare"
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 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:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr "Fortran 2008: Implicerad SAVE för modulvariabel ”%s” vid %L, behövs på grund av standardinitieringar"
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-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:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr "Enheten ”%s” vid %L har en fördröjd typparameter och kräver antingen attributet pointer eller allocatable"
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "Entitet med antagen teckenlängd vid %L måste vara ett attrappargument eller en PARAMETER"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-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:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "COMMON-variabeln ”%s” vid %L måste ha konstant teckenlängd"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "Allokerbar ”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "Extern ”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "Attrapp-”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "Inbyggd ”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "Funktionsresultat ”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-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:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-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:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-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:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "Funktion ”%s” vid %L kan inte ha en initierare"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-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:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-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:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "Satsfunktionen ”%s” vid %L får inte ha attributet pointer eller allocatable"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-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:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-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:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*)-funktion ”%s” vid %L kan inte vara pure"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "CHARACTER(*)-funktion ”%s” vid %L kan inte vara rekursiv"
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "Förlegad funktion: CHARACTER(*)-funktion ”%s” vid %L"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "PROCEDURE-attribut i konflikt med SAVE-attribut i ”%s” vid %L"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "PROCEDURE-attribut i konflikt med INTENT-attribut i ”%s” vid %L"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "PROCEDURE-attribut i konflikt med RESULT-attribut i ”%s” vid %L"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "EXTERNAL-attribut i konflikt med FUNCTION-attribut i ”%s” vid %L"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr "Procedurpekarresultat ”%s” vid %L saknar pekarattributet"
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "FINAL-procedur ”%s” vid %L är inte en SUBROUTINE"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "FINAL-procedur vid %L måste ha precis ett argument"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "Argument till FINAL-procedur vid %L måste ha typen ”%s”"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "Argument till FINAL-procedur vid %L får inte vara en POINTER"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "Argument till FINAL-procedur vid %L får inte vara ALLOCATABLE"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "Argument till FINAL-procedur vid %L får inte vara OPTIONAL"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "Argument till FINAL-procedur vid %L får inte vara INTENT(OUT)"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Ickeskalär FINAL-procedur vid %L skulle ha argument med förmodad form"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "FINAL-procedur ”%s” deklarerad vid %L har samma ordning (%d) som ”%s”"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr "Endast vektor-FINAL-procedurer deklarerade för den härledda typen ”%s” definierade vid %L, föreslår även en skalär"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "Avslutningen vid %L är inte implementerad ännu"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr "”%s” och ”%s” kan inte blandad FUNCTION/SUBROUTINE för GENERIC ”%s” vid %L"
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr "”%s” och ”%s” för GENERIC ”%s” vid %L är tvetydiga"
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr "Odefinierad specifik bindning ”%s” som mål för GENERIC ”%s” vid %L"
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr "GENERIC ”%s” vid %L måste ha som mål en specifik bindning, ”%s” är också GENERIC"
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr "GENERIC ”%s” vid %L kan inte åsidosätta en specifik bindning med samma namn"
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr "Typgränsoperator vid %L kan inte vara NOPASS"
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "”%s” måste vara en modulprocedur eller en extern procedur med ett explicit gränssnitt vid %L"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Proceduren ”%s” med PASS(%s) vid %L har inget argument ”%s”"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Procedur ”%s” med PASS vid %L måste ha åtminstone ett argument"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "Ickepolymorfa attrappargument för pass-objekt till ”%s” vid %L"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "Argument ”%s” till ”%s” med PASS(%s) vid %L måste ha den härledda typen ”%s”"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "Skickat objekt-attrappargument till ”%s” vid %L måste vara skalärt"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "Skickat objekt-attrappargument till ”%s” vid %L får inte vara ALLOCATABLE"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "Skickat objekt-atrappargument till ”%s” vid %L får inte vara POINTER"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "Procedur ”%s” vid %L har samma namn som en komponent i ”%s”"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "Proceduren ”%s” vid %L har samma namn som den ärvd komponent i ”%s”"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr "Härledd typ ”%s” deklarerad vid %L måste vara ABSTRACT för att ”%s” är DEFERRED och inte åsidosatt"
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr "Eftersom utvidgningen av ”%s” vid %L har en co-vektorkomponent, skall föräldratypen ”%s” också ha en"
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr "Ej utvidgningsbar härledd typ ”%s” vid %L får inte vara ABSTRACT"
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr "Teckenkomponenten ”%s” med fördröjd längd vid %L stödjs inte ännu"
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "Co-vektorkomponent ”%s” vid %L måste vara allokerbar med fördröjd form"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "Komponenten ”%s” vid %L av TYPE(C_PTR) eller TYPE(C_FUNPTR) får inte vara en co-vektor"
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "Komponenten ”%s” vid %L med co-vektorkomponent skall skalär som inte är en pekare eller allokerbar"
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr "Component ”%s” vid %L har attributet CONTIGUOUS men är inte en vektorpekare"
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "Gränssnitt ”%s”, använt av procedurpekarkomponenten ”%s” vid %L, är deklarerat i en senare PROCEDURE-sats"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "Gränssnitt ”%s” till procedurpekarkomponent ”%s” vid %L måste vara explicit"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "Procedurpekarkomponent ”%s” med PASS(%s) vid %L har inget argument ”%s”"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Procedurpekarkomponent ”%s” med PASS vid %L måste ha åtminstone ett argument"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "Argument ”%s” till ”%s” med PASS(%s) vid %L måste ha den härledda typen ”%s”"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Argument ”%s” till ”%s” med PASS(%s) vid %L måste vara skalärt"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Argumentet ”%s” till ”%s” med PASS(%s) vid %L får inte ha attributet POINTER"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "Argumentet ”%s” till ”%s” med PASS(%s) vid %L får inte vara ALLOCATABLE"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "Komponent ”%s” i ”%s” vid %L har samma namn som en ärvd typbunden procedur"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-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:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr "Teckenkomponent ”%s” av ”%s” vid %L med fördröjd längd måste vara en POINTER eller ALLOCATABLE"
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr "Fortran 2003: komponenten ”%s” är en PRIVATE-typ och kan inte vara en komponent i ”%s”, som är PUBLIC vid %L"
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr "Polymorf komponent %s vid %L i SEQUENCE- eller BIND(C)-typ %s"
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "Komponent %s av SEQUENCE-typ deklarerad vid %L har inte attributet SEQUENCE"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-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:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "Procedur ”%s” med CLASS vid %L måste vara allokerbar eller en pekare"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr "Fortran 2003: Generiskt namn ”%s” på funktionen ”%s” vid %L är samma namn som den härledda typen vid %L"
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "Vektor ”%s” med underförstådd storlek i namnlistan ”%s” vid %L är inte tillåtet"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-vektorobjekt ”%s” med förmodad form i namnlistan ”%s” vid %L"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-vektorobjekt ”%s” med icke-konstant form in namnlista ”%s” vid %L"
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr "Fortran 2003: NAMELIST-vektorobjekt ”%s” med icke-konstant form i namnlistan ”%s” vid %L"
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr "NAMELIST-objekt ”%s” i namnlistan ”%s” vid %L är polymorf om och behöver en en definierad input/output-procedur"
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr "Fortran 2003: NAMELIST-objekt ”%s” i namnlistan ”%s” vid %L med ALLOCATABLE- eller POINTER-komponenter"
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr "NAMELIST-objekt ”%s” i namnlistan ”%s” vid %L har ALLOCATABLE- eller POINTER-komponenter och behöver därför en definierad input/output-procedur"
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-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:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-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:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-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:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-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:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-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:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-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:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "Inkompatibel härledd typ i PARAMETER vid %L"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "Attributet PROTECTED står i konflikt med attributet EXTERNAL vid %L"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "Attributet PROCEDURE står i konflikt med attributet PROTECTED vid %L"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr "”%s” vid %L har attributet CONTIGUOUS, men är inte en vektorpekare eller en vektor med förmodad form"
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-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:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-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:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "Symbol vid %L är inte en DUMMY-variabel"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-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:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-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:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-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:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-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:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 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:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-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:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr "Variabeln %s vid %L av typen LOCK_TYPE eller med en delkomponent av typen LOCK_TYPE måste vara en co-vektor"
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-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:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Attrappargumentet ”%s” vid %L av LOCK_TYPE får inte vara INTENT(OUT)"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "Funktionsresultat ”%s” vid %L skall inte vara en co-vektor eller ha en co-vektorkomponent"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr "Variabeln ”%s” vid %L av TYPE(C_PTR) eller TYPE(C_FUNPTR) får inte vara en co-vektor"
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr "Variabeln ”%s” vid %L med co-vektorkomponent skall vara en skalär som inte är en pekare eller allokerbar"
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr "Variabeln ”%s” vid %L är en co-vektor och är inte ALLOCATABLE, SAVE eller ett attrappargument"
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "Co-vektorvariabeln ”%s” vid %L skall inte ha co-dimensioner med fördröjd form"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "Allokerbar co-vektorvariabel ”%s” vid %L måste ha en fördröjd form"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr "Variabeln ”%s” vid %L är INTENT(OUT) och kan alltså inte vara en allokerbara co-vektor eller har co-vektorkomponenter"
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "Co-attrappvariabeln ”%s” vid %L är inte tillåten i BIND(C)-proceduren ”%s”"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "Trådprivat vid %L är inte SAVE:ad"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-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:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-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:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "DATA-elementet ”%s” vid %L kan inte ha ett co-index"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr "DATA-element ”%s” vid %L är en pekare och måste då vara en fullständig vektor"
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "Ickekonstant vektorsektion vid %L i DATA-sats."
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "DATA-sats vid %L har fler variabler än värden"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr "början av underförstådd do-slinga vid %L kan inte förenklas till ett konstant värde"
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr "slutet av underförstådd do-slinga vid %L kan inte förenklas till ett konstant värde"
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr "steget i underförstådd do-slinga vid %L kan inte förenklas till ett konstant värde"
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "DATA-sats vid %L har fler värden än variabler"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "Etiketten %d vid %L är definierad men inte använd"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "Etiketten %d vid %L är definierad men kan inte användas"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-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:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-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:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-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:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-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:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "Syntaxfel i EQUIVALENCE-sats vid %L"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr "Antingen alla eller inget av objekten i EQUIVALENCE-mängden vid %L kan ha attributet PROTECTED"
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-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:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-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:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-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:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-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:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "Delsträng vid %L har längden noll"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Fortran 2003: PUBLIC-funktion ”%s” vid %L har PRIVATE typ ”%s”"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY ”%s” vid %L har ingen IMPLICIT-typ"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-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:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-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:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-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:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "Första argumentet till operatorgränssnitt vid %L får inte vara frivilligt"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "Andra argumentet till operatorgränssnitt vid %L får inte vara valfritt"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "Operatorgränssnitt vid %L måste ha, högst, två argument"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-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"
@@ -43023,34 +43018,34 @@ msgstr "Magnituden på andra argumentet till %s överskrider bitstorleken vid %L
 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:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "DIM-argument vid %L är utanför gränsen"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-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:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-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:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-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:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-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:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "Andra argumentet till MOD vid %L är noll"
@@ -43058,47 +43053,47 @@ msgstr "Andra argumentet till MOD vid %L är noll"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "Andra argumentet till MODULO vid %L är noll"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "Resultatet av NEAREST är NaN vid %L"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr "Argument NCOPIES till inbyggd REPEAT är negativt vid %L"
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-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:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "Resultat av SCALE spiller över sin sort vid %L"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-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:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr "Utanför gränserna i IMAGE_INDEX vid %L för dimension %d, SUB har %ld och COARRAY nedre gräns är %ld)"
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr "Utanför gränserna i IMAGE_INDEX vid %L för dimension %d, SUB har %ld och COARRAY övre gräns är %ld)"
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr "Tecknet ”%s” i sträng vid %L kan inte konverteras till tecken av sort %d"
@@ -43468,17 +43463,17 @@ msgstr "Överlappande olika initierare i EQUIVALENCE vid %L"
 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-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr "Skapar vektortemporär vid %L för argument ”%s”"
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end 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:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "felaktig uttryckstyp under genomlöpning (%d)"
@@ -44088,17 +44083,17 @@ msgstr "bytekodström: skräp i slutet av symbolsektionen"
 msgid "could not parse hex number"
 msgstr "kunde inte tolka hexadecimalt tal"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "oväntat filnamn %s i länkupplösningsfilen.  %s förväntades"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "det gick inte tolka filavstånd"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr "oväntat avstånd"
@@ -44108,67 +44103,67 @@ msgstr "oväntat avstånd"
 msgid "invalid line in the resolution file"
 msgstr "ogiltig rad i upplösningsfilen"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "ogiltig upplösning i upplösningsfilen"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr "upplösnings-under-id"
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "det går inte att läsa LTO-deklarationer från %s"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "Kan inte öppna %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "Kan inte avbilda %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "Kan inte läsa %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr "inget filnamn för LTRANS-utdatalista angivet"
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "när LTRANS-utdatafil %s öppnades: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr "lto_obj_file_open() misslyckades"
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "när utdata skrevs till LTRANS-utdatalista %s: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "när LTRANS-utdatalista %s stängdes: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "det gick inte att öppna symbolupplösningsfilen: %m"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr "fel vid sammanslagning av översättningsenheter"
index fffe95f..9194b24 100644 (file)
Binary files a/gcc/po/tr.gmo and b/gcc/po/tr.gmo differ
index b86f84b..502b627 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.1.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -28,7 +28,7 @@ msgstr "<anonim>"
 msgid "({anonymous})"
 msgstr "<anonim>"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of module"
 msgid "expected end of line"
@@ -39,8 +39,8 @@ msgstr "Beklenmeyen modül sonu"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "%<;%> umuluyordu"
@@ -52,14 +52,14 @@ msgstr "%<;%> umuluyordu"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<(%>"
 msgstr "%<{%> umuluyordu"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<,%>"
@@ -76,7 +76,7 @@ msgstr "%<{%> umuluyordu"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<)%>"
@@ -84,7 +84,7 @@ msgstr "%<{%> umuluyordu"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<]%>"
@@ -96,27 +96,27 @@ msgstr "%<{%> umuluyordu"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "%<,%>, %<;%> veya %<}%> umuluyordu"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<}%>"
 msgstr "%<{%> umuluyordu"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "%<{%> umuluyordu"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<:%>"
 msgstr "%<{%> umuluyordu"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<while%>"
@@ -128,38 +128,38 @@ msgstr "%<{%> umuluyordu"
 msgid "expected %<.%>"
 msgstr "%<{%> umuluyordu"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@end%>"
 msgstr "%<{%> umuluyordu"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<>%>"
 msgstr "%<{%> umuluyordu"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<,%> or %<)%>"
 msgstr "%<,%> veya %<;%> umuluyordu"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "%<=%> umuluyordu"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<}%>"
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "%<,%> veya %<}%> umuluyordu"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<[%>"
@@ -348,12 +348,12 @@ msgstr "'%%l' terimi bir yafta değil"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "gerçel sayı sabit yanlış kullanılmış"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "terim olarak ifade geçersiz"
@@ -1526,20 +1526,20 @@ msgstr "tanımlanamayan komut:"
 msgid "insn does not satisfy its constraints:"
 msgstr "komut kendi kısıtlarını gözönüne almıyor:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "`%s''in farklı ayarları ile oluşturulup kullanılmış"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "bellek yetersiz"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "-fpic'in farklı ayarları ile oluşturulup kullanıldı"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "-fpie'in farklı ayarları ile oluşturulup kullanıldı"
 
@@ -2223,207 +2223,207 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Birleştiricinin son değeri olarak kaydedilebilen RTL düğümlerinin azami sayısı"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Tamsayı sabitlerin paylaşımı için üst sınır"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Tam sanal isimlendirmeye geçişte göz önüne alınacak sanal eşlemlerin asgari sayısı"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "tam sanal isimlendirme yapacak sanal simgeler ile sanal eşlemler arasındaki oran"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "yığıt parçalanma koruması için ele alınacak bir tampon için alt sınır"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "sıçramalar evrelenirken yinelenmesi gereken bir blokta izin verilen deyimlerin azami sayısı"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Gösterici çözümlemesinin yapıyı tek değişken olarak ele almasından önce bir yapı içindeki alanların azami sayısı"
 
-#: params.def:705
+#: params.def:706
 #, fuzzy
 #| msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Bloklar arası zamanlama için ele alınacak bir bölgedeki asm komutlarının azami sayısı"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 #, fuzzy
 #| msgid "The minimum cost of an expensive expression in the loop invariant motion"
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "döngü içinde değişmez hareket içinde pahalı ifadenin asgari maliyeti"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 #| msgid "maximum value of parameter %qs is %u"
 msgid "maximum number of parameters in a SCoP"
 msgstr "%qs parametresinin azami değeri %u'dur."
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Bloklar arası zamanlama için ele alınacak bir bölgedeki asm komutlarının azami sayısı"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Dallanmaların diğer komutlarla paketlenmesine izin verir"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Dallanmaların diğer komutlarla paketlenmesine izin verir"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2770,18 +2770,18 @@ msgid "invalid %%r value"
 msgstr "%%r değeri geçersiz"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "%%R değeri geçersiz"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "%%N değeri geçersiz"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "%%P değeri geçersiz"
@@ -2796,12 +2796,12 @@ msgstr "%%h değeri geçersiz"
 msgid "invalid %%L value"
 msgstr "%%L değeri geçersiz"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "%%m değeri geçersiz"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "%%M değeri geçersiz"
@@ -2812,7 +2812,7 @@ msgid "invalid %%U value"
 msgstr "%%U değeri geçersiz"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "%%s değeri geçersiz"
@@ -2822,7 +2822,7 @@ msgstr "%%s değeri geçersiz"
 msgid "invalid %%C value"
 msgstr "%%C değeri geçersiz"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "%%E değeri geçersiz"
@@ -2833,40 +2833,40 @@ msgid "unknown relocation unspec"
 msgstr "bilinmeyen yerdeğişim unspec"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "%%xn kodu geçersiz"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "isnatlı Thumb komutu"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "koşullu dizilimde isnatlı komut"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "terim, kod `%c' için geçersiz"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 #| msgid "invalid %%f operand"
 msgid "invalid shift operand"
 msgstr "geçersiz %%f terimi"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2874,90 +2874,90 @@ msgstr "geçersiz %%f terimi"
 msgid "invalid operand for code '%c'"
 msgstr "terim, kod `%c' için geçersiz"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 #| msgid "instruction never exectued"
 msgid "instruction never executed"
 msgstr "komut hiç çalıştırılmadı"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "terim eksik"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "işlev bir küme ile dönüyor"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "işlev dizge türü ile dönmüyor"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "çıktı terimi %d %<&%> kısıtını kullanmalı"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "hatalı adres, (reg+disp) değil:"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "adres mesafesi bir sabit değil"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "hatalı adres, (reg+disp) değil:"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "hatalı adres, post_inc veya pre_dec değil:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "derleyici iç hatası.  Hatalı adres:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "Derleyici iç hatası.  Bilinmeyen kip:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "geçersiz komut:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "yanlış komut:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "bilinmeyen taşıma komutu:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "hatalı kaydırma komutu:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "derleyici iç hatası.  Yanlış kaydırma:"
 
@@ -2973,7 +2973,7 @@ msgstr "const_double terim geçersiz"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3205,80 +3205,80 @@ msgstr "output_move_double terimi hatalı"
 msgid "bad output_condmove_single operand"
 msgstr "output_condmove_single terimi hatalı"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "terim olarak UNSPEC geçersiz"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "terim, kod `%c' için geçersiz"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "terim, kod `%c' için geçersiz"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 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:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, 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:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "terim ne bir sabit ne de bir koşul kodu, geçersiz terim kodu 'c'"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "terim kodu `%c' geçersiz"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "kısıtlar terim için geçersiz"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "bilinmeyen komut kipi"
 
@@ -3332,13 +3332,13 @@ msgstr "%<__fpreg%> türüne dönüşüm geçersiz"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "%<__fpreg%> üzerinde geçersiz işlem"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "%%p değeri geçersiz"
@@ -3421,7 +3421,7 @@ msgid "post-increment address is not a register"
 msgstr "sonradan arttırımlı adres bir yazmaç değil"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "hatalı adres"
 
@@ -3567,129 +3567,129 @@ msgstr "Yığıt taştı.\n"
 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:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "Donanım kayan nokta aritmetiği kullanılır"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-f%s ile -msdata=%s uyumsuz."
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "İndisli adresleme kapatılır"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s ile -msdata=%s uyumsuz."
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad test"
 msgid "bad move"
 msgstr "hatalı test"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "%%H değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "%%f değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "%%F değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "%%G değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "%%j kodu geçersiz"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "%%J kodu geçersiz"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "%%k değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "%%K değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "%%O değeri geçersiz"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "%%q değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "%%S değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "%%T değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "%%u değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "%%v değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "%%x değeri geçersiz"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 #| msgid "invalid punctuation %qc in constraint"
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "kısıt içindeki `%qc' işareti geçersiz"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "AltiVec argümanı prototipsiz işleve aktarıldı"
 
@@ -3788,25 +3788,25 @@ msgstr "'o' değiştiricisi için terim geçersiz"
 msgid "invalid operand for code: '%c'"
 msgstr "terim, kod `%c' için geçersiz"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R için terim geçersiz"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S için terim geçersiz"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "farklı ABI/mimarilerle oluşturulup kullanılmış"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "farklı ABI'lerle oluşturulup kullanılmış"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "farklı bayt sıralaması ile oluşturulup kullanılmış"
 
@@ -3825,13 +3825,13 @@ msgstr "geçersiz %%A terimi"
 msgid "invalid %%B operand"
 msgstr "geçersiz %%B terimi"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "geçersiz %%C terimi"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "geçersiz %%D terimi"
@@ -3876,65 +3876,65 @@ msgstr "`o' terimi sabit değil"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: kod bilinmiyor"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "geçersiz %%c terimi"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "geçersiz %%d terimi"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "%%j kodu geçersiz"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "geçersiz %%c terimi"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "%%P terimi geçersiz"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "'b' değiştirici için terim geçersiz"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4300,7 +4300,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "adaylar:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4707,11 +4707,11 @@ msgstr "blok IF"
 msgid "implied END DO"
 msgstr "örtük END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "atama"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "gösterici ataması"
 
@@ -4719,143 +4719,143 @@ msgstr "gösterici ataması"
 msgid "simple IF"
 msgstr "basit IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "function returning a function"
 msgid "internal function"
 msgstr "bir işlev döndüren işlev"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 #, fuzzy
 #| msgid "elemental subroutine"
 msgid "elemental procedure"
 msgstr "öğesel altyordam"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, fuzzy, c-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "%s için %L'deki çeşit geçersiz"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, 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:3830
+#: fortran/resolve.c:3832
 #, 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:3845
+#: fortran/resolve.c:3847
 #, 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:3864
+#: fortran/resolve.c:3866
 #, 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:3878
+#: fortran/resolve.c:3880
 #, fuzzy, c-format
 #| msgid "Operand of .NOT. operator at %%L is %s"
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "%%L'deki .NOT. işlecinin terimi %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "%L'de COMPLEX nicelikler karşılaştırılamıyor"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, 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:3927
+#: fortran/resolve.c:3929
 #, 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:3935
+#: fortran/resolve.c:3937
 #, fuzzy, c-format
 #| msgid "unknown operator '%s' in %%:version-compare"
 msgid "Unknown operator '%s' at %%L"
 msgstr "%%:version-compare içindeki '%s' işleci bilinmiyor"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, 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:3941
+#: fortran/resolve.c:3943
 #, 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:4029
+#: fortran/resolve.c:4031
 #, fuzzy, c-format
 #| msgid "Inconsistent ranks for operator at %L and %L"
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "%L ve %L'de işliçler için sıralar uyumsuz"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 #| msgid "Perform variable tracking"
 msgid "iterator variable"
 msgstr "Değişken izleme uygulanır"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Start expression in DO loop"
 msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "terim olarak ifade geçersiz"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Step expression in DO loop"
 msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 #| msgid "DEALLOCATE "
 msgid "DEALLOCATE object"
 msgstr "YERAÇ "
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 #| msgid "ALLOCATE "
 msgid "ALLOCATE object"
 msgstr "AYIR "
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4864,7 +4864,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5202,6 +5202,18 @@ msgstr "mthreads ve mlegacy-threads birlikte kullanılamaz."
 msgid "cannot use mshared and static together"
 msgstr "mshared ve static birlikte kullanılamaz."
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5295,28 +5307,12 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared seçeneği VAX ELF için şu an desteklenmiyor."
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 #| msgid "GCC does not support -C or -CC without -E"
 msgid "gfortran does not support -E without -cpp"
 msgstr "GCC -E olmaksızın -C veya -CC desteklemez"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a kıymetsiz baytın başta olduğu sıralamayı desteklemiyor"
@@ -5329,6 +5325,10 @@ msgstr " çelişen code gen tarzı switch'ler kullanılmış"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared seçeneği VAX ELF için şu an desteklenmiyor."
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8357,7 +8357,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Renesas (Hitachi) / SuperH çağrı uzlaşımları izlenir"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "Kayan noktalı kod için IEEE uyumluluğu arttırılır"
 
 #: config/sh/sh.opt:278
@@ -13082,310 +13084,304 @@ msgstr "ID tabanlı paylaşımlı kütüphane etkin olur"
 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)"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of %qD"
 msgid "invalid use of type"
 msgstr "%qD kullanımı geçersiz"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 #| msgid "inlined_to pointer refers to itself"
 msgid "constant refers to itself"
 msgstr "Inlined_to göstericisi kendini gösteriyor"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected numeric type"
 msgstr "İfade türü umuluyordu"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected boolean type"
 msgstr "İfade türü umuluyordu"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 #| msgid "Expected integer string"
 msgid "expected integer or boolean type"
 msgstr "Tamsayı dizgesi umuluyordu"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operands to binary %s"
 msgid "invalid operand for unary %<&%>"
 msgstr "iki terimli %s için terimler geçersiz"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "Expected integer"
 msgid "expected pointer"
 msgstr "Tamsayı umuluyordu"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in binary expression"
 msgstr "dönüş değerinde uyumsuz türler"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qs has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "%qs dizisinin boyutu tamsayı tür değil"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "switch miktarı bir tamsayı değil"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "negatif komut uzunluğu"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object %qE is not a function"
 msgid "object is not a method"
 msgstr "çağrılan nesne %qE bir işlev değil"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "argument of type %qT does not match %qT"
 msgid "method type does not match object type"
 msgstr "%qT türündeki argüman %qT ile eşleşmiyor"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "yerleşik işleve aktarılan argüman geçersiz"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "argüman yok"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "biçim için argüman sayısı çok fazla"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument 1 must be a map"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "invalid type argument"
 msgid "invalid type for make function"
 msgstr "tür argümanı geçersiz"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "'A' için hatalı komut"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "biçim için argüman sayısı çok fazla"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be array or slice or channel"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "unsupported argument type to builtin function"
 msgstr "yerleşik işleve aktarılan argüman geçersiz"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "Argument dim at %L must be scalar"
 msgid "argument must be channel"
 msgstr "%L'de boyut argümanı değişmez olmalı"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be a field reference"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "left argument must be a slice"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "first argument of %q+D should be %<int%>"
 msgid "first argument must be []byte"
 msgstr "%q+D için ilk argüman %<int%> olmalıydı"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "tls_model argument not a string"
 msgid "second argument must be slice or string"
 msgstr "tls_model argümanı bir dizge değil"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "%Jparameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "%J%u. parametre void türde"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "%Jparameter %u has incomplete type"
 msgid "argument must have complex type"
 msgstr "%J%u. parametre tamamlanmamış türde"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "cleanup argument not an identifier"
 msgid "complex arguments must have identical types"
 msgstr "cleanup argümanı bir betimleyici değil"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "Do not use hardware floating point"
 msgid "complex arguments must have floating-point type"
 msgstr "Donanım kayan nokta aritmetiği kullanılmaz"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of %<this%> at top level"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "tepe seviyede %<this%> kullanımı geçersiz"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "unexpected node"
 msgid "expected function"
 msgstr "umulmadık düğüm"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for receiver"
 msgstr "dönüş değerinde uyumsuz türler"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of %<this%> in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "üye olmayan işlevde %<this%> kullanımı geçersiz"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "incoming edge count does not match number of PHI arguments"
 msgid "number of results does not match number of values"
 msgstr "gelen ayrıt sayısı PHI argüman sayısı ile uyuşmuyor"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer."
 msgid "index must be integer"
 msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer."
 msgid "slice end must be integer"
 msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in assignment"
 msgid "incompatible type for map index"
 msgstr "atamada uyumsuz türler"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "biçim için argüman sayısı çok fazla"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "biçim için argüman sayısı yetersiz"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid use of void expression"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "void ifade kullanımı geçersiz"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "expected class name"
 msgid "expected channel"
 msgstr "sınıf ismi umuluyordu"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13433,21 +13429,25 @@ msgstr "asm deyiminde geçersiz sol taraf"
 msgid "expected boolean expression"
 msgstr "ifade umuluyordu"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in send"
 msgstr "dönüş değerinde uyumsuz türler"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -13767,7 +13767,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
@@ -13869,13 +13869,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void değer yoksayılması gerekirken yoksayılmadı"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "sabit türe dönüşüm istendi"
@@ -14269,7 +14269,7 @@ msgstr "deyim ifadesine jump"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H%qEyanlış etiket çeşidi olarak tanımlı"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "%<restrict%> kullanımı geçersiz"
@@ -14400,7 +14400,7 @@ msgstr "değişken uzunluklu nesne ilklendirilemeyebilir"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "%qD değişkeni ilklendiricili ama içi boş türde"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, 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ş"
@@ -14411,7 +14411,7 @@ msgstr "satıriçi %q+D işlevine satıriçi olmayan öznitelik verilmiş"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "ilklendirilmemiş sabit üyesi %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D will be initialized after"
 msgid "%qD should be initialized"
@@ -15405,7 +15405,7 @@ msgstr "%qD argümanı yerleşik prototiple eslesmiyor"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "%qD argümanı prototiple uyumsuz"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "void olmayan dönüşlü işlevde `return' deyimi yok"
@@ -15622,7 +15622,7 @@ msgstr "ISO C işlevler dışında fazladan %<;%> kullanımına izin vermez"
 msgid "unknown type name %qE"
 msgstr "bilinmeyen yazmaç ismi: %s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "bildirim belirteçleri umuluyordu"
@@ -15633,7 +15633,7 @@ msgstr "bildirim belirteçleri umuluyordu"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "betimleyici veya %<(%> umuluyordu"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored for methods"
@@ -15686,7 +15686,7 @@ msgstr "ISO C90 %<long long%>'u desteklemez"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 %<long long%>'u desteklemez"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "dizge sabiti umuluyordu"
@@ -15722,8 +15722,8 @@ msgstr "CRIS-port olumlaması başarısız: "
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "betimleyici umuluyordu"
@@ -16076,84 +16076,84 @@ msgstr "bildirim belirteçleri umuluyordu"
 msgid "no type or storage class may be specified here,"
 msgstr "%qs için saklatım sınıfı belirtilmiş"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "%<#pragma pack%> sonrasında %<(%> eksik - yoksayıldı"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "%<#pragma pack%> sonrasında %<(%> eksik - yoksayıldı"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%Jbölüm özniteliği yerel değişkenler için belirtilmiş olamaz"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 #| msgid "%Jaddress area attribute cannot be specified for functions"
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%Jadres alanı özelliği işlevler için belirtilemez"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 #| msgid "malformed #pragma GCC pch_preprocess, ignored"
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "#pragma GCC pch_preprocess bozuk, yoksayıldı"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 #| msgid "too many input files"
 msgid "too many %qs clauses"
 msgstr "girdi dosyası sayısı çok fazla"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 #| msgid "comparison between signed and unsigned integer expressions"
 msgid "collapse argument needs positive constant integer expression"
 msgstr "işaretli ve işaretsiz tamsayı ifadeler arasında karşılaştırma"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<none%> or %<shared%>"
@@ -16170,45 +16170,45 @@ msgstr "ifade umuluyordu"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 #| msgid "invalid const_double operand"
 msgid "invalid schedule kind"
 msgstr "const_double terim geçersiz"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not a valid output file"
 msgid "%qs is not valid for %qs"
 msgstr "%qs geçerli bir çıktı dosyası değil"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "malformed %<#pragma align%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "%<#pragma align%> bozuk"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operation on %<__fpreg%>"
 msgid "invalid operator for %<#pragma omp atomic%>"
@@ -16220,7 +16220,7 @@ msgstr "%<__fpreg%> üzerinde geçersiz işlem"
 msgid "expected %<(%> or end of line"
 msgstr "Beklenmeyen modül sonu"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 #| msgid "%s statement expected at %L"
 msgid "for statement expected"
@@ -16237,12 +16237,12 @@ msgstr "bildirim veya deyim umuluyordu"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qD should not be firstprivate"
@@ -16272,27 +16272,27 @@ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%J%u. parametre tamamlanmamış türde"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -17110,7 +17110,7 @@ msgstr "parantezli dizge sabitten ilklendirmeli dizi"
 msgid "initialization of a flexible array member"
 msgstr "esnek dizi üyesi ilklendirmesi"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "karakter dizisinin ilklendiricisi olarak geniş dizge kullanılmış"
@@ -17322,235 +17322,235 @@ msgstr "void dönüşlü işlevde %<return%> değer içeriyor"
 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:8825
+#: c-typeck.c:8831
 #, 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:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch miktarı bir tamsayı değil"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, 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:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "case label is not an integer constant expression"
 msgstr "dizi boyutu bir tümleyen sabit ifadesi değil"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case etiketi bir switch deyimi içinde değil"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%> etiketi bir switch deyimi içinde değil"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%Hanlamca belirsiz %<else%>den kaçınmak için kaşlı ayraçlar önerilir"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, 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:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue deyimi bir döngü içinde değil"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 #| msgid "break statement not within loop or switch"
 msgid "break statement used with OpenMP for loop"
 msgstr "break deyimi switch ya da döngü içinde değil"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "deyim etkisiz"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "ifade deyimi boş tür içeriyor"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "sağa kaydırma sayısı negatif"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, 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:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "sola kaydırma sayısı negatif"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, 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:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "operands to ?: have different types"
 msgid "comparing vectors with different element types"
 msgstr "?: için terimler farklı türde"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, 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:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "bir tür dönüşümü olmaksızın ayrı gösterici türlerinin karşılaştırması"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, 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:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, 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:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "gösterici ile tamsayı arasında karşılaştırma"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, 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:10209
+#: c-typeck.c:10215
 #, 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:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "tamsayı sıfır ile sıralı gösterici karşılaştırması"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, 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:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 #| msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "%qT türünden %qT türüne örtük dönüşüme C++'da izin verilmez"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, 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:10582
+#: c-typeck.c:10588
 #, 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:10586
+#: c-typeck.c:10592
 #, 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:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "doğrudan değer gereken yerde yapı türünde değer kullanılmış"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<restrict%>"
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%<restrict%> kullanımı geçersiz"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not an accessible base of %qT"
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qT erişilebilir bir %qT tabanı değil"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -18620,7 +18620,7 @@ msgstr "%d nin baskını %d olmalı, %d değil"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -18747,13 +18747,13 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "genel yazmaç değişkeni %qD iç işlevde kullanılmış"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%q+D işlevinin yeniden bildirimi inline öznitelikli değil"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute warning: %s"
@@ -18845,27 +18845,27 @@ msgstr "fold sınaması: özgün ağac fold tarafından değiştirildi"
 msgid "total size of local objects too large"
 msgstr "%Jyerel nesnelerin toplam boyutu çok büyük"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%> içindeki kısıt imnkansız"
 
-#: function.c:3959
+#: function.c:3974
 #, 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:3980
+#: function.c:3995
 #, 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:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "işlev bir küme ile dönüyor"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "parametre %q+D kullanılmamış"
@@ -19343,67 +19343,67 @@ msgstr "ağaç denetimi: %1$qs sınıfı umuluyordu, %5$s dosyasının %6$d. sat
 msgid "using result of function returning %<void%>"
 msgstr "void olmayan dönüşlü işlevde `return' deyimi yok"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "asm çıktısı %d içinde geçersiz sol değer"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "bellek girdisi %d doğrudan adreslenebilir değil"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qE should be private"
 msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "iteration variable %qE should not be reduction"
 msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 #| msgid "local variable %qD may not appear in this context"
 msgid "%s variable %qE is private in outer context"
 msgstr "yerel değişken %qD bu kapsamda görünemez"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimpleme başarısız"
@@ -19625,48 +19625,48 @@ msgstr "%qs alanı bir işlev olarak bildirilmiş"
 msgid "function %qD redeclared as variable"
 msgstr "işlev %q+D 'inline' olarak yeniden bildirilmiş"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -19771,13 +19771,13 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
@@ -20163,8 +20163,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "'%s' bir %s yazmacı olarak kullanılamıyor"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "bilinmeyen yazmaç ismi: %s"
@@ -20478,7 +20478,7 @@ msgstr "paketli öznitelik yetersiz hizalamaya sebep oluyor"
 msgid "packed attribute is unnecessary"
 msgstr "paketli öznitelik gereksiz"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "dizi elemanlarının hizalaması eleman boyutundan büyük"
@@ -20500,13 +20500,13 @@ msgstr "bu hedefte global yıkıcılar desteklenmiyor"
 msgid "nested function trampolines not supported on this target"
 msgstr "bu hedefte -ffunction-sections desteklenmiyor"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "target attribute is not supported on this machine"
 msgstr "bu platformda %qE özniteliği desteklenmiyor"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 #| msgid "#pragma extern_prefix not supported on this target"
 msgid "#pragma GCC target is not supported for this machine"
@@ -20707,7 +20707,7 @@ msgstr "DB komutunun kullanımı etkin olur"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -20723,7 +20723,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "aslen dolaylı işlev çağrıları satır içine almaya konu olmaz"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -20738,7 +20738,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "namespace %qD not allowed in using-declaration"
 msgid "asm not allowed in atomic transaction"
@@ -20777,7 +20777,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "attributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -21471,127 +21471,127 @@ msgstr "döküm dosyası %qs açılamadı: %s"
 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:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i has multiple EH edges"
 msgstr "BB %i yakalanamıyor ama EH ayrıtları var"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i can not throw but has EH edges"
 msgid "BB %i can not throw but has an EH edge"
 msgstr "BB %i yakalanamıyor ama EH ayrıtları var"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "BB %i son deyiminin bölgesi yanlış belirlenmiş"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unnecessary EH edge %i->%i"
 msgid "Incorrect EH edge %i->%i"
 msgstr "gereksiz EH ayrıtı %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "düşen ayrıtta yanlış komut"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "BB %i last statement has incorrectly set region"
 msgid "BB %i has incorrect edge"
 msgstr "BB %i son deyiminin bölgesi yanlış belirlenmiş"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "düşen ayrıtta yanlış komut"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it receives a non-local goto"
 msgid "function %q+F can never be copied 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:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it uses variable sized variables"
 msgid "function %q+F can never be copied 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:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, 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:3122
+#: tree-inline.c:3123
 #, 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:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, 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:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, 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:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, 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:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "%q+F çağrısında satıriçine alma başarısız: %s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "buradan çağrıldı"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, 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"
@@ -21629,7 +21629,7 @@ 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:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA bozulması"
@@ -21878,78 +21878,78 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is outside array bounds"
 msgstr "dizi indisi bir tamsayı değil"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is above array bounds"
 msgstr "dizi indisi bir tamsayı değil"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is below array bounds"
 msgstr "dizi indisi bir tamsayı değil"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison 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"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison 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"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute can only be applied to class definitions"
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir"
 
-#: tree.c:5460
+#: tree.c:5475
 #, 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:5472
+#: tree.c:5487
 #, 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:5487
+#: tree.c:5502
 #, 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:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -21963,149 +21963,149 @@ msgstr "%q+D dllimport özniteliği olmaksızın yeniden bildirildi; önceki dll
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE özniteliği yoksayıldı"
 
-#: tree.c:5570
+#: tree.c:5585
 #, 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:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "%q+D işlevinin tanımı dllimport imli"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "%q+D değişkeninin tanımı dllimport imli"
 
-#: tree.c:5614
+#: tree.c:5629
 #, fuzzy, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "%2$qs özniteliğinden dolayı %1$q+D' simgesi için dış ilintileme gerekli"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "işlev dizileri anlamlı değil"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "işlevin dönüş türü işlev olamaz"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, fuzzy, gcc-internal-format, gfc-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:8881
+#: tree.c:8897
 #, fuzzy, gcc-internal-format, gfc-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:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, fuzzy, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, fuzzy, gcc-internal-format, gfc-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:9043
+#: tree.c:9059
 #, fuzzy, gcc-internal-format, gfc-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:9056
+#: tree.c:9072
 #, fuzzy, gcc-internal-format, gfc-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"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "`%qs' önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "`%qs' önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "`%qs' önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "`%qs' önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "tür önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "tür önerilmiyor (%s:%d. satırında bildirilmiş)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "%qs önerilmiyor"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated"
 msgstr "%qs önerilmiyor"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "tür önerilmiyor"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "tür önerilmiyor"
@@ -22337,12 +22337,12 @@ msgstr "%4$s:%5$u: %3$s işlevinde %1$s vektörü %2$s alanı hatası"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "%s stab (0x%x) için sclass yok"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -22357,8 +22357,8 @@ msgstr "%qD işlev etki alanı dışında tanımlı değil"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "dizge uzunluğu %1$qd ISO C%3$d derleyicilerin desteklemesi gereken uzunluk %2$qd den büyük"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "sabit ifadesinde taşma"
@@ -23028,40 +23028,40 @@ msgstr "%qE özniteliği %qE için yoksayıldı"
 msgid "invalid vector type for attribute %qE"
 msgstr "%qE özniteliği için vektör türü geçersiz"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "vektör boyutu bileşen boyutunun katlarından biri değil"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "vektör boyutu sıfır"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "vektör elemanlarının sayısı ikinin üstel katlarından biri değil"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "bir prototip olmayanda argümansız null olmayan öznitelik"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "null olmayan argüman geçersiz sayıda terim içeriyor (%lu. argüman)"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "null olmayan argüman aralığın dışında sayıda terim içeriyor (%lu. argüman, %lu terim)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "null olmayan argüman gösterici olmayan terime başvuruyor (%lu. argüman, %lu. terim)"
@@ -23101,12 +23101,12 @@ msgstr "%qE özniteliği isimli argümanları olan prototipler gerektirir"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE özniteliği sadece değişkin işlevlere uygulanır"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "istenen konum bir tamsayı sabit değil"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "istenen konum sıfırdan küçük"
@@ -24973,241 +24973,241 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency için değer %qs hatalı"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "hatalı yerleşik fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "-mcpu=%s ile -march= seçenekleri çelişiyor"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support ARM mode"
 msgstr "hedef işlemci beraber çalışmayı desteklemiyor"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "hedef işlemci beraber çalışmayı desteklemiyor"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "geri izleme desteğinin etkinleştirilmesi sadece Thumb komut seti için derleme yapılırken anlamlidir"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "çağrılan ile birlikte çalışma desteğinin etkinleştirilmesi sadece Thumb için derleme esnasında anlamlıdır"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check ile -mno-apcs-frame uyumsuz"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic ve -mapcs-reent uyumsuz"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "APCS yeniden girişli kod desteklenmiyor. Yoksayıldi"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g ile -mno-apcs-frame anlamlı hata ayıklama bilgisi vermeyebilir"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "henüz desteklenmeyen fp yazmaçlarındaki kayan noktalı argümanların aktarılması"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt, düzgün işlem için ABI uyumlu bir AAPCS gerektiriyor"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt abi bir iwmmxt yetenekli işlemci gerektiriyor"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "hedef işlemci beraber çalışmayı desteklemiyor"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "hedef işlemci beraber çalışmayı desteklemiyor"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "Donanım kayan nokta aritmetiği ve iWMMXt"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard ve VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, fuzzy, gcc-internal-format
 #| msgid "can not use -mtp=cp15 with -mthumb"
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15, -mthumb ile kullanılamaz"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "veri yapısı boyut sınırı sadece %s ye ayarlanabilir"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "veri yapısı boyut sınırı sadece %s ye ayarlanabilir"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "assert: %s %s ile uyumlu atanıyor"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register=, -fpic olmaksızın kullanışsız"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "PIC yazmacı için '%s' kullanılamıyor"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support unaligned accesses"
 msgstr "hedef işlemci beraber çalışmayı desteklemiyor"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "%qs özniteliği sadece işlevlere uygulanır"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "yığıttaki parametrenin gerçek konumu hesaplanamıyor"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qd is not a constant"
 msgid "argument must be a constant"
 msgstr "%qd argümanı bir sabit değil"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "seçici bir anlık değer olmalı"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "mask bir anlık değer olmalı"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "yüksek yazmaçları çekmeye elverişli düşük yazmaç yok"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "sistem kesmesi Servis İşlemleri Thumb kipinde kodlanamaz"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -25251,91 +25251,91 @@ msgstr "işlev bir değer ile donmuyor"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs imlası bozuk bir sinyal eylemcisi gibi görünüyor"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Tamsayı argümanları aktarmada kullanılan yazmaçların sayısı"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "weak declaration of %q+D not supported"
 msgid "writing to address space %qs not supported"
 msgstr "%q+D zayıf bildirimi desteklenmiyor"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, 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:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "program bellek alanına sadece ilklendirilmiş değişkenler yerleştirilebilir"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU `%qs' sadece sembolik çevirici için desteklenir"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of module in string constant"
 msgid "%s expects a compile time integer constant"
 msgstr "Dizge sabitinde umulmadık modül sonu"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -25696,452 +25696,452 @@ msgstr "PCH dosyası uzatılamıyor: %m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "PCH dosyası içinde konum belirlenemiyor: %m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -mtune= switch"
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, 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:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "PIC kipinde %s kod modeli desteklenmiyor"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %s does not support PIC mode"
 msgstr "PIC kipinde %s kod modeli desteklenmiyor"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s bu yapılandırmada desteklenmiyor"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "%i bitlik kip bunun içinde derlenmiş değil:"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, 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:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "-march= seçeneğinin değeri (%s) hatalı"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-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:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "bu hedefte -fprefetch-loop-arrays desteklenmiyor"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-msseregparm used without SSE enabled"
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "-msseregparm SSE etkin değilken kullanılmış"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, 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:3641
+#: config/i386/i386.c:3648
 #, 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:3685
+#: config/i386/i386.c:3692
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s 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:3698
+#: config/i386/i386.c:3705
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "stack probing requires %saccumulate-outgoing-args%s 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:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown -m%s= option specified: '%s'"
 msgid "unknown option for -mrecip=%s"
 msgstr "bilinmeyen -m%s= seçeneği belirtilmiş: '%s'"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ACCESS specification at %L was already specified"
 msgid "option(\"%s\") was already specified"
 msgstr "ACCESS belirtimi %L'de zaten belirtilmiş"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall ve regparm öznitelikleri uyumlu değil"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to %qs attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "%qs özniteliğine argüman %d den büyük"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall ve cdecl öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall ve cdecl öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qE attribute is used for none class-method"
 msgstr "%qE özniteliği sınıf türleri dışında yoksayılır"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "SSE/SSE2 etkin değilken sseregparm öznitelikli %qD çağrısı"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "SSE/SSE2 etkin değilken sseregparm öznitelikli %qT çağrısı"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "-march=%s seçilen ABI ile uyumsuz"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, fuzzy, gcc-internal-format
 #| msgid "MMX vector argument without MMX enabled changes the ABI"
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "MMX etkin değilken MMX vektör argümanı ABI'yi değiştirir"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "SSE etkin değilken SSE yazmaç dönüşü"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "SSE etkin değilken SSE yazmaç argümanı"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, fuzzy, gcc-internal-format
 #| msgid "SSE register return with SSE disabled"
 msgid "x87 register return with x87 disabled"
 msgstr "SSE etkin değilken SSE yazmaç dönüşü"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, 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:6721
+#: config/i386/i386.c:6728
 #, 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:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, 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:7442
+#: config/i386/i386.c:7449
 #, 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:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 esnek dizi üyelerini desteklemez"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "ek yazmaçların yüksek yarıları yok"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "ek yazmaç için desteklenmeyen terim boyutu"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid operand code '%c'"
 msgid "non-integer operand used with operand code '%c'"
 msgstr "terim kodu `%c' geçersiz"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 2-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "shift must be an immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "shift bir anlık değer olmalı"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 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:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "the last argument must be a 4-bit immediate"
 msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 1-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 5-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 8-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, 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:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "last argument must be an immediate"
 msgstr "mask bir anlık değer olmalı"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "%qE attribute only available for 32-bit"
 msgstr "%qs özniteliği sadece değişkenlere uygulanır"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of %qs attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "%qs incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -26220,13 +26220,13 @@ msgstr "%Jadres alanı özelliği işlevler için belirtilemez"
 msgid "%qE attribute requires a string constant argument"
 msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, 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:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -26302,7 +26302,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "bu platformda %qE özniteliği desteklenmiyor"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -26365,7 +26365,7 @@ msgstr "çok sayıda işlev türü öznitelik belirtilmiş"
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "yığıt sınırlama ifadesi desteklenmiyor"
@@ -26740,66 +26740,66 @@ msgstr "MMIX için function_profiler desteği"
 msgid "%qs does not support MIPS16 code"
 msgstr "%s %s desteği vermiyor"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, 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:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "-march=%s seçilen ABI ile uyumsuz"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit processor"
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "-mgp64 bir 32-bit işlemci ile kullanılmış"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp32 used with a 64-bit ABI"
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "-mgp32 bir 64-bit ABI ile kullanılmış"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit ABI"
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "-mgp64 bir 32-bit ABI ile kullanılmış"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "desteklenmeyen birleşim: %s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "%qs is incompatible with %qs"
@@ -26810,64 +26810,64 @@ msgstr "assert: %s %s ile uyumlu atanıyor"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "assert: %s %s ile uyumlu atanıyor"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, fuzzy, gcc-internal-format
 #| msgid "-mips3d requires -mpaired-single"
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "-mips3d seçeneği -mpaired-single gerektirir"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 #| msgid "-frepo must be used with -c"
 msgid "%qs must be used with %qs"
 msgstr "-frepo, -c ile kullanilmalı"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 #| msgid "Use the bit-field instructions"
 msgid "%qs requires branch-likely instructions"
 msgstr "Bit alanı komutları kullanılır"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 işlev ayrımlama"
@@ -27155,328 +27155,328 @@ msgstr "%2$qE işlevinin %1$d. argümanın aktarımı gösterici hedef türünde
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "AltiVec yerleşiği için parametre birleşimi geçersiz"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 seçeneği PowerPC64 mimarisini gerektirir, etkinleştiriliyor"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "ABI için yapılandırılmadı: '%s'"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "AltiVec not supported in this target"
 msgstr "bu hedefte yığıt sınırları desteklenmiyor"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "SPE not supported in this target"
 msgstr "bu hedefte yığıt sınırları desteklenmiyor"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, 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:2746
+#: config/rs6000/rs6000.c:2745
 #, 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:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, 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:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, 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:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Treat the input file as already preprocessed"
 msgid "internal error: builtin function %s already processed"
 msgstr "Girdi dosyaları evvelce önişlemden geçirilmiş kabul edilir"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, 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:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, 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:9974
+#: config/rs6000/rs6000.c:9973
 #, 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:10026
+#: config/rs6000/rs6000.c:10025
 #, 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:10283
+#: config/rs6000/rs6000.c:10282
 #, 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:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, 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:10637
+#: config/rs6000/rs6000.c:10636
 #, 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:10743
+#: config/rs6000/rs6000.c:10742
 #, 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:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 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:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate is out of range"
 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:11144
+#: config/rs6000/rs6000.c:11143
 #, 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:11216
+#: config/rs6000/rs6000.c:11215
 #, 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:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "bu yerleşik işlev sadece fr450 üzerinde kullanılabilir"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "yerleşik işlev `%q+D işlev olarak bildirilmemiş"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "command line option %qs is not supported by this configuration"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "komut satırı seçeneği %qs bu yapılandırmada desteklenmiyor"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "internal error: sideeffect-insn affecting main effect"
 msgid "internal error: builtin function %s had no type"
 msgstr "iç hata: yan etkili komut main etkisi oluşturuyor"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "yığıt çerçevesi çok büyük"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, 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:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, 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:24119
+#: config/rs6000/rs6000.c:24142
 #, 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:24121
+#: config/rs6000/rs6000.c:24144
 #, 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:24123
+#: config/rs6000/rs6000.c:24146
 #, fuzzy, gcc-internal-format
 #| msgid "use of boolean types in AltiVec types is invalid"
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "AltiVec türlerde mantıksal türlerin kullanımı geçersiz"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "AltiVec türlerde %<long%> kullanımı 64 bitlik kod için geçersiz"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, 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:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long long%> in AltiVec types is invalid"
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "AltiVec türlerde %<long long%> kullanımı geçersiz"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<double%> in AltiVec types is invalid"
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "AltiVec türlerde %<double%> kullanımı geçersiz"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "%<::%> kullanımı geçersiz"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%<#pragma%> is not allowed here"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%<#pragma%> burada kullanılamaz"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "spec '%s' is invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -27718,69 +27718,69 @@ msgstr "%qs çerçevi boyutu "
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs özdevimli yığıt tahsisi kullanıyor"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "olağandışılık yakalama (iç) hatası yüzünden -fschedule-insns yoksayılıyor"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, 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/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs bu alt hedef tarafından desteklenmiyor"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "%qs özniteliği sadece kesme işlevlerine uygulanır"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "bu platformda %qE özniteliği desteklenmiyor"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, 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"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to SH2A"
 msgstr "%qs özniteliği sadece işlevlere uygulanır"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "%qs öznitelik argümanı bir tamsayı sabit değil"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "%qs öznitelik argümanı bir dizge sabit değil"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, 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:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Need a second call-clobbered general purpose register"
 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:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 #| msgid "Need a call-clobbered target register"
 msgid "need a call-clobbered target register"
@@ -27910,13 +27910,13 @@ msgstr "%<__BELOW100__%> özniteliği sadece değişkenlere uygulanır"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ özniteliğine özdevinimli saklatım sınıfında izin verilmez"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin fcode"
 msgid "bad builtin icode"
 msgstr "hatalı yerleşik fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -28146,43 +28146,43 @@ msgstr "%<-gnat%> yerine yanlış olarak %<-gant%> kullanılmış"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "%qs özniteliği yoksayıldı"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires prototypes with named arguments"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qE özniteliği isimli argümanları olan prototipler gerektirir"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variadic functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "%qE özniteliği sadece değişkin işlevlere uygulanır"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "%qE özniteliği yoksayıldı"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid vector type for attribute %qs"
 msgstr "%qE özniteliği için vektör türü geçersiz"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "%qs özniteliği sadece değişkenlere uygulanır"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid element type for attribute %qs"
@@ -28640,7 +28640,7 @@ msgstr "üye işlev %qD nesne olmaksızın çağrılamaz"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "%qT aktarımı %qT türünü %qT türü üzerinden seçiyor"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  %qD çağrısında"
@@ -28705,439 +28705,439 @@ msgstr "%qT türündeki sabit olmayan başvurunun geçici %qT türünden ilklend
 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"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 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:998
+#: cp/class.c:999
 #, 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:1000
+#: cp/class.c:1001
 #, 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:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D,"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "%+#D ile aşırı yüklenemez"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, 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:1176
+#: cp/class.c:1177
 #, 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:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D %q#T içinde geçersiz"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, 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:1247
+#: cp/class.c:1248
 #, 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:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgid "cannot derive from %<final%> base %qT in derived type %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:1303
+#: cp/class.c:1304
 #, 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:1707
+#: cp/class.c:1708
 #, 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:1719
+#: cp/class.c:1720
 #, 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:1764
+#: cp/class.c:1765
 #, 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:2157
+#: cp/class.c:2158
 #, 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"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D tanımlanmış ama kullanılmamış"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  %q+D tarafından gizlendi"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, 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:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 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:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "anonim union içinde private üye %q+#D"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 #| msgid "private member %q+#D in anonymous union"
 msgid "private member %q+#D in anonymous struct"
 msgstr "anonim union içinde private üye %q+#D"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "anonim union içinde protected üye %q+#D"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 #| msgid "protected member %q+#D in anonymous union"
 msgid "protected member %q+#D in anonymous struct"
 msgstr "anonim union içinde protected üye %q+#D"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, 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:2903
+#: cp/class.c:2920
 #, 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:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "bit alanı %q+D için genişlik negatif"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, 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:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D kendi türünden geniş"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, 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:2982
+#: cp/class.c:2999
 #, 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:2985
+#: cp/class.c:3002
 #, 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:2987
+#: cp/class.c:3004
 #, 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:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "union %qT içinde çok sayıda alan ilklendirildi"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, 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:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, 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:3131
+#: cp/class.c:3148
 #, 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:3187
+#: cp/class.c:3204
 #, fuzzy, gcc-internal-format
 #| msgid "ignoring packed attribute on unpacked non-POD field %q+#D"
 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:3285
+#: cp/class.c:3302
 #, 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:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T gösterici veri üyeleri içeriyor"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  ama %<%T(const %T&)%>ye değiştirilmiyor"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  ya da %<operator=(const %T&)%> içeriyor"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  ama %<operator=(const %T&)%>ye değiştirilmiyor"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, 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:3999
+#: cp/class.c:4016
 #, 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:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static member function %qD"
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "static olmayan üye işlev %qD kullanımı geçersiz"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a base of %qT"
 msgid "%q+T is not literal because:"
 msgstr "%qT %qT tabanında değil"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "taban sınıf %q#T bir sanal olmayan yıkıcıya sahip"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "taban sınıf %q#T bir sanal olmayan yıkıcıya sahip"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static data member %q+D"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "static olmayan veri üyesi %q+D kullanımı geçersiz"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, 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:5076
+#: cp/class.c:5094
 #, 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"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, 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:5442
+#: cp/class.c:5460
 #, 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:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T sınıfın yeniden tanımı"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T has virtual functions but non-virtual destructor"
 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:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "sınıf %qT %qD isminde alan içermiyor"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type %qs has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "%qs türü sanal üye işlevlere sahip"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, 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:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "dil dizgesi %<\"%E\"%> tanınmıyor"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, 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:6972
+#: cp/class.c:7024
 #, 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:6995
+#: cp/class.c:7047
 #, 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:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "%qD üyesine gösterici varsayılıyor"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, 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:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "tür bilgisi yetersiz"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "%qE ifadesi %qT türünden %qT türüne dönüştürülemez"
@@ -29147,12 +29147,12 @@ msgstr "%qE ifadesi %qT türünden %qT türüne dönüştürülemez"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D yeniden bildirimi"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "%qD'nin %q+#D üzerindeki anlamını değişiyor"
@@ -29173,7 +29173,7 @@ msgstr "içi boş %qT türünden %qT türüne dönüşüm yapılamaz"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "array bound is not an integer constant"
 msgid "zero as null pointer constant"
@@ -30142,7 +30142,7 @@ msgstr "%qD başvuru olarak bildirilmiş ama ilklendirilmemiş"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "%qD ismi bir dizi için GNU tarzında tasarlanmış bir ilklendiricide kullanılmış"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "alelade olmayan ilklendiriciler desteklenmiyor"
@@ -30241,8 +30241,8 @@ msgstr "%qT %qD isminde statik olmayan bir üyeye sahip değil"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "%qT için ilklendirici sayısı çok fazla"
@@ -30816,7 +30816,7 @@ msgstr "%qT bir sınıf ya da isim alanı değil"
 msgid "type %qT is not derived from type %qT"
 msgstr "%qT türü %qT türünden türetilmemiş"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "işlev olmayan olarak %qD bildirimi"
@@ -31149,393 +31149,388 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "şablon kimliği %qD bir bildirici olarak kullanılmış"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, 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:9567
+#: cp/decl.c:9565
 #, fuzzy, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "üye %2$qs üzerinde fazladan niteleme %<%1$T::%>"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, 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:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "uye işlev %<%T::%s%> %<%T%> içinde bildirilemez"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "üye %<%T::%s%> %qT içinde bildirilemez"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 #| msgid "data member %qD cannot be a member template"
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "veri üyesi %qD bir üye şablon olamaz"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "%qs dizisinin boyutu çok büyük"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, 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:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "sadece kurucuların bildirimleri %<explicit%> olabilir"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "üye olmayan %qs, %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "nesne olmayan üye %qs %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "işlev %qs %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "static %qs %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "sabit %qs %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function %qs cannot be declared %<mutable%>"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "işlev %qs %<mutable%> olarak bildirilemez"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "typedef %q+D declared %<inline%>"
 msgid "typedef declared %<auto%>"
 msgstr "%<inline%> bildirimli typedef %q+D"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 #| msgid "%Jtypedef name may not be a nested-name-specifier"
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%Jtypedef ismi bir iç içe isimli belirteç olmayabilir"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, 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:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 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:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 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:9893
+#: cp/decl.c:9891
 #, 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:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "kardeş sınıf bildirimi için %<inline%> belirtilmiş"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "şablon parametreleri kardeş olamazlar"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, 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:9912
+#: cp/decl.c:9910
 #, 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:9925
+#: cp/decl.c:9923
 #, 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:9943
+#: cp/decl.c:9941
 #, 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:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "mutlak bildirimci %qT bildirim olarak kullanılmış"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "parametre bildiriminde %<::%> kullanılamaz"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D declared %<inline%>"
 msgid "parameter declared %<auto%>"
 msgstr "%<inline%> bildirimli %q+D parametresi"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member declared %<auto%>"
 msgstr "statik üye %qD %<register%> olarak bildirilmiş"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "%<::%> kullanımı geçersiz"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function %q#D conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "C işlevi %q#D bildirimi"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, 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:10090
+#: cp/decl.c:10088
 #, 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:10106
+#: cp/decl.c:10104
 #, 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:10113
+#: cp/decl.c:10111
 #, fuzzy, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%2$qT üyesi olarak %1$qD bildirimi"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "Constructor can't be %s"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "Kurucu %s olmayabilir"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "yıkıcı %qD için kardeş bildiriminde nitelikli isim umuluyordu"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "%qD alanı içi boş türde"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "%qT ismi içi boş türde"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  şablon %qT örnekleniminde"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE ne işlev ne de üye işlev; friend olarak bildirilemez"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "statik üye %qD %<register%> olarak bildirilmiş"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, 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:10304
+#: cp/decl.c:10302
 #, 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:10306
+#: cp/decl.c:10304
 #, 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:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "an asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "bir işlev tanımında bir asm belirtimine izin verilmez"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, 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:10324
+#: cp/decl.c:10322
 #, 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:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "sınıf olmayan sanal işlev %qs"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qs defined in a non-class scope"
 msgstr "%qE özniteliği sınıf türleri dışında yoksayılır"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qs declared in a non-class scope"
 msgstr "%qD bu etki alanında bildirilmemiş"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, 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:10375
+#: cp/decl.c:10373
 #, 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:10405
+#: cp/decl.c:10403
 #, 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:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "statik üye %qD %<register%> olarak bildirilmiş"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, 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:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %q#D outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "sınıf dışında %q#D bildirimi bir tanım değildir"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs ilklendirilmiş ve %<extern%> bildirilmiş"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs hem %<extern%> olarak bildirilmiş hem de ilklendrilmiş"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, 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:10573
+#: cp/decl.c:10571
 #, 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:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument %qE uses local variable %qD"
 msgid "default argument %qE uses %qD"
 msgstr "öntanımlı argüman %qE %qD yerel değişkenini kullanıyor"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, 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:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D has incomplete type"
 msgid "parameter %qD has Java class type"
 msgstr "%q+D parametresi tamamlanmamış türde"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, 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:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor"
@@ -31555,175 +31550,175 @@ msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor"
 #. 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:10987
+#: cp/decl.c:10998
 #, 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:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD bir isim alanı içinde bildirilemeyebilir"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD static olarak bildirilemeyebilir"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, 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:11149
+#: cp/decl.c:11160
 #, 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:11171
+#: cp/decl.c:11182
 #, 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:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class 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:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ ?: üç terimlisinin aşırı yüklenmesini yasaklar"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, 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:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "sonek %qD argüman olarak %<int%> almalı"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, 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:11297
+#: cp/decl.c:11308
 #, 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:11299
+#: cp/decl.c:11310
 #, 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:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "önek %qD %qT döndürmeli"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "sonek %qD %qT döndürmeli"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD %<void%> almalı"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD sadece ve sadece bir argüman almalı"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD sadece ve sadece iki argüman almalı"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, 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:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD değeriyle döndürülmeli"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD öntanımlı argümanlara sahip olamaz"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, 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:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr "%2$q+D için şablon özelleştirmesi %1$qD belirsiz"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, fuzzy, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "%2$qs sonrası typedef-ismi %1$qD kullanımı"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D has a previous declaration here"
 msgid "%qD has a previous declaration here"
 msgstr "%q+D için burada önceki bir bildirim var"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT türüne %qs olarak başvuruluyor"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T için burada önceki bir bildirim var"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT türüne enum olarak başvuruluyor"
@@ -31735,89 +31730,89 @@ msgstr "%qT türüne enum olarak başvuruluyor"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "%<%s %T%> için şablon argüman gerekli"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, 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:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "%qD ile ilişkilendirme belirsiz"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, 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:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "bir şablon olmayan olarak yeniden %qT bildirimi"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "önceden %q+D bildirimi"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "türetilmiş union %qT geçersiz"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, 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:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java sınıfı %qT sanal tabanlara sahip olamaz"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, 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:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "ardışık tür %qT tanımsız"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "yinelenmiş taban türü %qT geçersiz"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 #| msgid "%Jprevious definition here"
 msgid "previous definition here"
 msgstr "%Jönceden burada tanımlı"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -31826,77 +31821,77 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, 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:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C restricts enumerator values to range of %<int%>"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "ISO C sembolik sabit grubunun değerlerini %<int%> kapsamında sınırlar"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "%qD'de simgesel sabit değerlerinde taşma"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, 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:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "return type has Java class type %q#T"
 msgstr "dönüş türü, bir içi boş tür"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, 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:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%q+D için evvelce bildirim yok"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "işlev bildirimi geçersiz"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "parametre %qD void olarak bildirilmiş"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label %q+D defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "%q+D yaftası tanımlı ama kullanılmamış"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "geçersiz üye işlev bildirimi"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD zaten %qT sınıfında tanımlı"
@@ -32253,7 +32248,7 @@ msgstr "olağandışılık yakalaması iptal edildi, etkinleştirmek için -fexc
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "tumleyen, gösterici olmayan NULL yakalanıyor"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD asla aşırı yüklü olmamalı"
@@ -32528,161 +32523,161 @@ msgstr "%qT türü bir doğrudan %qT tabanı değil"
 msgid "bad array initializer"
 msgstr "dizi ilklendirici hatalı"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not have class type"
 msgid "%qT is not a class type"
 msgstr "%qE sınıf türüne sahip değil"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, 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:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "%qD bit alanına gösterici geçersiz"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, 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:1928
+#: cp/init.c:1930
 #, 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:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized reference member in %q#T"
 msgstr "%Jilklendirilmemiş referans üye %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in %<new%> of %q#T"
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "%q#T  %<new%>'u içinde ilklendirmesiz sabit"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized const member in %q#T"
 msgstr "ilklendirilmemiş sabit üyesi %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "new için %<void%> türü geçersiz"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "%q#T  %<new%>'u içinde ilklendirmesiz sabit"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "%qs ile Java kurucusuna çağrı tanımsız"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, fuzzy, gcc-internal-format
 #| msgid "Java class %qT cannot have multiple bases"
 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:2348
+#: cp/init.c:2350
 #, 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:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "üye %qD için istek belirsiz"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "ilklendiricide sabit olmayan dizi indisi"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "parantezli ilklendiriciden sonraki öznitelikler yoksayıldı"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, 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:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new bir referans türe uygulanamaz"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new bir işlev türe uygulanamaz"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "%<jclass%> tanımsızken Java kurucusuna çağrı"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find class$"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "class$ bulunamıyor"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "ilklendirici erken sonlanıyor"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "çok boyutlu diziler ilklendiricilerle ilklendirilemez"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, 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:3624
+#: cp/init.c:3626
 #, fuzzy, 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."
 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete içindeki dizi boyutu bilinmiyor"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, 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"
@@ -32772,12 +32767,12 @@ msgstr "%<?:%> için ortadaki terim olmadığından yorumlanamadı"
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, 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"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -32787,13 +32782,13 @@ msgstr ""
 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:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member %q#D, can't use default assignment operator"
 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:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member %q#D, can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -32810,106 +32805,106 @@ msgstr "%Hbireştirilmiş %qD yöntemi önce burada gerekli"
 msgid "union member %q+D with non-trivial %qD"
 msgstr "%1$J%<const%> %3$qT türü ile ilklendirilmemiş üye %2$qD"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "initializer for %qT must be brace-enclosed"
 msgid "initializer for %q+#D is invalid"
 msgstr "%qT için ilklendirici {} içinde olmalı"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized non-static const member %q#D"
 msgstr "ilklendirilmemiş sabit üyesi %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "%Jilklendirilmemiş referans üye %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "repeated using declaration %q+D"
 msgid "defaulted declaration %q+D"
 msgstr "%q+D bildirimi kullanılarak yinelenmiş"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "array does not match the region tree"
 msgid "does not match expected signature %qD"
 msgstr "dizi bölge ağacıyla eşleşmiyor"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a template cannot be defaulted"
 msgstr "şablon parametreleri kardeş olamazlar"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D cannot be declared"
 msgid "%qD cannot be defaulted"
 msgstr "%q+#D bildirilemez"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 #| msgid "file ends in default argument"
 msgid "defaulted function %q+D with default argument"
 msgstr "öntanımlı argüman içinde dosya sonu"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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"
@@ -33054,156 +33049,156 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D %q#T kurucusunu gizliyor"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, 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:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "önceden işlev olmayan bildirim %q+#D"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, 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:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "using bildiriminde isim alanı %qD kullanılamaz"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD bildirilmemiş"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD zaten bu bağlamda bildirilmiş"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, 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:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> yıkıcı isimlendiriyor"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> kurucu isimlendiriyor"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> %qT içinde kurucu isimlendiriyor"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, 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:3355
+#: cp/name-lookup.c:3360
 #, 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:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD bildiriminde doğrudan niteleme"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD %qD içinde bildirilmeliydi"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "%qD öznitelik yönergesi yoksayıldı"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, 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:3882
+#: cp/name-lookup.c:3887
 #, 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:3886
+#: cp/name-lookup.c:3891
 #, 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:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+#D"
 msgid "  %qE"
 msgstr "  %q+#D"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX, pop_everything () işlevine giriyor\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX, pop_everything () işlevini bırakıyor\n"
@@ -33349,7 +33344,7 @@ msgstr "geçersiz şablon kimliği"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s bir sabit ifadesinde görünemez"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -33606,7 +33601,7 @@ msgstr "typedef ismi %qD yıkıcı bildiricisi olarak kullanılmış"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 #| msgid "expected specifier-qualifier-list"
 msgid "expected unqualified-id"
@@ -33817,7 +33812,7 @@ msgstr "%<%T::%D%> %qT içinde kurucu isimlendiriyor"
 msgid "compound-statement in constexpr function"
 msgstr "Saf ve sabit işlevler keşfedilir"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected selection-statement"
@@ -33850,7 +33845,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected iteration-statement"
@@ -33867,13 +33862,13 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ hesaplanmış goto'lara izin vermez"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected jump-statement"
 msgstr "deyim umuluyordu"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "fazladan %<;%>"
@@ -33912,7 +33907,7 @@ msgstr "işlev tanımında pure belirteci"
 msgid "class definition may not be declared a friend"
 msgstr "sınıf tanımı kardeş olarak bildirilemeyebilir"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -33996,13 +33991,13 @@ msgstr "beklenmeyen terim"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "%<export%> anahtar sözcüğü gerçekleştirilmedi ve yoksayılacak"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "%qD öntanımlı argümanlara sahip olamaz"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "template parameter pack cannot have a default argument"
@@ -34020,7 +34015,7 @@ msgstr "şablon parametreleri kardeş olamazlar"
 msgid "expected template-id"
 msgstr "deyim umuluyordu"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<<%>"
@@ -34164,12 +34159,12 @@ msgstr "%<,%> veya %<;%> umuluyordu"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "Özdevinimli şablon örneklenimi etkin olur"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, 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:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, 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"
@@ -34216,80 +34211,80 @@ msgstr "using bildiriminde bir şablon kimliği bulunamaz"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in alias template declarations"
 msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%s: function definition not converted\n"
 msgid "a function-definition is not allowed here"
 msgstr "%s: işlev tanımı dönüştürülmedi\n"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, 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:15557
+#: cp/parser.c:15560
 #, 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:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected initializer"
 msgstr "betimleyici umuluyordu"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid type in declaration"
 msgstr "işlev bildirimi geçersiz"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 #| msgid "can't initialize friend function %qs"
 msgid "initializer provided for function"
 msgstr "kardeş işlev %qs ilklendirilemiyor"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "parantezli ilklendiriciden sonraki öznitelikler yoksayıldı"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "dizi sınırı bir tamsayı sabit değil"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type %qT"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "%qT üye referans türünde gösterici oluşturulması"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%D%> bir tür değil"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "kurucunun şablon olarak kullanımı geçersiz"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -34298,275 +34293,275 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid declarator"
 msgstr "işlev bildirimi geçersiz"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "expected declarator"
 msgstr "bildirim belirteçleri umuluyordu"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD bir isim alanıdır"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type %qT"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "sınıf olmayan %qT türünde üye göstericisi oluşturulması"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "beklenmeyen terim"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "cv-niteleyici yinelenmiş"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate cv-qualifier"
 msgid "duplicate virt-specifier"
 msgstr "cv-niteleyici yinelenmiş"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid use of %<auto%>"
 msgstr "%<::%> kullanımı geçersiz"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected type-specifier"
 msgstr "betimleyici umuluyordu"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<,%> or %<...%>"
 msgstr "%<:%> veya %<...%> umuluyordu"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, 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:17323
+#: cp/parser.c:17326
 #, 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:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%qD öntanımlı argümanlara sahip olamaz"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack cannot have a default argument"
 msgstr "%qD öntanımlı argümanlara sahip olamaz"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-name"
 msgstr "sınıf ismi umuluyordu"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after class definition"
 msgstr "%q+D tanımlandıktan sonra satıriçi bildirilmiş"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after struct definition"
 msgstr "%q+D tanımlandıktan sonra satıriçi bildirilmiş"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected junk after function declaration at %C"
 msgid "expected %<;%> after union definition"
 msgstr "%C'deki işlev bildiriminden sonra umulmayan döküntü"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<{%> or %<:%>"
 msgstr "%<,%> veya %<;%> umuluyordu"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "sınıf %s için dosya bulunamıyor"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "qualified name does not name a class"
 msgstr "kardeş bildirimi bir sınıf veya işlevi isimlendirmiyor"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD bildirimindeki sınıf ismi geçersiz"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification ignored"
 msgid "extra qualification not allowed"
 msgstr "fazladan niteleme yoksayıldı"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "bir doğrudan özelleştirme %<template <>%> ile öncelenmeli"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 #| msgid "non-template %qD used as template"
 msgid "function template %qD redeclared as a class template"
 msgstr "şablon olarak şablon olmayan %qD kullanılmış"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "%q+#T türünde önceden tanım"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-key"
 msgstr "sınıf ismi umuluyordu"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "a class-key must be used when declaring a friend"
 msgid "in C++03 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:18908
+#: cp/parser.c:18903
 #, 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:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "işlev tanımında pure belirteci"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use %<::%> in parameter declaration"
 msgid "expected %<;%> at end of member declaration"
 msgstr "parametre bildiriminde %<::%> kullanılamaz"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "şablonlar dışında %<typename%> kullanımına izin verilmez"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, 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:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of %q+D"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "yeniden %q+D bildirimi geçersiz"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "şablon parametresi listesi çok az"
@@ -34575,358 +34570,358 @@ msgstr "şablon parametresi listesi çok az"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "şablon parametresi listesi çok fazla"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "isimli dönüş değerleri artık desteklenmiyor"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 #| msgid "invalid declaration of member template %q#D in local class"
 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:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "C ilintilemeli şablon"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid explicit specialization"
 msgstr "taban sınıf belirtimi geçersiz"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %qs"
 msgid "template declaration of %<typedef%>"
 msgstr "%qs şablon bildirimi"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization in non-namespace scope %qD"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "isim alanı olmayan %qD kapsamında doğrudan özelleştirme"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H%<>>%> alt şablon argüman listesinde %<> >%> olmalıydı"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, 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:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid use of %qD in linkage specification"
 msgstr "taban sınıf belirtimi geçersiz"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 #| msgid "%<__thread%> before %<extern%>"
 msgid "%<__thread%> before %qD"
 msgstr "%<extern%> öncesinde %<__thread%>"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<new%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<delete%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<return%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<extern%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected %<static_assert%>"
 msgstr "deyim umuluyordu"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<decltype%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<operator%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<class%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<template%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<namespace%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<using%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<asm%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<try%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<catch%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<throw%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<__label__%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@try%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@synchronized%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@throw%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<::%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<...%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<*%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<~%>"
 msgstr "%<{%> umuluyordu"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<:%> or %<::%>"
 msgstr "%<:%> veya %<...%> umuluyordu"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%>, %<;%> or %<}%>"
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "%<,%>, %<;%> veya %<}%> umuluyordu"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "%qs yaftası %q#T isimlemesinde kullanılmış"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "%q+#D evvelce burada bildirilmiş"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD farklı erişimle tekrar bildirilmiş"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, 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:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "öntanımlı argüman içinde dosya sonu"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "yanlış yere konmuş %<@%D%> Nesnel-C++ oluşumu"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, 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:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "Nesnel-C++ seçici ismi geçersiz"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "objective-c++ method declaration is expected"
 msgstr "bildirim belirteçleri umuluyordu"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%Jbölüm özniteliği yerel değişkenler için belirtilmiş olamaz"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "illegal reference type specified for instance variable %qs"
 msgid "invalid type for instance variable"
 msgstr "gerçekleme değişkeni %qs için ilişkilendirme türü kuraldışı"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "%<@protocol%> sonrasında betimleyici umuluyordu"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "%qE özniteliği %qE için yoksayıldı"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "tür argümanı geçersiz"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "iteration variable %qD should not be reduction"
 msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "not enough type information"
 msgid "not enough collapsed for loops"
 msgstr "tür bilgisi yetersiz"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of %<#pragma pack%>"
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "%<#pragma pack%> sonunda döküntü"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "modüller arası eniyilemeler henüz C++ için gerçeklenmedi"
@@ -35681,17 +35676,17 @@ msgstr "%d lik azami şablon örneklenim derinliği %qD örnekleniminde aşılı
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= 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:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%q+D örneklenimi %qT türünde"
@@ -35709,270 +35704,270 @@ msgstr "%q+D örneklenimi %qT türünde"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 #| msgid "variable %qD has initializer but incomplete type"
 msgid "variable %qD has function type"
 msgstr "%qD değişkeni ilklendiricili ama içi boş türde"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "geçersiz parametre türü %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "%q+D bildiriminde"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "bir dizi döndüren işlev"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "bir işlev döndüren işlev"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, 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:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "void'e referans oluşturuluyor"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming pointer to reference type %qT"
 msgstr "%s %qT referans türünde şekilleniyor"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming reference to reference type %qT"
 msgstr "%s %qT referans türünde şekilleniyor"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, 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:11611
+#: cp/pt.c:11637
 #, 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:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "void türünde üyeye gösterici oluşturulması"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "%qT dizisi oluşturulması"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, 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:11714
+#: cp/pt.c:11740
 #, 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:11751
+#: cp/pt.c:11777
 #, 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:11759
+#: cp/pt.c:11785
 #, 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:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "şablonda %qs kullanımı"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type %qT does not match destructor name ~%qT"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "yetkin tür %qT, yıkıcı ismi ~%qT ile eslesmiyor"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, 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:12033
+#: cp/pt.c:12059
 #, 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:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "geçersiz alan %qD kullanımı"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of void expression"
 msgid "invalid use of pack expansion expression"
 msgstr "void ifade kullanımı geçersiz"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, fuzzy, gcc-internal-format
 #| msgid "%<...%> as arguments.)"
 msgid "use %<...%> to expand argument pack"
 msgstr "%<...%> kabul edeceği varsayılacak.)"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "use %<%T::%D%> instead"
 msgstr "%<%T::%D%> bir tür değil"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D tanımlandıktan sonra satıriçi bildirilmiş"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, 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:14188
+#: cp/pt.c:14214
 #, 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:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT anonim türdür/tür kullanır"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for %q#D has type %qT"
 msgid "template argument for %qD uses local type %qT"
 msgstr "%q#D için öntanımlı argüman %qT türünde"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, 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:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "bütünleyen ifade %qE bir sabit değil"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  %qD örneklenmeye çalışılıyor"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, 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:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D is not a non-static data member of %qT"
 msgid "%qD is not a static data member of a class template"
 msgstr "%q#D %qT'nin bir static olmayan üyesi değildir"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "%qD için eşleşen bir şablon yok"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type %qT"
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "şablon olmayan tür %qT'nin doğrudan örneklenimi"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "%q#D'nin doğrudan örneklenimi"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "yinelenmiş doğrudan %q#D örneklenimi"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ doğrudan örneklenimlerde %<extern%> kullanımına izin vermez"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "saklama sınıfı %qD şablon örneklenimine uygulanmış"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template %q#D"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "şablon olmayan tür %qT'nin doğrudan örneklenimi"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, 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:18065
+#: cp/pt.c:18091
 #, 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:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "yinelenmiş doğrudan %q#T örneklenimi"
@@ -35984,35 +35979,35 @@ msgstr "yinelenmiş doğrudan %q#T örneklenimi"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, 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:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "%d lik azami şablon örneklenim derinliği %q+D örnekleniminde aşılıyor (azami değeri arttırmak için -ftemplate-depth-NN kullanın)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "invalid catch parameter"
 msgid "invalid template non-type parameter"
 msgstr "yakalama parametresi geçersiz"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T bir şablon sabiti parametresi için geçerli bir tür değildir"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, fuzzy, gcc-internal-format
 #| msgid "variable %qD may not have been initialized"
 msgid "variable %q#D with %<auto%> type used in its own initializer"
@@ -36021,13 +36016,13 @@ msgstr "değişken %q+D ilklendirilmiş olmayabilir"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 #| msgid "unable to emulate %qs"
 msgid "unable to deduce %qT from %qE"
 msgstr "%qs öykünümü mümkün değil"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -36277,7 +36272,7 @@ msgstr "nitelikli tür %qT tanımı geçersiz"
 msgid "invalid base-class specification"
 msgstr "taban sınıf belirtimi geçersiz"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a template"
 msgid "%qD is not captured"
@@ -36466,291 +36461,291 @@ msgstr "işlev %q+#D için soyut dönüş değeri türü geçersiz"
 msgid "%q#T has virtual base classes"
 msgstr "%qs türü sanal üye işlevlere sahip"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "%1$J%<const%> %3$qT türü ile ilklendirilmemiş üye %2$qD"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is normally a non-static function"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D normalde bir static olmayan işlevdir"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "expression %qE does not designate a constexpr function"
 msgstr "kardeş bildirimi bir sınıf veya işlevi isimlendirmiyor"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "işlev olmayan %qD ye çağrı"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD called in a constant expression"
 msgstr "%qD bir sabit ifadesinde bulunamaz"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D was used with no prototype before its definition"
 msgid "%qD used before its definition"
 msgstr "%q+D tanımlanmadan önce prototipsiz kullanılmış"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qs has circular dependency"
 msgid "call has circular dependency"
 msgstr "protokol %qs döngüsel bağımlılık içeriyor"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 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/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%q+E is not a constant expression"
 msgstr "%s bir sabit ifadesinde görünemez"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript out of bound"
 msgstr "dizi indisi bir tamsayı değil"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%qE is not a constant expression"
 msgstr "%s bir sabit ifadesinde görünemez"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD bir sabit ifadesinde bulunamaz"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qD is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "%qD dizisinin boyutu bir tümleyen sabit ifadesi değil"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "no field %qD found in union being initialized"
 msgid "%qD used in its own initializer"
 msgstr "ilklendirilen union içinde %qD diye bir alan yok"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is not a function,"
 msgid "%q#D is not const"
 msgstr "%q+D bir işlev değil,"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D is private"
 msgid "%q#D is volatile"
 msgstr "%q+#D private'dir"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD bir sabit ifadesinde bulunamaz"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD bu etki alanında bildirilmemiş"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 #| msgid "expression in new-declarator must have integral or enumeration type"
 msgid "%qD does not have integral or enumeration type"
 msgstr "new bildirimli ifade bütünleyici ya da numaralama türünde olmalı"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "koşullu ifade içinde enum ve enum olmayan türler"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "expression %qE is not a constant-expression"
 msgstr "bütünleyen ifade %qE bir sabit değil"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "expected expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "ifade umuluyordu"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "dizi boyutu bir tümleyen sabit ifadesi değil"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "bütünleyen ifade %qE bir sabit değil"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "dizi boyutu bir tümleyen sabit ifadesi değil"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "ilklendiricide sabit olmayan dizi indisi"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of file in '%s'"
 msgid "unexpected AST of kind %s"
 msgstr "'%s' de umulmadık dosya sonu"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot capture %qE by reference"
 msgstr "%q#T türüne başvuru bildirilemez"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> is unavailable for static member functions"
 msgid "%<this%> was not captured for this lambda function"
 msgstr "statik üye işlevlerde %<this%> kullanılmaz"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV niteleyicileri %qT'ye uygulanamaz"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, 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:2834
+#: cp/tree.c:2846
 #, 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:2840
+#: cp/tree.c:2852
 #, 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:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "istenen init_priority bir tamsayı sabit değil"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, 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:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "istenen init_priority aralık dışında"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, 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:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "bu platformda %qE özniteliği desteklenmiyor"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, fuzzy, gcc-internal-format, gfc-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"
@@ -37779,128 +37774,128 @@ msgstr "kurucu sözdizimi kullanılmış ama %qT türü için kurucu bildirilmem
 msgid "cannot initialize arrays using this syntax"
 msgstr "bu sözdizimi kullanilarak diziler ilklendirilemez"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "tamsayı dizisinin ilklendiricisi olarak geniş-olmayan dizge kullanılmış"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "tamsayı dizisinin ilklendiricisi olarak geniş-olmayan dizge kullanılmış"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "karakter dizisi için dizge ilklendirici çok uzun"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "bir bileşik sabitli %qT türündeki küme ilklendirilemez"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "uye %qD için ilklendirici eksik"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "ilklendirilmemiş sabit üyesi %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "uye %qD ilklendirilmemiş sabit alanli"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "uye %qD ilklendirilmemiş referanstir"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "ilklendirilen union içinde %qD diye bir alan yok"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "birlesik yapı ilklendiricideki alan isminin yerine index değeri"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "döngüsel gösterici görevlendirmesi saptandi"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "%<->%> için taban terim gösterici olmayan %qT türünde"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr " %<operator->()%> gösterici olmayan sonuc veriyor"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "%<->%> için taban terim bir gösterici değil"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE bir üye göstericisi olarak kullanilamaz, cunku %qT türünde"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 #| msgid "cannot apply member pointer %qE to %qE, which is of non-aggregate type %qT"
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "uye göstericisi %qE %qE'ye kümeleme türü olmayan %qT türünde uygulanamaz"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "%qT üye türünde gösterici nesne türü %qT ile uyumsuz"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type %qT"
 msgid "functional cast to array type %qT"
 msgstr "%qT işlev türüne dönüşüm geçersiz"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jdefault-initialization of %q#D, which has reference type"
 msgid "invalid value-initialization of reference type"
 msgstr "%Jreferans ture sahip %q#D'nin default ilklendirmesi"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, 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:1916
+#: cp/typeck2.c:1919
 #, 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ı"
@@ -37962,199 +37957,199 @@ msgstr "%s ile %s arasındaki dönüşümde, %L'de Standart Fortran tarafından
 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/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "%C'de dizi indisi umuluyordu"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "%C'de dizi indisi umuluyordu"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "%C'de dizi indisi umuluyordu"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "%C'de dizi indis adımı umuluyordu"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "%C'de dizi başvurusunun yapılışı geçersiz"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "%C'deki dizi başvurusu %d boyuttan fazlasını içeremez"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected coarray designator at %C"
 msgstr "%C'de dizi indisi umuluyordu"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected another dimension in array declaration at %C"
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "%C'deki dizi bildiriminde farklı bir boyut umuluyordu"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form of array reference at %C"
 msgid "Invalid form of coarray reference at %C"
 msgstr "%C'de dizi başvurusunun yapılışı geçersiz"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 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:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L in this context must be constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "Bu bağlamda '%s' değişkeni %L'de bir sabit olmalı"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "%C'deki dizi belirtiminde ifade umuluyor"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification for assumed shape array at %C"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "%C'deki tahmini biçimli dizi için dizi belirtimi hatalı"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-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:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-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:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr "%C'deki ertelenmiş biçimli dizi için belirtim hatalı"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr "%C'deki tahmini boyutlu dizi için belirtim hatalı"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "%C'deki dizi bildiriminde farklı bir boyut umuluyordu"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "%C'deki dizi belirtimi %d boyuttan fazlasına sahip"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification at %C has more than %d dimensions"
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "%C'deki dizi belirtimi %d boyuttan fazlasına sahip"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Nonstandard type declaration %s*%d at %C"
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "%s*%d %C'de standartdısı tür bildirimi"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-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:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "%C'deki dizi kurucuda sözdizimi hatası"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: [...] style array constructors at %C"
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003'te yeni: %C'de [...] tarzı dizi kurucular"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in character length specification at %C"
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "%C'deki karakter uzunluğu belirtiminde sözdizimi hatası"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "%C'de boş dizi kurucuya izin verilmiyor"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "%s dizi kurucudaki öğe (%L'deki) %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "%L'deki yineleyici adımı sıfır olamaz"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Element in %s array constructor at %L is %s"
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
@@ -38190,7 +38185,7 @@ msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) REAL veya COMPLEX olmal
 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:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "`%s' argümanı `%s' yerleşiği için  %L'de bir sabit olmalı"
@@ -38306,7 +38301,7 @@ msgstr "`dim' argümanı `%s' yerleşiği için  (%L'de) geçerli bir boyut indi
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "%L'deki gösterici atamasında farklı karakter uzunlukları"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-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ı"
@@ -38396,8 +38391,8 @@ msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) REAL ya da COMPLEX tür
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
@@ -38560,7 +38555,7 @@ msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) ALLOCATABLE olmalı"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
@@ -38706,47 +38701,47 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 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:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) %s ile aynı çeşit olmalı"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "`%s' ve '%s' argümanları `%s' yerleşiği için  (%L'de) aynı türde olmalı"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) %s olmalı"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "%s için argümanlar %L'de çok fazla"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
 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. çeşitte olmalı"
 
-#: fortran/check.c:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-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ı"
@@ -38758,7 +38753,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -39056,7 +39051,7 @@ msgstr "CHARACTER(*) işlevi '%s'  %L'de gösterici değerli olamaz"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2003: %L'de IOMSG etiketi"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate array spec for Cray pointee at %C."
 msgid "Duplicate array spec for Cray pointee at %C"
@@ -39073,7 +39068,7 @@ msgstr "'%s' öğesi (%C'de) zaten arayüzde mevcut"
 msgid "Extension: Old-style initialization at %C"
 msgstr "Genişletme: %C'de eski tarz ilklendirme"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-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"
@@ -39083,7 +39078,7 @@ msgstr "%C'deki ilklendirme bir gösterici değişkeni için değil"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "%C'deki gösterici ilklendirmesi bir '=>' gerektirir, '=' değil"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "%C'de bir ilklendirme ifadesi umuluyordu"
@@ -39297,7 +39292,7 @@ msgstr "Fortran 2003: %C'de FLUSH deyimi"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -39320,57 +39315,57 @@ msgstr "Fortran 2003: %C'de FLUSH deyimi"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be an internal function"
 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:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L has not been assigned a format label"
 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:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Loop variable at %C cannot have the POINTER attribute"
 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:3981
+#: fortran/decl.c:3982
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Loop variable at %C cannot have the POINTER attribute"
 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:3993
+#: fortran/decl.c:3994
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 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:4001
+#: fortran/decl.c:4002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
@@ -39378,17 +39373,17 @@ 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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing generic specification in USE statement at %C"
 msgid "Missing entity or common block name for attribute specification statement at %C"
@@ -39396,828 +39391,828 @@ 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:4244
+#: fortran/decl.c:4245
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition."
 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:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%C'deki veri bildiriminde sözdizimi hatası"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "İsim '%s' %C'de işlev ismidir"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-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:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-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:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-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:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%C'deki işlev bildiriminden sonra umulmayan döküntü"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgid "Fortran 2008: 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:4780
+#: fortran/decl.c:4781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Iterator step at %L cannot be zero"
 msgid "Interface '%s' at %C may not be generic"
 msgstr "%L'deki yineleyici adımı sıfır olamaz"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 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:4799
+#: fortran/decl.c:4800
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 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:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has basic type of %s"
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "'%s' simgesi %L'de zaten temel %s türünde"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in structure constructor at %C"
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "%C'deki yapı kurucuda söz dizimi hatası"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 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:5148
+#: fortran/decl.c:5149
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-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:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-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:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-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:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-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:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-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:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-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:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-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:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-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:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-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:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-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:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-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:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-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:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-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:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in CASE-specification at %C"
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "%C'deki CASE belirtiminde sözdizimi hatası"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "%C'de biçim yaftası eksik"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "%C'de biçim yaftası eksik"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing paren for binding label at %C"
 msgstr "%C'de biçim yaftası eksik"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "'%s' işlev ismi olarak %C'de kullanılamaz"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "%C'de beklenmeyen END deyimi"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s statement at %C cannot follow %s statement at %L"
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "%s deyimi (%C'deki), %s deyimini (%L'deki) izlemiyor"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "%s deyimi %L'de umuluyordu"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "%s deyimi umuluyordu (%C'de)"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-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:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "'%s' etiketi umuluyordu (%s deyiminde, %C'de)"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "DIMENSION deyiminde %L'de dizi belirtimi eksik"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing array specification at %L in DIMENSION statement"
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "DIMENSION deyiminde %L'de dizi belirtimi eksik"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "Dizi belirtimi %L'de ertelenmiş olmalı"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "%C'deki değişken listesinde umulmadık karakter"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "%C'de '(' umuluyordu"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "%C'de değişken ismi umuluyordu"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Cray pointer at %C must be an integer"
 msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes."
 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:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "%C'de \",\" umuluyordu"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "%C'de \")\" umuluyordu"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "%C'de \",\" veya deyim sonu umuluyordu"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer declaration at %C requires -fcray-pointer flag."
 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:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-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:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-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:6719
+#: fortran/decl.c:6720
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 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:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 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:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "%C'de PARAMETER deyiminde değişken ismi umuluyordu"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "%C'deki PARAMETER deyiminde = işareti umuluyordu"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "%C'deki PARAMETER deyiminde ifade umuluyordu"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initializer not allowed for COMMON variable '%s' at %C"
 msgid "Initializing already initialized variable at %C"
 msgstr "COMMON değişkeni `%s' için %C'de ilklendirme yapılamaz"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "%C'deki PARAMETER deyiminde umulmayan karakterler"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-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:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "%C'deki SAVE deyiminden önce bir kapsamlı SAVE deyimi var"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VALUE statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-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:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "%C'deki TYPE tanımında :: umuluyordu"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "No such symbol in TYPE definition at %C"
 msgstr "%C'deki TYPE tanımında :: umuluyordu"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C can only be PRIVATE within a MODULE"
 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:7366
+#: fortran/decl.c:7367
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C can only be PUBLIC within a MODULE"
 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:7387
+#: fortran/decl.c:7388
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: IOMSG tag at %L"
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003: %L'de IOMSG etiketi"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "%C'deki TYPE tanımında :: umuluyordu"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-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:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-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:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-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:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-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:7618
+#: fortran/decl.c:7619
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: ENUM AND ENUMERATOR at %C"
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003'te yeni: %C'de ENUM AND ENUMERATOR"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "Sayısal sabitler %C'de C tamsayı türünü aşıyor"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "bir tamsayı ifadesi ile ilklendirilmemiş ENUMERATOR %L"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "%C öncesinde ENUM tanım deyimi umuluyordu"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "%C'deki ENUMERATOR tanımında sözdizimi hatası"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s specification at %C"
 msgid "Duplicate access-specifier at %C"
 msgstr "%s belirtimi %C'de yinelenmiş"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s attribute at %L"
 msgid "Duplicate POINTER attribute at %C"
 msgstr "%s özniteliği %L'de yinelenmiş"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "%C'de VARIABLE umuluyordu"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate SEQUENCE statement at %C"
 msgid "Duplicate DEFERRED at %C"
 msgstr "%C'de SEQUENCE deyimi yinelenmiş"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected a nameless interface at %C"
 msgid "Expected access-specifier at %C"
 msgstr "%C'de isimsiz bir arayüz umuluyordu"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding attribute at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "')' expected at %C"
 msgstr "%C'de '(' umuluyordu"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding name at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2003: %C'de FLUSH deyimi"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding target after '=>' at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '::' at %C"
 msgstr "%C'de '(' umuluyordu"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "%C'de dizi indisi umuluyordu"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '=>' at %C"
 msgstr "%C'de '(' umuluyordu"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected specific binding name at %C"
 msgstr "%C'de sonlandıran isim umuluyordu"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Empty FINAL at %C"
 msgstr "%C'de VARIABLE umuluyordu"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected structure component name at %C"
 msgid "Expected module procedure name at %C"
 msgstr "%C'de yapı bileşeni ismi umuluyordu"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected ',' at %C"
 msgstr "%C'de '(' umuluyordu"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "procedure name = %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "yordam ismi = %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s procedure at %L is already declared as %s procedure"
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "%s yordamı %L'de zaten %s yordamı olarak bildirilmiş"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RESULT attribute required in ENTRY statement at %C"
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "%C'deki ENTRY deyimi bir RESULT özniteliği gerektirir"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
@@ -40476,27 +40471,27 @@ msgstr "POINTER değerli işlev %L'deki atamanın sağ tarafında görünüyor"
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -40782,7 +40777,7 @@ msgid "can't open input file: %s"
 msgstr "girdi dosyası açılamıyor: %s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "creating array of %qT"
@@ -40909,12 +40904,12 @@ msgstr "%L'de tanımlanmış atamanın ilk argümanı INTENT(IN) veya INTENT(INO
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "%L'de tanımlanmış atamanın ikinci argümanı INTENT(IN) olmalıdır"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L'deki işleç arayüzünün ilk argümanı INTENT(IN) olmalıdır"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L'deki işleç arayüzünün ikinci argümanı INTENT(IN) olmalıdır"
@@ -43095,7 +43090,7 @@ msgstr "%C'deki ELSE deyiminden sonra umulmadık döküntü"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "%C'deki ELSE deyiminden sonra umulmadık döküntü"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "%L'deki IF deyimi bir sabit LOGICAL ifadesi gerektirir"
@@ -44262,482 +44257,482 @@ msgstr "'%s' ('%s' pure altyordamının) argümanında INTENT belirtilmiş olmal
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "'%s' ('%s' pure altyordamının) argümanında INTENT belirtilmiş olmalıdır (%L'de)"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Keyword argument '%s' at %L is not in the procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-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:398
+#: fortran/resolve.c:400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "Öğesel yordamın '%s' argümanı POINTER özniteliğine sahip olamaz (%L'de)"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-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:416
+#: fortran/resolve.c:418
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 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:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
 msgid "Argument '%s' of elemental procedure '%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:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-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:446
+#: fortran/resolve.c:448
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued argument '%s' of statement function at %L must has constant length"
 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:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-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:507
+#: fortran/resolve.c:509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Contained function '%s' at %L has no IMPLICIT type"
 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:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued internal function '%s' at %L must not be assumed length"
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "Karakter değerli iç işlev '%s' tahmini uzunlukta olmamalı (%L'de)"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inconsistent instance variable specification"
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "çeliskili gerçekleme değişkeni özelliği"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-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:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-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:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-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:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-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:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-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:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-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:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 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:870
+#: fortran/resolve.c:872
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 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:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 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:904
+#: fortran/resolve.c:906
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Named COMMON block '%s' at %L shall be of the same size"
 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:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "Nesne '%s' (%L'de), %s SAVE özniteliğine sahip olmalı"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Generic subroutine '%s' at %L is not an intrinsic subroutine"
 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:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too few components in structure constructor at %C"
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "%C'deki yapı kurucuda çok az bileşen"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "The element in the structure constructor at %L, for pointer component '%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:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too many components in structure constructor at %C"
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "%C'deki yapı kurucuda çok fazla bileşen"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "The element in the structure constructor at %L, for pointer component '%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:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Pointer initialization at %C requires '=>', not '='"
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "%C'deki gösterici ilklendirmesi bir '=>' gerektirir, '=' değil"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "Nesne '%s' (%L'de), %s SAVE özniteliğine sahip olmalı"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L."
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L is ambiguous"
 msgid "'%s' at %L is ambiguous"
 msgstr "'%s' simgesi (%L'de) belirsiz"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 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:1506
+#: fortran/resolve.c:1508
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Alternate return specifier in function '%s' at %L is not allowed"
 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:1519
+#: fortran/resolve.c:1521
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 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:1530
+#: fortran/resolve.c:1532
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic at %L does not exist"
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "%L'deki yerleşik mevcut değil"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "Yafta %d (%L'de başvurulu) hiç tanımlanmamış"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-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:1663
+#: fortran/resolve.c:1665
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 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:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "'%s' iç yordamına %L'de bir fiili argüman olarak izin verilmez."
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-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:1706
+#: fortran/resolve.c:1708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unable to resolve the specific subroutine '%s' at %L"
 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:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "'%s' simgesi (%L'de) belirsiz"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of INT at %L is not a valid type"
 msgid "By-value argument at %L is not of numeric type"
 msgstr "%L'de INT'in argümanı geçerli bir tür değil"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "standard conversions are not allowed in this context"
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "standart uzlaşımlara bu bağlam içinde izin verilmez"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Type/rank mismatch in argument '%s' at %L"
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued statement function '%s' at %L must have constant length"
 msgid "Nonconstant 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:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unable to resolve the specific function '%s' at %L"
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-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:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-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:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-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:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of INT at %L is not a valid type"
 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:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "More actual than formal arguments in procedure call at %L"
 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:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "case değeri olarak göstericiler kullanılamaz"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "Array section in '%s' call at %L"
 msgstr "'%s' işlev ismi olarak %C'de kullanılamaz"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
@@ -44745,543 +44740,543 @@ 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:2916
+#: fortran/resolve.c:2918
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 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:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 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ı"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Name '%s' at %C is the name of the procedure"
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "İsim '%s' %C'de işlev ismidir"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 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:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L is not a VALUE"
 msgid "'%s' at %L is not a function"
 msgstr "'%s' %L'de bir VALUE değil"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function reference to '%s' at %L is inside a FORALL block"
 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:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-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:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "CHARACTER(*) işlevi '%s'  %L'de iç içe olamaz"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-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:3263
+#: fortran/resolve.c:3265
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "'%s' (%L'de bir FORALL blokunun içindeki) için altyordam başvurusu PURE değil"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-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:3332
+#: fortran/resolve.c:3334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr "Özel altyordam '%s' %L'de çözümlenemiyor"
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-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:3450
+#: fortran/resolve.c:3452
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing actual argument '%s' in call to '%s' at %L"
 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:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-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:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr "Özel altyordam '%s' %L'de çözümlenemiyor"
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-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:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "%L ve %L'de terimlerin biçimleri benzer değil"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "%L'de sıfır adım uzunluğu kuraldışı"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L'deki dizi başvurusu sınırların dışında"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "Tahmini boyutlu dizi bölümünün en sağ üst sınırı %L'de belirtilmemiş"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL stride expression at %L must be a scalar %s"
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "%L'deki FORALL adım ifadesi bir değişmez %s olmalıdır"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "%L'de dizi indisi değişmez olmalıdır"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array index at %L must be of INTEGER type"
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "%L'de dizi indisi INTEGER türünde olmalıdır"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "Ek: %L'de REAL dizi indisi"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "%L'de boyut argümanı değişmez olmalı"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "%L'de boyut argümanı INTEGER türünde olmalı"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "%L'deki dizi indisi %d. mertebeden bir dizidir"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "%L'deki altdizge başlangıç indisi INTEGER türünde olmalıdır"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "%L'deki altdizge başlangıç indisi bir değişmez olmalıdır"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "%L'deki altdizge başlangıç indisi birden küçük olmalıdır"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "%L'deki altdizge son indisi INTEGER türünde olmalıdır"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L exceeds the string length"
 msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L is too large"
 msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "Sıfırdan farklı bir mertebeden bir parça başvurusunun sağ bileşeni %L'de POINTER özniteliğinde olmamalıdır"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "Sıfırdan farklı bir mertebeden bir parça başvurusunun sağ bileşeni %L'de POINTER özniteliğinde olmamalıdır"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "%L'de sıfırdan farklı bir mertebeden iki veya daha fazla parça başvurusu belirtilmemelidir"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s tag at %L must be scalar"
 msgid "Passed-object at %L must be scalar"
 msgstr "%s' etiketi (%L'de) bir değişmez olmalı"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "Öğesel yordamın '%s' argümanı değişmez olmalı (%L'de)"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L is not a VALUE"
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "'%s' %L'de bir VALUE değil"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "Yerleşik işleç arayüzü '%s' %L'de bir FUNCTION olmalı"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s' (%L'de) bir değişmez olmalıdır"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s' (%L'de) bir INTEGER olmalıdır"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "%L'de Do döngüsündeki adım ifadesi sıfır olamaz"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "%L'de FORALL başlatma ifadesi bir değişmez INTEGER olmalıdır"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "%L'de FORALL son ifadesi bir değişmez INTEGER olmalıdır"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "%L'deki FORALL adım ifadesi bir değişmez %s olmalıdır"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "%L'deki FORALL adım ifadesi sıfır olamaz"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' cannot appear in the expression at %L"
 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:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "%L'de ALLOCATE deyimindeki ifade ya bir POINTER ya da ALLOCATABLE olmalı"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli "
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification required in ALLOCATE statement at %L"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli "
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Bad array specification in ALLOCATE statement at %L"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "%L'deki yafta %L'deki GOTO deyimiyle aynı blokta değil"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "%L'deki UNIT belirtimi ya bir INTEGER ifadesi ya da bir CHARACTER değişkeni olmalıdır"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -45290,179 +45285,179 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "%L'deki CASE etiketi ile %L'deki CASE etiketi birbirinin üzerine taşıyor"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "%L'de CASE deyimindeki ifade %s türünde olmalı"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be kind %d"
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "%L'de CASE deyimindeki ifade %d. çeşit olmalı"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "%L'de CASE deyimindeki ifade bir değişmez olmalı"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "%L'de hesaplanmış GOTO deyimindeki seçim ifadesi bir değişmez tamsayı ifadesi olmalıdır"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "%L'deki SELECT deyiminin argümanı %s olamaz"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be of type %s"
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "%L'de CASE deyimindeki ifade %s türünde olmalı"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "%L'deki DEFAULT CASE deyiminden sonra %L'de ikinci bir DEFAULT CASE olamaz"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Logical range in CASE statement at %L is not allowed"
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "%L'deki aralık belirtimi asla eşleşmeyebilir"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "%L'deki mantıksal SELECT CASE blokunun ikiden fazla case'i var"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Global name '%s' at %L is already being used as a %s at %L"
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "Genel isim '%s' (%L'de), zaten %s (%L'de) olarak kullanılıyor"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in EQUIVALENCE statement at %L"
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "%L'deki EQUIVALENCE deyiminde söz dizimi hatası"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type '%s' at %C is being used before it is defined"
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "Türetilmiş '%s' türü (%C'deki) tanımından önce kullanılıyor"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "Türetilmiş tür ismi '%s' %C'de zaten temel  %s türünde"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have PRIVATE components"
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "%L'deki veri aktarım elemanının PRIVATE bileşenleri olamaz"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "%L'deki veri aktarım elemanının PRIVATE bileşenleri olamaz"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "%L'deki veri aktarım elemanı tahmini boyutlu bir diziye bir tam başvuru olamaz"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "%L'de FORALL indis ismi bir değişmez INTEGER olmalıdır"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument dim at %L must be scalar"
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "%L'de boyut argümanı değişmez olmalı"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ACOS at %L must be between -1 and 1"
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "%L'deki ACOS argümanı -1 .. 1 arasında olmalı"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "%L'deki deyim %L'deki dallanma deyimi için geçerli bir dallanma hedef deyimi değildir"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Branch at %L causes an infinite loop"
 msgid "Branch at %L may result in an infinite loop"
@@ -45470,12 +45465,12 @@ msgstr "%L'deki dallanma bir sonsuz döngüye sebep oluyor"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -45483,1017 +45478,1017 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "%L'deki yafta %L'deki GOTO deyimiyle aynı blokta değil"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "%L'deki WHERE maskesi uyumsuz biçimde"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "%L'deki WHERE atama hedefi uyumsuz biçimde"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "%L'deki WHERE içinde desteklenmeyen deyim"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%L'de bir FORALL indis değişkenine atama"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "'%s' indisli FORALL %L'de bu nesneye birden fazla atamaya sebep oluyor"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "Bir dış FORALL oluşumu zaten bu isimde bir indise sahip (%L'de)"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "%L'deki WHERE/ELSEWHERE deyimi bir değişmez LOGICAL dizisi gerektirir"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "%L'deki atamanın sağ tarafı bir PURE yordamda bir POINTER içeren türetilmiş bir türdür"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
 msgid "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:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assignment to a FORALL index variable at %L"
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "%L'de bir FORALL indis değişkenine atama"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-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:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-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:9382
+#: fortran/resolve.c:9384
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Alternate RETURN statement at %L requires an INTEGER return specifier"
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "Diğer RETURN deyimi %L'de bir INTEGER dönüş belirteci gerektirir"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "%L'deki ASSIGN deyimi bir sabit öntanımlı INTEGER değişken gerektirir"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-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:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "%L'deki DO WHILE döngüsünün çıkış koşulu bir sabit LOGICAL ifadesi olmalıdır"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL mask clause at %L requires a LOGICAL expression"
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "%L'deki FORALL maske deyimi bir LOGICAL ifadesi gerektirir"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array %qs is too large"
 msgid "String length at %L is too large"
 msgstr "%qs dizisinin boyutu çok büyük"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-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:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr "'%s' sabit nesnesi %L'de ALLOCATABLE olmayabilir"
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-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:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-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:10403
+#: fortran/resolve.c:10406
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute."
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr "Olası önyüz hatası: gösterici veya tahsis edilebilir öznitelik olmaksızın ertelenmiş dizi boyutu"
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "%L'deki tahmini karakter uzunluklu öğe ya bir sözde argüman ya da bir PARAMETER olmalı"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-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:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L must have constant character length in this context"
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "'%s' %L'de bu bağlam için sabit karakter uzunluklu olmalı"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "Ayrılabilir '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "Harici '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "Sözde '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "Yerleşik '%s' %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-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:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "Özdevinimli dizi '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-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:10562
+#: fortran/resolve.c:10565
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
 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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "işlev sonucu '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-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:10643
+#: fortran/resolve.c:10646
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 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:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "'%s' beyan işlevine bir fiili argüman olarak izin verilmez (%L'de)"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-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:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-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:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*) işlevi '%s'  %L'de katıksız olamaz"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "CHARACTER(*) işlevi '%s'  %L'de iç içe olamaz"
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "CHARACTER(*) işlevi '%s'  %L'de katıksız olamaz"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "%s özniteliği ile %s özniteliği '%s' içinde %L'de çelişiyor"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "Yerleşik işleç arayüzü '%s' %L'de bir FUNCTION olmalı"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ICHAR at %L must be of length one"
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "%L'de ICHAR'ın argümanı bir uzunlukta olmalı"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) bir POINTER olmalı"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) ALLOCATABLE olmalı"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) OPTIONAL olmamalı"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "%L'deki işleç arayüzünün ilk argümanı INTENT(IN) olmalıdır"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initialization at %C is not allowed in a PURE procedure"
 msgid "Finalization at %L is not yet implemented"
 msgstr "%C'de ilklendirmeye bir PURE işlevinde izin verilmez"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' called with an implicit interface at %L"
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "'%s' yordamı (%s içinde, %L'de) be işlev ne de altyordam"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) türetilmemiş bir türde olmalı"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "`%s' argümanı `%s' yerleşiği için  %L'de bir değişmez olmalı"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) ALLOCATABLE olmalı"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) bir POINTER olmalı"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component '%s' at %C is a PRIVATE component of '%s'"
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "'%s' bileşeni (%C'deki) '%s'nin bir PRIVATE bileşenidir"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array pointer '%s' at %L must have a deferred shape"
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "'%s' dizi göstericisi %L'de ertelenmiş bir biçimde olmalı"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "'%s' ('%s' pure işlevinin) argümanı INTENT(IN) olmalıdır (%L'de) INTENT(IN)"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "User operator procedure '%s' at %L must have at least one argument"
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "Kullanıcı işleci yordamı '%s' (%L'de) için en azından bir argüman bulunmalı"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) türetilmemiş bir türde olmalı"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of statement function at %L must be scalar"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "Deyim işlevinin '%s' argümanı değişmez olmalı (%L'de)"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "Öğesel yordamın '%s' argümanı POINTER özniteliğine sahip olamaz (%L'de)"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "`%s' argümanı `%s' yerleşiği için  (%L'de) ALLOCATABLE olmalı"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component '%s' of '%s' at %L must have constant array bounds."
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "'%s' ('%s'in bileşeni) %L'de sabit dizi sınırlarına sahip olmalı"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character length of component '%s' needs to be a constant specification expression at %L."
 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:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgid "Fortran 2003: 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:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component %s of SEQUENCE type declared at %C does not have the SEQUENCE attribute"
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "SEQUENCE türünün %s bileşeni SEQUENCE özniteliğine sahip değil (%C'de)"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
 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:11945
+#: fortran/resolve.c:11948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component '%s' of '%s' at %L must have constant array bounds."
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "'%s' ('%s'in bileşeni) %L'de sabit dizi sınırlarına sahip olmalı"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed."
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "'%s' tahmini boyutlu dizisine '%s' isim listesinde izin verilmiyor (%C'de)."
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
 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:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
 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:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-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:12181
+#: fortran/resolve.c:12184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
 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:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-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:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "%L'de PARAMETER içindeki türetilmiş tür uyumsuz"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "%L'deki tahmini boyutlu dizi bir sözde argüman olmalı"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assumed shape array at %L must be a dummy argument"
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "%L'deki simge bir DUMMY değişken değil"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued statement function '%s' at %L must have constant length"
 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:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
 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:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 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:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-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:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "işlev sonucu '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "Ayrılabilir '%s' dizisi %L'de ertelenmiş bir biçimde olmalı"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "%L'deki sözde yordama ELEMENTAL yordamında izin verilmez"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-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:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy '%s' at %L cannot have an initializer"
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "Sözde '%s'  %L'de bir ilklendiriciye sahip olamaz"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "DATA deyiminde %L'de sabit olmayan dizi bölümü"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "%L'deki DATA deyiminde değerden çok değişken var"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "%L'deki DATA deyiminde değişkenden çok değer var"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "%d yaftası %L'de tanımlanmış ama kullanılmamış"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "%d yaftası %L'de tanımlanmış ama kullanılamıyor"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-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:13397
+#: fortran/resolve.c:13399
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 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:13405
+#: fortran/resolve.c:13407
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
 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:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-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:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "%L'deki EQUIVALENCE deyiminde söz dizimi hatası"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-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:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-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:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-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:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-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:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "%L'deki altdizge sıfır uzunlukta"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "PUBLIC işlev '%s' %L'de PRIVATE '%s' türünde olamaz"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY '%s' %L'de hiç IMPLICIT tür içermiyor"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-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:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-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:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-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:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "%L'deki işleç arayüzünün ilk argümanı isteğe bağlı olamaz"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "%L'deki işleç arayüzünün ikinci argümanı isteğe bağlı olamaz"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "%L'deki işleç arayüzünün en fazla iki argümanı olmalı"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
@@ -46672,34 +46667,34 @@ msgstr "%L'de ISHFT'in ikinci argümanının genliği bit boyutunu aşıyor"
 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:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-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:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-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:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-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:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-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:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-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:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "%L'de MOD'un ikinci argümanı sıfırdır"
@@ -46707,48 +46702,48 @@ msgstr "%L'de MOD'un ikinci argümanı sıfırdır"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-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:4380
+#: fortran/simplify.c:4383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Result of SCALE overflows its kind at %L"
 msgid "Result of NEAREST is NaN at %L"
 msgstr "%L'de SCALE sonucu kendi çeşidini üstten taşırıyor"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-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:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-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:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -47142,18 +47137,18 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, fuzzy, gcc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute."
 msgid "Possible front-end 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:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "yürüyüş sırasında ifade türü hatalı (%d)"
@@ -47820,19 +47815,19 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "yıkıcı %qD için kardeş bildiriminde nitelikli isim umuluyordu"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not find specs file %s\n"
 msgid "could not parse file offset"
 msgstr "belirtim dosyası %s bulunamadı\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected node"
 msgid "unexpected offset"
@@ -47844,76 +47839,76 @@ msgstr "umulmadık düğüm"
 msgid "invalid line in the resolution file"
 msgstr "komuttaki yazmaç geçersiz"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "komuttaki yazmaç geçersiz"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot find class %qs"
 msgid "cannot read LTO decls from %s"
 msgstr "sınıf %qs bulunamıyor"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "%s açılamıyor"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "%s açılamıyor"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "%s açılamıyor"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening LTRANS output list %s: %m"
 msgstr "`%s' çıktı dosyasının açılması: %m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 #| msgid "when writing output to %s: %m"
 msgid "writing to LTRANS output list %s: %m"
 msgstr "çıktı %s e yazılırken: %m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "closing LTRANS output list %s: %m"
 msgstr "`%s' çıktı dosyasının açılması: %m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "%s:could not open output file '%s'\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "%s: çıktı dosyası '%s' açılamadı\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index cd7765d..b54c2df 100644 (file)
Binary files a/gcc/po/vi.gmo and b/gcc/po/vi.gmo differ
index dec7d2d..0162971 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.7.1\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2012-09-15 08:58+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -28,7 +28,7 @@ msgstr "<nặc-danh>"
 msgid "({anonymous})"
 msgstr "({nặc danh})"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "cần kết thúc dòng"
@@ -38,8 +38,8 @@ msgstr "cần kết thúc dòng"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "cần %<;%>"
@@ -51,13 +51,13 @@ msgstr "cần %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "cần %<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "cần %<,%>"
@@ -73,14 +73,14 @@ msgstr "cần %<,%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "cần %<)%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "cần %<]%>"
@@ -89,25 +89,25 @@ msgstr "cần %<]%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "cần %<;%>, %<,%> hoặc %<)%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "cần %<}%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "cần %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "cần %<:%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "cần %<while%>"
@@ -116,34 +116,34 @@ msgstr "cần %<while%>"
 msgid "expected %<.%>"
 msgstr "cần %<.%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "cần %<@end%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "cần %<>%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "cần %<,%> hoặc %<)%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "cần %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "cần %<#pragma omp section%> hoặc %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "cần %<[%>"
@@ -317,12 +317,12 @@ msgstr "toán hạng '%%l' không phải là một nhãn"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "sai sử dụng hằng số nổi"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "sai lập biểu tượng dưới dạng toán hạng"
@@ -1433,20 +1433,20 @@ msgstr "không nhận ra lệnh:"
 msgid "insn does not satisfy its constraints:"
 msgstr "lệnh không thỏa những ràng buộc của nó:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "được tạo và sử dụng với thiết lập khác nhau của '%s'"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "không đủ bộ nhớ"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "được tạo và sử dụng với thiết lập khác nhau của -fpic"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "được tạo và sử dụng với thiết lập khác nhau của -fpie"
 
@@ -2050,199 +2050,199 @@ msgstr "Khoảng cách tối thiểu giữa vị trí lưu và nạp có thể x
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "Số tối đa các nút RTL có thể ghi lưu như là giá trị cuối cùng của bộ kết hợp"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "Biên giới trên để chia sẻ hằng số nguyên"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "Số tối thiểu các sự ánh xạ ảo cần suy tính nên chuyển đổi sang tên ảo đầy đủ"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "Tỷ lệ giữa sự ánh xạ ảo và ký hiệu ảo để thực hiện việc thay đổi tên ảo đầy đủ"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "Biên giới dưới của một vùng đệm được tính để bảo vệ chống đống bị đập tan ra"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "Số tối đa các câu lệnh được phép trong một khối cần được nhân đôi khi sắp xếp bước nhảy theo nhánh"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "Số tối đa các trường trong một cấu trúc trước khi tiến trình phân tích hàm trỏ thấy cấu trúc đó là một biến riêng lẻ"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "Số tối đa các câu lệnh sẵn sàng đưa ra cần được tính bởi bộ định thời trong lần đầu tiên chạy thủ tục định thời"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "Số các lệnh được thực hiện trước khi hoàn tất quá trình lấy sẵn (prefetch)"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "Số các quá trình lấy sẵn có thể chạy đồng thời"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "Kích cỡ của vùng nhớ tạm cấp 1"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "Kích cỡ của đường vùng nhớ tạm cấp 1"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "Kích cỡ của vùng nhớ tạm cấp 2"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "Có nên sử dụng loại hợp nguyên tắc hay không"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr "Chiều dài tối đa của tập hợp antic bộ phận khi thực hiện sự tối ưu hoá sẵn cây"
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr "Kích cỡ tối đa của một SCC trước khi SCCVN dừng xử lý một hàm"
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr "Số tối đa các vòng lặp cho RA thuộc miền"
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr "Kích cỡ tối đa (theo MB) của bảng xung đột"
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "Số các thanh ghi mỗi hạng còn lại chưa dùng do chuyển động bất biến vòng lặp"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "Tỷ lệ tối đa giữa kích cỡ mảng và các nhánh chuyển đổi để chuyển đổi nhánh"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr "kích cỡ tile (đơn vị dữ liệu) để chặn vòng lặp"
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "số tối đa các tham số trong một SCoP"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr "số tối đa các khối cơ bản mỗi hàm cần được Graphite phân tích"
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "số tối đa các khối cơ bản trong vòng lặp để chuyển động bất biến vòng lặp"
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "Số tối đa các lệnh trong khối cơ bản cần tính để véc-tơ hoá SLP"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr "Tỷ lệ tối thiểu giữa các lệnh và các lần lấy sẵn để hiệu lực lấy sẵn cho một vòng lặp không rõ số đếm lần đi qua"
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr "Tỷ lệ tối thiểu giữa các lệnh và các thao tác vùng nhớ để hiệu lực lấy sẵn trong một vòng lặp"
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr "Kích cỡ tối đa của bảng chuỗi duy nhất theo dõi var"
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr "UID tối thiểu cần sử dụng cho một lệnh không gỡ rối"
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr "Độ tăng lên tối đa được pháp của kích cỡ tham số mới ipa-sra thì thay thế một hàm trỏ theo một chiều rộng tập hợp"
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 #, fuzzy
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "Số tối đa các nops cần chèn cho một lời gợi ý (mặc định là 2)"
 
-#: params.def:923
+#: params.def:924
 #, fuzzy
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "Số tối đa các lần có thể định thời một lệnh nào đó"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "Cho phép đóng gói nhánh với câu lệnh khác"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "Cho phép đóng gói nhánh với câu lệnh khác"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2577,18 +2577,18 @@ msgid "invalid %%r value"
 msgstr "giá trị %%r sai"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "giá trị %%R sai"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "giá trị %%N sai"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "giá trị %%P sai"
@@ -2603,12 +2603,12 @@ msgstr "giá trị %%h sai"
 msgid "invalid %%L value"
 msgstr "giá trị %%L sai"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "giá trị %%m sai"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "giá trị %%M sai"
@@ -2619,7 +2619,7 @@ msgid "invalid %%U value"
 msgstr "giá trị %%U sai"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "giá trị %%s sai"
@@ -2629,7 +2629,7 @@ msgstr "giá trị %%s sai"
 msgid "invalid %%C value"
 msgstr "giá trị %%C sai"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "giá trị %%E sai"
@@ -2640,38 +2640,38 @@ msgid "unknown relocation unspec"
 msgstr "không rõ bỏ ghi rõ bố trí lại"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "mã %%xn sai"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "lệnh Thumb căn cứ vào"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "gặp lệnh căn cứ vào trong dãy có điều kiện"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr "sai lập toán hạng cho mã '%c'"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "sai lập toán hạng dời"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2679,81 +2679,81 @@ msgstr "sai lập toán hạng dời"
 msgid "invalid operand for code '%c'"
 msgstr "sai lập toán hạng cho mã '%c'"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "lệnh chưa bao giờ thực hiện"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "toán hạng còn thiếu"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "tham số hàm không thể có loại __fp16"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "hàm không thể trả lại loại __fp16"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "toán hạng địa chỉ yêu cầu ràng buộc cho thanh ghi X, Y, hay Z"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "các toán hạng cho %T/%t phải là reg + const_int:"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 msgid "bad address, not an I/O address:"
 msgstr "địa chỉ sai, không phải (reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 msgid "bad address, not a constant:"
 msgstr "địa chỉ sai, không phải là một hằng số):"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "địa chỉ sai, không phải (reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "địa chỉ sai, không phải post_inc hoặc pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "lỗi biên dịch nội bộ. Địa chỉ sai:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "lỗi biên dịch nội bộ. Không hiểu chế độ:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "lệnh sai:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "lệnh không đúng:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "không rõ lệnh di chuyển:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "lệnh dời sai:"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "lỗi biên dịch nội bộ. Dịch không đúng:"
 
@@ -2769,7 +2769,7 @@ msgstr "toán hạng const_double sai"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3000,72 +3000,72 @@ msgstr "lập sai toán hạng output_move_double"
 msgid "bad output_condmove_single operand"
 msgstr "lập sai toán hạng output_condmove_single"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "lập sai UNSPEC như là toán hạng"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "'%%&' bị sử dụng mà không có tham chiếu TLS năng động cục bộ"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "sai lập kích cỡ toán hạng cho mã toán hạng '%c'"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "sử dụng loại toán hạng không hợp lệ với mã toán hạng '%c'"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai 'D'"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "toán hạng không phải là hằng số, cũng không phải là một mã điều kiện, mã toán hạng sai 'C'"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "toán hạng không phải là hằng số, cũng không phải là một mã điều kiện, mã toán hạng sai 'F'"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "toán hạng không phải là hằng số, cũng không phải là một mã điều kiện, mã toán hạng sai 'c'"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "toán hạng không phải là hằng số, cũng không phải là một mã điều kiện, mã toán hạng sai 'f'"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai 'D'"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "toán hạng không phải là một mã điều kiện, mã toán hạng sai 'Y'"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "mã toán hạng sai '%c'"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "sai lập ràng buộc cho toán hạng"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "không rõ chế độ lệnh"
 
@@ -3117,13 +3117,13 @@ msgstr "sai chuyển đổi sang %<__fpreg%>"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "thao tác sai %<__fpreg%>"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "gặp toán hạng %%P sai"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "gặp giá trị %%p sai"
@@ -3202,7 +3202,7 @@ msgid "post-increment address is not a register"
 msgstr "địa chỉ hậu gia không phải là một thanh ghi"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "địa chỉ sai"
 
@@ -3337,115 +3337,115 @@ msgstr "Không đủ sức chứa trong đống.\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "Hãy thử chạy '%s' trong trình bao để tăng giới hạn.\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx yêu cầu điểm phù động loại phần cứng"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx và -mpaired không tương thích với nhau"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "-mvsx bị sử dụng với mã về cuối nhỏ"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr "-mvsx yêu cầu đặt địa chỉ một cách phụ lục"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx và -mno-altivec không tương thích với nhau"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec thì tắt vsx"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "sai di chuyển"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "giá trị %%c sai"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "giá trị %%f sai"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "giá trị %%F sai"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "giá trị %%G sai"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "mã %%j sai"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "mã %%J sai"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "giá trị %%k sai"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "giá trị %%K sai"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "giá trị %%O sai"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "giá trị %%q sai"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "giá trị %%S sai"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "giá trị %%T sai"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "giá trị %%u sai"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "giá trị %%v sai"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "giá trị %%x sai"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "giá trị %%y sai, hãy thử sử dụng ràng buộc 'Z'"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "đối số AltiVec bị gửi cho hàm không nguyên mẫu"
 
@@ -3534,25 +3534,25 @@ msgstr "sai lập toán hạng cho sự sửa đổi 'o'"
 msgid "invalid operand for code: '%c'"
 msgstr "sai lập toán hạng cho mã: '%c'"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "sai lập toán hạng tới %%R"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "sai lập toán hạng tới %%S"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "tạo và sử dụng với các kiến trúc hoặc ABI khác nhau"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "tạo và sử dụng với các ABI khác nhau"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "tạo và sử dụng với các trình trạng cuối khác nhau"
 
@@ -3571,13 +3571,13 @@ msgstr "toán hạng %%A sai"
 msgid "invalid %%B operand"
 msgstr "toán hạng %%B sai"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "sai toán hạng %%C"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "sai toán hạng %%D"
@@ -3622,57 +3622,57 @@ msgstr "toán hạng 'o' không phải là một hằng số"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand: gặp mã không rõ"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "toán hạng %%c sai"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "toán hạng %%d sai"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 msgid "invalid %%H specifier"
 msgstr "mã %%L sai"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, c-format
 msgid "invalid %%h operand"
 msgstr "sai toán hạng %%h"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, c-format
 msgid "invalid %%I operand"
 msgstr "sai toán hạng %%I"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, c-format
 msgid "invalid %%i operand"
 msgstr "sai toán hạng %%i"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, c-format
 msgid "invalid %%j operand"
 msgstr "sai toán hạng %%j"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, c-format
 msgid "invalid %%%c operand"
 msgstr "sai toán hạng %%%c"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, c-format
 msgid "invalid %%N operand"
 msgstr "sai toán hạng %%N"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 msgid "invalid operand for 'r' specifier"
 msgstr "sai lập toán hạng cho sự sửa đổi 'b'"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr "thậm chí không thể in ra toán hạng; mã == %d (%c)"
@@ -3989,7 +3989,7 @@ msgstr "%s:%d:   lần tạo từ %qs\n"
 msgid "candidates are:"
 msgstr "ứng cử là:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4359,11 +4359,11 @@ msgstr "IF (nếu) loại khối"
 msgid "implied END DO"
 msgstr "ngụ ý END DO (kết thúc làm)"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "sự gán"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "sự gán hàm trỏ"
 
@@ -4371,124 +4371,124 @@ msgstr "sự gán hàm trỏ"
 msgid "simple IF"
 msgstr "IF (nếu) đơn giản"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr "thủ tục mô-đun"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr "hàm nội bộ"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "thủ tục loại yếu tố"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "Gặp ngữ cảnh sai cho hàm trỏ NULL() tại %%L"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "Tại %%L có một toán tử thuộc số nguyên phân '%s' với toán hạng %s"
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử thuộc số nhị phân '%s' với các toán hạng %s/%s"
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử ghép nối chuỗi với các toán hạng %s/%s"
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử hợp lý '%s' với các toán hạng %s/%s"
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "Tại %%L có một toán tử .not. với toán hạng %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "Không thể so sánh các số lượng PHỨC TẠP tại %L"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "Tại %%L thì các bộ hợp lý phải được so sánh với %s thay cho %s"
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử so sánh '%s' với các toán hạng %s/%s"
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "Không rõ toán tử '%s' tại %%L"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "Tại %%L có một toán tử người dùng '%s' với toán hạng %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "Tại %%L có một toán tử người dùng '%s' với các toán hạng %s/%s"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "Tại %%L và %%L có một toán tử với các phân hàng mâu thuẫn nhau"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr "Biến vòng lặp"
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 msgid "iterator variable"
 msgstr "Biến vòng lặp"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr "Biểu thức bắt đầu trong vòng lặp DO (làm)"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr "Biểu thức kết thúc trong vòng lặp DO (làm)"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr "Biểu thức bước trong vòng lặp DO (làm)"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 msgid "DEALLOCATE object"
 msgstr "đối tượng DEALLOCATE"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 msgid "ALLOCATE object"
 msgstr "đối tượng ALLOCATE"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr "biến STAT"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr "Biến ERRMSG"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr "biến ACQUIRED_LOCK"
 
@@ -4497,7 +4497,7 @@ msgstr "biến ACQUIRED_LOCK"
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "Bộ dựng mảng chứa các chiều dài KÝ_TỰ khác nhau (%ld/%ld)"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -4824,6 +4824,18 @@ msgstr "không cho phép sử dụng đồng thời hai tuỳ chọn mthreads v
 msgid "cannot use mshared and static together"
 msgstr "không cho phép sử dụng đồng thời hai tuỳ chọn mshared và static"
 
+#: java/lang-specs.h:33
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "hai tùy chọn --fjni và --femit-class-files không tương thích với nhau"
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "hai tùy chọn --fjni và --femit-class-file không tương thích với nhau"
+
+#: java/lang-specs.h:35 java/lang-specs.h:36
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "có nên kết hợp tuỳ chọn --femit-class-filevới -fsyntax-only"
+
 #: config/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4914,26 +4926,10 @@ msgstr "Objective C của GNU không còn hỗ trợ chức năng biên dịch t
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "tuỳ chọn -shared (chia sẻ) hiện thời không được hỗ trợ cho VAX ELF"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran không hỗ trợ sử dụng -E mà không có -cpp"
 
-#: java/lang-specs.h:33
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "hai tùy chọn --fjni và --femit-class-files không tương thích với nhau"
-
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "hai tùy chọn --fjni và --femit-class-file không tương thích với nhau"
-
-#: java/lang-specs.h:35 java/lang-specs.h:36
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "có nên kết hợp tuỳ chọn --femit-class-filevới -fsyntax-only"
-
 #: config/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a không hỗ trợ tình trạng về cuối nhỏ"
@@ -4946,6 +4942,10 @@ msgstr " sử dụng các cái chuyển loại tạo mã xung đột với nhau"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "tuỳ chọn -shared (chia sẻ) hiện thời không được hỗ trợ cho VAX ELF"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "không hỗ trợ sử dụng chức năng đo hiệu năng sử dụng với -mg"
@@ -7681,7 +7681,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "Theo quy ước gọi SuperH / Renesas (còn gọi là Hitachi)"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "Đối với mã dấu chấm động động thì làm hợp hơn với IEEE"
 
 #: config/sh/sh.opt:278
@@ -11936,235 +11938,230 @@ msgstr ""
 msgid "Create a position independent executable"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 msgid "invalid use of type"
 msgstr "sử dụng kiểu sai"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "cần kiểu số"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 msgid "expected boolean type"
 msgstr "cần kiểu boolean"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "cần số nguyên hoặc lôgíc"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "sai lập toán hạng tới %%R"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "cần con trỏ"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 msgid "incompatible types in binary expression"
 msgstr "Gặp loại saio trong biểu thức bất biến"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 msgid "shift count not unsigned integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 msgid "negative shift count"
 msgstr "chiều dài lệnh âm"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "đối tượng không phải là phương thức"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 msgid "invalid use of %<...%> with builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "không đủ đối số"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "quá nhiều đối số"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 msgid "argument 1 must be a map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "hàm nội bộ"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 msgid "bad size for make"
 msgstr "sai lập lệnh cho 'A'"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 msgid "too many arguments to make"
 msgstr "quá nhiều đối số để thực hiện"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "Hỗ trợ các hàm dựng sẵn 3DNow!"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "đích không phải là một hàm trỏ hoặc một tham chiếu"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 msgid "first argument must be []byte"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 msgid "argument 2 has invalid type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 msgid "complex arguments must have floating-point type"
 msgstr "Đừng sử dụng điểm phù động loại phần cứng"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 msgid "invalid use of %<...%> with non-slice"
 msgstr "sai sử dụng '%%%c'"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "cần hàm"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "chỉ số phải là số nguyên"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 msgid "incompatible type for map index"
 msgstr "Hiệu lực chế độ thông thường"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 msgid "too many expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 msgid "too few expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "sai lập ràng buộc cho toán hạng"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr "cần kênh"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12204,19 +12201,23 @@ msgstr ""
 msgid "expected boolean expression"
 msgstr "cần một biểu thức lôgíc"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -12505,7 +12506,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr ""
@@ -12599,13 +12600,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
@@ -12980,7 +12981,7 @@ msgstr ""
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr ""
@@ -13108,7 +13109,7 @@ msgstr "không thể sơ khởi một đối tượng có kích cỡ biến đ
 msgid "variable %qD has initializer but incomplete type"
 msgstr ""
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr ""
@@ -13118,7 +13119,7 @@ msgstr ""
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "chuyển đổi enum trong bộ sơ khởi thì không hợp lệ trong C++"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr ""
@@ -14016,7 +14017,7 @@ msgstr ""
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
@@ -14219,7 +14220,7 @@ msgstr ""
 msgid "unknown type name %qE"
 msgstr ""
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr ""
@@ -14229,7 +14230,7 @@ msgstr ""
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "cần %<;%>, định danh hoặc %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
@@ -14277,7 +14278,7 @@ msgstr ""
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr ""
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
@@ -14309,8 +14310,8 @@ msgstr ""
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "cần định danh"
@@ -14644,77 +14645,77 @@ msgstr ""
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, fuzzy, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "<không rõ toán hạng>"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "thiếu %<=%> (sau thuộc tính %<getter%>)"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "thiếu %<=%> (sau thuộc tính %<setter%>)"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr ""
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskyield%> chỉ có thể sử dụng trong các biểu thức phức hợp"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%> chỉ có thể sử dụng trong cấu trúc %<#pragma omp sections%>"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "quá nhiều mệnh đề %qs"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "cần %<none%> hoặc %<shared%>"
@@ -14729,42 +14730,42 @@ msgstr "cần biểu thức nguyên"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "cần %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> hoặc %<max%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "cần mệnh đề %<#pragma omp%>"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs không hợp lệ cho %qs"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
@@ -14774,7 +14775,7 @@ msgstr ""
 msgid "expected %<(%> or end of line"
 msgstr "cần %<(%> hoặc xuống dòng"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "cần câu lệnh for"
@@ -14789,12 +14790,12 @@ msgstr ""
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
@@ -14819,27 +14820,27 @@ msgstr ""
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15617,7 +15618,7 @@ msgstr "mảng bị sơ khởi từ hằng số chuỗi nằm trong ngoặc đơ
 msgid "initialization of a flexible array member"
 msgstr "đã sơ khởi một bộ phận mảng dẻo"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "mảng ký tự bị sơ khởi từ chuỗi rộng"
@@ -15823,223 +15824,223 @@ msgstr ""
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "số lượng dịch trái là số âm"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "số lượng dịch phải  >= độ rộng của kiểu"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "số lượng dịch trái là số âm"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "số lượng dịch trái  >= độ rộng của kiểu"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr "Cảnh báo về sự so sánh các loại đếm (enum) khác nhau"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr ""
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr ""
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr ""
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -17061,7 +17062,7 @@ msgstr ""
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -17181,12 +17182,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr ""
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr ""
@@ -17271,27 +17272,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr ""
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "hàm trả về một tập hợp"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "tham số chưa dùng %q+D"
@@ -17720,62 +17721,62 @@ msgstr ""
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr ""
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification gặp lỗi"
@@ -17979,48 +17980,48 @@ msgstr "biến %qD được định nghĩa lại là một hàm"
 msgid "function %qD redeclared as variable"
 msgstr "hàm %qD được định nghĩa lại thành một biến"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -18116,12 +18117,12 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr ""
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr ""
@@ -18484,8 +18485,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
@@ -18790,7 +18791,7 @@ msgstr ""
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
@@ -18810,12 +18811,12 @@ msgstr ""
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr ""
@@ -19005,7 +19006,7 @@ msgstr "Cho phép sử dụng câu lệnh MDMX"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19020,7 +19021,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "cuộc gọi hàm gián tiếp lần đầu tiên không phải được tính để chèn vào trực tiếp"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19035,7 +19036,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, gcc-internal-format
 msgid "asm not allowed in atomic transaction"
 msgstr ""
@@ -19070,7 +19071,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, gcc-internal-format
 msgid "%Kasm not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -19690,117 +19691,117 @@ msgstr "không thể mở tập tin đáp ứng %s"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr ""
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr ""
 
-#: tree-inline.c:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr ""
 
-#: tree-inline.c:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr ""
 
-#: tree-inline.c:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr ""
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, gcc-internal-format
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr ""
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "được gọi từ đây"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
@@ -19836,7 +19837,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr ""
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "ngắt SSA"
@@ -20076,72 +20077,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr ""
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr ""
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr ""
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr ""
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr ""
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20155,141 +20156,141 @@ msgstr ""
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr ""
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr ""
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8894
+#: tree.c:8910
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8943
+#: tree.c:8959
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9016
+#: tree.c:9032
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr ""
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr ""
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
@@ -20505,12 +20506,12 @@ msgstr ""
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -20525,8 +20526,8 @@ msgstr ""
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr ""
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -21148,40 +21149,40 @@ msgstr ""
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr ""
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
@@ -21221,12 +21222,12 @@ msgstr ""
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
@@ -22977,229 +22978,229 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr ""
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr ""
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr ""
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr ""
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr ""
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr ""
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr ""
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr ""
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 và không ldrh"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard và VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "không thể sử dụng -mtp=cp15 với 16-bit Thumb"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr ""
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr ""
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr ""
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr ""
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "biến thể PCS"
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr ""
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "tham số phải là một hằng"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "bộ chọn phải là một giá trị trực tiếp"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "mặt nạ phải là một giá trị trực tiếp"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -23239,87 +23240,87 @@ msgstr "%qs hàm không trả về giá trị nào"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr ""
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "fixed register %s used to pass parameter to function"
 msgstr "Số các thanh ghi được sử dụng để gửi đối số nguyên cho đích"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, gcc-internal-format
 msgid "writing to address space %qs not supported"
 msgstr ""
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr ""
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, gcc-internal-format
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr ""
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr ""
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time integer constant"
 msgstr "Gặp kết thúc mô-đun bất thường trong hằng số chuỗi"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expects a compile time long integer constant as first argument"
 msgstr ""
@@ -23659,411 +23660,411 @@ msgstr ""
 msgid "can%'t set position in PCH file: %m"
 msgstr ""
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr ""
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr ""
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, gcc-internal-format
 msgid "-masm=intel not supported in this configuration"
 msgstr ""
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, gcc-internal-format
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr ""
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, gcc-internal-format, gfc-internal-format
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr ""
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, fuzzy, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mas100-syntax không tương thích với -gdwarf"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr ""
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "không tương thích với nhau"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr ""
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "các thuộc tính fastcall và thiscall không tương thích với nhau"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "các thuộc tính stdcall và thiscal không tương thích với nhau"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "các thuộc tính cdecl và thiscall không tương thích với nhau"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr ""
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr ""
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr ""
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr ""
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr ""
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
@@ -24133,13 +24134,13 @@ msgstr ""
 msgid "%qE attribute requires a string constant argument"
 msgstr ""
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24211,7 +24212,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr ""
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr ""
@@ -24266,7 +24267,7 @@ msgstr ""
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
@@ -24605,62 +24606,62 @@ msgstr ""
 msgid "%qs does not support MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr ""
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%> dùng với 64-bit ABI"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr "%qs không tương thích với %qs"
@@ -24670,57 +24671,57 @@ msgstr "%qs không tương thích với %qs"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -25001,307 +25002,307 @@ msgstr ""
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-mrecip cần -ffinite-math hoặc -ffast-math"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip cần -fno-trapping-math hoặc -ffast-math"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip yêu cầu -freciprocal-math hoặc -ffast-math"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, gcc-internal-format
 msgid "not configured for SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "SPE không được hỗ trợ ở đích này"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr ""
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr ""
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "sai cpu \"%s\" cho %s\"%s\"%s"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "%s\"%s\"%s là không được phép"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "%s\"%s\"%s không hợp lệ"
@@ -25534,63 +25535,63 @@ msgstr ""
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr ""
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr ""
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr ""
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr ""
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr ""
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr ""
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr ""
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr ""
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr ""
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr ""
@@ -25712,12 +25713,12 @@ msgstr ""
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 msgid "bad builtin icode"
 msgstr "mã điều kiện sai"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 msgid "operand must be an immediate of the right size"
 msgstr "toán hạng 1 phải là một thanh ghi cứng"
@@ -25932,38 +25933,38 @@ msgstr ""
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr ""
@@ -26399,7 +26400,7 @@ msgstr ""
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
@@ -26459,425 +26460,425 @@ msgstr ""
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr ""
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr ""
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr ""
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr ""
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D không thể được quá tải"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "với %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr ""
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr ""
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr ""
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr ""
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, gcc-internal-format
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr ""
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr ""
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr ""
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr ""
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr ""
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, gcc-internal-format
 msgid "%q+#D marked final, but is not virtual"
 msgstr ""
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D bị ẩn"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  bởi %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr ""
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr ""
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr ""
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr ""
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr ""
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr ""
 
-#: cp/class.c:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr ""
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr ""
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr ""
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr ""
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr ""
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr "Cảnh báo về bộ hủy cấu trúc không phải ảo"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, gcc-internal-format
 msgid "  non-static data member %q+D has non-literal type"
 msgstr ""
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr ""
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr ""
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.c:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr ""
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, gcc-internal-format
 msgid "type transparent class %qT does not have any fields"
 msgstr ""
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
@@ -26887,12 +26888,12 @@ msgstr ""
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr ""
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr ""
@@ -26912,7 +26913,7 @@ msgstr ""
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr ""
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr "toán hạng B không phải là một hằng số"
@@ -27815,7 +27816,7 @@ msgstr ""
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
@@ -27908,8 +27909,8 @@ msgstr ""
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
@@ -28439,7 +28440,7 @@ msgstr ""
 msgid "type %qT is not derived from type %qT"
 msgstr ""
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr ""
@@ -28749,374 +28750,369 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr ""
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr ""
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr ""
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr ""
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr ""
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, gcc-internal-format
 msgid "non-static data member declared %<auto%>"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr ""
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr ""
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr ""
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr ""
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr ""
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr ""
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr ""
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr ""
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr ""
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr ""
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
@@ -29136,168 +29132,168 @@ msgstr ""
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr ""
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr ""
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr ""
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr ""
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr ""
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr ""
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr ""
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr ""
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -29309,88 +29305,88 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr ""
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr ""
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr ""
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr ""
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -29399,72 +29395,72 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr ""
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr ""
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr ""
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr ""
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr ""
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr ""
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr ""
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
@@ -29812,7 +29808,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr ""
@@ -30071,152 +30067,152 @@ msgstr ""
 msgid "bad array initializer"
 msgstr ""
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr ""
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr ""
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr ""
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr ""
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr ""
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr "bộ sơ khởi chứa một chỉ mục mảng vượt quá giới hạn mảng"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr ""
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr ""
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr ""
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr ""
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
@@ -30306,12 +30302,12 @@ msgstr ""
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr ""
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -30321,12 +30317,12 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr ""
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr ""
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr ""
@@ -30341,98 +30337,98 @@ msgstr ""
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 msgid "initializer for %q+#D is invalid"
 msgstr "(bộ sơ khởi tĩnh cho %s)"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "Để vào ROM các hằng số chưa sơ khởi (yêu cầu -membedded-data)"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr ""
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr ""
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr ""
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr ""
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 ""
@@ -30569,153 +30565,153 @@ msgstr ""
 msgid "%s %s %p %d\n"
 msgstr ""
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr ""
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr ""
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, gcc-internal-format
 msgid "%qT is not a namespace"
 msgstr ""
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr ""
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr ""
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr ""
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr ""
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr ""
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr ""
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr ""
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr ""
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr ""
@@ -30845,7 +30841,7 @@ msgstr ""
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -31073,7 +31069,7 @@ msgstr ""
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "cần một tên"
@@ -31265,7 +31261,7 @@ msgstr ""
 msgid "compound-statement in constexpr function"
 msgstr ""
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
@@ -31295,7 +31291,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
@@ -31311,12 +31307,12 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "cần một tên"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
@@ -31353,7 +31349,7 @@ msgstr ""
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -31429,12 +31425,12 @@ msgstr "gặp toán hạng bất thường"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
@@ -31449,7 +31445,7 @@ msgstr ""
 msgid "expected template-id"
 msgstr "gặp toán hạng bất thường"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "cần %<<%>"
@@ -31576,12 +31572,12 @@ msgstr "cần %<;%> hoặc %<{%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
@@ -31626,73 +31622,73 @@ msgstr ""
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr ""
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 msgid "expected initializer"
 msgstr "cần một số nguyên"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "lời tuyên bố loại có hướng"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr ""
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr ""
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr ""
@@ -31701,247 +31697,247 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 msgid "invalid declarator"
 msgstr "sai lập toán hạng tới %%R"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 msgid "expected declarator"
 msgstr "cần bộ mô tả chỉnh sửa P"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "gặp toán hạng bất thường"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr ""
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr ""
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "cần một số nguyên"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "cần %<,%> hoặc %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr ""
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr ""
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 msgid "expected class-name"
 msgstr "cần một tên"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "cần %<{%> hoặc %<:%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr ""
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "cần một tên"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "cần %<;%> tại cuối khai báo thành viên"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "<danh sách bộ sơ khởi nằm trong dấu ngoặc>"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr ""
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr ""
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -31950,317 +31946,317 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "bộ sơ khởi sai"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "cần %<new%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "cần %<delete%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "cần %<return%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "cần %<extern%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "cần %<static_assert%>"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "cần %<decltype%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "cần %<operator%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "cần %<class%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "cần %<template%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "cần %<namespace%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "cần %<using%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "cần %<asm%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "cần %<try%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "cần %<catch%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "cần %<throw%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "cần %<__label__%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "cần %<@try%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "cần %<@synchronized%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "cần %<@throw%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr "cần %<__transaction_relaxed%>"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "cần %<::%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "cần %<...%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "cần %<*%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "cần %<~%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "cần %<:%> hoặc %<::%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "cần %<class%>, %<typename%>, hoặc %<template%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr ""
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 msgid "invalid type for property"
 msgstr "sai lập toán hạng cho sự sửa đổi 'p'"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr ""
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr ""
@@ -32963,17 +32959,17 @@ msgstr ""
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr ""
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr ""
@@ -32991,257 +32987,257 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr ""
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr ""
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr ""
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr ""
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr ""
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, gcc-internal-format
 msgid "%q+D declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr ""
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr ""
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
@@ -33253,32 +33249,32 @@ msgstr ""
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr "template-parameter-"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr ""
@@ -33286,12 +33282,12 @@ msgstr ""
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -33528,7 +33524,7 @@ msgstr ""
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
@@ -33701,263 +33697,263 @@ msgstr "gặp thanh ghi sai trong lệnh di chuyển"
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr ""
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "Đừng sử dụng push để lưu các đối số hàm"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr ""
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, gcc-internal-format
 msgid "call to non-constexpr function %qD"
 msgstr ""
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr "%qD được gọi trong một biểu thức hằng"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, gcc-internal-format, gfc-internal-format
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr ""
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%q+E không phải biểu thức hằng"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "Tham chiếu mảng ở ngoại phạm vi"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE không phải là biểu thức hằng"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, fuzzy, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "bộ sơ khởi chứa một chỉ mục mảng không phải là một biểu tượng hằng số nguyên"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "gặp yếu tố thừa trong bộ sơ khởi hợp"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr ""
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "Gặp loại saio trong biểu thức bất biến"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "cần một loại biểu thức"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "yếu tố sơ khởi không phải là một biểu tượng hằng số"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "bộ sơ khởi chứa một chỉ mục mảng không phải hằng số"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "cần AST thuộc kiểu %s"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr ""
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr ""
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr ""
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr ""
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr ""
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr ""
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr ""
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr ""
@@ -34900,122 +34896,122 @@ msgstr ""
 msgid "cannot initialize arrays using this syntax"
 msgstr ""
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr ""
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr ""
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr ""
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr ""
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr ""
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr ""
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr ""
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
@@ -35075,187 +35071,187 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr ""
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr ""
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "Gặp yếu tố bất thường '%c' trong chuỗi định dạng tại %L"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr ""
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr ""
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr ""
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr ""
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr ""
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr ""
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr ""
@@ -35290,7 +35286,7 @@ msgstr ""
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr ""
@@ -35400,7 +35396,7 @@ msgstr ""
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr ""
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr ""
@@ -35483,8 +35479,8 @@ msgstr ""
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr ""
@@ -35629,7 +35625,7 @@ msgstr ""
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr ""
@@ -35759,42 +35755,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr ""
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr ""
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr ""
@@ -35806,7 +35802,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -36086,7 +36082,7 @@ msgstr ""
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
@@ -36101,7 +36097,7 @@ msgstr ""
 msgid "Extension: Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
@@ -36111,7 +36107,7 @@ msgstr ""
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr ""
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
@@ -36308,7 +36304,7 @@ msgstr ""
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -36328,834 +36324,834 @@ msgstr ""
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr ""
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr ""
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr ""
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr ""
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr ""
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr ""
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr ""
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr ""
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr ""
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr ""
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr ""
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr ""
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr ""
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr ""
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr ""
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
@@ -37395,27 +37391,27 @@ msgstr ""
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -37676,7 +37672,7 @@ msgid "can't open input file: %s"
 msgstr ""
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -37792,12 +37788,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -39816,7 +39812,7 @@ msgstr ""
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -40905,943 +40901,943 @@ msgstr ""
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr ""
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr ""
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr ""
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr ""
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr ""
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr ""
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-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:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr ""
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr ""
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr ""
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr ""
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -41850,175 +41846,175 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr ""
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -42026,950 +42022,950 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr ""
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr ""
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr ""
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr ""
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -43135,34 +43131,34 @@ msgstr ""
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr ""
@@ -43170,47 +43166,47 @@ msgstr ""
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr ""
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -43579,17 +43575,17 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr ""
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -44200,17 +44196,17 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr ""
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
@@ -44220,67 +44216,67 @@ msgstr ""
 msgid "invalid line in the resolution file"
 msgstr "lệnh chứa một thanh ghi sai"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "lệnh chứa một thanh ghi sai"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr ""
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr "Không thể mở %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr "Không thể map %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr "Không thể đọc %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr "lto_obj_file_open() gặp lỗi"
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "không thể mở tập tin đáp ứng %s"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -45220,6 +45216,10 @@ msgstr "%<-fobjc-sjlj-exceptions%> bị lờ đi cho %<-fnext-runtime%> khi %<-f
 msgid "creating selector for nonexistent method %qE"
 msgstr ""
 
+#, fuzzy
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "sai lập ràng buộc cho toán hạng"
+
 #~ msgid "internal gcc abort in %s, at %s:%d"
 #~ msgstr "gcc bị hủy bỏ nội bộ trong %s, vào %s:%d"
 
index 7e419ae..09675f5 100644 (file)
Binary files a/gcc/po/zh_CN.gmo and b/gcc/po/zh_CN.gmo differ
index 21ddab5..945e025 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.6.0\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\n"
 "PO-Revision-Date: 2011-05-19 15:04+0800\n"
 "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -29,7 +29,7 @@ msgstr "<匿名>"
 msgid "({anonymous})"
 msgstr "{{匿名}}"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr "需要行尾"
@@ -39,8 +39,8 @@ msgstr "需要行尾"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "需要%<;%>"
@@ -52,13 +52,13 @@ msgstr "需要%<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "需要%<(%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr "需要 %<,%>"
@@ -74,14 +74,14 @@ msgstr "需要 %<,%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr "需要%<)%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr "需要%<]%>"
@@ -90,25 +90,25 @@ msgstr "需要%<]%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "需要 %<;%>、%<,%> 或 %<)%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr "需要 %<}%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "需要%<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr "需要 %<:%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr "需要 %<while%>"
@@ -117,34 +117,34 @@ msgstr "需要 %<while%>"
 msgid "expected %<.%>"
 msgstr "需要%<.%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr "需要 %<@end%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr "需要 %<>%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr "需要 %<,%> 或 %<)%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "需要%<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "需要%<#pragma omp section%>或%<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr "需要%<[%>"
@@ -321,12 +321,12 @@ msgstr "‘%%l’操作数不是一个标号"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "错误地使用了浮点常量"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "无效的表达式用作操作数"
@@ -1415,20 +1415,20 @@ msgstr "无法识别的指令:"
 msgid "insn does not satisfy its constraints:"
 msgstr "指令不满足其约束:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "创建和使用时使用了不同的‘%s’设定"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "内存不足"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "创建和使用时使用了不同的 -fpic 设定"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "创建和使用时使用了不同的 -fpie 设定"
 
@@ -2037,202 +2037,202 @@ msgstr "可能冲突的存储和装载之间的最小距离"
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr "可以被记作组合器的最终值的最大 RTL 节点数"
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "共享整型常量的上界"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "考虑切换到完整虚拟重命名的最小虚拟映射数"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr "当虚拟映射和虚拟符号之间的比率大于此设定时进行全虚拟重命名"
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "考虑预防堆栈溢出的缓冲区的下限值"
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "线索化跳转时一个以被复制的块中所能包含的最大语句数"
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "在指针分析将该结构视为单一变量前结构包含的最大字段数"
 
-#: params.def:705
+#: params.def:706
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "首趟调度考虑准备生成的指令的最大数量"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr "预取操作完成前执行指令的数目"
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr "可以同时运行的预取操作数目"
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr "一级缓存大小"
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr "一级缓存列长度"
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr "二级缓存大小"
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr "是否使用合乎规范的类型"
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr "进行树上部分冗余消除时部分可预期集的最大长度"
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr "在 SCCVN 停止处理一个函数以前 SCC 的最大尺寸"
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr "用作区域寄存器分配的最大循环数"
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr "以 MB 表示的冲突表大小上限"
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr "保留不为循环不变量转移使用的各种寄存器的数量"
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr "当数组大小与开关分支的比率大于此值时开关转换不会发生"
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr "循环分块中每小块的大小"
 
-#: params.def:813
+#: params.def:814
 msgid "maximum number of parameters in a SCoP"
 msgstr "一个静态控制部分(ScoP)中参数的最大数量"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr "Graphite 可分析的每函数所包含的基本块数量上限"
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr "用作循环不变量转移的循环中基本块的最大数量"
 
-#: params.def:839
+#: params.def:840
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "考虑进行基本块向量化的基本块能包含的指令数上限"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr "为有未知路程计数的循环启用预取时最小的指令/预取比"
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr "为循环启用预取时最小的指令/内存操作比"
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr "变量跟踪散列表的最大尺寸"
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr "非调试指令所使用的最小 UID"
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr "IPA-SRA 考虑将指向的聚合的指针替换为参数时这些参数总和大小相对原指针参数大小倍数的最大值"
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 #, fuzzy
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr "为实现跳转提示插入的 nop 的最大数(默认 2)"
 
-#: params.def:923
+#: params.def:924
 #, fuzzy
 #| msgid "Maximum number of times that an insn could be scheduled"
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr "指定一条指令最多能被调度几次"
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr "允许跳转与其他指令打包在一起"
 
-#: params.def:954
+#: params.def:955
 #, fuzzy
 #| msgid "Allow branches to be packed with other instructions"
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr "允许跳转与其他指令打包在一起"
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2565,18 +2565,18 @@ msgid "invalid %%r value"
 msgstr "无效 %%r 值"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "无效 %%R 值"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "无效 %%N 值"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "无效 %%P 值"
@@ -2591,12 +2591,12 @@ msgstr "无效 %%h 值"
 msgid "invalid %%L value"
 msgstr "无效 %%L 值"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "无效 %%m 值"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "无效 %%M 值"
@@ -2607,7 +2607,7 @@ msgid "invalid %%U value"
 msgstr "无效 %%U 值"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "无效 %%s 值"
@@ -2617,7 +2617,7 @@ msgstr "无效 %%s 值"
 msgid "invalid %%C value"
 msgstr "无效 %%C 值"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "无效 %%E 值"
@@ -2628,39 +2628,39 @@ msgid "unknown relocation unspec"
 msgstr "未指定未知的重定位方式"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "无效的 %%xn 代码"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "预测到的 Thumb 指令"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "在条件序列中预测到的指令"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, c-format
 msgid "invalid shift operand"
 msgstr "无效的移位操作数"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2668,85 +2668,85 @@ msgstr "无效的移位操作数"
 msgid "invalid operand for code '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, c-format
 msgid "instruction never executed"
 msgstr "指令从不被执行"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "缺少操作数"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 msgid "function parameters cannot have __fp16 type"
 msgstr "函数形参不能有 __fp16 类型"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 msgid "functions cannot return __fp16 type"
 msgstr "函数不能返回 __fp16 类型"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "地址操作数需要 X、Y 或 Z 寄存器约束"
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "输出操作数 %d 必须使用%<&%>约束"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "地址错误,不是(reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "bad address, not a constant):"
 msgid "bad address, not a constant:"
 msgstr "错误的地址,不是一个常量):"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "地址错误,不是(reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "错误的地址,不是 post_inc 或 pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "编译器内部错误。错误的地址:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "编译器内部错误。未知的模式:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "无效指令:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "错误指令:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "无效的 move 指令:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "错误的 shift 指令"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "编译器内部错误。不正确的移位量:"
 
@@ -2762,7 +2762,7 @@ msgstr "无效的双精度常量操作数"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -2992,73 +2992,73 @@ msgstr "错误的 output_move_double 操作数"
 msgid "bad output_condmove_single operand"
 msgstr "错误的 output_condmove_single 操作数"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "无效的 UNSPEC 用作操作数"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr "使用‘%%&’ 时没有指定任何动态 TLS 引用"
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, c-format
 msgid "invalid operand size for operand code '%c'"
 msgstr "操作数代码‘%c’的操作数大小无效"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, c-format
 msgid "invalid operand type used with operand code '%c'"
 msgstr "操作数代码‘%c’的操作数类型无效"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "操作数不是一个条件码,无效的操作数代码‘D’"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘C’"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘F’"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘c’"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘f’"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is not a condition code, invalid operand code 'D'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "操作数不是一个条件码,无效的操作数代码‘D’"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "操作数不是一个条件码,无效的操作数代码‘Y’"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "无效的操作数代码‘%c’"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "操作数的约束无效"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "未知的指令模式"
 
@@ -3111,13 +3111,13 @@ msgstr "向%<__fpreg%>的转换无效"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "对%<__fpreg%>的操作无效"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "无效的 %%p 值"
@@ -3196,7 +3196,7 @@ msgid "post-increment address is not a register"
 msgstr "后自增地址不是一个寄存器"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "错误地址"
 
@@ -3332,115 +3332,115 @@ msgstr "堆栈溢出。\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "尝试在命令解释器中运行‘%s’以提升它的极限。\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 msgid "-mvsx requires hardware floating point"
 msgstr "-mvsx 需要硬件浮点"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-mvsx 与 -mpaired 互不兼容"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 msgid "-mvsx used with little endian code"
 msgstr "-mvsx 和小端在前的代码一起使用"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 msgid "-mvsx needs indexed addressing"
 msgstr "-mvsx 需要变址寻址"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-mvsx 与 -mno-altivec 互不兼容"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr "-mno-altivec 禁用了 VSX"
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 msgid "bad move"
 msgstr "错误的移动"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, c-format
 msgid "invalid %%c value"
 msgstr "无效 %%c 值"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "无效 %%f 值"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "无效 %%F 值"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "无效 %%G 值"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "无效 %%j 代码"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "无效 %%J 代码"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "无效 %%k 值"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "无效 %%K 值"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "无效 %%O 值"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "无效 %%q 值"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "无效 %%S 值"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "无效 %%T 值"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "无效 %%u 值"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "无效 %%v 值"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "无效的 %%x 值"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "无效 %%y 值,请试用“Z”约束"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "传递 AltiVec 参数给无原型的函数"
 
@@ -3529,25 +3529,25 @@ msgstr "无效的最小左值表达式"
 msgid "invalid operand for code: '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R 的操作数无效"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S 的操作数无效"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "创建和使用时使用了不同的架构/ABI"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "创建和使用时使用了不同的 ABI"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "创建和使用时使用了不同的大小端设定"
 
@@ -3566,14 +3566,14 @@ msgstr "无效的 %%A 操作数"
 msgid "invalid %%B operand"
 msgstr "无效的 %%B 操作数"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%C operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%D operand"
@@ -3619,65 +3619,65 @@ msgstr "‘o’操作数不是一个常量"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand:未知代码"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "无效的 %%c 操作数"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "无效的 %%d 操作数"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%L code"
 msgid "invalid %%H specifier"
 msgstr "无效 %%L 代码"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "无效的 %%c 操作数"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "‘b’修饰符的操作数无效"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4008,7 +4008,7 @@ msgstr "%s:%d:在%qs的广义常表达式扩展中"
 msgid "candidates are:"
 msgstr "备选为:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, gcc-internal-format
 msgid "candidate is:"
 msgid_plural "candidates are:"
@@ -4376,11 +4376,11 @@ msgstr "块 IF"
 msgid "implied END DO"
 msgstr "暗示的 END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "赋值"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "指针赋值"
 
@@ -4388,129 +4388,129 @@ msgstr "指针赋值"
 msgid "simple IF"
 msgstr "简单的 IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr "模块过程"
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 msgid "internal function"
 msgstr "内部函数"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr "基本过程"
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "%%L处 NULL() 指针上下文无效"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "单目数值运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "二元数值运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "字符串毗连运算符(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "逻辑运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "%%L处的 .not. 运算符的操作数为 %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "%L处复数不能比较大小"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "%%L处逻辑值必须与 %s 比较,而不是 %s"
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "比较运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, c-format
 msgid "Unknown operator '%s' at %%L"
 msgstr "未知的运算符‘%s’在 %%L处"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "%%L和%%L处的操作数的秩不一致"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr "循环变量"
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 msgid "iterator variable"
 msgstr "未使用的变量%q+D"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 msgid "Start expression in DO loop"
 msgstr "DO 循环中的开始表达式"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 msgid "End expression in DO loop"
 msgstr "DO 循环中结束表达式"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 msgid "Step expression in DO loop"
 msgstr "DO 循环中的步进表达式"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 msgid "DEALLOCATE object"
 msgstr "减小目标文件"
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 msgid "ALLOCATE object"
 msgstr "减小目标文件"
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 #, fuzzy
 msgid "STAT variable"
 msgstr "未使用的变量%q+D"
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 #, fuzzy
 msgid "ERRMSG variable"
 msgstr "未使用的变量%q+D"
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 #, fuzzy
 msgid "item in READ"
 msgstr "读取链接脚本"
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4519,7 +4519,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr "数组构造函数中 CHARACTER 长度不同(%ld/%ld)"
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 #, fuzzy
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr "试图分配负数大小的内存。可能有整数溢出"
@@ -4850,6 +4850,18 @@ msgstr "不能同时使用 mthreads 和 mlegacy-threads"
 msgid "cannot use mshared and static together"
 msgstr "不能同时使用 mshared 和 static"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -4943,26 +4955,10 @@ msgstr "GNU Objective C 不再支持传统编译"
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared 选项目前在 VAX ELF 下不受支持"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 msgid "gfortran does not support -E without -cpp"
 msgstr "gfortran 不支持单独使用 -E 而不带 -cpp"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a 不支持小端在前"
@@ -4975,6 +4971,10 @@ msgstr "使用了相互冲突的代码生成风格"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared 选项目前在 VAX ELF 下不受支持"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 msgid "profiling not supported with -mg"
 msgstr "取样不支持 -mg"
@@ -7746,7 +7746,9 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "遒循 Renesas(先前被称作 Hitachi)/SuperH 调用约定"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
+#, fuzzy
+#| msgid "Increase the IEEE compliance for floating-point code"
+msgid "Increase the IEEE compliance for floating-point comparisons"
 msgstr "让浮点代码更加遵循 IEEE 标准"
 
 #: config/sh/sh.opt:278
@@ -12078,261 +12080,256 @@ msgstr "生成一个共享库"
 msgid "Create a position independent executable"
 msgstr "生成位置无关可执行文件"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 msgid "invalid use of type"
 msgstr "对未定义类型%<%s %E%>的使用无效"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 msgid "constant refers to itself"
 msgstr "inlined_to pointer 指向自身"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 msgid "expected numeric type"
 msgstr "需要数字类型"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "expected integer or boolean type"
 msgid "expected boolean type"
 msgstr "需要整数或布尔类型"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 msgid "expected integer or boolean type"
 msgstr "需要整数或布尔类型"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 msgid "invalid operand for unary %<&%>"
 msgstr "代码‘%c’的操作数无效"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 msgid "expected pointer"
 msgstr "需要指针"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 msgid "incompatible types in binary expression"
 msgstr "二元表达式中类型不匹配"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 msgid "shift of non-integer operand"
 msgstr "非整数操作数使用了操作数代码‘%c’"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 msgid "shift count not unsigned integer"
 msgstr "switch 语句中的值不是一个整数"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 msgid "negative shift count"
 msgstr "移位次数为负"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 msgid "object is not a method"
 msgstr "对象不是一个方法"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 msgid "method type does not match object type"
 msgstr "方法类型不匹配对象类型"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to built-in function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "内建函数实参无效"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 msgid "not enough arguments"
 msgstr "实参太少"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 msgid "too many arguments"
 msgstr "实参太多"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument must be a constant"
 msgid "argument 1 must be a map"
 msgstr "实参必须是常数"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 msgid "invalid type for make function"
 msgstr "函数%q+#D的抽象返回类型无效"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 #, fuzzy
 #| msgid "bad length when making slice"
 msgid "length required when allocating a slice"
 msgstr "生成切片时长度错误"
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad size when making map"
 msgid "bad size for make"
 msgstr "生成映射时大小错误"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr "生成切片时容量错误"
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments to %qE"
 msgid "too many arguments to make"
 msgstr "%qE实参太多"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 msgid "argument must be array or slice or channel"
 msgstr "右实参必须是一个切片或字符串"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 msgid "unsupported argument type to builtin function"
 msgstr "%<__builtin_frame_address%>的实参不受支持"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 msgid "argument must be channel"
 msgstr "实参必须是通道"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 #, fuzzy
 msgid "cannot close receive-only channel"
 msgstr "间接引用操作数无效"
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 msgid "argument must be a field reference"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是 %4$s"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 msgid "left argument must be a slice"
 msgstr "左实参必须是一个切片"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr "元素类型必须一样"
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "left argument must be a slice"
 msgid "first argument must be []byte"
 msgstr "左实参必须是一个切片"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "right argument must be a slice or a string"
 msgid "second argument must be slice or string"
 msgstr "右实参必须是一个切片或字符串"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "parameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "第 %u 个参数类型为 void"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 msgid "argument must have complex type"
 msgstr "实参必须具有复数类型"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 msgid "complex arguments must have identical types"
 msgstr "复数实参必须具有相同的类型"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 msgid "complex arguments must have floating-point type"
 msgstr "复数实参必须具有浮点类型"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of %<this%> at top level"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "在文件作用域使用%<this%>无效"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 msgid "expected function"
 msgstr "需要函数"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 msgid "incompatible type for receiver"
 msgstr "接收器类型不兼容"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of %<this%> in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "在非成员函数中使用%<this%>无效"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 msgid "number of results does not match number of values"
 msgstr "返回值的数量不匹配值的数量"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 msgid "index must be integer"
 msgstr "索引必须是整数"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 msgid "slice end must be integer"
 msgstr "切片结尾必须是整数"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 msgid "incompatible type for map index"
 msgstr "映射索引类型不兼容"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 #, fuzzy
 msgid "expected interface or pointer to interface"
 msgstr "%<delete%>的参数类型应为指针而非%q#T"
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 msgid "too many expressions for struct"
 msgstr "提供给格式字符串的实参太多"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 msgid "too few expressions for struct"
 msgstr "格式字符串实参太少"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-msgid "invalid unsafe.Pointer conversion"
-msgstr "从%<__fpreg%>的转换无效"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 msgid "expected channel"
 msgstr "需要通道"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -12373,21 +12370,25 @@ msgstr "返回语句中值太多"
 msgid "expected boolean expression"
 msgstr "需要布尔表达式"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 msgid "incompatible types in send"
 msgstr "指针目标类型在 C++ 中不兼容"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 #, fuzzy
 msgid "invalid send on receive-only channel"
 msgstr "间接引用操作数无效"
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 #, fuzzy
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr "右实参必须是一个切片或字符串"
@@ -12693,7 +12694,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, gcc-internal-format
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%K对%<__builtin_va_arg_pack ()%>的使用无效"
@@ -12787,13 +12788,13 @@ msgstr "%K试图 free 一个不在堆上的对象"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void 值未如预期地被忽略"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "请求转换到非标量类型"
@@ -13168,7 +13169,7 @@ msgstr "开关跳转至语句表达式中"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%qE定义为类型错误的标记"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "错误地使用了%<restrict%>"
@@ -13299,7 +13300,7 @@ msgstr "可变大小的对象不能被初始化"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "变量%qD有初始值设定但类型不完全"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "为内联函数%q+D给定了 noinline 属性"
@@ -13309,7 +13310,7 @@ msgstr "为内联函数%q+D给定了 noinline 属性"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "未初始化的常量%qD在C++中是无效的"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr "%qD应当被赋值"
@@ -14220,7 +14221,7 @@ msgstr "实参%qD与内建原型不符"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "实参%qD与原型不符"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "在有返回值的函数中未发现 return 语句"
@@ -14423,7 +14424,7 @@ msgstr "ISO C 不支持在函数外使用多余的%<;%>"
 msgid "unknown type name %qE"
 msgstr "未知的类型名%qE"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "需要指定声明"
@@ -14433,7 +14434,7 @@ msgstr "需要指定声明"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "需要标识符或%<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr "此目标机不支持节属性"
@@ -14481,7 +14482,7 @@ msgstr "ISO C90 不支持%<_Static_assert%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 不支持%<_Static_assert%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "需要字面字符串"
@@ -14513,8 +14514,8 @@ msgstr "静态断言错误:%E"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "需要标识符"
@@ -14858,78 +14859,78 @@ msgstr "需要指定声明"
 msgid "no type or storage class may be specified here,"
 msgstr "为%qs指定了存储类"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, fuzzy, gcc-internal-format
 msgid "unknown property attribute"
 msgstr "attribute(target(\"%s\"))未知"
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "%qs后断言"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "%qs后断言"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "不能为函数指定地址区域属性"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr "setter 的名字必须以%<:%>结尾"
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "不能为函数指定地址区域属性"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%>只能用在复合语句中"
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%>只能用在复合语句中"
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, fuzzy, gcc-internal-format
 #| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%>只能用在%<#pragma omp sections%>结构中"
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%>必须是第一个"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "太多的%qs子句"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr "折叠参数需要正整常量表达式"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "需要%<none%>或%<shared%>"
@@ -14944,44 +14945,44 @@ msgstr "需要整数表达式"
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%>值必须为正"
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr "需要%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%>或%<||%>"
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "调度%<runtime%>不接受一个%<chunk_size%>参数"
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "调度%<auto%>不接受一个%<chunk_size%>参数"
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "无效的调度类型"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "需要%<#pragma omp%>子句"
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs对%qs而言无效"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operator for %<#pragma omp atomic%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "%<#pragma omp atomic%>运算符无效"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr "%<#pragma omp atomic%>运算符无效"
@@ -14991,7 +14992,7 @@ msgstr "%<#pragma omp atomic%>运算符无效"
 msgid "expected %<(%> or end of line"
 msgstr "需要%<(%>或行尾"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "需要 for 语句"
@@ -15006,12 +15007,12 @@ msgstr "需要迭代声明或初始化"
 msgid "not enough perfectly nested loops"
 msgstr "不够完美的嵌套循环"
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "折叠的循环没有完美的嵌套"
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "迭代变量%qD不应当是 firstprivate"
@@ -15036,27 +15037,27 @@ msgstr "自动变量%qE不能是%<threadprivate%>"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%>%qE的类型不完全"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -15847,7 +15848,7 @@ msgstr "用括号中的字符串常量初始化数组"
 msgid "initialization of a flexible array member"
 msgstr "对可变数组成员的初始化"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "用宽字符串初始化 char 数组"
@@ -16053,225 +16054,225 @@ msgstr "在无返回值的函数中,%<return%>带返回值"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "ISO C 不允许在无返回值的函数中%<return%>带返回值"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "函数返回局部变量的地址"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch 语句中的值不是一个整数"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "在 ISO C 中,%<long%>开关表达式不被转换为%<int%>"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr "case 标号不是一个整数常量表达式"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case 标号出现在开关语句外"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%>标号未出现在 switch 语句内"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "建议显式地使用花括号以避免出现有歧义的%<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break 语句不在循环或开关语句内"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue 语句出现在循环以外"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "OpenMP for 循环中使用了 break 语句"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "语句不起作用"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "表达式语句类型不完全"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "右移次数为负"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "右移次数大于或等于类型宽度"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "左移次数为负"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "左移次数大于或等于类型宽度"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "Warn about comparison of different enum types"
 msgid "comparing vectors with different element types"
 msgstr "对不同枚举类型之间的比较给出警告"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, fuzzy, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr "形参数量不同"
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "使用 == 或 != 比较浮点数是不安全的"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "比较指向不相交的地址空间的指针"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C 不允许在%<void *%>和函数指针间比较"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "比较不相关的指针时缺少类型转换"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "比较指针和整数"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "在完全和不完全指针间比较"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C 不允许函数指针间比较大小"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr "指针与整数 0 比较大小"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "指针与整数 0 比较大小"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "C++ 中不允许从%qT到%qT的隐式转换"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "需要标量时使用了不能被转换为指针的数组"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "需要标量时使用了结构类型"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "需要标量时使用了联合类型"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "需要标量时使用了结构类型"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE的类型对%<reduction%>无效"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE的类型对%<reduction(%s)%>无效"
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE必须是%<threadprivate%>方可%<copyin%>"
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE在子句%qs中不是一个变量"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE在数据子句中多次出现"
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE在子句%<firstprivate%>中不是一个变量"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE在子句%<lastprivate%>中不是一个变量"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE可被预先确定为%qs,为%qs"
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr "C++ 在%<va_arg%>中需要提升后的类型而不是枚举"
@@ -17302,7 +17303,7 @@ msgstr "%d 的主导者应该为 %d,而不是 %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr "多个 EH 个性需要汇编器支持 .cfi.personality 指示。"
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "non-delegitimized UNSPEC %d found in variable location"
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
@@ -17424,12 +17425,12 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "嵌套函数中使用了全局寄存器变量%qD"
 
-#: expr.c:9971
+#: expr.c:9972
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%K调用%qs,声明有错误属性:%s"
 
-#: expr.c:9978
+#: expr.c:9979
 #, gcc-internal-format
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%K调用%qs,声明有警告属性:%s"
@@ -17514,27 +17515,27 @@ msgstr "折叠检查: 原始树因折叠而改变 "
 msgid "total size of local objects too large"
 msgstr "局部对象的总大小太大"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%>中不可能的约束"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "变量%q+D能为%<longjmp%>或%<vfork%>所篡改"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "实参%q+D可能为%<longjmp%>或%<vfork%>所篡改"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "函数返回一个聚合"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "未使用的参数%q+D"
@@ -17964,62 +17965,62 @@ msgstr "gimple 检查:需要 %s(%s),得到 %s(%s) 在 %s 中,于 %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "使用返回%<void%>的函数的结果"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "汇编输出 %d 中左值无效"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "非内存输入 %d 必须在内存中"
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "内存输入 %d 不可直接寻址"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr "嵌套函数中使用了寄存器变量%qD"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, fuzzy, gcc-internal-format
 msgid "enclosing task"
 msgstr "括入并行"
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr "%qE未为在括入的并行中指定"
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr "括入并行"
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr "迭代变量%qE应当是私有的"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "迭代变量%qE不应当是 firstprivate"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr "迭代变量%qE不应当是 reduction"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr "%s 变量%qE在外层上下文中是私有的"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification 失败"
@@ -18226,48 +18227,48 @@ msgstr "变量%qD重声明为函数"
 msgid "function %qD redeclared as variable"
 msgstr "函数%qD重声明为变量"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "屏障区域不可以紧密嵌套在工作共享、临界、有序、主要的或显式的任务区域内"
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr "工作共享区域不可以紧密嵌套在工作共享、临界、有序、主要的或显式的任务区域内"
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr "主要区域不可以紧密嵌套在工作共享或显式的任务区域内"
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr "有序区域不可以紧密嵌套在临界或显式的任务区域内"
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr "有序区域必须紧密嵌套在一个有次序分句的循环内"
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr "临界区域不可以被嵌套在同名的临界区域内"
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "OpenMP 结构块出口无效"
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "OpenMP 结构块入口无效"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr "进出 OpenMP 结构块的分支无效"
@@ -18364,12 +18365,12 @@ msgstr "-static-libgfortran 在此配置下不受支持"
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr "当文件作用域重排序被禁用时也必须禁用节中锚点"
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架构下和异常一起工作"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
 msgstr "-freorder-blocks-and-partition 在此架构下不支持堆栈展开信息"
@@ -18744,8 +18745,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "无法将%qs用作调用者固定寄存器"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "未知的寄存器名:%s"
@@ -19052,7 +19053,7 @@ msgstr "packed 属性导致低效率的对齐"
 msgid "packed attribute is unnecessary"
 msgstr "不需要 packed 属性"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "数组元素的对齐边界比元素大小还要大"
@@ -19072,12 +19073,12 @@ msgstr "嵌套函数在此目标机上不受支持"
 msgid "nested function trampolines not supported on this target"
 msgstr "嵌套函数蹦床在此目标机上不受支持"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr "target 属性在此目标机上不受支持"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
 msgstr "#pragma GCC target 在此目标机上不受支持"
@@ -19273,7 +19274,7 @@ msgstr "指定链接时使用%qD无效"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -19289,7 +19290,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "间接函数调用目标未定义"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -19305,7 +19306,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr "间接函数调用目标未定义"
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "namespace %qD not allowed in using-declaration"
 msgid "asm not allowed in atomic transaction"
@@ -19344,7 +19345,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "attributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -19973,118 +19974,118 @@ msgstr "无法打开转储文件%qs:%s"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "忽略未知的选项%q.*s,在%<-fdump-%s%>中"
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr "基本块 %i 有多个 EH 边"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr "基本块 %i 不能抛出异常但却有 EH 边"
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "基本块 %i 最后一条语句设置了不正确的 lp"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr "基本块 %i 缺少一条 EH 边"
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr "不正确的 EH 边 %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr "基本块 %i 缺少一条边"
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr "基本块 %i 下落边太多"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr "基本块 %i 有不正确的边"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr "基本块 %i 有不正确的下落边"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "函数%q+F无法被复制,因为它接受了非局部的 goto"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "函数%q+F无法被复制,因为它在一个静态变量中保存了局部标号的地址"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "函数%q+F无法被内联,因为它使用了 setjmp"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "函数%q+F无法被内联,因为它使用了变长实参表"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "函数%q+F无法被内联,因为使用了非局部的 goto"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "函数%q+F无法被内联,因为包含一个计算转移"
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "函数%q+F无法被内联,因为它使用了与内联冲突的属性"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "调用%q+F时内联失败:%s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "从此处调用"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "调用%q+F时内联失败:%s"
@@ -20120,7 +20121,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "%q+D返回值的大小超过 %wd 字节"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA 损坏"
@@ -20367,72 +20368,72 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, gcc-internal-format
 msgid "array subscript is outside array bounds"
 msgstr "数组下标越过了数组边界"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, gcc-internal-format
 msgid "array subscript is above array bounds"
 msgstr "数组下标大于数组边界"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, gcc-internal-format
 msgid "array subscript is below array bounds"
 msgstr "数组下标小于数组边界"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr "将条件简化为常量时假定有符号数从不溢出"
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr "简化条件时假定有符号数从不溢出"
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为假"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为真"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr "将%</%>或%<%%%>简化为%<>>%>或%<&%>时假定有符号数从不溢出"
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr "将%<abs (X)%>简化为%<X%>或%<-X%>时假定有符号数从不溢出"
 
-#: tree.c:4235
+#: tree.c:4236
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "忽略在其定义之后为%qT应用的属性"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D已被声明为具有 dllexport 属性:忽略 dllimport"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D重声明时没有 dllimport 属性,但已被作为 dllimport 链接引用过"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D重声明时没有 dllimport 属性:忽略先前的 dllimport"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -20446,141 +20447,141 @@ msgstr "%q+D重声明时没有 dllimport 属性:忽略先前的 dllimport"
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE属性被忽略"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "内联函数%q+D声明为 dllimport:忽略此属性"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "函数%q+D的定义被标记为 dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "变量%q+D的定义被标记为 dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr "符号%q+D需要外部链接,因为%qE属性"
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr "%qE意味着默认可见性;但%qD已经被声明为有不同的可见性"
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "函数数组是没有意义的"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "函数不能返回函数"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "树检查:%s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "树检查:不需要 %s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, 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:8956
+#: tree.c:8972
 #, gcc-internal-format, gfc-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:9016
+#: tree.c:9032
 #, 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:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr "树检查:访问了 %3$s 中有 %2$d 个 elt  的 tree_vec 的 elt %1$d,于 %4$s:%5$d"
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 %2$s 的第 %1$d 个操作数,于 %5$s:%6$d"
 
-#: tree.c:9056
+#: tree.c:9072
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 omp_clause %2$s 的第 %1$d 个操作数,于 %5$s:%6$d"
 
-#: tree.c:11340
+#: tree.c:11356
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "不建议使用%qD(声明于 %s:%d):%s"
 
-#: tree.c:11344
+#: tree.c:11360
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "不建议使用%qD(声明于 %s:%d)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "不建议使用%qE(声明于 %s:%d):%s"
 
-#: tree.c:11373
+#: tree.c:11389
 #, gcc-internal-format
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "不建议使用%qE(声明于 %s:%d)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "不建议使用类型(声明于 %s:%d):%s"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "不建议使用类型(声明于 %s:%d)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr "不建议使用%qE:%s"
 
-#: tree.c:11396
+#: tree.c:11412
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr "不建议使用%qE"
 
-#: tree.c:11401
+#: tree.c:11417
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr "不建议使用类型:%s"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "不建议使用此类型"
@@ -20799,12 +20800,12 @@ msgstr "向量 %s %s 域错误,在 %s 于 %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr "%s stab (0x%x)没有 sclass"
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr "字节码流:需要标记 %s 而非 %s"
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr "字节码流:标记 %s 不在预期的范围[%s,%s]内"
@@ -20819,8 +20820,8 @@ msgstr "%qD在函数作用域外未被定义"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "字符串长%qd比%qd(ISO C%d 被要求支持的最大长度) 还要长"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "常量表达式溢出"
@@ -21453,40 +21454,40 @@ msgstr "%qE属性为%qE所忽略"
 msgid "invalid vector type for attribute %qE"
 msgstr "属性%qE的向量类型无效"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr "向量大小不是组件大小的整数倍"
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr "向量大小为 0"
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "向量中分量数不是 2 的某次方"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "非空的属性在非原型中没有实参"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "非空的实参 %lu 操作数号不对"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "非空的实参操作数号越界(实参 %lu,操作数 %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "非空的实参 %lu 引用了非指针操作数 %lu"
@@ -21526,12 +21527,12 @@ msgstr "%qE属性需要带有名实参的原型"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE属性只能用于带可变参数函数"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "要求的位置不是一个整数常量"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "要求的位置小于 0"
@@ -23303,232 +23304,232 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency 开关的值%qs错误"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "错误的内建 fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, gcc-internal-format, gfc-internal-format
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "开关 -mcpu=%s 与 -march=%s 冲突"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "目标 CPU 不支持 ARM 模式"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "目标 CPU 不支持交互工作"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "目标 CPU 不支持 THUMB 指令"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr "函数调用回溯支持只在为 Thumb 编译时有意义"
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "被调用者协作只在为 Thumb 编译时有意义"
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check 和 -mno-apcs-frame 互不兼容"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic 和 -mapcs-reent 互不兼容"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "不支持 APCS 重入代码。已忽略"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g 与 -mno-apcs-frame 并用可能不能给出有意义的调试信息"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "尚不支持在浮点寄存器中传递浮点参数"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt 需要与 AAPCS 兼容的 ABI 方能正确操作"
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt abi 需要相应 CPU 的支持"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr "AAPCS 不支持 FPA"
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, gcc-internal-format
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "AAPCS 不支持 -mcaller-super-interworking"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, gcc-internal-format
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "AAPCS 不支持 -mcallee-super-interworking"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt 和硬件浮点"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr "__fp16 而无 ldrh"
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard 和 VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15 和 16 位 Thumb 不能并用"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "结构大小边界只能被设定为 %s"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "结构大小边界只能被设定为 %s"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC 与 Thumb 不兼容"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC 与 -msingle-pic-base 不兼容"
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= 不与 -fpic 并用时不起作用"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "‘%s’不能被用作 PIC 寄存器"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support ARM mode"
 msgid "target CPU does not support unaligned accesses"
 msgstr "目标 CPU 不支持 ARM 模式"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架构下工作"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, fuzzy, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr "不是从 AAPCS 派生出的 PCS 变种"
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, fuzzy, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr "可变参数函数必须使用基础的 AAPCS 变种"
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr "PCS 变动"
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr "Thumb-1 硬件浮点 VFP ABI"
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr "%qE属性只能用于函数"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "无法计算出栈中参数的真实地址"
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "实参必须是常数"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "选择子必须是立即数"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "掩码必须是一个立即数"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "高寄存器弹栈时没有可用的低寄存器"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "Thumb 模式中不能编码中断服务进程"
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr "在 GCC 4.4中对%<va_list%>的修饰有变化"
@@ -23572,94 +23573,94 @@ msgstr "函数不能返回 __fp16 类型"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs似乎是一个拼写错的信号处理者"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr "‘builtin_return_address’只包含两字节地址"
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, fuzzy, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr "相对符号的指针偏移量可能不正确。"
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr "用程序内存地址访问数据内存"
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, fuzzy, gcc-internal-format
 #| msgid "accessing program  memory with data memory address"
 msgid "accessing program memory with data memory address"
 msgstr "用数据内存地址访问程序内存"
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "用以传递整数参数的寄存器个数"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "conflicting named address spaces (%s vs %s)"
 msgid "writing to address space %qs not supported"
 msgstr "冲突的有名地址空间(%s和%s)"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, fuzzy, gcc-internal-format
 #| msgid "pointers to disjoint address spaces used in conditional expression"
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr "条件表达式中使用了指向不相交地址空间的指针"
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, fuzzy, gcc-internal-format
 #| msgid "pointers to disjoint address spaces used in conditional expression"
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr "条件表达式中使用了指向不相交地址空间的指针"
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "只有未初始化的变量才能放在 .noinit 节中"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "only initialized variables can be placed into program memory area"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "只有初始化的变量才能放入程序内存区"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU%qs只支持汇编器"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of module in string constant"
 msgid "%s expects a compile time integer constant"
 msgstr "字符串常量中出现非预期的模块结束"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs expects a constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -24004,421 +24005,421 @@ msgstr "无法扩展 PCH 文件:%m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "不能在 PCH 文件中设定位置:%m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "%2$stune=%3$s%4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr "不建议使用%stune=x86-64%s;请视情况改用%stune=k8%s或%stune=generic%s"
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "代码模式%qs在 %s 位模式下不受支持"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %qs not supported in the %s bit mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "代码模式%qs在 %s 位模式下不受支持"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "代码模式 %s 在 PIC 模式下不受支持"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s 在此配置下不受支持"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "未编译入对 %i 位模式的支持"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "您选择的 CPU 不支持 x86-64 指令集"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "generic 只能用在%stune%s %s中"
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, gcc-internal-format, gfc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "%2$sarch=%3$s %4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, fuzzy, gcc-internal-format
 #| msgid "%sregparm%s is ignored in 64-bit mode"
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr "%sregparm%s 在 64 位模式下被忽略"
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%sregparm=%d%s is not between 0 and %d"
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "%sregparm=%d%s 不在 0 和 %d 之间"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s 在 64 位模式下被忽略"
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "%spreferred-stack-boundary%s is not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "%spreferred-stack-boundary%s 在此目标机上不被支持"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%spreferred-stack-boundary=%d%s is not between %d and %d"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "%spreferred-stack-boundary=%d%s 不在 %d 和 %d 之间"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, gcc-internal-format, gfc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d 不在 %d 和 12 之间"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "使用了 %ssseregparm%s 却没有启用 SEE"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE 指令集已禁用,使用 387 指令"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387 指令集已禁用,使用 SSE 指令"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, gcc-internal-format, gfc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "解卷表目前需要框架指针或 %saccumulate-outgoing-args%s 来保证正确性"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, gcc-internal-format, gfc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "堆栈探针目前需要框架指针或 %saccumulate-outgoing-args%s 来保证正确性"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr "-mfentry 在 32 位下不能和 -pic 同时使用"
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr "-mno-fentry 与 SEH 不兼容"
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown option for -mrecip=%s"
 msgstr "L%d 缓存延迟未知,对 %s 来说"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "attribute(target(\"%s\"))未知"
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "option(\"%s\")已经被指定"
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall 和 regparm 属性互不兼容"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "fastcall 和 thiscall 属性互不兼容"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr "%qE属性需要一个整常量作为实参"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr "%qE属性的实参大于 %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall 和 stdcall 属性互不兼容"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "fastcall 和 thiscall 属性互不兼容"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "stdcall 和 fastcall 属性互不兼容"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "stdcall 和 thiscall 属性互不兼容"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "cdecl 和 thiscall 属性互不兼容"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, gcc-internal-format
 msgid "%qE attribute is used for none class-method"
 msgstr "%qE属性用于非类方法"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用%qD却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用%qT却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, gcc-internal-format
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "ms_hook_prologue 与嵌套函数不兼容"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr "ms_abi 属性需要 -maccumulate-outgoing-args 或隐含它的子目标优化"
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "没有启用 AVX,却出现了 AVX 向量实参,这改变了 ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr "在 GCC 4.4 中传递带有一个可变数组成员的结构的 ABI 有了改变"
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr "在 GCC 4.4 中传递有 long double 的联合的 ABI 有改变"
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr "在 GCC 4.4 中传递带有复数浮点成员结构的 ABI 有了改变"
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中返回"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中传递参数"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "已禁用 x87 却在 x87 寄存器中返回"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "没有启用 SSE,却出现了 SSE 向量实参,这改变了 ABI"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "没有启用 MMX,却出现了 MMX 向量实参,这改变了 ABI"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr "在 GCC 4.4 中传递有 long double 的联合的 ABI 有改变"
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "没有启用 SSE,却有 SSE 向量返回值,这改变了 ABI"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "没有启用 MMX却返回 MMX 向量,这改变了 ABI"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, fuzzy, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr "ms_hook_prologue 与嵌套函数不兼容"
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr "-fsplit-stack 不支持在嵌套函数中使用两个寄存器参数"
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr "-fsplit-stack 不支持在嵌套函数中使用两个寄存器参数"
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 不允许可变数组成员"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "扩展的寄存器没有高半部分"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "扩展的寄存器不支持的操作数大小"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, gcc-internal-format, gfc-internal-format
 msgid "non-integer operand used with operand code '%c'"
 msgstr "非整数操作数使用了操作数代码‘%c’"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "最后一个实参必须是一个 2 位立即数"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "the fifth argument must be a 8-bit immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "第五个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "the third argument must be a 8-bit immediate"
 msgid "the third argument must be an 8-bit immediate"
 msgstr "第三个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "the last argument must be a 1-bit immediate"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "最后一个实参必须是一个 1 位立即数"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "最后一个实参必须是一个 4 位立即数"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "最后一个实参必须是一个 1 位立即数"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "最后一个实参必须是一个 5 位立即数"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "倒数第二个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "最后一个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr "最后一个参数必须是一个 32 位立即数"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "选择子必须是 0 到 %wi 间的整常量"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE需要未知的 ISA 选项"
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE需要 ISA 选项 %s"
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "最后一个实参必须是一个立即数"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, fuzzy, gcc-internal-format
 #| msgid "left argument must be a slice"
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr "左实参必须是一个切片"
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr "%qE属性只能在 32 位下使用"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "%qE属性的实参不是一个字符串常量"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "ms_abi 和 sysv_abi 属性互不兼容"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr "%qE不兼容的属性已被忽略"
@@ -24488,13 +24489,13 @@ msgstr "不能为函数指定地址区域属性"
 msgid "%qE attribute requires a string constant argument"
 msgstr "%qE属性需要一个字符串常量作为实参"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "-mfixed-range 值必须有“寄存器1-寄存器2”的形式"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -24566,7 +24567,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%qE属性在 R8C 目标机上不受支持"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr "%qE属性需要一个整常量作为实参"
@@ -24621,7 +24622,7 @@ msgstr "不允许多个中断属性"
 msgid "interrupt_thread is available only on fido"
 msgstr "interrupt_thread 只在 fido 中可用"
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "不支持堆栈限制表达式"
@@ -24960,62 +24961,62 @@ msgstr "MIPS16 不支持内建函数%qE"
 msgid "%qs does not support MIPS16 code"
 msgstr "%qs不支持 MIPS16 代码"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr "MIPS16 PIC 代码的 ABI 不是 o32 或 o64"
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr "MIPS16 -mxgot 代码"
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr "硬件浮点 MIPS16 代码的 ABI 不是 o32 或 o64"
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, gcc-internal-format
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr "%<-%s%>与指定了 %s 处理器的其他架构选项冲突"
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "%<-march=%s%>与所选 ABI 不兼容"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "%<-mgp64%>与 32 位处理器一起使用"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "%<-mgp32%>与 64 位 ABI 一起使用"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "%<-mgp64%>与 32 位 ABI 一起使用"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "不支持的组合:%s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, 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:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "%qs is incompatible with %qs"
@@ -25026,58 +25027,58 @@ msgstr "assert:%s 与 %s 赋值兼容"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "assert:%s 与 %s 赋值兼容"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "%qs架构不支持 Branch-Likely 指令"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr "%<-mno-gpopt%>需要%<-mexplicit-relocs%>"
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr "不能为%qs使用小数据访问"
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%>需要%<-mpaired-single%>"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs必须与%qs一起使用"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "%qs架构不支持配对单精度指令"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs需要一个能提供%qs指令的目标机"
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr "%qs需要 Branch-Likely 指令"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "%qs架构不支持 synci 指令"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 函数取样"
@@ -25358,309 +25359,309 @@ msgstr "传递%2$qE的第 %1$d 个参数时丢弃了指针目标类型的类型
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "对 AltiVec 内建函数来说无效的参数组合"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr "-mrecip 需要 -ffinite-math 或 -ffast-math"
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr "-mrecip 需要 -fno-trapping-math 或 -ffast-math"
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr "-mrecip 需要 -freciprocal-math 或 -ffast-math"
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 需要 PowerPC64 架构,正在启用"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "没有为此 ABI 配置:‘%s’"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "AltiVec 在此目标机上不受支持"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, gcc-internal-format
 msgid "SPE not supported in this target"
 msgstr "SPE 在此目标机上不受支持"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple 在小端在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring 在小端在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr "%2$sveclibabi=%3$s %4$s向量库 ABI 类型(%1$s)未知"
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr "目标属性或 pragma 改变了 long double 的大小"
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr "目标属性或 pragma 改变了 AltiVec ABI"
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr "目标属性或 pragma 改变了 darwin64 ABI"
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr "目标属性或 pragma 改变了 SPE ABI"
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr "目标属性或 pragma 改变了单精度浮点数"
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr "目标属性或 pragma 改变了双精度浮点数"
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 返回向量引用:非标准的 ABI 扩展,不保证兼容性"
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 传递向量引用:非标准的 ABI 扩展,不保证兼容性"
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s already processed"
 msgstr "内部错误:对 %s 的内建函数已经处理过。"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "实参 1 必须是一个 5 位有符号字面值"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "实参 2 必须是一个 5 位无符号字面值"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "__builtin_altivec_predicate 的第 1 个实参必须是常量"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "__builtin_altivec_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "实参 3 必须是一个 4 位无符号字面值"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, gcc-internal-format
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "实参 2 必须是一个 2 位无符号字面值"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, gcc-internal-format
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "实参 2 必须是一个 1 位无符号字面值"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "%qs的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "无法解析的重载 Altivec 内建函数%qF"
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "dss 的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "__builtin_paired_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "__builtin_paired_predicate 的第一个实参越界"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "__builtin_spe_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "__builtin_spe_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "此内建函数只在 fr450 上可用"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "内建函数%q+D未被声明为函数"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "内建函数%q+D未被声明为函数"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "内建函数%q+D未被声明为函数"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s requires the -mspe option"
 msgstr "内建函数%q+D未被声明为函数"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Builtin function %s is not supported with the current options"
 msgstr "弱引用在此配置下不受支持"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had no type"
 msgstr "内部错误:内建函数 %s 没有类型"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr "内部错误:内建函数 %s 有非预期的返回类型 %s"
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr "内部错误:内建函数 %s 的第 %d 个参数有非预期的参数类型 %s"
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "栈帧太大"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "此 ABI 不支持取样 64 位代码"
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用%<long double%>无效"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用布尔类型无效"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用%<complex%>无效"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用十进制浮点类型无效"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<long%>对 64 位代码无效"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "不建议在 AltiVec 类型中使用%<long%>;请改用%<int%>"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<long long%>无效"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<double%>无效"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr "生成微代码指令 %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr "生成条件微代码指令 %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is not allowed"
 msgstr "在这里不允许使用%<#pragma%>"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "%s\"%s\"%s is invalid"
 msgstr "spec‘%s’是无效的"
@@ -25895,63 +25896,63 @@ msgstr "%qs的框架大小是"
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs使用动态栈分配"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "忽略 -fschedule-insns 以绕开异常处理的缺陷"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, fuzzy, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "解卷表目前需要框架指针或 %saccumulate-outgoing-args%s 来保证正确性"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs 在此子目标上不受支持"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "%qE属性只能用于中断函数"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr "%qE属性只为 SH2A 所支持"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "属性 interrupt_handler 与 -m5-compact 不兼容"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr "%qE属性只能用于 SH2A"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "%qE属性的参数应当在 0 和 255 之间"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr "%qE属性需要一个字符串常量作为实参"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 需要用作调用篡改的寄存器"
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 msgid "need a second call-clobbered general purpose register"
 msgstr "需要另一个调用篡改的通用寄存器"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 msgid "need a call-clobbered target register"
 msgstr "需要一个调用篡改的通用寄存器"
@@ -26074,13 +26075,13 @@ msgstr "属性%<__BELOW100__%>只对变量类型起作用"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ 属性不允许用于自动存储类"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin code"
 msgid "bad builtin icode"
 msgstr "错误的内建代码"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -26306,38 +26307,38 @@ msgstr "%<-gnat%>被错误地拼写为%<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr "对 Ada 而言 -fexcess-precision=standard"
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "忽略%qs属性"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qs属性需要带有名参数的原型"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr "%qs属性只能用于带可变参数函数"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr "不建议使用。此开关不起作用。"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qs"
 msgstr "属性%qs的向量类型无效"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr "%qs属性只能为数组类型使用"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr "属性%qs的元素类型无效"
@@ -26778,7 +26779,7 @@ msgstr "没有对象无法调用成员函数%qD"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "传递%qT时选择%qT而不是%qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "在调用%qD时"
@@ -26839,432 +26840,432 @@ msgstr "用类型为%2$qT的右值初始化类型为%1$qT的非常量引用无
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "将类型为%qT的引用初始化为类型为%qT的表达式无效"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java 类%qT不能有析构函数"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java 类%qT不能有隐式的不平凡的析构函数"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D无法被重载"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "与%q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "方法%q+D的权限设定冲突,已忽略"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "字段%qE的权限设定冲突,已忽略"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D无效,在%q#T中"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr " 因为局部方法%q+#D与之重名"
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr " 因为局部成员%q+#D与之重名"
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "基类%q#T有一个非虚析构函数"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "类%qT中所有成员函数都是私有的"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T仅定义了一个私有析构函数且没有友元"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T仅定义了一个私有构造函数且没有友元"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "%qD的最终重载在%qT中不唯一"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D定义后未使用"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D为"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "%q+D所隐藏"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D无效;匿名联合只能有非静态的数据成员"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D无效;匿名联合只能有非静态的数据成员"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "匿名联合中出现私有成员%q+#D"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "匿名联合中出现私有成员%q+#D"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "匿名联合中出现保护成员%q+#D"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "匿名联合中出现保护成员%q+#D"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "位段%q+#D有非整数的类型"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "位段%q+D的宽度不是一个整数常量"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "位段%q+D宽度为负"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "位段%q+D宽度为 0"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D的宽度超过了它的类型"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D太小而不能存放%q#T的所有可能值"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "有构造函数的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "有析构函数的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "有拷贝赋值运算符的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, fuzzy, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr "可变参数模板只在 -std=c++0x 或 -std=gnu++0x 下可用"
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "初始化了联合%qT中的多个字段"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D不能是静态的,因为它是联合的成员"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "字段%q+D无效地声明为函数类型"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "字段%q+D无效地声明为方法类型"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "为非紧实的非简单旧数据字段%q+#D忽略 packed 属性"
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "字段%q+#D与类重名"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T有指针数据成员"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "但没有重载%<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "或者%<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "但没有重载%<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "在 GCC 的未来版本中类%qT将被看作几乎为空"
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "为非虚方法%q+D指定了初始值设定项"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a class"
 msgid "%q+T is not literal because:"
 msgstr "%q#T不是一个类"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "基类%q#T有一个非虚析构函数"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "non-static data member %qD has Java class type"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "非静态数据成员%qD具有 Java 类类型"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "类中有非静态引用%q+#D,却没有提供构造函数"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "类中有非静态常量成员%q+#D却没有构造函数"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr "%q+D被声明为取常量引用,但是隐式声明取非常量引用"
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr "%q+D被声明为取非常量引用,不能在类体内默认化"
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,直接基类%qT在%qT中无法访问"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,虚基类%qT在%qT中无法访问"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T重定义"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T有虚函数和可访问的非虚拟析构函数"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "类%qT没有名为%qD的字段"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type %qE has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "类型%qE有虚成员函数"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "试图完成结构,但为先前的解析错误所中断"
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "语言字符串%<\"%E\"%>不可识别"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "无法解析重载函数%qD,基于向类型%qT的转换"
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "没有可将函数%qD转换到类型%q#T的匹配项"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "将重载函数%qD转换为类型%q#T有歧义"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "假定是成员指针%qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(成员指针只能用%<&%E%>构成)"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "类型信息不充分"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "无法将%qE从类型%qT转换到类型%qT"
@@ -27274,12 +27275,12 @@ msgstr "无法将%qE从类型%qT转换到类型%qT"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D的声明"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "改变了%qD的原意%q+#D"
@@ -27299,7 +27300,7 @@ msgstr "无法从不完全类型%qT转换到%qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "将%qE从%qT转换到%qT有歧义"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "array bound is not an integer constant"
 msgid "zero as null pointer constant"
@@ -28209,7 +28210,7 @@ msgstr "%qD声明为引用却未被初始化"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "名字被用在 GNU 风格的数组指定元素初始值设定中"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "不平凡的代理初始值设定不受支持"
@@ -28303,8 +28304,8 @@ msgstr "%qT没有名为%qD的非静态数据成员"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "%qT的初始值设定项太多"
@@ -28843,7 +28844,7 @@ msgstr "%q#T 不是一个类或命名空间"
 msgid "type %qT is not derived from type %qT"
 msgstr "类型%qT不是由类型%qT派生的"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qD没有声明为一个函数"
@@ -29160,380 +29161,375 @@ msgstr "无法声明对%q#T的引用,因为它不是 typedef 或者模板类
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr "不能在这里同时使用%<const%>和%<constexpr%>"
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr "不能在这里同时使用%<volatile%>和%<constexpr%>"
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "模板标识符%qD用作声明"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "成员函数隐式地成为所属类的友元"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "有多余的限定%<%T::%>在成员%qs上"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "无法定义成员函数%<%T::%s%>,在%<%T%>中"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, fuzzy, gcc-internal-format
 #| msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "无法定义成员函数%<%T::%s%>,在%<%T%>中"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "无法声明成员%<%T::%s%>,在%qT中"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "非形参%qs不能是一个参数包"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "数组%qs太大"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "数据成员不能具有可变类型%qT"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "只有构造函数才能被声明为%<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "非成员%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "非对象成员%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "函数%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "静态%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "常量%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "函数%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "parameter declared %<auto%>"
 msgid "typedef declared %<auto%>"
 msgstr "形参声明为%<auto%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "typedef 名不能是嵌套名指定"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ 不允许嵌类的类型%qD与其所属的类重名"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "限定的函数类型不能用来声明静态成员函数"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "限定的函数类型不能用来声明非成员函数"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "为友元类声明指定了类型限定"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "友元函数声明中出现了%<inline%>"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "模板参数不能是友元"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "友元声明需要 class,即%<friend class %T::%D%>"
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "友元声明需要 class,即%<friend %#T%>"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "试图让%qT成为全局域的友元"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "非成员函数类型上的限定符无效"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "抽象声明%qT被用作声明"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "不能在参数声明中使用%<::%>"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "形参声明为%<auto%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "non-static data member %qE declared %<constexpr%>"
 msgid "non-static data member declared %<auto%>"
 msgstr "非静态数据成员%qE被声明为%<constexpr%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "错误地使用了%<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr "%qD的声明中类名无效"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "联合成员函数%qD被声明为虚函数"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD不能声明为虚函数,因为它总是静态的"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "在析构函数%qD中的友元声明需要限定名"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%qD声明为%qT的一个成员"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, gcc-internal-format
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "析构函数不能是%<constexpr%>"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "在构造函数%qD中的友元声明需要限定名"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "字段%qD类型不完全"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "名字%qT类型不完全"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "在模板%qT的实例化中"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE既不是函数也不是成员函数;不能声明为友元"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "非静态数据成员%qD具有 Java 类类型"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, gcc-internal-format
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "非静态数据成员%qE被声明为%<constexpr%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "函数%qs的存储类%<auto%>无效"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "函数%qs的存储类%<register%>无效"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "函数%qs的存储类%<__thread%>无效"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "an asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "函数定义中不允许出现 asm 指定"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数%qs指定%<static%>无效"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数%qs指定%<inline%>无效"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "虚函数%qs不是类成员"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr "%qs定义在在非类作用域中"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "%qs defined in a non-class scope"
 msgid "%qs declared in a non-class scope"
 msgstr "%qs定义在在非类作用域中"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "不能将成员函数%qD声明为有静态链接"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "不能在另一个函数中声明一个静态函数"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "与声明不同,定义静态数据成员时不能使用%<static%>"
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "静态成员%qD声明为%<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "不能显式地将成员%q#D声明为有外部链接"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, gcc-internal-format
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "对广义常变量%qD的声明不同时是定义"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs已初始化,却又被声明为%<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs既有%<extern%>又有初始值设定"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "%q#D的默认实参类型为%qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "类型为%qT的形参的默认实参却有类型%qT"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument %qE uses local variable %qD"
 msgid "default argument %qE uses %qD"
 msgstr "默认实参%qE使用了局部变量%qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "默认实参%qE使用了局部变量%qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "形参%qD具有 Java 类类型"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "形参%qD被无效地被声明为具有方法类型"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "形参%qD包含了指向具有未知边界数组%qT的指针"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr "形参%qD包含了指向具有未知边界数组%qT的引用"
@@ -29553,170 +29549,170 @@ msgstr "形参%qD包含了指向具有未知边界数组%qT的引用"
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "无效的构造函数:您要的可能是%<%T (const %T&)%>"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD不能在命名空间声明"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD不能被声明为静态的"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD必须是一个非静态的成员函数"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD必须是一个非静态成员函数或非成员函数"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD的实参必须有类或枚举类型"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, gcc-internal-format
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "向指向 void 的引用的转换永远不会用到类型转换运算符"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, gcc-internal-format
 msgid "conversion to void will never use a type conversion operator"
 msgstr "向 void 的转换永远不会用到类型转换运算符"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, gcc-internal-format
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "向具有相同类型的引用的转换永远不会用到类型转换运算符"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, gcc-internal-format
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "向相同类型的转换永远不会用到类型转换运算符"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, gcc-internal-format
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "向指向基类的引用的转换永远不会用到类型转换运算符"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, gcc-internal-format
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "向基类的转换永远不会用到类型转换运算符"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ 不允许重载 ?: 运算符"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD不能带可变数量的实参"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "后缀%qD必须使用%<int%>作为它的参数"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "后缀%qD必须使用%<int%>作为它的第二个参数"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD必须带 0 或 1 个实参"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD必须带 1 或 2 个实参"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "前缀%qD应当返回%qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "后缀%qD应当返回%qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD必须有%<void%>类型"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD带且仅带 1 个实参"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD带且仅带 2 个实参"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "用户定义的%qD总是计算所有两个参数"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD应当返回值而非引用"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD不能有默认参数"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "使用模板类型形参%qT,在%qs后"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization %qD for %q+D"
 msgid "using alias template specialization %qT after %qs"
 msgstr "有歧义的模板特例化%qD(为%q+D)"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "使用 typedef 名%qD,在%qs后"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D has a previous declaration here"
 msgid "%qD has a previous declaration here"
 msgstr "%q+D先前在此处有过声明"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT作为%qs被引用"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T先前在此处有过声明"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT作为枚举被引用"
@@ -29728,88 +29724,88 @@ msgstr "%qT作为枚举被引用"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "%<%s %T%>需要模板参数"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD与其声明所在的类重名"
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "对%qD的引用有歧义"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "使用枚举%q#D前没有给出声明"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "%qT重声明为非模板"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "先前的声明%q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "派生联合%qT无效"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java 类%qT不能有多个基类"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java 类%qT不能有虚基类"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "基类型%qT不是结构或类"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "递归的类型%qT未定义"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "重复的基类型%qT无效"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr "先前的定义在这里"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, fuzzy, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr "条件表达式中类型不匹配"
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "%<%2$T%>的内在类型%<%1$T%>必须是整型"
@@ -29818,73 +29814,73 @@ msgstr "%<%2$T%>的内在类型%<%1$T%>必须是整型"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "没有一个整数类型可以表示%qT的所有枚举值"
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "%qD的枚举值不是一个整数常量"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "integer constant is too large for %<unsigned long%> type"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "对%<unsigned long%>类型而言整数常量太大"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "%qD处枚举值溢出"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "枚举值 %E 对其类型%<%T%>而言太大了"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "返回值类型%q#T不完全"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "返回类型具有 Java 类类型%q#T"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%>应当返回一个对%<*this%>的引用"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%q+D先前没有声明过"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "无效的函数声明"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "形参%qD被声明为 void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 msgid "parameter %q+D set but not used"
 msgstr "形参%qD被设定但未被使用"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "无效的成员函数声明"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD已在类%qT中定义过"
@@ -30243,7 +30239,7 @@ msgstr "异常处理已被禁用,使用 -fexceptions 启用"
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "抛出 NULL,它的类型是整数而不是指针"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD永远不应该被重载"
@@ -30506,153 +30502,153 @@ msgstr "类型%qT不是%qT的直接基类"
 msgid "bad array initializer"
 msgstr "错误的数组初始值设定"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT不是一个类"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "不完全类型%qT没有成员%qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "指向位段%qD指针无效"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "对非静态成员函数%qD的使用无效"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "对非静态数据成员%qD的无效使用"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, fuzzy, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr "未初始化的引用成员%qD"
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr "%q#T中有未初始化的引用成员"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "%<new%>%q#T时常量未初始化"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr "%q#T中有未初始化的引用成员"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "对 new 而言类型%<void%>无效"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "%<new%>%q#T时常量未初始化"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "调用 Java 构造函数,但没有定义%qs"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr "Java 类%q#T对象为预定位 new 所分配"
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "找不到合适的%qD,在类%qT中"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "对成员%qD的请求有歧义"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, gcc-internal-format
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "new 中数组大小不是常量,无法检查初始值列表的长度"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "括起的初始值设定后出现的属性被忽略"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "数组 new 的大小必须有整数类型"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new 不能用于引用类型"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new 不能用于函数类型"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "调用 Java 构造函数,但没有定义%<jclass%>"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, gcc-internal-format
 msgid "can%'t find %<class$%> in %qT"
 msgstr "%qT中找不到%<class$%>"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "初始值设定在完成之前结束"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "不能用初始值设定项来初始化多维数组"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "检测到调用 delete 运算符时可能出现的问题:"
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, fuzzy, 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete 时数组大小未知"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "向量 delete 的实参类型既非指针也非数组"
@@ -30743,12 +30739,12 @@ msgstr "省略的%<?:%>中操作数不能被修饰"
 msgid "string literal in function template signature"
 msgstr "函数模板签名里有字面字符串"
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "%qD修饰后的名字将在 GCC 的未来版本中有变化"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, fuzzy, gcc-internal-format
 #| msgid "-fabi-version=4 (or =0) avoids this error with a change in vector mangling"
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
@@ -30759,12 +30755,12 @@ msgstr "-fabi-version=4 (or =0) 可以改变向量修饰来避免这个错误"
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "泛型的转换层代码(thunk)对使用了%<...%>的方法%q#D失效"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "非静态的常量成员%q#D,不能使用默认的赋值运算符"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
 msgstr "非静态的引用成员%q#D,不能使用默认的赋值运算符"
@@ -30779,102 +30775,102 @@ msgstr "在这里第一次需要生成的方法%qD"
 msgid "union member %q+D with non-trivial %qD"
 msgstr "未初始化的成员%qD具有%<const%>类型%qT"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, fuzzy, gcc-internal-format
 #| msgid "a destructor cannot be %<constexpr%>"
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr "析构函数不能是%<constexpr%>"
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const %qD is invalid in C++"
 msgid "initializer for %q+#D is invalid"
 msgstr "未初始化的常量%qD在C++中是无效的"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static const member %q#D"
 msgstr "对可变数组成员非静态地初始化"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 msgid "uninitialized non-static reference member %q#D"
 msgstr "成员%qD是未初始化的引用"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, gcc-internal-format
 msgid "defaulted declaration %q+D"
 msgstr "默认化声明%q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, gcc-internal-format
 msgid "does not match expected signature %qD"
 msgstr "不匹配%qD预期的签名"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D defaulted on its first declaration must not have an exception-specification"
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr "首次声明时被默认化的函数%q+D不可以指定异常"
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot be defaulted"
 msgid "a template cannot be defaulted"
 msgstr "%qD不能被默认化"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr "%qD不能被默认化"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr "默认化函数%q+D有默认参数"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 的未来版本中改变"
@@ -31014,153 +31010,153 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D隐藏了%q#T的构造函数"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D与先前的 using 声明%q#D冲突"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "先前对于%q+#D的非函数声明"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "using 声明不能指定一个模板标识符。请尝试%<using %D%>"
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "不允许在 using 声明中使用命名空间%qD"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD未声明"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD已在此作用域中声明过"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "在类作用域使用非成员的 using 声明"
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%>指定了析构函数"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%>指定了构造函数"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%>在%qT内指定了构造函数"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "没有与%<%T::%D%>匹配的成员,在%q#T中"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "%qD的声明不在包含%qD的命名空间中"
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD的声明中有显式的限定"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD应当先在%qD内声明"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qD属性需要一个 NTBS 作为实参"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr "%qD属性无意义,因为匿名命名空间的成员拥有局部符号"
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "指定%qD属性被忽略"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "这里不允许命名空间别名%qD,假定为%qD"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "强 using 只在命名空间作用域有意义"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "当前命名空间%qD并不包含经常被作用的命名空间%qD"
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] "建议的替代:"
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, gcc-internal-format
 msgid "  %qE"
 msgstr "  %qE"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "依赖参数的查找找到了%q+D"
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX 进入 pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX 离开 pop_everything ()\n"
@@ -31291,7 +31287,7 @@ msgstr "无效的模板 ID"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "浮点字面值不能出现在常量表达式中"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr "常量表达式中不能出现目标不是整型或枚举型的类型转换"
@@ -31524,7 +31520,7 @@ msgstr "typedef 名%qD用于析构函数声明"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr "需要模板 ID"
@@ -31723,7 +31719,7 @@ msgstr "%<%T::%D%>命名了一个构造函数而非类型"
 msgid "compound-statement in constexpr function"
 msgstr "%qD不是一个广义常函数"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr "需要选择语句"
@@ -31754,7 +31750,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr "需要循环语句"
@@ -31771,12 +31767,12 @@ msgstr "C++98 模式下不允许使用基于范围的 for 循环"
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ 不允许计算转移"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr "需要跳转语句"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "多余的%<;%>"
@@ -31814,7 +31810,7 @@ msgstr "%C处 NAME= 限定符中 C 名字无效"
 msgid "class definition may not be declared a friend"
 msgstr "类定义不能被声明为友元"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr "模板不能是%<virtual%>的"
@@ -31893,12 +31889,12 @@ msgstr "需要操作符"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "关键字%<export%>未实现,将被忽略"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "模板参数包%qD不能有默认参数"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr "模板参数包不能有默认参数"
@@ -31913,7 +31909,7 @@ msgstr "模板参数包不能有默认参数"
 msgid "expected template-id"
 msgstr "需要模板 ID"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr "需要%<<%>"
@@ -32040,12 +32036,12 @@ msgstr "需要%<,%>或%<;%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "启用模板自动实例化"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "%qD声明出现在命名空间%qD中,而后者并不包含%qD"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "%qD声明出现在%qD中,而后者并不包含%qD"
@@ -32090,74 +32086,74 @@ msgstr "模板标识符不允许出现在 using 声明中"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "types may not be defined in exception-declarations"
 msgid "types may not be defined in alias template declarations"
 msgstr "类型不能定义在异常声明中"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr "在这里不允许使用%<namespace%>定义"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "函数定义中不允许出现 asm 指定"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "函数定义中不允许有属性"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr "需要初始值设定"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, gcc-internal-format
 msgid "invalid type in declaration"
 msgstr "声明中有无效类型"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr "为函数提供了初始值设定"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "括起的初始值设定后出现的属性被忽略"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "数组边界不是一个整数常量"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr "生成引用类型%qT的成员指针"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%E%>不是一个类型"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "将构造函数用作模板无效"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "使用%<%T::%D%>而不是%<%T::%D%>来以限定名指定构造函数"
@@ -32166,254 +32162,254 @@ msgstr "使用%<%T::%D%>而不是%<%T::%D%>来以限定名指定构造函数"
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr "无效的声明"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr "需要声明"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD是一个命名空间"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type %qT"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "生成非类类型%qT的成员指针"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr "未知的操作符‘%s’在 %%L处"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "重复的 cv 限定"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate cv-qualifier"
 msgid "duplicate virt-specifier"
 msgstr "重复的 cv 限定"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "错误地使用了%<auto%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr "不能在模板实参中定义类型"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr "需要类型限定"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr "需要%<,%>或%<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr "类型不能定义在参数类型中"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "不建议为非函数指定默认参数"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "默认参数只允许出现在函数参数中"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "%H%sparameter pack %qD cannot have a default argument"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%H%s模板参数包%qD不能有默认参数"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "%H%sparameter pack cannot have a default argument"
 msgid "parameter pack cannot have a default argument"
 msgstr "%H%s模板参数包不能有默认参数"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ 不允许指定元素初始值设定"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ 不允许指定元素初始值设定"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr "需要类名"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr "类定义后需要%<;%>"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr "结构定义后需要%<;%>"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr "联合定义后需要%<;%>"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr "需要%<{%>或%<:%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "无法为类 %s 找到文件"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr "%qE不是一个类"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD的声明中类名无效"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr "不允许有多余的限定"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "显式特例化前必须有%<template <>%>"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr "函数模板%qD重声明为类模板"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, fuzzy, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr "%<typename %T::%D%>指定了%q#T,但后者不是一个类型"
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "%q+#T的前一个定义"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 msgid "expected class-key"
 msgstr "需要类名"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "a class-key must be used when declaring a friend"
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "声明友元时必须使用 class 关键字"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "友元声明没有指定类或函数名"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "函数定义上有 pure 指定"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr "在%C处需要“,”或语句尾"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, fuzzy, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr "指定了无效的 AE 类型(%s)\n"
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, fuzzy, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr "<花括号内的初始值列表>"
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr "在基类限定中指定了多于一次的%<virtual%>"
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "关键字%<typename%>不能在模板以外使用"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "关键字%<typename%>不允许用在此上下文中(基类隐式地是一个类型)"
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr "类型不能定义在异常规范中"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr "类型不能定义在异常声明中"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr "特例化成员%<%T::%E%>需要%<template<>%>语法"
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "%<%T::%E%>声明无效"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "模板参数表太少"
@@ -32422,320 +32418,320 @@ msgstr "模板参数表太少"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "模板参数表太多"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "有名返回值不再被支持"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr "局部类中对成员模板的声明无效"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "模板有 C 链接"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr "显式特例化非模板%qT"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr "%<typedef%>的模板声明"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr "显式特例化不能有存储类型"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "在嵌套模板实参列表中应当使用%<> >%>而非%<>>%>"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "可疑的%<>>%>,使用%<>%>来结束模板实参列表"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr "指定链接时使用%qD无效"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%>出现在%qD之前"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr "需要%<new%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr "需要%<delete%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr "需要%<return%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr "需要%<extern%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr "需要%<static_assert%>"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr "需要%<decltype%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr "需要%<operator%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr "需要%<class%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr "需要%<template%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr "需要%<namespace%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr "需要%<using%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr "需要%<asm%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr "需要%<try%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr "需要%<catch%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr "需要%<throw%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr "需要%<__label__%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr "需要%<@try%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr "需要%<@synchronized%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr "需要%<@throw%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<static_assert%>"
 msgid "expected %<__transaction_atomic%>"
 msgstr "需要%<static_assert%>"
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<static_assert%>"
 msgid "expected %<__transaction_relaxed%>"
 msgstr "需要%<static_assert%>"
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr "需要%<::%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr "需要%<...%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr "需要%<*%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr "需要%<~%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr "需要%<:%>或%<::%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "需要%<class%>、%<typename%>或%<template%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "使用了%qs标记,在命名%q#T时"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "以前在此声明过"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD重声明时有不同的可访问性"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "用作消歧义的%<template%>只能用于模板内"
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "文件在默认参数处结束"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "位置错误的%<@%D%>Objective-C++ 构造"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%>必须指定一个类型作为实参"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "无效的 Objective-C++ 选择子名"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr "需要指定声明"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr "不能为局部变量指定节属性"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr "迭代变量%qE类型无效"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "%<@protocol%>需要标识符"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "%qE属性为%qE所忽略"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 msgid "invalid type for property"
 msgstr "%q+D的抽象类型无效"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "括起的初始化不允许使用在 OpenMP %<for%>循环中"
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr "迭代变量%qD不应当是 reduction"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, gcc-internal-format
 msgid "not enough collapsed for loops"
 msgstr "循环折叠得不够"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "%<#pragma GCC pch_preprocess%>末尾有垃圾字符"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "模块间优化未为 C++ 实现"
@@ -33460,17 +33456,17 @@ msgstr "在实例化%2$qD时模板实例化深度超过最大值 %1$d(使用 use
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "在实例化%2$qD时模板实例化深度超过最大值 %1$d(使用 use -ftemplate-depth= 来增大最大值)"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr "展开%<%T%>时参数包长度不匹配"
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr "展开%<%E%>时参数包长度不匹配"
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%q+D按类型%qT实例化"
@@ -33488,260 +33484,260 @@ msgstr "%q+D按类型%qT实例化"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "变量%qD有函数类型"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "无效的参数类型%qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "在声明%q+D中"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "函数返回了一个数组"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "函数返回了一个函数"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "生成非类类型%qT的成员函数指针"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "形成对 void 的引用"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr "生成指向引用类型%qT的指针"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr "生成指向引用类型%qT的引用"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "生成非类类型%qT的成员指针"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "生成引用类型%qT的成员指针"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "创建指向 void 类型的成员指针"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "生成%qT的数组"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "生成抽象类型%qT的数组"
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT不是类、结构或联合类型"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT被解析到非枚举类型%qT"
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT被解析到非类类型%qT"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "在模板中使用%qs"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "限定类型%qT不匹配析构函数名 ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "依赖名%qE被解析为非类型,但实例化却产生了一个类型"
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "如果您想指定类型,请使用%<typename %E%>"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "使用无效字段%qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "对集展开表达式的无效使用"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "使用%<...%>来展开实参集"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%E%> is not a type"
 msgid "use %<%T::%D%> instead"
 msgstr "%<%T::%E%>不是一个类型"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%qE undeclared here (not in a function)"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%qE未声明(不在函数内)"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT既不是类也不是命名空间"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD既不是类也不是命名空间"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT是/使用了匿名类型"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "%qD的模板实参使用了局部类型%qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT是一个可变类型"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "整型表达式%qE不是常量"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  试图实例化%qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "%q#T的类模板实例化有歧义"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "对非模板%q#D的显式实例化"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "%qD不是类模板的非静态数据成员"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "没有找到与%qD匹配的模板"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "类型%qT用于显式实例化%qD时不匹配声明的类型%qT"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "对%q#D的显式实例化"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "对%q#D重复的显式实例化"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 1998 不允许在显式实例化时使用%<extern%>"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "为模板实例化化应用了存储类型%qD"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template %q#D"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "对非模板%q#D的显式实例化"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "显式实例化非模板类型%qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "%q#T的显式实例化出现在模板定义之前"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ 不允许在显式实例化时使用%qE"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "对%q#T重复的显式实例化"
@@ -33753,34 +33749,34 @@ msgstr "对%q#T重复的显式实例化"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "显式实例化%qD时没有可用的定义"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "在实例化%2$q+D时模板实例化深度超过了最大值 %1$d,可能是由于生成虚函数表所致(使用 -ftemplate-depth= 来增大最大值)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of template type parameter %qT"
 msgid "invalid template non-type parameter"
 msgstr "对模板类型参数%qT的使用无效"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T不是一个有效的模板常量参数类型"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr "从花括号中的初始化列表演绎需要 #include <initializer_list>"
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, gcc-internal-format
 msgid "variable %q#D with %<auto%> type used in its own initializer"
 msgstr "变量%q#D在其自身的初始值设定中使用了%<auto%>类型"
@@ -33788,12 +33784,12 @@ msgstr "变量%q#D在其自身的初始值设定中使用了%<auto%>类型"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "无法从%2$qE推导出%1$qT"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
@@ -34032,7 +34028,7 @@ msgstr "对限定类型%qT的定义无效"
 msgid "invalid base-class specification"
 msgstr "无效的基类"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr "%qD未被捕获"
@@ -34210,269 +34206,269 @@ msgstr "函数%2$qD的返回值类型%1$qT不是一个字面类型"
 msgid "%q#T has virtual base classes"
 msgstr "%q#T不是一个类"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr "广义常表达式构造函数体不为空"
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, fuzzy, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr "类中对具有非整数类型%qT的静态数据成员的初始化无效"
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, gcc-internal-format
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "成员%qD在%<constexpr%>构造函数里未初始化"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, fuzzy, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr "返回语句转换无效"
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a constexpr function"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%qD不是一个广义常函数"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 msgid "expression %qE does not designate a constexpr function"
 msgstr "友元声明没有指定类或函数名"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "调用非函数的%qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "%qE is not a constant expression"
 msgid "%qD called in a constant expression"
 msgstr "%qE不是一个常量表达式"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr "%qD用在其自身的初始值设定中"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr "调用存在循环依赖"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "在实例化%2$qD时模板实例化深度超过最大值 %1$d(使用 use -ftemplate-depth= 来增大最大值)"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr "%q+E不是一个常量表达式"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, gcc-internal-format
 msgid "array subscript out of bound"
 msgstr "数组下标越界"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr "%qE不是一个常量表达式"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qE的枚举值不是一个整数常量"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, fuzzy, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr "初始值设定中数组索引不是整型常量表达式"
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, fuzzy, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr "%qE的枚举值不是一个整数常量"
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "%qE的枚举值不是一个整数常量"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr "%qD用在其自身的初始值设定中"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr "%q#D不是 const"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr "%q#D是 volatile"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD不能出现在常量表达式中"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD在此作用域中尚未声明"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr "new 声明中的表达式必须具有整数或枚举类型"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, fuzzy, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr "%qE的枚举值不是一个整数常量"
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "枚举和非枚举类型一起出现在条件表达式中"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 msgid "expression %qE is not a constant-expression"
 msgstr "%qE不是一个常量表达式"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr "表达式%qE有副作用"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, fuzzy, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr "表达式%qE具有抽象类类型%qT,不能用于 throw 表达式中"
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr "表达式%qE有副作用"
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, fuzzy, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr "初始值设定中数组索引不是整型常量表达式"
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "初始值设定中元素不是常量表达式"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 msgid "pointer comparison expression is not a constant expression"
 msgstr "整型表达式%qE不是常量"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 msgid "division by zero is not a constant-expression"
 msgstr "初始值设定中元素不是常量表达式"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr "%L处需要标量初始化表达式"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr "无效的调度类型"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr "无法通过引用捕获%qE"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, fuzzy, gcc-internal-format
 #| msgid "already captured %<this%> in lambda expression"
 msgid "already captured %qD in lambda expression"
 msgstr "已经在 Lambda 表达式中捕获了%<this%>"
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr "lambda 函数中无法捕获%<this%>"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV限定符不能应用到%qT上"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "只能为 Java 类定义应用%qE属性"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "只能为类定义应用%qE属性"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE已过时:g++ 的虚函数表现在默认与 COM 兼容"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "请求的 init_priority 不是一个整数常数"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "只能将%qE属性用于某个类的对象的文件作用域定义"
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "请求的 init_priority 越界"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "请求的 init_priority 保留为内部使用"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "%qE属性在此平台上不受支持"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_* check:在 %s 中失败,于 %s:%d"
@@ -35420,124 +35416,124 @@ msgstr "使用了构造函数的语法,但没有为类型%qT声明构造函数
 msgid "cannot initialize arrays using this syntax"
 msgstr "不能用以语法初始化数组"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "在 {} 内将%qE从%qT转换为较窄的类型%qT"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "在 {} 内将%qE从%qT转换为较窄的类型%qT"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int 型数组由非宽字符串初始化"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "int 型数组不兼容的宽字符串初始化"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "用以初始化字符数组的字符串太长"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "无法用复合字面常量初始化类型为%qT的聚集"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "数组必须为一个由花括号包围的初始值设定所初始化"
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "成员%qD缺少初始值设定"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "未初始化的常量成员%qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "成员%qD有未初始化的常量字段"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "成员%qD是未初始化的引用"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "在初始化的联合中找不到字段%qD"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "在联合初始值设定中出现了索引值而不是字段名"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "检测到循环指针代理"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "%<->%>的基操作数具有非指针类型%qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "%<operator->()%>的结果给出了非指针的结果"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "%<->%>的左操作数不是一个指针"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE不能用作成员指针,因为它的类型为%qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "无法将成员指针%qE应用到%qE上,因为后者的类型%qT不是一个类"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "成员指针类型%qT与对象类型%qT不兼容"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type %qT"
 msgid "functional cast to array type %qT"
 msgstr "向函数类型%qT的转换无效"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr "引用类型的非法值初始化"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "调用的函数%qD会抛出不完全的类型%q#T"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "调用的函数会抛出不完全的类型%q#T"
@@ -35597,187 +35593,187 @@ msgstr "%3$L处将%1$s转换为%2$s时整数超过了标准 Fortran 所规定的
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "%L 的荷勒瑞斯常数太长,无法被转换为 %s"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "%C处需要数组下标"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "非预期的 %s 语句出现在%C处的 MODULE 中"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "%C处需要数组下标"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "%C处需要数组下标间隔"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "%C处数组引用形式无效"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "%C处的任何引用都不能多于 %d 维"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr "集合数组在%C处被禁用,使用 -fcoarray= 来启用"
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected coarray designator at %C"
 msgstr "%C处非预期的 END 语句"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "%2$L处 %1$s 种别无效"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of coarray reference at %C"
 msgstr "%C处数组引用形式无效"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr "变量‘%s’在%L处上下文中必须是常量"
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L in this context must be constant"
 msgstr "变量‘%s’在%L处上下文中必须是常量"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "%C处数组规格中需要表达式"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "%L 处假定外形数组的坏的数组规格说明"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr "%C处显式外形数组的数组规格说明错误"
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr "%C处假定外形数组的数组规格说明错误"
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr "%C处延迟外形数组的规格说明错误"
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr "%C处假定大小数组的规格说明错误"
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "%C处数组声明需要另外一维"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "%C处数组规格中有多于 %d 的维数"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "Fortran 2008:%C处多于 7 维的数组规格"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "Fortran 2008:%C处的 BLOCK 结构"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr "DO 游标‘%s’在%L处出现在另一个同名游标作用域内"
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "%C处数组构造语法错误"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003:%C处 [...] 风格的数组构造"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "Fortran 2003:%C处包含类型规格的数组构造"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "数组‘%s’在%L处不能有延迟的外形"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "%C处的空数组构造不被允许"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "%s 数组构造中的元素在%L处是 %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "%L处游标步进不能为零"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr "%L处数组构造函数中的元素数超过容许的上限 %d。请参见 -fmax-array-constructor 选项"
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
 msgstr "%3$L处数组构造函数中不同 CHARACTER 长度(%1$d/%2$d)"
@@ -35812,7 +35808,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为实数型或复
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 INTEGER 或 PROCEDURE"
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个常量"
@@ -35922,7 +35918,7 @@ msgstr "%2$L处‘%1$s’内建函数的‘dim’实参不是一个有效的维
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "%4$L处 %3$s 中字符长度不相等 (%1$ld/%2$ld)"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参类型必须相同"
@@ -36009,8 +36005,8 @@ msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为 REAL 或
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
@@ -36158,7 +36154,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为 ALLOCATABLE"
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须至少具有与‘%4$s’(%5$ld/%6$d)中 .TRUE. 值一样多的元素"
@@ -36290,42 +36286,42 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, gcc-internal-format, gfc-internal-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "%L处‘TRANSER’内建函数的‘MOLD’参数不能是 %s"
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr "%L处内建 TRANSFER 有部分未定义的结果:源尺寸 %ld < 结果尺寸 %ld"
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是标量或者具有与‘%4$s’一样的秩"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参必须有相同的外形。"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, gcc-internal-format, gfc-internal-format
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的大小太小(%4$i/%5$i)"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "给予函数 %s 的参数太多,于 %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的种别必须不能比默认种别(%4$d)宽"
 
-#: fortran/check.c:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 INTEGER 或 LOGICAL"
@@ -36337,7 +36333,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr "%2$L处类型‘%1$s’达到了最大的扩展级别"
@@ -36620,7 +36616,7 @@ msgstr "指定CHARACTER(*) 函数‘%s’在%L处不能为指针值"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2008:%L处格式中的‘G0’"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr "%C处 Cray 指针重复指定了数组"
@@ -36636,7 +36632,7 @@ msgstr "%2$C 处的‘%1$s’类型在接口中尚未被声明"
 msgid "Extension: Old-style initialization at %C"
 msgstr "扩展:%C处旧式的初始化"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "%C处的初始化不是为指针变量准备的"
@@ -36646,7 +36642,7 @@ msgstr "%C处的初始化不是为指针变量准备的"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "在%C处的指针初始化需要‘=>’,而不是‘=’"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "%C处需要一个初始化表达式"
@@ -36843,7 +36839,7 @@ msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 属性"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2003:%C处的 PROTECT 属性"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr "%C处的 PROTECTED 仅允许出现在模块规格说明部分内"
@@ -36863,835 +36859,835 @@ msgstr "Fortran 2003:%C处的 VALUE 属性"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003:%C处的 VOLATILE 属性"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr "%C处为单个 NAME= 指定了多个标识符"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr "%2$L处隐式声明的 BIND(C) 函数‘%1$s’不能与 C 互操作"
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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 "%3$L处的公共块‘%2$s’中的变量‘%1$s’可能不是 C 互操作种别,即使公共块‘%4$s’是 BIND(C)"
 
-#: fortran/decl.c:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr "%2$L处的类型声明‘%1$s’不是与 C 可互操作的,但它是个 BIND(C)"
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr "%2$L处的变量‘%1$s’无法与 C 互操作但被声明为 BIND(C)"
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
 msgstr "%3$L处的公共块‘%2$s’中的变量‘%1$s’不能被声明为 BIND(C),因为它不是全局的"
 
-#: fortran/decl.c:3973
+#: fortran/decl.c:3974
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr "%2$L处变量‘%1$s’不能既有 ALLOCATABLE 又有 BIND(C) 属性"
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "%2$L处的BIND(C) 函数‘%1$s’不能返回一个数组"
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, gcc-internal-format, gfc-internal-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
 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:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr "%2$L处符号‘%1$s’被标记为 PRIVATE 但是已经给定绑定标号‘%3$s’"
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr "%C处的属性规格说明语句需要实体或公共块名"
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing entity or common block name for attribute specification statement at %C"
 msgstr "%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:4244
+#: fortran/decl.c:4245
 #, gcc-internal-format, gfc-internal-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:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%C处数据声明语法错误"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "%2$C处的名字‘%1$s’是一个过程的名字"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "%C处形参列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "符号‘%s’在%C处的形参列表中重复出现"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "%C处 RESULT 变量不能与函数重名"
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%C处的函数声明后有非预期的垃圾字符"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "Fortran 2008:%L处的 BIND(C)属性对于内部过程不可以指定"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be generic"
 msgstr "%2$C处的接口‘%1$s’不能是泛型"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "%2$C处的接口‘%1$s’不能是个语句函数"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr "内建过程‘%s’不允许在 %C 的 PROCEDURE 语句中"
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr "%C处的 BIND(C) 属性要求一个具有 BIND(C)的接口"
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr "%C处带有 NAME 的 BIND(C)过程不能有 POINTER 属性"
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr "%C处的哑过程不能有带有 NAME 的 BIND(C) 属性"
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "符号‘%s’在%L处已经有了基本类型 %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "%C处 PROCEDURE 语句语法错误"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "%C处绑定属性后需要‘::’"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr "%C处需要 NOPASS 或显式接口"
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003:%C处的过程指针组件"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "%C处过程指针组件语法错误"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr "%C处的 PROCEDURE 必须在一个泛型接口内"
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "函数定义在%C处需要形参列表"
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr "%L处的 BIND(C) 属性只能用于变量或公共块"
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2003:%C处的 USE 语句中模块本性"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "%C处的 ENTRY 语句不能出现在 PROGRAM 中"
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "%C处的 ENTRY 语句不能出现在 MODULE 中"
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "%C处的 ENTRY 语句不能出现在 BLOCK DATA 中"
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "%C处的 ENTRY 语句不能出现在 INTERFACE 中"
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "%C处的 ENTRY 语句不能出现在 DERIVED TYPE 块中"
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "%C处的 ENTRY 语句不能出现在 IF-THEN 块中"
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "%C处的 ENTRY 语句不能出现在 DO 块中"
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "%C处的 ENTRY 语句不能出现在 SELECT 块中"
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "%C处的 ENTRY 语句不能出现在 FORALL 块中"
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "%C处的 ENTRY 语句不能出现在 WHERE 块中"
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "%C处的 ENTRY 语句不能出现在嵌套的子程序中"
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%C处 ENTRY 语句不能出现在被包含的过程中"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr "%C 处 BIND(C) 前缺少要求的括号"
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "%C绑定标号的 NAME= 限定符语法错误"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "%C处绑定标号缺少右引号‘\"’"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "%C处绑定标号缺少右引号‘'’"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "%C处绑定标号缺少右括号"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "%C处的 BIND(C) 中不允许有绑定名"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr "对于哑过程 %s,%C 处的 BIND(C) 中不允许有绑定名"
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr "%C 处的 ABSTRACT INTERFACE 的 BIND(C)上不允许有 NAME"
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "%C处非预期的 END 语句"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "Fortran 2008:%C处 CONTAINS 语句没有 FUNCTION 或 SUBROUTINE 语句"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "需要 %s 语句在%L处"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "需要 %s 语句,于 %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "需要块名‘%s’在‘%s’表达式中,于 %C"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "%C处需要结束名"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "需要标号‘%s’,为 %s 语句,于 %C"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr "%L处的 DIMENSION 语句缺少数组规格"
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr "%2$L处在初始化后为 %1$s 指定了维数"
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr "%L处的 DIMENSION 语句缺少数组指定"
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "%L处数组规格必须延迟"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "%C处变量列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "在%C处需要‘(’"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "在%C处需要变量名"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "%C处 Cray 指针必须是一个整数"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr "%C处的 Cray 指针精度为 %d;内存地址需要 %d 字节"
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "在%C处需要“,”"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "在%C处需要“)”"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "在%C处需要“,”或语句尾"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr "INTENT 不能用在%C处 BLOCK 内"
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr "OPTIONAL 不能用在%C处 BLOCK 内"
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "%C处的 Cray 指针声明需要 -fcray-pointer 标记"
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2003:%C处的 IMPORT 语句"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr "%2$C处的 %1$s 运算符的访问规格说明已经被指定"
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr "%2$C处的 .%1$s. 运算符的访问规格说明已经被指定"
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003:%C处的 PROTECTED 语句"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "%C处 PROTECTED 语句语法错误"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr "%C处的 PRIVATE 语句仅允许出现在模块规格说明部分内"
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, gcc-internal-format, gfc-internal-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr "%C处的 PUBLIC 语句只不允许出现在模块规格说明部分内"
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "%C处的 PARAMETER 语句需要变量名"
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "%C 在 PARAMETER 语句中需要 = 符号"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "%C 在 PARAMETER 语句中需要表达式"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, gcc-internal-format, gfc-internal-format
 msgid "Initializing already initialized variable at %C"
 msgstr "%C处初始化已经初始化的变量"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "%C处 PARAMETER 语句中有非预期的字符"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr "%C处覆盖 SAVE 语句跟随以前的 SAVE 语句"
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "%C处 SAVE 语句跟随空白 SAVE 语句"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "%C SAVE 语句语法错误"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr "VALUE 不能用在%C处 BLOCK 内"
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003:%C处的 VALUE 语句"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "%C处 VALUE 语句语法错误"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003:%C处的 VOLATILE 语句"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "%C处的 VOLATILE 语句语法错误"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 语句"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "%C处 ASYNCHRONOUS 语句语法错误"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr "%C处的 MODULE PROCEDURE 必须在一个泛型接口内"
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: PROCEDURE statement at %C"
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr "%L处内建过程不能是 MODULE PROCEDURE"
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "%C处 TYPE 定义中的歧义符号"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, gcc-internal-format, gfc-internal-format
 msgid "No such symbol in TYPE definition at %C"
 msgstr "%C在 TYPE 定义中没有此符号"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr "%2$C处 EXTENDS 表达式中的‘%1$s’不是一个派生类型"
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr "%2$C 处‘%1$s’不能被扩展,因为它是 BIND(C)"
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr "%2$C 处‘%1$s’不能被扩展,因为它是 SEQUENCE 类型"
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr "%C处的派生类型在模块规格说明部分内只能是 PRIVATE"
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr "%C处的派生类型在模块规格说明部分内只能是 PUBLIC"
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003:%C处的 ABSTRACT 类型"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "%C 在 TYPE 定义中需要 ::"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "类型‘%s’(位于 %C)不能与内建类型重名"
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr "%2$C处的派生类型名“%1$s”已经有一个基本类型 %3$s"
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr "%2$C处的派生类型‘%1$s’定义已经被定义"
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr "%C处 Cray 指针不能指向假定外形数组"
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003:%C处的 ENUM 和 ENUMERATOR"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "%C处:枚举量超过 C 整数类型"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr "ENUMERATOR %L没有用整数表达式初始化"
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr "%C 前需要 ENUM 定义语句"
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "%C处 ENUMERATOR 定义中语法错误"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr "%C处重复访问限定符"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr "捆绑属性已经指定传递,%C处 NOPASS 非法"
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr "捆绑属性已经指定传递, %C处 PASS 非法"
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr "%C处 POINTER 属性重复"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "%C处 NON_OVERRIDABLE 重复"
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr "%C处重复的 DEFERRED 语句"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr "%C需要访问限定符"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr "%C处需要绑定属性"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr "NON_OVERRIDABLE 和 DEFERRED 不能同时出现在%C处"
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr "%C处的过程指针组件需要 POINTER 属性"
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr "%C处‘(’后需要接口名"
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, gcc-internal-format, gfc-internal-format
 msgid "')' expected at %C"
 msgstr "在 %C 处需要‘)’"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr "%C处必须为 DEFERRED 绑定指定接口"
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr "%C处的 PROCEDURE(接口) 需要声明为 DEFERRED"
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr "%C处需要绑定名"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr "‘=> target’对%C处的 DEFERRED 绑定而言无效"
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr "%C处与显式目标捆绑的 PROCEDURE 中需要‘::’"
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding target after '=>' at %C"
 msgstr "%C处‘=>’之后需要绑定目标"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr "%2$C处包含 DEFERRED 绑定的类型‘%1$s’不能是 ABSTRACT"
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "在 %3$C 处对于派生类型“%2$s”已经有一个非普通的过程用限定名“%1$s”"
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr "%C处的 GENERIC 必须是在派生类型 CONTAINS 内"
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '::' at %C"
 msgstr "在%C处需要‘::’"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "%C处需要泛型名或运算符描述子"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '=>' at %C"
 msgstr "%C 处需要“=>”"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr "%3$C处派生类型‘%2$s’已经有一个绑定名为‘%1$s’的非泛型过程"
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr "%C处的绑定必须有与已经定义的绑定‘%s’相同的访问权限"
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr "%C处需要特定的绑定名"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr "%3$C处‘%1$s’已经定义为泛型的‘%2$s’特定的限定"
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr "%C 处的泛型绑定后有垃圾字符"
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr "%C处的 FINAL 声明必须在一个派生类型的 CONTAINS 节内"
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr "%C处带有 FINAL 的派生类型声明必须在 MODULE 的规格说明部分内"
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr "%C处的 FINAL 为空"
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr "%C处期待模块过程名"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ',' at %C"
 msgstr "在%C处需要‘,’"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "%2$C的过程名“%1$s”未知"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "%2$C 处的‘%1$s’已经被定义为 FINAL!"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "%C处 !GCC$ ATTRIBUTES 语句中有未知的属性"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr "%C处 !GCC$ ATTRIBUTES 语句中的语法错误"
@@ -37931,27 +37927,27 @@ msgstr "%L处赋值右手边出现值为 POINTER 的函数"
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr "扩展:%L处 BOZ 字面值被用来初始化非整数变量‘%s’"
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr "扩展:在 %L处的 BOZ 字面值在一个 DATA 语句之外并且也在 INT/REAL/DBLE/CMPLX 之外"
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr "%L处 BOZ 字面值按位转换后是非整数符号‘%s’"
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "%L处按位转换 BOZ 时算术下溢。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/expr.c:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "%L处按位转换 BOZ 时算术上溢。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/expr.c:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr "%L处按位转换 BOZ 时产生算术 NaN。这一检查可用 -fno-range-check 选项禁用"
@@ -38213,7 +38209,7 @@ msgid "can't open input file: %s"
 msgstr "不能打开输入文件:%s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
@@ -38330,12 +38326,12 @@ msgstr "%L处定义赋值的第一个参数必须是 INTENT(OUT) 或 INTENT(INOU
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "%L处定义赋值的第二个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L处运算符接口的第一个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L处运算符接口的第二个参数必须是 INTENT(IN)"
@@ -40363,7 +40359,7 @@ msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "%C处的函数声明后有非预期的垃圾字符"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr "%L处的 IF 分句需要一个标量 LOGICAL 表达式"
@@ -41466,952 +41462,952 @@ msgstr "%3$L处纯子进程‘%2$s’的参数‘%1$s’必须指定其 INTENT"
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "%3$L处纯子进程‘%2$s’的参数‘%1$s’必须指定其 INTENT"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "%2$L处关键字实参‘%1$s’不在过程里"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "元素过程的实参‘%s’在%L处必须是标量"
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "在 %2$L 处基本过程的参数“%1$s”不能有 POINTER 属性"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr "%2$L处基本过程的参数‘%1$s’不能有 POINTER 属性"
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "%3$L处哑过程‘%1$s’不能出现在基本过程‘%2$s’中"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "在 %3$L 处的纯的子例程“%2$s”的参数“%1$s”必须有它的 INTENT 指定符"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "语句函数的实参‘%s’在%L处必须是标量"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr "%2$L处语句函数有字符值的参数‘%1$s’必须有常量长度"
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的包含函数‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, gcc-internal-format, gfc-internal-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr "%3$L处包含函数‘%2$s’的结果‘%1$s’没有 IMPLICIT 类型"
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "%3$L处有字符值的 %1$s‘%2$s’不能是假定长度的"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, gcc-internal-format, gfc-internal-format
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "%2$L处函数‘%1$s’有不匹配的数组规格说明"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr "扩展:%2$L处函数 %1$s 有返回不同字符串长度的变量的表项"
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 的返回值 %1$s 不能是一个数组"
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 中入口返回值 %1$s 不能是一个数组"
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 的返回值 %1$s 不能是一个指针"
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 中入口返回值 %1$s 不能是一个指针"
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION 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:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-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:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr "%2$L处变量‘%1$s’是在 COMMON 中, 但初始化仅允许出现在 BLOCK DATA 中"
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
 msgstr "%2$L处被初始化的变量‘%1$s’是在一个空白 COMMON 中,但是初始化仅容许出现在有名公用块中"
 
-#: fortran/resolve.c:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’既没有 SEQUENCE 也没有 BIND(C) 属性"
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’有一个可分配的最终组件"
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’不能有默认的初始值设定"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr "%2$L处的 COMMON 块‘%1$s’在%3$L处被用作 PARAMETER"
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr "%2$L处的 COMMON 块‘%1$s’也是一个内建过程"
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个函数返回值"
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个全局过程"
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, gcc-internal-format, gfc-internal-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "%2$L处结构构造函数‘%1$s’的组件为 PRIVATE"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr "%L处的派生类型构造函数中元素的秩与该组件(%d/%d)的不匹配"
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素是 %s 但应该是 %s"
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The NULL in the derived type constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr "%L处派生类型构造函数中的 NULL 被用在既不是一个指针也不是 ALLOCATABLE 的组件‘%s’上"
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "%C处结构构造函数中组件太多!"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素应该是 POINTER 或 TARGET"
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "%2$L处‘%1$s’的传递对象虚参不能是 ALLOCATABLE"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "%2$L 处的对象“%1$s”对于成分的默认初始化必须有 SAVE 属性,"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid expression in the derived type constructor for pointer component '%s' at %L in PURE procedure"
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr "%2$L处指针组件‘%1$s’的派生类型构造函数中表达式无效"
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-format
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
 msgstr "最后一维的上限必须出现在对在%2$L处假定大小数组‘%1$s’的引用中"
 
-#: fortran/resolve.c:1390
+#: fortran/resolve.c:1392
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is ambiguous"
 msgstr "‘%s’(位于 %L)有歧义"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "GENERIC 过程‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, gcc-internal-format, gfc-internal-format
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr "%2$L处为内建函数‘%1$s’指定的类型被忽略"
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr "%2$L处的内建子例程‘%1$s’不应该有类型限定符"
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "%2$L 处‘%1$s’声明的 INTRINSIC 不存在"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr "在%2$L处由内建函数‘%1$s’声明的 INTRINSIC 在当前的标准设置中是不可用的,但在 %3$s 下可用。使用一个适当的 -std=* 选项或启用 -fall-intrinsics 以便使用它。"
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr "%2$L处非 RECURSIVE 过程‘%1$s’可能递归地调用它自己。请将它声明为 RECURSIVE 或使用 -frecursive"
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "标号 %d(引用自 %L)从未被定义"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "语句函数‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "内建函数‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "内部过程‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "ELEMENTAL 非 INTRINSIC 过程‘%s’不允许在%L处作为实际参数"
 
-#: fortran/resolve.c:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr "%2$L处对‘%1$s’的引用找不到特定的 INTRINSIC 过程"
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "符号‘%s’(位于 %L)有歧义"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "%L处按值传递的实参不具有数字类型"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "%L处按值传递的实参不能是数组或数组段"
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "%L处上下文中不允许使用按值传递的实参"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "不允许按位置传递%L处的内部过程"
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr "%2$L处的‘%1$s’是个数组且是可选的;如果它缺失, 它不能是一个 ELEMENTAL 过程的实际参数,除非有一个具有相同秩的非可选的参数(12.4.1.5)"
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr "%1$L处 ELEMENTAL 子程序‘%4$s’的 INTENT(%2$s) 哑‘%3$s’的实际参数是一个标量,但是另一个实际参数是一个数组"
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "%2$L处实参‘%1$s’秩不匹配(%3$d 和 %4$d)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "函数不能返回函数"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr "%3$L处‘%2$s’的虚参‘%1$s’应该命名为‘%4$s’以匹配被覆盖过程的相应参数"
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "%3$L处 %2$s 中的过程‘%1$s’没有显式接口"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "%3$L处 %2$s 中的过程‘%1$s’没有显式接口"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr "%2$L处的不定长字符长度函数‘%1$s’必须有一个显式的接口"
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "%3$L处 %2$s 中的过程‘%1$s’没有显式接口"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr "%2$L处对函数‘%1$s’的引用或者需要一个显式的 INTERFACE 或者秩不正确"
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "%2$L处的不定长字符长度函数‘%1$s’必须有一个显式的接口"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "在 %3$L 处过程“%2$s”的接口“%1$s”必须是显式的"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "“%s”是必须是一个模块过程或有显式接口的外部过程于 %L 处"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr "%2$L处的泛型‘%1$s’没有指定的函数"
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr "%2$L处泛型函数‘%1$s’与特定的内建接口不一致"
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "%2$L处的函数‘%1$s’是 INTRINSIC,但与内建函数不兼容"
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "不能解析 %2$L处的函数‘%1$s’"
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的函数‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "%2$L处‘%1$s’的实参不是一个变量"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "%2$L处‘%1$s’调用过程时实参比形参多"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr "%3$L处‘%2$s’的参数‘%1$s’必须是一个 TARGET 或者相关联的指针"
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "%3$L 处对“%2$s”的调用中参数“%1$s”的类型应该是“%1$s”,而非“%1$s”"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr "在 %L 处的推迟数组“%1$s”在初始化表达式中不被允许"
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array section in '%s' call at %L"
 msgstr "%L 处 DATA 语句中有非常量数组部分"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
 msgstr "%3$L用作‘%2$s’的参数的可分配变量‘%1$s’不能是大小为零的数组"
 
-#: fortran/resolve.c:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
 msgstr "%2$L处假定外形数组‘%1$s’不能是过程‘%3$s’的参数,因为该过程是不能与 C 互操作的"
 
-#: fortran/resolve.c:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
 msgstr "%2$L处延迟外形数组‘%1$s’不能是过程‘%3$s’的参数,因为它不能与 C 互操作"
 
-#: fortran/resolve.c:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
 msgstr "%3$L处的‘%2$s’的 CHARACTER 参数‘%1$s’长度必须为 1"
 
 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
 #. scalar pointer.
-#: fortran/resolve.c:2916
+#: fortran/resolve.c:2918
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "%3$L处‘%2$s’的实参‘%1$s’必须是一个关联的标量指针"
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个标量"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr "%L处赋值中的变量类型不能是多态的"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个过程"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须为 BIND(C)"
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is not a function"
 msgstr "%2$L处的‘%1$s’不是一个函数"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
 msgstr "%2$L处的 ABSTRACT INTERFACE‘%1$s’不能被引用"
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.c:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-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:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr "%2$L处用户定义的非 ELEMENTAL 函数‘%1$s’不容许出现在 WORKSHARE 构造中"
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr "%2$L处对非 PURE 函数‘%1$s’的引用出现在 FORALL %3$s 中"
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr "%2$L处对非 PURE 函数‘%1$s’的引用出现在 FORALL %3$s 中"
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr "%2$L处对‘%1$s’的函数引用是在一个 PURE 过程内的对非 PURE 过程的引用"
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr "%2$L处 ENTRY‘%1$s’不能递归调用,因为函数‘%3$s’并非 RECURSIVE"
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "%2$L处的函数‘%1$s’不能被递归调用,因为它并非 RECURSIVE"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr "%2$L处 FORALL 块内对‘%1$s’子例程的调用不是 PURE"
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr "%2$L处 FORALL 块内对‘%1$s’子例程的调用不是 PURE"
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr "%2$L处调用‘%1$s’的子例程不是 PURE"
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr "泛型‘%s’在%L处没有特定的子进程"
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr "%2$L处泛型子进程‘%1$s’与一个内建子进程接口不一致"
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "%2$L处调用‘%1$s’时缺少 SHAPE 实参"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr "%2$L处调用‘%1$s’的 SHAPE 参数必须是一个秩为 1 的 INTEGER 数组"
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr "%2$L处的子进程‘%1$s’是 INTRINSIC,但与内建函数不兼容"
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr "不能解决%2$L处的指定子例程‘%1$s’"
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr "%2$L处的‘%1$s’的类型与%3$L处 CALL 的类型不一致"
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr "%2$L处 ENTRY‘%1$s’不能被递归调用,因为子进程‘%3$s’并非 RECURSIVE"
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "%2$L处 SUBROUTINE‘%1$s’不能递归调用,因为它并非 RECURSIVE"
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "%L和%L处的操作数外形不相容"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "%L 零间隔非法"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组下限引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, gcc-internal-format, gfc-internal-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组下限引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组上限引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组上限引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr "%L处未指定假定大小数组段的最右端上限"
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L处数组引用中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L处数组引用中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个标量"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "%L处数组索引必须是标量"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "%L处数组索引必须具有 INTEGER 类型而不是 %s"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "扩展:%L处的 REAL 数组索引"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "%L 实参维数必须是标量"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "%L处实参维数必须具有 INTEGER 类型"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "%L处数组索引是一个秩为 %d 的数组"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "%L处的子字符串起始索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "%L处的子字符串起始索引必须是标量"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "%L处的子字符串起始索引小于 1"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "%L处的子字符串终止索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "%L处的子字符串终止索引必须是标量"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "%L处的子字符串终止索引超过了字符串长度"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr "%L处子串结束索引太大"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr "%L处对有非零秩的部分引用的右侧的组件不能有 POINTER 属性"
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr "%L处对有非零秩的部分引用的右侧的组件不能有 ALLOCATABLE 属性"
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr "%L处不能指定两个或以上秩不为零的部分引用"
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-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:5204
+#: fortran/resolve.c:5206
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr "%2$L处非多态的传递对象哑元实参‘%1$s’"
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr "%L处传递的对象必须是标量"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr "%L处类型限定过程调用的基类型是 ABSTRACT 类型‘%s’"
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr "%L处类型限定过程调用的基类型是 ABSTRACT 类型‘%s’"
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "%L处 NOPASS 类型限定过程调用的基对象必须是标量"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr "%2$L处对 GENERIC‘%1$s’的调用没有找到匹配特别的限定"
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr "%2$L处的‘%1$s’应该是一个 SUBROUTINE"
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr "%2$L处的‘%1$s’应该是一个 FUNCTION"
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s (%L处)必须是一个标量"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, gcc-internal-format, gfc-internal-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "已删除的特性:%s 在%L处必须是一个整数"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s (%L处)必须是 INTEGER"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "%L处的 DO 循环中的步进表达式不能为零"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr "%L处的 DO 循环会被执行零次"
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 索引名必须是一个标量整数"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 起始表达式必须是一个标量整数"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 结束表达式必须是一个标量整数"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "%L处 FORALL 间隔表达式必须是一个标量 %s"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "%L处 FORALL 间隔表达式不能是零"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "FORALL 索引‘%s’不能出现在%L处的三元组规格说明中"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr "%L处的分配对象必须是 ALLOCATABLE 或 POINTER"
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr "%3$L 处“%1$s”分句对象“%2$s”有 ALLOCATABLE 组件"
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr "%L处的源表达式必须是标量或者与%L处的分配对象有相同的秩"
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr "%L处的源表达式和%L处的分配对象必须有相同的外形"
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr "%L处实体的类型与%L处的源表达式类型不兼容"
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr "%L处的分配对象和%L处的源表达式应该有相同的种别类型参数"
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr "%2$L处分配具有 ABSTRACT 基类型的 %1$s 需要一个类型指定或 SOURCE="
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr "%L处的 ALLOCATE 语句中需要数组规格说明"
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "%L 处的 ALLOCATE 语句中要求的数组规格说明"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr "%L处的 ALLOCATE 语句中有错误的数组规格"
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr "‘%s’不能出现在%L处其自身被分配的 ALLOCATE 语句的数组规格说明中"
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "%L 处的 ALLOCATE 语句中要求的数组规格说明"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "%L 处的 ALLOCATE 语句中坏的数组规格说明"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr "%1$L处的统计变量不能在同一个 %3$s 语句中被 %2$s"
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr "%L处的 ERRMSG 没有 STAT 标记所以不起作用"
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "%L处错误信息变量必须是一个标量 CHARACTER 变量"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr "%1$L处的错误信息变量不能在同一 %3$s 语句中被 %2$s"
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr "%L处分配的对象也出现在%L处"
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr "%2$L 处对象“%1$s”不是一个变量"
@@ -42420,178 +42416,178 @@ msgstr "%2$L 处对象“%1$s”不是一个变量"
 #. 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:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr "%L处的 CASE 标号与%L处的 CASE 标号重叠"
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "%L处 CASE 语句中的表达式必须具有 %s 类型"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "%L 处 CASE 语句中的表达式种别必须为 %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "%L处 CASE 语句中的表达式必须为标量"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "%L处计算转移 GOTO 语句的选择表达式必须是一个标量整数表达式"
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "%L处 SELECT 语句的实参不能是 %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "%L 处 CASE 语句中的逻辑范围是不被允许的"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr "%L处的 DEFAULT CASE 为%L处的第二个 DEFAULT CASE 所跟随"
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr "%L处 CASE 语句中的逻辑范围是不被允许的"
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr "%L 处 CASE 语句中的常量逻辑值被重复了"
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr "%L处范围规格无法匹配"
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr "%L处逻辑 SELECT CASE 块有多于两个的情况"
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr "%2$L 处的名字“%1$s”已经在 %4$L 处被用作 %3$s"
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "%C处 SELECT TYPE 语句中的选择子应该是多态的"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr "%2$L处派生类型‘%1$s’必须是可扩展的"
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr "%2$L处派生类型‘%1$s’必须是‘%3$s’的一个扩展"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr "%L处 SELECT TYPE 语句中有双重的 CLASS IS 块"
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have POINTER components"
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr "%L处数据传输元素不能有 POINTER 组件"
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr "%L处数据传输元素不能有 POINTER 组件"
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Data transfer element at %L cannot have ALLOCATABLE components"
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr "%L处数据传输元素不能有 ALLOCATABLE 组件"
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr "%L处数据传输元素不能有 PRIVATE 组件"
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr "%L处数据传输元素不能是对一个假定大小数组的全引用"
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "%L处错误信息变量必须是一个标量 CHARACTER 变量"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "%L处 SELECT 语句中的实参必须为标量"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "%L处 ACOS 的参数必须在 -1 和 1 之间"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr "%L处的语句对%L处的分支语句而言不是一个有效的分支目标语句"
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, gcc-internal-format, gfc-internal-format
 msgid "Branch at %L may result in an infinite loop"
 msgstr "%L处的分支可能导致无穷循环"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr "%s 语句在%C处离开 OpenMP 结构块"
@@ -42599,952 +42595,952 @@ msgstr "%s 语句在%C处离开 OpenMP 结构块"
 #. 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr "%L处的标号与%L处 GOTO 语句不在相同的块中"
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr "%L处的 WHERE 掩码外形不一致"
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr "%L处 WHERE 赋值目标外形不一致"
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr "%L处 WHERE 中用户定义的非 ELEMENTAL 用户赋值"
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "%L处在 WHERE 内不支持的语句"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%L处向 FORALL 索引变量赋值"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr "%2$L处带索引‘%1$s’的 FORALL 没有被用在赋值的左侧,所以可能导致对这个对象的多个赋值"
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr "%L处外部 FORALL 构造已经有一个同名的索引"
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "%L处的 WHERE/ELSEWHERE 子句需要一个 LOGICAL 数组"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr "CHARACTER 表达式在%3$L处赋值时将被截断(%1$d/%2$d)"
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr "在 %L 处 impure 变量被赋值到一个 PURE 过程(12.6)中的 POINTER 组件的派生类型变量"
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr "%L处一个非纯变量在 PURE 过程中被赋值给带有 POINTER 组件派生类型变量(12.6)"
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "不能在%2$C处的 PURE 过程中读取变量‘%1$s’"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr "%L处赋值中的变量类型不能是多态的"
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr "ASSIGNED GOTO 语句在%L处需要一个 INTEGER 变量"
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr "变量‘%s’在 %L 尚未指派目标标号"
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "%L处的替代 RETURN 语句需要一个 SCALAR-INTEGER 返回限定符"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr "%L处的 ASSIGN 语句需要一个默认标量 INTEGER 变量"
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr "%L处的算术 IF 语句要求一个数字表达式"
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr "%L处 DO WHILE 循环的退出条件必须是一个标量 LOGICAL 表达式"
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "%L处的 FORMALL 掩码子句需要一个 LOGICAL 表达式"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
 msgstr "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与 %5$L 处的全局实体‘%4$s’冲突"
 
 #. Common block names match but binding labels do not.
-#: fortran/resolve.c:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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 "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与%6$L处公共块‘%5$s’的绑定标记‘%4$s’不匹配"
 
-#: fortran/resolve.c:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
 msgstr "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与 %5$L 处的全局实体‘%4$s’冲突"
 
 #. Make sure global procedures don't collide with anything.
-#: fortran/resolve.c:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
 msgstr "%2$L处的绑定标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
 
 #. Make sure procedures in interface bodies don't collide.
-#: fortran/resolve.c:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr "%2$L处的接口体中的绑定标记‘%1$s’与%4$L处的全局实体‘%3$s’冲突"
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr "%2$L处的捆绑标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr "%L处的CHARACTER 变量有负的长度 %d,长度已经被设为零"
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr "%L处字符串太长"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr "可分配的数组‘%s’在%L处必须有延迟的外形"
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr "%2$L处标量对象‘%1$s’不能为 ALLOCATABLE"
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "数组指针‘%s’在%L处必须有延迟的外形"
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "数组‘%s’在%L处不能有延迟的外形"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr "%2$L处的 CLASS 变量‘%1$s’必须是哑元、可分配的或者指针"
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr "‘%s’在%L处不能是主机相关的,因为它被在%L处声明的一个不兼容的同名对象所阻碍"
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr "Fortran 2008:%2$L处模块变量‘%1$s’隐含使用了 SAVE,因为默认初始化有此需求"
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr "%2$L处的模块或主程序数组‘%1$s’必须有常量外形"
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr "%L处假定字符长度的实体必须是个虚参或是个 PARAMETER"
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr "变量‘%s’在%L处上下文中字符长度必须为常量"
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' at %L must have constant character length in this context"
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr "变量‘%s’在%L处上下文中字符长度必须为常量"
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "可分配的‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "外部‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "哑元‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "内建函数‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "函数结果‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "自动数组‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr "%2$L处有字符值的语句函数‘%1$s’必须有常量长度"
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:%3$L处‘%1$s’是 PRIVATE 类型因而不能是 PUBLIC 类型‘%2$s’的虚参"
 
-#: fortran/resolve.c:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr "Fortran 2003: %3$L处 PUBLIC 接口‘%2$s’中的过程‘%1$s’有 PRIVATE 的虚参‘%4$s’"
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "函数‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "外部对象‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr "%2$L处 ELEMENTAL 函数‘%1$s’必须有一个标量返回值"
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "语句函数‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能为数组值"
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "指定CHARACTER(*) 函数‘%s’在%L处不能为指针值"
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能为纯函数"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能是递归的"
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, gcc-internal-format, gfc-internal-format
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "已过时的特性:%2$L处的 CHARACTER(*) 函数‘%1$s’"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 SAVE 属性冲突"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 INTENT 属性冲突"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "PROCEDURE 属性与在%2$L处‘%1$s’中的 RESULT 属性冲突"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "EXTERNAL 属性与在%2$L处‘%1$s’中的 FUNCTION 属性冲突"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr "%2$L处过程指针结果‘%1$s’缺少指针属性"
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr "%2$L处 FINAL 过程‘%1$s’不是一个 SUBROUTINE"
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "%L处的 FINAL 过程有且只有一个参数"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "%L处 FINAL 过程的参数必须是‘%s’类型"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "%L处 FINAL 过程的参数必须不是 POINTER"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "%L处 FINAL 过程的参数必须不是 ALLOCATABLE"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "%L处 FINAL 过程的参数必须不是 OPTIONAL"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "%L处 FINAL 过程的参数必须不是 INTENT(OUT)"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr "%L处的非标量 FINAL 过程应当有假定外形的参数"
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr "%2$L处声明的 FINAL 过程‘%1$s’有与‘%4$s’相同的秩(%3$d)"
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr "仅为定义在%2$L处的派生类型‘%1$s’声明了数组 FINAL 过程,建议也定义一个标量过程"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, gcc-internal-format, gfc-internal-format
 msgid "Finalization at %L is not yet implemented"
 msgstr "%L处的终结化还未实现"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr "%4$L处‘%1$s’和‘%2$s’对 GENERIC‘%3$s’不能是混合的 FUNCTION/SUBROUTINE"
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr "%4$L处 GENERIC‘%3$s’的‘%1$s’和‘%2$s’有歧义"
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr "未定义的指定绑定‘%1$s’用作%3$L处的 GENERIC‘%2$s’的目标"
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr "%2$L处 GENERIC‘%1$s’必须定位一个特定的绑定,‘%3$s’也是 GENERIC"
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr "%2$L处 GENERIC‘%1$s’无法覆盖同名的特定绑定"
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr "%L处类型限定的操作数不能是 NOPASS"
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "%2$L处的‘%1$s’必须是一个模块过程或带有显式接口的外部过程"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "%3$L处有 PASS(%2$s)的过程‘%1$s’没有参数‘%4$s’"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "%2$L处有 PASS 的过程‘%1$s’必须至少带一个参数"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr "%2$L处非多态的传递对象虚参‘%1$s’"
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr " %4$L处的具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须具有派生类型‘%5$s’"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "%2$L处‘%1$s’的传递对象虚参必须是标量"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "%2$L处‘%1$s’的传递对象虚参不能是 ALLOCATABLE"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "%2$L处‘%1$s’的传递对象虚参不能是 POINTER"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "%2$L处过程‘%1$s’和‘%3$s’的组件重名"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr "%2$L处过程‘%1$s’和‘%3$s’的继承组件重名"
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr "%2$L处声明的派生类型‘%1$s’必须是 ABSTRACT,因为‘%3$s’是 DEFERRED 且没有被覆盖"
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr "%2$L处不能扩展的派生类型‘%1$s’不能是 ABSTRACT"
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr "%L处指针赋值时参数种别类型不同"
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "数组指针‘%s’在%L处必须有延迟的外形"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr "%2$L 处的“%1$s”不能有 VALUE 属性,因为它不是个虚参"
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr "%3$L处为过程指针组件‘%2$s’所使用的接口‘%1$s’在之后的 PROCEDURE 语句中被声明"
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "%3$L处过程指针组件‘%2$s’的接口‘%1$s’必须是显式的"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "%3$L处带有 PASS(%2$s)的过程指针组件‘%1$s’没有参数‘%4$s’"
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "%2$L处的具有 PASS 的过程指针组件‘%1$s’必须至少有一个实参"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "%4$L处具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须有派生类型‘%5$s’"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "%4$L 处的具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须是标量"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "%4$L处带 PASS(%3$s) 的‘%2$s’的参数‘%1$s’不能有 POINTER 属性"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "%4$L处带 PASS(%3$s) 的‘%2$s’的参数‘%1$s’不能是 ALLOCATABLE"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr "%3$L处‘%2$s’的组件‘%1$s’与一个继承的类型限定过程同名"
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr "%2$L处组件‘%1$s’的字符长度必须是一个常量规格表达式"
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr "Fortran 2003:%3$L处组合‘%1$s’是一个 PRIVATE 类型,因此不能是 PUBLIC‘%2$s’的组合"
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, gcc-internal-format, gfc-internal-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "%2$L处声明的有 SEQUENCE 类型的组件 %1$s 没有 SEQUENCE 属性"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr "%3$L处‘%2$s’的指针组件‘%1$s’类型尚未声明"
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr "%2$L处具有 CLASS 的组件‘%1$s’必须是可分配的或指针"
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr "%3$L处纯函数‘%2$s’的实参‘%1$s’必须是 INTENT(IN)"
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "不允许 %3$L 处 %2$s 名字列表中假定大小的数组“%1$s”"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’不能有假定外形"
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有常外形"
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有常外形"
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’不能有 POINTER 组件"
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有 ALLOCATABLE 组件"
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有 ALLOCATABLE 组件"
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 对象‘%1$s’声明为 PRIVATE 因此不能是 PUBLIC 名字列表‘%2$s’的成员"
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 对象‘%1$s’有使用相关的 PRIVATE 组件因此不能是 NAMELIST‘%2$s’的成员"
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr "%3$L处 NAMELIST 对象‘%1$s’有 PRIVATE 组件因此不能是 PUBLIC 名字列表‘%2$s’的成员"
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 NAMELIST 属性冲突"
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr "%2$L处的参数数组‘%1$s’不能是自动的或有延迟的外形"
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr "%2$L处隐式类型的 PARAMETER‘%1$s’与随后的 IMPLICIT 类型不匹配"
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr "%L处 PARAMETER 中派生类型不兼容"
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "EXTERNAL 属性与在%2$L处‘%1$s’中的 FUNCTION 属性冲突"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "PROCEDURE 属性与在 %2$L 处“%1$s”中的 SAVE 属性冲突"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "%L处假定大小的数组必须是一个虚参"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "%L处假定外形的数组必须是一个虚参"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "%L处的符号不是一个 DUMMY 变量"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr "%2$L 处的“%1$s”不能有 VALUE 属性,因为它不是个虚参"
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr "%2$L处带 VALUE 属性的字符哑元‘%1$s’必须具有常数长度"
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr "%2$L处带 VALUE 属性与 C 可互操作的字符哑元‘%1$s’长度必须为 1"
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr "%2$L处派生类型‘%1$s’的类型‘%3$s’尚未定义"
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr "%2$L处变量‘%1$s’不能是 BIND(C) 因为它既不是一个 COMMON 块也不是于模块级作用域声明的"
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr "Fortran 2003:%3$L处 PUBLIC %1$s‘%2$s’具有 PRIVATE 派生类型‘%4$s’"
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr "%2$L处INTENT(OUT) 虚参‘%1$s’是 ASSUMED SIZE,所以不能有一个默认初始值设定"
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "%2$L处的‘%1$s’虚参不能是 INTENT(OUT)"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "函数结果‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "数组‘%s’在%L处不能有延迟的外形"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "%C处可分配的组件必须有延迟的外形"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "%L处的哑过程不允许出现在 ELEMENTAL 过程中"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "%L处的线程私有变量未被保存"
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr "%2$L处 BLOCK DATA 元素‘%1$s’必须在 COMMON 中"
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr "%2$L处 BLOCK DATA 元素‘%1$s’必在前一个声明中指定"
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "%2$L 处数据传输元素不能有 PRIVATE 组件"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr "%2$L处的 DATA 元素‘%1$s’是一个指针所以必须是一个完全的数组"
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr "%L处 DATA 语句中有非常量数组段"
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "%L处的 DATA 语名中变量比值多"
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "%L处的 DATA 语句中值比变量多"
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "标号 %d 于 %L 经定义但未被使用"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "标号 %d 于 %L 经定义但无法被使用"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr "%2$L处的派生类型变量‘%1$s’必须有 SEQUENCE 属性方能成为 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr "%2$L处的派生类型变量‘%1$s’必须没有 ALLOCATABLE 组件方能成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr "%2$L处的默认初始化的派生类型变量‘%1$s’不能成为 EQUIVALENCE 对象,因为它在 COMMON 中有变量"
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr "%2$L处的带指针组件的派生类型变量‘%1$s’不能成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "%L处 EQUIVALENCE 语句语法错误"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr "%L处 EQUIVALENCE 集中的对象必须都带有或者都不带有 PROTECTED 属性"
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr "%2$L处的公共块成员‘%1$s’不能在纯过程‘%3$s’中成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "%2$L处的有名常量‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr "%2$L处有非常量界限的数组‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "%2$L处结构组件‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "%L 的子字符串长度为零"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "Fortran 2003:%2$L处 PRIVATE 类型‘%3$s’的 PUBLIC 函数‘%1$s’"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的 ENTRY‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr "%2$L处的用户运算符‘%1$s’必须是一个 FUNCTION"
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr "%2$L处用户运算符过程‘%1$s’不能有假定字符长度"
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr "%2$L处的用户运算符‘%1$s’必须至少有一个实参"
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "%L处运算符接口的第一个参数不能是可选的"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "%L处运算符接口的第二个参数不能是可选的"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "%L处的运算符接口必须有至多两个实参"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr "%2$L处 PURE 过程中包含的过程‘%1$s’必须也是 PURE"
@@ -43710,34 +43706,34 @@ msgstr "%L 处 ISHFTC 的第二个参数大小超过比特的大小"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr "%L处 ISHFTC 的第二个参数大小超过第一个实参的 BIT_SIZE"
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "%L处的 DIM 参数越界"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr "%L处 LOG 的实参不可以小于或等于零"
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr "%L处 LOG 的复数实参不可为零"
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr "%L处 LOG10 的实参不可以小于或等于零"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr "%L处 MOD 的第二个参数为 0"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "%L处 MOD 的第二个参数为 0"
@@ -43745,47 +43741,47 @@ 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:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "%L处 MODULO 的第二个参数为 0"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "NEAREST 的结果在%L处为 NaN"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr "%L处内建 REPEAT 的 NCOPIES 实参是负的"
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr "%L处内建 REPEAT 的 NCOPIES 实参太大"
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "%L处 SCALE 的结果上溢其种别"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "%L处 SQRT 的参数为负"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr "%2$L处字符串中的字符‘%1$s’不能被转换到字符种别 %3$d"
@@ -44154,17 +44150,17 @@ msgstr "%L 处  EQUIVALENCE 中不等的初始值设定重叠"
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr "%L处的 BOZ 常数太大(%ld 对 %ld 位)"
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr "%L处为变量‘%s’建立临时数组"
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, fuzzy, gcc-internal-format
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr "可能的前端缺陷:提领数组大小时没有指针、可分配属性或不带可分配组件的派生类型。"
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "走过错误的表达式类型(%d)"
@@ -44790,17 +44786,17 @@ msgstr "字节码流:符号节结尾有垃圾字符"
 msgid "could not parse hex number"
 msgstr "不能解析 16 进制数"
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "符号解析文件中有非预期的文件名 %s。需要 %s"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr "不能解析文件偏移量"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr "非预期的偏移"
@@ -44810,71 +44806,71 @@ msgstr "非预期的偏移"
 msgid "invalid line in the resolution file"
 msgstr "符号解析文件中有无效行。"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr "符号解析文件中有非预期的符号解析"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, fuzzy, gcc-internal-format
 #| msgid "The resolution file"
 msgid "resolution sub id "
 msgstr "符号解析文件"
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO decls from %s"
 msgstr "不能读取 ELF 头:%s"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "不能打开 %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "不能打开 %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "不能打开 %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, fuzzy, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr "写入 LTRANS 输出列表 %s:%m"
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr "打开 LTRANS 输出列表 %s:%m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr "lto_obj_file_open() 失败"
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr "写入 LTRANS 输出列表 %s:%m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr "关闭 LTRANS 输出列表 %s:%m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr "无法打开符号解析文件:%s"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
@@ -46018,6 +46014,10 @@ msgstr "为不存在的方法%qE创建选择子"
 #~ msgid "invalid new of function type"
 #~ msgstr "对 new 而言类型%<void%>无效"
 
+#, fuzzy
+#~ msgid "invalid unsafe.Pointer conversion"
+#~ msgstr "从%<__fpreg%>的转换无效"
+
 #~ msgid "no object for method call"
 #~ msgstr "方法调用没有对象"
 
@@ -46273,6 +46273,9 @@ msgstr "为不存在的方法%qE创建选择子"
 #~ msgid "%<__int128%> invalid for %qs"
 #~ msgstr "%<__int128%>对%qs无效"
 
+#~ msgid "both %<const%> and %<constexpr%> cannot be used here"
+#~ msgstr "不能在这里同时使用%<const%>和%<constexpr%>"
+
 #, fuzzy
 #~ msgid "non-static data member initializers"
 #~ msgstr "对非静态数据成员%q+D的无效使用"
index 4754066..2080b3c 100644 (file)
Binary files a/gcc/po/zh_TW.gmo and b/gcc/po/zh_TW.gmo differ
index 00b7299..ed01774 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.1.0\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2012-06-13 21:42+0000\n"
+"POT-Creation-Date: 2012-09-19 14:50+0000\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"
@@ -29,7 +29,7 @@ msgstr "<anonymous>"
 msgid "({anonymous})"
 msgstr "<anonymous>"
 
-#: c-parser.c:946 cp/parser.c:22268
+#: c-parser.c:946 cp/parser.c:22263
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected end of module"
 msgid "expected end of line"
@@ -40,8 +40,8 @@ msgstr "非預期的模組結束"
 #: c-parser.c:7308 c-parser.c:7343 c-parser.c:7374 c-parser.c:7421
 #: c-parser.c:7602 c-parser.c:8369 c-parser.c:8439 c-parser.c:8482
 #: c-parser.c:9760 c-parser.c:9775 c-parser.c:9784 c-parser.c:9929
-#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21791
-#: cp/parser.c:22214
+#: c-parser.c:9968 c-parser.c:2500 c-parser.c:7595 cp/parser.c:21786
+#: cp/parser.c:22209
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "需要 %<;%>"
@@ -53,14 +53,14 @@ msgstr "需要 %<;%>"
 #: c-parser.c:6703 c-parser.c:6727 c-parser.c:7893 c-parser.c:7965
 #: c-parser.c:8791 c-parser.c:8812 c-parser.c:8862 c-parser.c:9015
 #: c-parser.c:9094 c-parser.c:9178 c-parser.c:9892 c-parser.c:10716
-#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22217
+#: c-parser.c:8935 c-parser.c:8960 cp/parser.c:22212
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<(%>"
 msgstr "需要 %<{%>"
 
 #: c-parser.c:1845 c-parser.c:6389 c-parser.c:6427 c-parser.c:6555
-#: cp/parser.c:21789 cp/parser.c:22232
+#: cp/parser.c:21784 cp/parser.c:22227
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<,%>"
@@ -77,7 +77,7 @@ msgstr "需要 %<{%>"
 #: c-parser.c:7687 c-parser.c:7708 c-parser.c:7916 c-parser.c:7969
 #: c-parser.c:8341 c-parser.c:8794 c-parser.c:8815 c-parser.c:8893
 #: c-parser.c:9022 c-parser.c:9159 c-parser.c:9242 c-parser.c:9820
-#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22262
+#: c-parser.c:9937 c-parser.c:9979 c-parser.c:10725 cp/parser.c:22257
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<)%>"
@@ -85,7 +85,7 @@ msgstr "需要 %<{%>"
 
 #: c-parser.c:3095 c-parser.c:3904 c-parser.c:3938 c-parser.c:5224
 #: c-parser.c:6491 c-parser.c:6760 c-parser.c:6866 c-parser.c:10628
-#: c-parser.c:10630 cp/parser.c:22226
+#: c-parser.c:10630 cp/parser.c:22221
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<]%>"
@@ -97,27 +97,27 @@ msgstr "需要 %<{%>"
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr "需要 %<,%>、%<;%> 或 %<}%>"
 
-#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22220 cp/parser.c:24037
+#: c-parser.c:3767 c-parser.c:9776 cp/parser.c:22215 cp/parser.c:24032
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<}%>"
 msgstr "需要 %<{%>"
 
 #: c-parser.c:4057 c-parser.c:7936 c-parser.c:10222 c-parser.c:2318
-#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22223
+#: c-parser.c:2521 c-parser.c:7490 cp/parser.c:14425 cp/parser.c:22218
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "需要 %<{%>"
 
 #: c-parser.c:4276 c-parser.c:4285 c-parser.c:5128 c-parser.c:5469
 #: c-parser.c:7701 c-parser.c:8076 c-parser.c:8133 c-parser.c:9148
-#: cp/parser.c:22256 cp/parser.c:23258
+#: cp/parser.c:22251 cp/parser.c:23253
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<:%>"
 msgstr "需要 %<{%>"
 
-#: c-parser.c:4824 cp/parser.c:22150
+#: c-parser.c:4824 cp/parser.c:22145
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<while%>"
@@ -129,38 +129,38 @@ msgstr "需要 %<{%>"
 msgid "expected %<.%>"
 msgstr "需要 %<{%>"
 
-#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23821
-#: cp/parser.c:23895
+#: c-parser.c:7161 c-parser.c:7193 c-parser.c:7433 cp/parser.c:23816
+#: cp/parser.c:23890
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@end%>"
 msgstr "需要 %<{%>"
 
-#: c-parser.c:7850 cp/parser.c:22241
+#: c-parser.c:7850 cp/parser.c:22236
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<>%>"
 msgstr "需要 %<{%>"
 
-#: c-parser.c:9246 cp/parser.c:22265
+#: c-parser.c:9246 cp/parser.c:22260
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<,%> or %<)%>"
 msgstr "需要 %<,%> 或 %<;%>"
 
 #: c-parser.c:9499 c-parser.c:9530 c-parser.c:9766 c-parser.c:9918
-#: c-parser.c:3961 cp/parser.c:22244
+#: c-parser.c:3961 cp/parser.c:22239
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "需要 %<=%>"
 
-#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26674
+#: c-parser.c:10279 c-parser.c:10269 cp/parser.c:26669
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<}%>"
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "需要 %<,%> 或 %<}%>"
 
-#: c-parser.c:10616 cp/parser.c:22229
+#: c-parser.c:10616 cp/parser.c:22224
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<[%>"
@@ -346,12 +346,12 @@ msgstr "「%%l」運算元不是一個標籤"
 #. TARGET_PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3615 config/i386/i386.c:13086 config/pdp11/pdp11.c:1689
+#: final.c:3615 config/i386/i386.c:13180 config/pdp11/pdp11.c:1689
 #, c-format
 msgid "floating constant misused"
 msgstr "錯誤地使用了浮點常數"
 
-#: final.c:3673 config/i386/i386.c:13184 config/pdp11/pdp11.c:1730
+#: final.c:3673 config/i386/i386.c:13278 config/pdp11/pdp11.c:1730
 #, c-format
 msgid "invalid expression as operand"
 msgstr "無效的運算式做為運算元"
@@ -1499,20 +1499,20 @@ msgstr "無法辨識的指令:"
 msgid "insn does not satisfy its constraints:"
 msgstr "指令不滿足其約束:"
 
-#: targhooks.c:1404
+#: targhooks.c:1411
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "建立和使用時使用了不同的「%s」設定"
 
-#: targhooks.c:1406
+#: targhooks.c:1413
 msgid "out of memory"
 msgstr "記憶體不足"
 
-#: targhooks.c:1421
+#: targhooks.c:1428
 msgid "created and used with different settings of -fpic"
 msgstr "建立和使用時使用了不同的 -fpic 設定"
 
-#: targhooks.c:1423
+#: targhooks.c:1430
 msgid "created and used with different settings of -fpie"
 msgstr "建立和使用時使用了不同的 -fpie 設定"
 
@@ -2164,201 +2164,201 @@ msgstr ""
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
 msgstr ""
 
-#: params.def:644
+#: params.def:645
 msgid "The upper bound for sharing integer constants"
 msgstr "共享整型常數的上界"
 
-#: params.def:663
+#: params.def:664
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
 msgstr "考慮切換到完整虛擬更名的最小虛擬映射數"
 
-#: params.def:668
+#: params.def:669
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
 msgstr ""
 
-#: params.def:673
+#: params.def:674
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr ""
 
-#: params.def:691
+#: params.def:692
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: params.def:700
+#: params.def:701
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
 msgstr "在指標分析之前的結構變數中欄位的最大數目,將該結構視為單一變數"
 
-#: params.def:705
+#: params.def:706
 #, fuzzy
 #| msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "一個區域中考慮進行塊間調度的最大指令數"
 
-#: params.def:711
+#: params.def:712
 msgid "Maximum number of active local stores in RTL dead store elimination"
 msgstr ""
 
-#: params.def:721
+#: params.def:722
 msgid "The number of insns executed before prefetch is completed"
 msgstr ""
 
-#: params.def:728
+#: params.def:729
 msgid "The number of prefetches that can run at the same time"
 msgstr ""
 
-#: params.def:735
+#: params.def:736
 msgid "The size of L1 cache"
 msgstr ""
 
-#: params.def:742
+#: params.def:743
 msgid "The size of L1 cache line"
 msgstr ""
 
-#: params.def:749
+#: params.def:750
 msgid "The size of L2 cache"
 msgstr ""
 
-#: params.def:760
+#: params.def:761
 msgid "Whether to use canonical types"
 msgstr ""
 
-#: params.def:765
+#: params.def:766
 msgid "Maximum length of partial antic set when performing tree pre optimization"
 msgstr ""
 
-#: params.def:775
+#: params.def:776
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
 msgstr ""
 
-#: params.def:780
+#: params.def:781
 msgid "Max loops number for regional RA"
 msgstr ""
 
-#: params.def:785
+#: params.def:786
 msgid "Max size of conflict table in MB"
 msgstr ""
 
-#: params.def:790
+#: params.def:791
 msgid "The number of registers in each class kept unused by loop invariant motion"
 msgstr ""
 
-#: params.def:798
+#: params.def:799
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
 msgstr ""
 
-#: params.def:806
+#: params.def:807
 msgid "size of tiles for loop blocking"
 msgstr ""
 
-#: params.def:813
+#: params.def:814
 #, fuzzy
 #| msgid "maximum value of parameter %qs is %u"
 msgid "maximum number of parameters in a SCoP"
 msgstr "參數 %qs 的最大值是 %u"
 
-#: params.def:820
+#: params.def:821
 msgid "maximum number of basic blocks per function to be analyzed by Graphite"
 msgstr ""
 
-#: params.def:826
+#: params.def:827
 msgid "Maximum number of datarefs in loop for building loop data dependencies"
 msgstr ""
 
-#: params.def:833
+#: params.def:834
 msgid "Max basic blocks number in loop for loop invariant motion"
 msgstr ""
 
-#: params.def:839
+#: params.def:840
 #, fuzzy
 #| msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
 msgstr "一個區域中考慮進行塊間調度的最大指令數"
 
-#: params.def:844
+#: params.def:845
 msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
 msgstr ""
 
-#: params.def:850
+#: params.def:851
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
 msgstr ""
 
-#: params.def:857
+#: params.def:858
 msgid "Max. size of var tracking hash tables"
 msgstr ""
 
-#: params.def:865
+#: params.def:866
 msgid "Max. recursion depth for expanding var tracking expressions"
 msgstr ""
 
-#: params.def:872
+#: params.def:873
 msgid "The minimum UID to be used for a nondebug insn"
 msgstr ""
 
-#: params.def:877
+#: params.def:878
 msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
 msgstr ""
 
-#: params.def:883
+#: params.def:884
 msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs"
 msgstr ""
 
-#: params.def:890
+#: params.def:891
 msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation"
 msgstr ""
 
-#: params.def:896
+#: params.def:897
 msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone."
 msgstr ""
 
-#: params.def:904
+#: params.def:905
 msgid "Number of partitions the program should be split to"
 msgstr ""
 
-#: params.def:909
+#: params.def:910
 msgid "Minimal size of a partition for LTO (in estimated instructions)"
 msgstr ""
 
-#: params.def:916
+#: params.def:917
 msgid "Maximum number of namespaces to search for alternatives when name lookup fails"
 msgstr ""
 
-#: params.def:923
+#: params.def:924
 msgid "Maximum number of conditional store pairs that can be sunk"
 msgstr ""
 
-#: params.def:931
+#: params.def:932
 msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine"
 msgstr ""
 
-#: params.def:939
+#: params.def:940
 msgid "Allow new data races on loads to be introduced"
 msgstr ""
 
-#: params.def:944
+#: params.def:945
 msgid "Allow new data races on stores to be introduced"
 msgstr ""
 
-#: params.def:949
+#: params.def:950
 msgid "Allow new data races on packed data loads to be introduced"
 msgstr ""
 
-#: params.def:954
+#: params.def:955
 msgid "Allow new data races on packed data stores to be introduced"
 msgstr ""
 
-#: params.def:960
+#: params.def:961
 msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic."
 msgstr ""
 
-#: params.def:966
+#: params.def:967
 msgid "Maximum amount of similar bbs to compare a bb with"
 msgstr ""
 
-#: params.def:971
+#: params.def:972
 msgid "Maximum amount of iterations of the pass over a function"
 msgstr ""
 
-#: params.def:978
+#: params.def:979
 msgid "Maximum number of strings for which strlen optimization pass will track string lengths"
 msgstr ""
 
@@ -2705,18 +2705,18 @@ msgid "invalid %%r value"
 msgstr "無效 %%r 值"
 
 #: config/alpha/alpha.c:5103 config/ia64/ia64.c:5249
-#: config/rs6000/rs6000.c:15018 config/xtensa/xtensa.c:2350
+#: config/rs6000/rs6000.c:15017 config/xtensa/xtensa.c:2350
 #, c-format
 msgid "invalid %%R value"
 msgstr "無效 %%R 值"
 
-#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14937
+#: config/alpha/alpha.c:5109 config/rs6000/rs6000.c:14936
 #: config/xtensa/xtensa.c:2317
 #, c-format
 msgid "invalid %%N value"
 msgstr "無效 %%N 值"
 
-#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14965
+#: config/alpha/alpha.c:5117 config/rs6000/rs6000.c:14964
 #, c-format
 msgid "invalid %%P value"
 msgstr "無效 %%P 值"
@@ -2731,12 +2731,12 @@ msgstr "無效 %%h 值"
 msgid "invalid %%L value"
 msgstr "無效 %%L 值"
 
-#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14919
+#: config/alpha/alpha.c:5172 config/rs6000/rs6000.c:14918
 #, c-format
 msgid "invalid %%m value"
 msgstr "無效 %%m 值"
 
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14927
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:14926
 #, c-format
 msgid "invalid %%M value"
 msgstr "無效 %%M 值"
@@ -2747,7 +2747,7 @@ msgid "invalid %%U value"
 msgstr "無效 %%U 值"
 
 #: config/alpha/alpha.c:5232 config/alpha/alpha.c:5243
-#: config/rs6000/rs6000.c:15026
+#: config/rs6000/rs6000.c:15025
 #, c-format
 msgid "invalid %%s value"
 msgstr "無效 %%s 值"
@@ -2757,7 +2757,7 @@ msgstr "無效 %%s 值"
 msgid "invalid %%C value"
 msgstr "無效 %%C 值"
 
-#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14784
+#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:14783
 #, c-format
 msgid "invalid %%E value"
 msgstr "無效 %%E 值"
@@ -2768,40 +2768,40 @@ msgid "unknown relocation unspec"
 msgstr "不明的不可預期重定位"
 
 #: config/alpha/alpha.c:5325 config/cr16/cr16.c:1537
-#: config/rs6000/rs6000.c:15375 config/spu/spu.c:1744
+#: config/rs6000/rs6000.c:15374 config/spu/spu.c:1744
 #, c-format
 msgid "invalid %%xn code"
 msgstr "無效的 %%xn 程式碼"
 
-#: config/arm/arm.c:17116 config/arm/arm.c:17134
+#: config/arm/arm.c:17120 config/arm/arm.c:17138
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "預測到的 Thumb 指令"
 
-#: config/arm/arm.c:17122
+#: config/arm/arm.c:17126
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "在條件序列中預測到的指令"
 
-#: config/arm/arm.c:17253
+#: config/arm/arm.c:17257
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "Unsupported operand for code '%c'"
 msgstr "程式碼「%c」的運算元無效"
 
-#: config/arm/arm.c:17301
+#: config/arm/arm.c:17305
 #, fuzzy, c-format
 #| msgid "invalid %%f operand"
 msgid "invalid shift operand"
 msgstr "無效的 %%f 運算元"
 
-#: config/arm/arm.c:17358 config/arm/arm.c:17380 config/arm/arm.c:17390
-#: config/arm/arm.c:17400 config/arm/arm.c:17410 config/arm/arm.c:17449
-#: config/arm/arm.c:17467 config/arm/arm.c:17502 config/arm/arm.c:17521
-#: config/arm/arm.c:17536 config/arm/arm.c:17563 config/arm/arm.c:17570
-#: config/arm/arm.c:17588 config/arm/arm.c:17595 config/arm/arm.c:17603
-#: config/arm/arm.c:17624 config/arm/arm.c:17631 config/arm/arm.c:17756
-#: config/arm/arm.c:17763 config/arm/arm.c:17786 config/arm/arm.c:17793
+#: config/arm/arm.c:17362 config/arm/arm.c:17384 config/arm/arm.c:17394
+#: config/arm/arm.c:17404 config/arm/arm.c:17414 config/arm/arm.c:17453
+#: config/arm/arm.c:17471 config/arm/arm.c:17506 config/arm/arm.c:17525
+#: config/arm/arm.c:17540 config/arm/arm.c:17567 config/arm/arm.c:17574
+#: config/arm/arm.c:17592 config/arm/arm.c:17599 config/arm/arm.c:17607
+#: config/arm/arm.c:17628 config/arm/arm.c:17635 config/arm/arm.c:17760
+#: config/arm/arm.c:17767 config/arm/arm.c:17790 config/arm/arm.c:17797
 #: 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
@@ -2809,90 +2809,90 @@ msgstr "無效的 %%f 運算元"
 msgid "invalid operand for code '%c'"
 msgstr "程式碼「%c」的運算元無效"
 
-#: config/arm/arm.c:17462
+#: config/arm/arm.c:17466
 #, fuzzy, c-format
 #| msgid "instruction never exectued"
 msgid "instruction never executed"
 msgstr "指令永遠不被執行"
 
-#: config/arm/arm.c:17805
+#: config/arm/arm.c:17809
 #, c-format
 msgid "missing operand"
 msgstr "缺少運算元"
 
-#: config/arm/arm.c:20407
+#: config/arm/arm.c:20411
 #, fuzzy
 #| msgid "function returns an aggregate"
 msgid "function parameters cannot have __fp16 type"
 msgstr "函式回傳一個聚合"
 
-#: config/arm/arm.c:20417
+#: config/arm/arm.c:20421
 #, fuzzy
 #| msgid "function does not return string type"
 msgid "functions cannot return __fp16 type"
 msgstr "函式不回傳字串類型"
 
-#: config/avr/avr.c:1806
+#: config/avr/avr.c:1816
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr ""
 
-#: config/avr/avr.c:1959
+#: config/avr/avr.c:1969
 #, fuzzy
 #| msgid "output operand %d must use %<&%> constraint"
 msgid "operands to %T/%t must be reg + const_int:"
 msgstr "輸出運算元 %d 必須使用 %<&%> 約束"
 
-#: config/avr/avr.c:1997 config/avr/avr.c:2052
+#: config/avr/avr.c:2007 config/avr/avr.c:2062
 #, fuzzy
 #| msgid "bad address, not (reg+disp):"
 msgid "bad address, not an I/O address:"
 msgstr "位址錯誤,不是(reg+disp):"
 
-#: config/avr/avr.c:2006
+#: config/avr/avr.c:2016
 #, fuzzy
 #| msgid "address offset not a constant"
 msgid "bad address, not a constant:"
 msgstr "位址偏移量不是一個常數"
 
-#: config/avr/avr.c:2024
+#: config/avr/avr.c:2034
 msgid "bad address, not (reg+disp):"
 msgstr "位址錯誤,不是(reg+disp):"
 
-#: config/avr/avr.c:2031
+#: config/avr/avr.c:2041
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "錯誤的位址,不是 post_inc 或 pre_dec:"
 
-#: config/avr/avr.c:2042
+#: config/avr/avr.c:2052
 msgid "internal compiler error.  Bad address:"
 msgstr "編譯器內部錯誤。錯誤的位址:"
 
-#: config/avr/avr.c:2072
+#: config/avr/avr.c:2082
 msgid "internal compiler error.  Unknown mode:"
 msgstr "編譯器內部錯誤。不明的模式:"
 
-#: config/avr/avr.c:2871 config/avr/avr.c:3444 config/avr/avr.c:3730
+#: config/avr/avr.c:2881 config/avr/avr.c:3454 config/avr/avr.c:3740
 msgid "invalid insn:"
 msgstr "無效指令:"
 
-#: config/avr/avr.c:2900 config/avr/avr.c:2975 config/avr/avr.c:3018
-#: config/avr/avr.c:3037 config/avr/avr.c:3128 config/avr/avr.c:3297
-#: config/avr/avr.c:3507 config/avr/avr.c:3623 config/avr/avr.c:3759
-#: config/avr/avr.c:3850 config/avr/avr.c:3972
+#: config/avr/avr.c:2910 config/avr/avr.c:2985 config/avr/avr.c:3028
+#: config/avr/avr.c:3047 config/avr/avr.c:3138 config/avr/avr.c:3307
+#: config/avr/avr.c:3517 config/avr/avr.c:3633 config/avr/avr.c:3769
+#: config/avr/avr.c:3860 config/avr/avr.c:3982
 msgid "incorrect insn:"
 msgstr "錯誤指令:"
 
-#: config/avr/avr.c:3052 config/avr/avr.c:3213 config/avr/avr.c:3368
-#: config/avr/avr.c:3576 config/avr/avr.c:3669 config/avr/avr.c:3906
-#: config/avr/avr.c:4027
+#: config/avr/avr.c:3062 config/avr/avr.c:3223 config/avr/avr.c:3378
+#: config/avr/avr.c:3586 config/avr/avr.c:3679 config/avr/avr.c:3916
+#: config/avr/avr.c:4037
 msgid "unknown move insn:"
 msgstr "無效的 move 指令:"
 
-#: config/avr/avr.c:4441
+#: config/avr/avr.c:4451
 msgid "bad shift insn:"
 msgstr "錯誤的 shift 指令"
 
-#: config/avr/avr.c:4549 config/avr/avr.c:5030 config/avr/avr.c:5445
+#: config/avr/avr.c:4559 config/avr/avr.c:5040 config/avr/avr.c:5455
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "編譯器內部錯誤。不正確的移位量:"
 
@@ -2908,7 +2908,7 @@ msgstr "無效的 const_double 運算元"
 
 #: config/cris/cris.c:579 config/moxie/moxie.c:111 final.c:3129 final.c:3131
 #: fold-const.c:287 gcc.c:4609 gcc.c:4623 loop-iv.c:2968 loop-iv.c:2977
-#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6046
+#: rtl-error.c:103 toplev.c:346 tree-ssa-loop-niter.c:1917 tree-vrp.c:6018
 #: cp/typeck.c:5347 java/expr.c:390 lto/lto-object.c:184 lto/lto-object.c:282
 #: lto/lto-object.c:339 lto/lto-object.c:363
 #, gcc-internal-format, gfc-internal-format
@@ -3140,80 +3140,80 @@ msgstr "錯誤的 output_move_double 運算元"
 msgid "bad output_condmove_single operand"
 msgstr "錯誤的 output_condmove_single 運算元"
 
-#: config/i386/i386.c:13178
+#: config/i386/i386.c:13272
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "無效的 UNSPEC 做為運算元"
 
-#: config/i386/i386.c:13801
+#: config/i386/i386.c:13896
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
 
-#: config/i386/i386.c:13892 config/i386/i386.c:13967
+#: config/i386/i386.c:13994 config/i386/i386.c:14069
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand size for operand code '%c'"
 msgstr "程式碼「%c」的運算元無效"
 
-#: config/i386/i386.c:13962
+#: config/i386/i386.c:14064
 #, fuzzy, c-format
 #| msgid "invalid operand for code '%c'"
 msgid "invalid operand type used with operand code '%c'"
 msgstr "程式碼「%c」的運算元無效"
 
-#: config/i386/i386.c:14043 config/i386/i386.c:14083
+#: config/i386/i386.c:14145 config/i386/i386.c:14185
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14109
+#: config/i386/i386.c:14211
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14119
+#: config/i386/i386.c:14221
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14137
+#: config/i386/i386.c:14239
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14147
+#: config/i386/i386.c:14249
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14162
+#: config/i386/i386.c:14264
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14257
+#: config/i386/i386.c:14359
 #, fuzzy, c-format
 #| msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr "運算元既不是一個常數也不是一個條件碼,無效的運算元程式碼「c」"
 
-#: config/i386/i386.c:14287
+#: config/i386/i386.c:14389
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "無效的運算元程式碼「%c」"
 
-#: config/i386/i386.c:14342
+#: config/i386/i386.c:14444
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "運算元的約束無效"
 
-#: config/i386/i386.c:23356
+#: config/i386/i386.c:23485
 msgid "unknown insn mode"
 msgstr "不明的指令模式"
 
@@ -3267,13 +3267,13 @@ msgstr "向 %<__fpreg%> 的轉換無效"
 msgid "invalid operation on %<__fpreg%>"
 msgstr "對 %<__fpreg%> 的作業無效"
 
-#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5131
+#: config/iq2000/iq2000.c:3130 config/tilegx/tilegx.c:5133
 #: config/tilepro/tilepro.c:4696
 #, c-format
 msgid "invalid %%P operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14955
+#: config/iq2000/iq2000.c:3138 config/rs6000/rs6000.c:14954
 #, c-format
 msgid "invalid %%p value"
 msgstr "無效的 %%p 值"
@@ -3356,7 +3356,7 @@ msgid "post-increment address is not a register"
 msgstr "後自增位址不是一個暫存器"
 
 #: config/m32r/m32r.c:2321 config/m32r/m32r.c:2335
-#: config/rs6000/rs6000.c:24534
+#: config/rs6000/rs6000.c:24557
 msgid "bad address"
 msgstr "錯誤位址"
 
@@ -3502,129 +3502,129 @@ msgstr "堆疊溢出。\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "嘗試在命令解譯器中執行「%s」以提升它的極值。\n"
 
-#: config/rs6000/rs6000.c:2758
+#: config/rs6000/rs6000.c:2757
 #, fuzzy
 #| msgid "Use hardware floating point"
 msgid "-mvsx requires hardware floating point"
 msgstr "使用硬體浮點單元"
 
-#: config/rs6000/rs6000.c:2763
+#: config/rs6000/rs6000.c:2762
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mpaired are incompatible"
 msgstr "-f%s 和 -msdata=%s 互不相容"
 
-#: config/rs6000/rs6000.c:2768
+#: config/rs6000/rs6000.c:2767
 #, fuzzy
 #| msgid "Produce little endian code"
 msgid "-mvsx used with little endian code"
 msgstr "產生低位位元組在前的程式碼"
 
-#: config/rs6000/rs6000.c:2770
+#: config/rs6000/rs6000.c:2769
 #, fuzzy
 #| msgid "Disable indexed addressing"
 msgid "-mvsx needs indexed addressing"
 msgstr "停用變址定址"
 
-#: config/rs6000/rs6000.c:2774
+#: config/rs6000/rs6000.c:2773
 #, fuzzy
 #| msgid "-f%s and -msdata=%s are incompatible"
 msgid "-mvsx and -mno-altivec are incompatible"
 msgstr "-f%s 和 -msdata=%s 互不相容"
 
-#: config/rs6000/rs6000.c:2776
+#: config/rs6000/rs6000.c:2775
 msgid "-mno-altivec disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7324
+#: config/rs6000/rs6000.c:7323
 #, fuzzy
 #| msgid "bad test"
 msgid "bad move"
 msgstr "錯誤的測試"
 
-#: config/rs6000/rs6000.c:14765
+#: config/rs6000/rs6000.c:14764
 #, fuzzy, c-format
 #| msgid "invalid %%H value"
 msgid "invalid %%c value"
 msgstr "無效 %%H 值"
 
-#: config/rs6000/rs6000.c:14793
+#: config/rs6000/rs6000.c:14792
 #, c-format
 msgid "invalid %%f value"
 msgstr "無效 %%f 值"
 
-#: config/rs6000/rs6000.c:14802
+#: config/rs6000/rs6000.c:14801
 #, c-format
 msgid "invalid %%F value"
 msgstr "無效 %%F 值"
 
-#: config/rs6000/rs6000.c:14811
+#: config/rs6000/rs6000.c:14810
 #, c-format
 msgid "invalid %%G value"
 msgstr "無效 %%G 值"
 
-#: config/rs6000/rs6000.c:14846
+#: config/rs6000/rs6000.c:14845
 #, c-format
 msgid "invalid %%j code"
 msgstr "無效 %%j 程式碼"
 
-#: config/rs6000/rs6000.c:14856
+#: config/rs6000/rs6000.c:14855
 #, c-format
 msgid "invalid %%J code"
 msgstr "無效 %%J 程式碼"
 
-#: config/rs6000/rs6000.c:14866
+#: config/rs6000/rs6000.c:14865
 #, c-format
 msgid "invalid %%k value"
 msgstr "無效 %%k 值"
 
-#: config/rs6000/rs6000.c:14881 config/xtensa/xtensa.c:2336
+#: config/rs6000/rs6000.c:14880 config/xtensa/xtensa.c:2336
 #, c-format
 msgid "invalid %%K value"
 msgstr "無效 %%K 值"
 
-#: config/rs6000/rs6000.c:14945
+#: config/rs6000/rs6000.c:14944
 #, c-format
 msgid "invalid %%O value"
 msgstr "無效 %%O 值"
 
-#: config/rs6000/rs6000.c:14992
+#: config/rs6000/rs6000.c:14991
 #, c-format
 msgid "invalid %%q value"
 msgstr "無效 %%q 值"
 
-#: config/rs6000/rs6000.c:15036
+#: config/rs6000/rs6000.c:15035
 #, c-format
 msgid "invalid %%S value"
 msgstr "無效 %%S 值"
 
-#: config/rs6000/rs6000.c:15076
+#: config/rs6000/rs6000.c:15075
 #, c-format
 msgid "invalid %%T value"
 msgstr "無效 %%T 值"
 
-#: config/rs6000/rs6000.c:15086
+#: config/rs6000/rs6000.c:15085
 #, c-format
 msgid "invalid %%u value"
 msgstr "無效 %%u 值"
 
-#: config/rs6000/rs6000.c:15095 config/xtensa/xtensa.c:2306
+#: config/rs6000/rs6000.c:15094 config/xtensa/xtensa.c:2306
 #, c-format
 msgid "invalid %%v value"
 msgstr "無效 %%v 值"
 
-#: config/rs6000/rs6000.c:15177 config/xtensa/xtensa.c:2357
+#: config/rs6000/rs6000.c:15176 config/xtensa/xtensa.c:2357
 #, c-format
 msgid "invalid %%x value"
 msgstr "無效的 %%x 值"
 
-#: config/rs6000/rs6000.c:15323
+#: config/rs6000/rs6000.c:15322
 #, fuzzy, c-format
 #| msgid "invalid punctuation %qc in constraint"
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr "約束中出現無效的標點 %qc"
 
-#: config/rs6000/rs6000.c:26944
+#: config/rs6000/rs6000.c:26967
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "傳遞 AltiVec 引數給無原型的函式"
 
@@ -3723,25 +3723,25 @@ msgstr "「o」修飾符的運算元無效"
 msgid "invalid operand for code: '%c'"
 msgstr "程式碼「%c」的運算元無效"
 
-#: config/sh/sh.c:1031
+#: config/sh/sh.c:1024
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R 的運算元無效"
 
-#: config/sh/sh.c:1058
+#: config/sh/sh.c:1051
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S 的運算元無效"
 
-#: config/sh/sh.c:9154
+#: config/sh/sh.c:9157
 msgid "created and used with different architectures / ABIs"
 msgstr "建立和使用時使用了不同的架構/ABI"
 
-#: config/sh/sh.c:9156
+#: config/sh/sh.c:9159
 msgid "created and used with different ABIs"
 msgstr "建立和使用時使用了不同的 ABI"
 
-#: config/sh/sh.c:9158
+#: config/sh/sh.c:9161
 msgid "created and used with different endianness"
 msgstr "建立和使用時使用了不同的高/低位位元組在前設定"
 
@@ -3760,13 +3760,13 @@ msgstr "無效的 %%A 運算元"
 msgid "invalid %%B operand"
 msgstr "無效的 %%B 運算元"
 
-#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4934
+#: config/sparc/sparc.c:8247 config/tilegx/tilegx.c:4936
 #: config/tilepro/tilepro.c:4499
 #, c-format
 msgid "invalid %%C operand"
 msgstr "無效的 %%C 運算元"
 
-#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4967
+#: config/sparc/sparc.c:8264 config/tilegx/tilegx.c:4969
 #, c-format
 msgid "invalid %%D operand"
 msgstr "無效的 %%D 運算元"
@@ -3811,65 +3811,65 @@ msgstr "「o」運算元不是一個常數"
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand:不明程式碼"
 
-#: config/tilegx/tilegx.c:4919 config/tilepro/tilepro.c:4484
+#: config/tilegx/tilegx.c:4921 config/tilepro/tilepro.c:4484
 #, c-format
 msgid "invalid %%c operand"
 msgstr "無效的 %%c 運算元"
 
-#: config/tilegx/tilegx.c:4950
+#: config/tilegx/tilegx.c:4952
 #, c-format
 msgid "invalid %%d operand"
 msgstr "無效的 %%d 運算元"
 
-#: config/tilegx/tilegx.c:5033
+#: config/tilegx/tilegx.c:5035
 #, fuzzy, c-format
 #| msgid "invalid %%j code"
 msgid "invalid %%H specifier"
 msgstr "無效 %%j 程式碼"
 
-#: config/tilegx/tilegx.c:5069 config/tilepro/tilepro.c:4513
+#: config/tilegx/tilegx.c:5071 config/tilepro/tilepro.c:4513
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%h operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/tilegx/tilegx.c:5081 config/tilepro/tilepro.c:4577
+#: config/tilegx/tilegx.c:5083 config/tilepro/tilepro.c:4577
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%I operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/tilegx/tilegx.c:5095 config/tilepro/tilepro.c:4591
+#: config/tilegx/tilegx.c:5097 config/tilepro/tilepro.c:4591
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%i operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/tilegx/tilegx.c:5118 config/tilepro/tilepro.c:4614
+#: config/tilegx/tilegx.c:5120 config/tilepro/tilepro.c:4614
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%j operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/tilegx/tilegx.c:5149
+#: config/tilegx/tilegx.c:5151
 #, fuzzy, c-format
 #| msgid "invalid %%c operand"
 msgid "invalid %%%c operand"
 msgstr "無效的 %%c 運算元"
 
-#: config/tilegx/tilegx.c:5164 config/tilepro/tilepro.c:4728
+#: config/tilegx/tilegx.c:5166 config/tilepro/tilepro.c:4728
 #, fuzzy, c-format
 #| msgid "invalid %%P operand"
 msgid "invalid %%N operand"
 msgstr "無效的 %%P 運算元"
 
-#: config/tilegx/tilegx.c:5208
+#: config/tilegx/tilegx.c:5210
 #, fuzzy, c-format
 #| msgid "invalid operand for 'b' modifier"
 msgid "invalid operand for 'r' specifier"
 msgstr "「b」修飾符的運算元無效"
 
-#: config/tilegx/tilegx.c:5233 config/tilepro/tilepro.c:4810
+#: config/tilegx/tilegx.c:5235 config/tilepro/tilepro.c:4810
 #, c-format
 msgid "unable to print out operand yet; code == %d (%c)"
 msgstr ""
@@ -4235,7 +4235,7 @@ msgstr ""
 msgid "candidates are:"
 msgstr "備選為:"
 
-#: cp/pt.c:17843 cp/call.c:3289
+#: cp/pt.c:17869 cp/call.c:3289
 #, fuzzy, gcc-internal-format
 #| msgid "candidate 1:"
 msgid "candidate is:"
@@ -4637,11 +4637,11 @@ msgstr "區塊 IF"
 msgid "implied END DO"
 msgstr "暗示的 END DO"
 
-#: fortran/parse.c:1475 fortran/resolve.c:9395
+#: fortran/parse.c:1475 fortran/resolve.c:9397
 msgid "assignment"
 msgstr "賦值"
 
-#: fortran/parse.c:1478 fortran/resolve.c:9434 fortran/resolve.c:9437
+#: fortran/parse.c:1478 fortran/resolve.c:9436 fortran/resolve.c:9439
 msgid "pointer assignment"
 msgstr "指標賦值"
 
@@ -4649,141 +4649,141 @@ msgstr "指標賦值"
 msgid "simple IF"
 msgstr "簡單的 IF"
 
-#: fortran/resolve.c:533
+#: fortran/resolve.c:535
 msgid "module procedure"
 msgstr ""
 
-#: fortran/resolve.c:534
+#: fortran/resolve.c:536
 #, fuzzy
 #| msgid "function returning a function"
 msgid "internal function"
 msgstr "函式回傳了一個函式"
 
-#: fortran/resolve.c:1973
+#: fortran/resolve.c:1975
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.c:3798
+#: fortran/resolve.c:3800
 #, fuzzy, c-format
 #| msgid "Invalid kind for %s at %L"
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "%s 種別無效,於 %L 處"
 
-#: fortran/resolve.c:3814
+#: fortran/resolve.c:3816
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "單位元數值運算子「%s」(位於 %%L)的運算元為 %s"
 
-#: fortran/resolve.c:3830
+#: fortran/resolve.c:3832
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "二元數值運算子「%s」(位於 %%L)的運算元為 %s/%s"
 
-#: fortran/resolve.c:3845
+#: fortran/resolve.c:3847
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "字串粘貼運算子(位於 %%L)的運算元為 %s/%s"
 
-#: fortran/resolve.c:3864
+#: fortran/resolve.c:3866
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "邏輯運算子「%s」(位於 %%L)的運算元為 %s/%s"
 
-#: fortran/resolve.c:3878
+#: fortran/resolve.c:3880
 #, fuzzy, c-format
 #| msgid "Operand of .NOT. operator at %%L is %s"
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "%%L 處的 .NOT. 運算子的運算元為 %s"
 
-#: fortran/resolve.c:3892
+#: fortran/resolve.c:3894
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "%L 處複數不能比較大小"
 
-#: fortran/resolve.c:3921
+#: fortran/resolve.c:3923
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "%%L 處邏輯值必須與 %s 比較,而不是 %s"
 
-#: fortran/resolve.c:3927
+#: fortran/resolve.c:3929
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "比較運算子「%s」(位於 %%L)的運算元為 %s/%s"
 
-#: fortran/resolve.c:3935
+#: fortran/resolve.c:3937
 #, fuzzy, c-format
 #| msgid "unknown operator '%s' in %%:version-compare"
 msgid "Unknown operator '%s' at %%L"
 msgstr "%%:version-compare 中有不明的運算元「%s」"
 
-#: fortran/resolve.c:3937
+#: fortran/resolve.c:3939
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "使用者運算子「%s」(位於 %%L)的運算元為 %s"
 
-#: fortran/resolve.c:3941
+#: fortran/resolve.c:3943
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "使用者運算子「%s」(位於 %%L)的運算元為 %s/%s"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4031
 #, fuzzy, c-format
 #| msgid "Inconsistent ranks for operator at %L and %L"
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr "%L 和 %L 處的運算元秩不一致"
 
-#: fortran/resolve.c:6401
+#: fortran/resolve.c:6403
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.c:6405
+#: fortran/resolve.c:6407
 #, fuzzy
 #| msgid "Perform variable tracking"
 msgid "iterator variable"
 msgstr "進行變數追蹤"
 
-#: fortran/resolve.c:6410
+#: fortran/resolve.c:6412
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Start expression in DO loop"
 msgstr "步進敘述於 %L 處的 DO 迴圈中不可為零"
 
-#: fortran/resolve.c:6414
+#: fortran/resolve.c:6416
 #, fuzzy
 #| msgid "invalid expression as operand"
 msgid "End expression in DO loop"
 msgstr "無效的運算式做為運算元"
 
-#: fortran/resolve.c:6418
+#: fortran/resolve.c:6420
 #, fuzzy
 #| msgid "Step expression in DO loop at %L cannot be zero"
 msgid "Step expression in DO loop"
 msgstr "步進敘述於 %L 處的 DO 迴圈中不可為零"
 
-#: fortran/resolve.c:6674 fortran/resolve.c:6677
+#: fortran/resolve.c:6676 fortran/resolve.c:6679
 #, fuzzy
 #| msgid "DEALLOCATE "
 msgid "DEALLOCATE object"
 msgstr "DEALLOCATE "
 
-#: fortran/resolve.c:7019 fortran/resolve.c:7021
+#: fortran/resolve.c:7021 fortran/resolve.c:7023
 #, fuzzy
 #| msgid "ALLOCATE "
 msgid "ALLOCATE object"
 msgstr "ALLOCATE "
 
-#: fortran/resolve.c:7201 fortran/resolve.c:8434
+#: fortran/resolve.c:7203 fortran/resolve.c:8436
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.c:7244 fortran/resolve.c:8446
+#: fortran/resolve.c:7246 fortran/resolve.c:8448
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.c:8312
+#: fortran/resolve.c:8314
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.c:8458
+#: fortran/resolve.c:8460
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -4792,7 +4792,7 @@ msgstr ""
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
 msgstr ""
 
-#: fortran/trans-array.c:5070
+#: fortran/trans-array.c:5064
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
@@ -5128,6 +5128,18 @@ msgstr "不能同時使用 mthreads 和 mlegacy-threads"
 msgid "cannot use mshared and static together"
 msgstr "不能同時使用 mshared 和 static"
 
+#: 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/i386/mingw-w64.h:83 config/i386/mingw32.h:116
 #: config/i386/cygwin.h:114
 msgid "shared and mdll are not compatible"
@@ -5221,28 +5233,12 @@ msgstr ""
 msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead"
 msgstr ""
 
-#: config/vax/netbsd-elf.h:51
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared 選項目前在 VAX ELF 下不受支援"
-
 #: fortran/lang-specs.h:55 fortran/lang-specs.h:69
 #, fuzzy
 #| msgid "GCC does not support -C or -CC without -E"
 msgid "gfortran does not support -E without -cpp"
 msgstr "GCC 只允許 -E 與 -C 或 -CC 合用"
 
-#: 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/sh/sh.h:430 config/sh/sh.h:433
 msgid "SH2a does not support little-endian"
 msgstr "SH2a 不支援低位位元組在前"
@@ -5255,6 +5251,10 @@ msgstr " 衝突的程式碼產生選項"
 msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead"
 msgstr ""
 
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared 選項目前在 VAX ELF 下不受支援"
+
 #: config/vax/vax.h:50 config/vax/vax.h:51
 #, fuzzy
 #| msgid "profiling not supported with -mg\n"
@@ -8259,8 +8259,10 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "遒循 Renesas(先前被稱作 Hitachi)/SuperH 呼叫約定"
 
 #: config/sh/sh.opt:274
-msgid "Increase the IEEE compliance for floating-point code"
-msgstr ""
+#, fuzzy
+#| msgid "Use IEEE math for fp comparisons"
+msgid "Increase the IEEE compliance for floating-point comparisons"
+msgstr "浮點數間的比較嚴格遵循 IEEE 標準"
 
 #: config/sh/sh.opt:278
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
@@ -12968,310 +12970,304 @@ msgstr "啟用基於 ID 的共享函式庫"
 msgid "Create a position independent executable"
 msgstr "為可執行檔案盡可能產生與位置無關的程式碼(大模式)"
 
-#: go/gofrontend/expressions.cc:853
+#: go/gofrontend/expressions.cc:855
 #, fuzzy
 #| msgid "invalid use of %qD"
 msgid "invalid use of type"
 msgstr "錯誤地使用了 %qD"
 
-#: go/gofrontend/expressions.cc:2533 go/gofrontend/expressions.cc:2599
-#: go/gofrontend/expressions.cc:2615
+#: go/gofrontend/expressions.cc:2535 go/gofrontend/expressions.cc:2601
+#: go/gofrontend/expressions.cc:2617
 #, fuzzy
 #| msgid "inlined_to pointer refers to itself"
 msgid "constant refers to itself"
 msgstr "inlined_to pointer 參照自身"
 
-#: go/gofrontend/expressions.cc:3900
+#: go/gofrontend/expressions.cc:3902
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected numeric type"
 msgstr "需要運算式類型"
 
-#: go/gofrontend/expressions.cc:3905
+#: go/gofrontend/expressions.cc:3907
 #, fuzzy
 #| msgid "Expected expression type"
 msgid "expected boolean type"
 msgstr "需要運算式類型"
 
-#: go/gofrontend/expressions.cc:3911
+#: go/gofrontend/expressions.cc:3913
 #, fuzzy
 #| msgid "Expected integer string"
 msgid "expected integer or boolean type"
 msgstr "需要整數字串"
 
-#: go/gofrontend/expressions.cc:3918
+#: go/gofrontend/expressions.cc:3920
 #, fuzzy
 #| msgid "invalid operands to binary %s"
 msgid "invalid operand for unary %<&%>"
 msgstr "二進位運算子 %s 運算元無效"
 
-#: go/gofrontend/expressions.cc:3927
+#: go/gofrontend/expressions.cc:3929
 #, fuzzy
 #| msgid "Expected integer"
 msgid "expected pointer"
 msgstr "需要整數"
 
-#: go/gofrontend/expressions.cc:5588 go/gofrontend/expressions.cc:5606
+#: go/gofrontend/expressions.cc:5599 go/gofrontend/expressions.cc:5617
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in binary expression"
 msgstr "回傳時類型不相容"
 
-#: go/gofrontend/expressions.cc:5620
+#: go/gofrontend/expressions.cc:5631
 #, fuzzy
 #| msgid "size of array %qs has non-integer type"
 msgid "shift of non-integer operand"
 msgstr "陣列 %qs 的大小的類型不是整數"
 
-#: go/gofrontend/expressions.cc:5625 go/gofrontend/expressions.cc:5633
+#: go/gofrontend/expressions.cc:5636 go/gofrontend/expressions.cc:5644
 #, fuzzy
 #| msgid "switch quantity not an integer"
 msgid "shift count not unsigned integer"
 msgstr "switch 敘述中的值不是一個整數"
 
-#: go/gofrontend/expressions.cc:5638
+#: go/gofrontend/expressions.cc:5649
 #, fuzzy
 #| msgid "negative insn length"
 msgid "negative shift count"
 msgstr "指令長度為負"
 
-#: go/gofrontend/expressions.cc:6431
+#: go/gofrontend/expressions.cc:6448
 #, fuzzy
 #| msgid "called object %qE is not a function"
 msgid "object is not a method"
 msgstr "被呼叫的物件 %qE 不是一個函式"
 
-#: go/gofrontend/expressions.cc:6440
+#: go/gofrontend/expressions.cc:6457
 #, fuzzy
 #| msgid "argument of type %qT does not match %qT"
 msgid "method type does not match object type"
 msgstr "引數類型為 %qT,與 %qT 不匹配"
 
-#: go/gofrontend/expressions.cc:6714
+#: go/gofrontend/expressions.cc:6731
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "invalid use of %<...%> with builtin function"
 msgstr "給內建函式的引數無效"
 
-#: go/gofrontend/expressions.cc:6748 go/gofrontend/expressions.cc:6805
-#: go/gofrontend/expressions.cc:6850 go/gofrontend/expressions.cc:7539
-#: go/gofrontend/expressions.cc:7686 go/gofrontend/expressions.cc:7729
-#: go/gofrontend/expressions.cc:7785 go/gofrontend/expressions.cc:8967
-#: go/gofrontend/expressions.cc:8986
+#: go/gofrontend/expressions.cc:6765 go/gofrontend/expressions.cc:6822
+#: go/gofrontend/expressions.cc:6867 go/gofrontend/expressions.cc:7556
+#: go/gofrontend/expressions.cc:7703 go/gofrontend/expressions.cc:7746
+#: go/gofrontend/expressions.cc:7802 go/gofrontend/expressions.cc:8984
+#: go/gofrontend/expressions.cc:9003
 #, fuzzy
 #| msgid "no arguments"
 msgid "not enough arguments"
 msgstr "沒有參數"
 
-#: go/gofrontend/expressions.cc:6750 go/gofrontend/expressions.cc:6807
-#: go/gofrontend/expressions.cc:7544 go/gofrontend/expressions.cc:7669
-#: go/gofrontend/expressions.cc:7691 go/gofrontend/expressions.cc:7734
-#: go/gofrontend/expressions.cc:7787 go/gofrontend/expressions.cc:8662
-#: go/gofrontend/expressions.cc:8972 go/gofrontend/expressions.cc:8993
+#: go/gofrontend/expressions.cc:6767 go/gofrontend/expressions.cc:6824
+#: go/gofrontend/expressions.cc:7561 go/gofrontend/expressions.cc:7686
+#: go/gofrontend/expressions.cc:7708 go/gofrontend/expressions.cc:7751
+#: go/gofrontend/expressions.cc:7804 go/gofrontend/expressions.cc:8679
+#: go/gofrontend/expressions.cc:8989 go/gofrontend/expressions.cc:9010
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments"
 msgstr "提供給格式字串的引數太多"
 
-#: go/gofrontend/expressions.cc:6809
+#: go/gofrontend/expressions.cc:6826
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument 1 must be a map"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: go/gofrontend/expressions.cc:6876
+#: go/gofrontend/expressions.cc:6893
 #, fuzzy
 #| msgid "invalid type argument"
 msgid "invalid type for make function"
 msgstr "無效的類型參數"
 
-#: go/gofrontend/expressions.cc:6890
+#: go/gofrontend/expressions.cc:6907
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6904
+#: go/gofrontend/expressions.cc:6921
 #, fuzzy
 #| msgid "bad insn for 'A'"
 msgid "bad size for make"
 msgstr "「A」的指令錯誤"
 
-#: go/gofrontend/expressions.cc:6919
+#: go/gofrontend/expressions.cc:6936
 msgid "bad capacity when making slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:6930
+#: go/gofrontend/expressions.cc:6947
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many arguments to make"
 msgstr "提供給格式字串的引數太多"
 
-#: go/gofrontend/expressions.cc:7588
+#: go/gofrontend/expressions.cc:7605
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be array or slice or channel"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: go/gofrontend/expressions.cc:7598
+#: go/gofrontend/expressions.cc:7615
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7644
+#: go/gofrontend/expressions.cc:7661
 #, fuzzy
 #| msgid "invalid argument to builtin function"
 msgid "unsupported argument type to builtin function"
 msgstr "給內建函式的引數無效"
 
-#: go/gofrontend/expressions.cc:7655
+#: go/gofrontend/expressions.cc:7672
 #, fuzzy
 #| msgid "Argument dim at %L must be scalar"
 msgid "argument must be channel"
 msgstr "%L 引數維數必須是標量"
 
-#: go/gofrontend/expressions.cc:7657
+#: go/gofrontend/expressions.cc:7674
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7677
+#: go/gofrontend/expressions.cc:7694
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "argument must be a field reference"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: go/gofrontend/expressions.cc:7704
+#: go/gofrontend/expressions.cc:7721
 #, fuzzy
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "left argument must be a slice"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: go/gofrontend/expressions.cc:7712
+#: go/gofrontend/expressions.cc:7729
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7717
+#: go/gofrontend/expressions.cc:7734
 #, fuzzy
 #| msgid "first argument of %q+D should be %<int%>"
 msgid "first argument must be []byte"
 msgstr "%q+D 的第一個參數的類型應該是 %<int%>"
 
-#: go/gofrontend/expressions.cc:7720
+#: go/gofrontend/expressions.cc:7737
 #, fuzzy
 #| msgid "tls_model argument not a string"
 msgid "second argument must be slice or string"
 msgstr "tls_model 的引數不是一個字串"
 
-#: go/gofrontend/expressions.cc:7761
+#: go/gofrontend/expressions.cc:7778
 #, fuzzy
 #| msgid "%Jparameter %u has void type"
 msgid "argument 2 has invalid type"
 msgstr "%J參數 %u 類型為 void"
 
-#: go/gofrontend/expressions.cc:7777
+#: go/gofrontend/expressions.cc:7794
 #, fuzzy
 #| msgid "%Jparameter %u has incomplete type"
 msgid "argument must have complex type"
 msgstr "%J參數 %u 類型不完全"
 
-#: go/gofrontend/expressions.cc:7795
+#: go/gofrontend/expressions.cc:7812
 #, fuzzy
 #| msgid "cleanup argument not an identifier"
 msgid "complex arguments must have identical types"
 msgstr "cleanup 引數不是一個識別碼"
 
-#: go/gofrontend/expressions.cc:7797
+#: go/gofrontend/expressions.cc:7814
 #, fuzzy
 #| msgid "Do not use hardware floating point"
 msgid "complex arguments must have floating-point type"
 msgstr "不使用硬體浮點單元"
 
-#: go/gofrontend/expressions.cc:8666
+#: go/gofrontend/expressions.cc:8683
 #, fuzzy
 #| msgid "invalid use of %<this%> at top level"
 msgid "invalid use of %<...%> with non-slice"
 msgstr "在頂層使用 %<this%> 無效"
 
-#: go/gofrontend/expressions.cc:8920 go/gofrontend/expressions.cc:9361
+#: go/gofrontend/expressions.cc:8937 go/gofrontend/expressions.cc:9378
 #, fuzzy
 #| msgid "unexpected node"
 msgid "expected function"
 msgstr "與預期不符的結點"
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8956
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible type for receiver"
 msgstr "回傳時類型不相容"
 
-#: go/gofrontend/expressions.cc:8957
+#: go/gofrontend/expressions.cc:8974
 #, fuzzy
 #| msgid "invalid use of %<this%> in non-member function"
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr "在非成員函式中使用 %<this%> 無效"
 
-#: go/gofrontend/expressions.cc:9370 go/gofrontend/expressions.cc:9384
+#: go/gofrontend/expressions.cc:9387 go/gofrontend/expressions.cc:9401
 #, fuzzy
 #| msgid "number of arguments doesn%'t match prototype"
 msgid "number of results does not match number of values"
 msgstr "引數數目與原型不符"
 
-#: go/gofrontend/expressions.cc:9688 go/gofrontend/expressions.cc:10110
+#: go/gofrontend/expressions.cc:9705 go/gofrontend/expressions.cc:10127
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer."
 msgid "index must be integer"
 msgstr "%C 處 Cray 指標必須是一個整數。"
 
-#: go/gofrontend/expressions.cc:9694 go/gofrontend/expressions.cc:10114
+#: go/gofrontend/expressions.cc:9711 go/gofrontend/expressions.cc:10131
 #, fuzzy
 #| msgid "Cray pointer at %C must be an integer."
 msgid "slice end must be integer"
 msgstr "%C 處 Cray 指標必須是一個整數。"
 
-#: go/gofrontend/expressions.cc:9751
+#: go/gofrontend/expressions.cc:9768
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10344
+#: go/gofrontend/expressions.cc:10361
 #, fuzzy
 #| msgid "incompatible types in assignment"
 msgid "incompatible type for map index"
 msgstr "賦值時類型不相容"
 
-#: go/gofrontend/expressions.cc:10692
+#: go/gofrontend/expressions.cc:10709
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11260
+#: go/gofrontend/expressions.cc:11277
 #, fuzzy
 #| msgid "too many arguments for format"
 msgid "too many expressions for struct"
 msgstr "提供給格式字串的引數太多"
 
-#: go/gofrontend/expressions.cc:11273
+#: go/gofrontend/expressions.cc:11290
 #, fuzzy
 #| msgid "too few arguments for format"
 msgid "too few expressions for struct"
 msgstr "格式字串引數太少"
 
-#: go/gofrontend/expressions.cc:12933 go/gofrontend/expressions.cc:12941
-#, fuzzy
-#| msgid "invalid use of void expression"
-msgid "invalid unsafe.Pointer conversion"
-msgstr "對 void 運算式的無效使用"
-
-#: go/gofrontend/expressions.cc:12946 go/gofrontend/statements.cc:1539
+#: go/gofrontend/expressions.cc:12945 go/gofrontend/statements.cc:1539
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12958
+#: go/gofrontend/expressions.cc:12957
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13142 go/gofrontend/statements.cc:1387
+#: go/gofrontend/expressions.cc:13128 go/gofrontend/statements.cc:1387
 #, fuzzy
 #| msgid "expected class name"
 msgid "expected channel"
 msgstr "需要類別名"
 
-#: go/gofrontend/expressions.cc:13147 go/gofrontend/statements.cc:1392
+#: go/gofrontend/expressions.cc:13133 go/gofrontend/statements.cc:1392
 msgid "invalid receive on send-only channel"
 msgstr ""
 
@@ -13319,21 +13315,25 @@ msgstr "asm 敘述中出現無效的左值"
 msgid "expected boolean expression"
 msgstr "需要運算式"
 
-#: go/gofrontend/statements.cc:4334
+#: go/gofrontend/statements.cc:4198
+msgid "cannot type switch on non-interface value"
+msgstr ""
+
+#: go/gofrontend/statements.cc:4320
 #, fuzzy
 #| msgid "incompatible types in return"
 msgid "incompatible types in send"
 msgstr "回傳時類型不相容"
 
-#: go/gofrontend/statements.cc:4339
+#: go/gofrontend/statements.cc:4325
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5226
+#: go/gofrontend/statements.cc:5212
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5233
+#: go/gofrontend/statements.cc:5219
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -13655,7 +13655,7 @@ msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6023 expr.c:9964
+#: builtins.c:6023 expr.c:9965
 #, fuzzy, gcc-internal-format
 #| msgid "invalid argument to %<__builtin_frame_address%>"
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
@@ -13757,13 +13757,13 @@ msgstr ""
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:101 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10590
+#: c-convert.c:103 c-typeck.c:1992 c-typeck.c:5332 c-typeck.c:10596
 #: cp/typeck.c:1849 cp/typeck.c:6722 cp/typeck.c:7420 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void 值未如預期地被忽略"
 
-#: c-convert.c:181 fortran/convert.c:122 java/typeck.c:150
+#: c-convert.c:182 fortran/convert.c:122 java/typeck.c:150
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "請求轉換到非標量類型"
@@ -14157,7 +14157,7 @@ msgstr "跳轉至敘述運算式中"
 msgid "%qE defined as wrong kind of tag"
 msgstr "%H%qE 定義為類型錯誤的標記"
 
-#: c-decl.c:3674 c-typeck.c:11016 c-family/c-common.c:4164
+#: c-decl.c:3674 c-typeck.c:11022 c-family/c-common.c:4164
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "錯誤地使用了 %<restrict%>"
@@ -14288,7 +14288,7 @@ msgstr "可變大小的物件不能被初始化"
 msgid "variable %qD has initializer but incomplete type"
 msgstr "變數 %qD 有初始值設定但類型不完全"
 
-#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12670
+#: c-decl.c:4138 cp/decl.c:4430 cp/decl.c:12687
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "為內聯函式 %q+D 給定了 noinline 屬性"
@@ -14299,7 +14299,7 @@ msgstr "為內聯函式 %q+D 給定了 noinline 屬性"
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr "未初始化的常數成員 %qD"
 
-#: c-decl.c:4191 cp/init.c:2115 cp/init.c:2130
+#: c-decl.c:4191 cp/init.c:2117 cp/init.c:2132
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D will be initialized after"
 msgid "%qD should be initialized"
@@ -15293,7 +15293,7 @@ msgstr "引數 %qD 與內建原型不符"
 msgid "argument %qD doesn%'t match prototype"
 msgstr "引數 %qD 與原型不符"
 
-#: c-decl.c:8380 cp/decl.c:13528
+#: c-decl.c:8380 cp/decl.c:13545
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "在有回傳值的函式中未發現 return 敘述"
@@ -15510,7 +15510,7 @@ msgstr "ISO C 不支援在函式外使用多餘的 %<;%>"
 msgid "unknown type name %qE"
 msgstr "不明的暫存器名:%s"
 
-#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27380
+#: c-parser.c:1486 c-parser.c:8568 cp/parser.c:27375
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "需要指定宣告"
@@ -15521,7 +15521,7 @@ msgstr "需要指定宣告"
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr "需要識別碼或 %<(%>"
 
-#: c-parser.c:1529 cp/parser.c:23810 cp/parser.c:23884
+#: c-parser.c:1529 cp/parser.c:23805 cp/parser.c:23879
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored for methods"
@@ -15574,7 +15574,7 @@ msgstr "ISO C90 不支援 %<long long%>"
 msgid "ISO C90 does not support %<_Static_assert%>"
 msgstr "ISO C90 不支援 %<long long%>"
 
-#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27251
+#: c-parser.c:1862 c-parser.c:3383 c-parser.c:8623 cp/parser.c:27246
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "需要字面字串"
@@ -15610,8 +15610,8 @@ msgstr "CRIS-port 判定語錯誤:"
 #: c-parser.c:7360 c-parser.c:7368 c-parser.c:7397 c-parser.c:7410
 #: c-parser.c:7715 c-parser.c:7839 c-parser.c:8266 c-parser.c:8301
 #: c-parser.c:8354 c-parser.c:8407 c-parser.c:8423 c-parser.c:8469
-#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22271
-#: cp/parser.c:24654 cp/parser.c:24684 cp/parser.c:24754 cp/parser.c:26971
+#: c-parser.c:8748 c-parser.c:9823 c-parser.c:10626 cp/parser.c:22266
+#: cp/parser.c:24649 cp/parser.c:24679 cp/parser.c:24749 cp/parser.c:26966
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "需要識別碼"
@@ -15964,84 +15964,84 @@ msgstr "需要指定宣告"
 msgid "no type or storage class may be specified here,"
 msgstr "為 %qs 指定了存儲類別"
 
-#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24714
+#: c-parser.c:8270 c-parser.c:8327 cp/parser.c:24709
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c-parser.c:8291 cp/parser.c:24674
+#: c-parser.c:8291 cp/parser.c:24669
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<getter%> attribute)"
 msgstr "%<#pragma pack%> 後缺少 %<(%>,忽略"
 
-#: c-parser.c:8294 cp/parser.c:24677
+#: c-parser.c:8294 cp/parser.c:24672
 #, fuzzy, gcc-internal-format
 #| msgid "missing %<(%> after %<#pragma pack%> - ignored"
 msgid "missing %<=%> (after %<setter%> attribute)"
 msgstr "%<#pragma pack%> 後缺少 %<(%>,忽略"
 
-#: c-parser.c:8308 cp/parser.c:24692
+#: c-parser.c:8308 cp/parser.c:24687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "the %<setter%> attribute may only be specified once"
 msgstr "%J不能為局部變數指定 section 屬性"
 
-#: c-parser.c:8313 cp/parser.c:24698
+#: c-parser.c:8313 cp/parser.c:24693
 #, gcc-internal-format
 msgid "setter name must terminate with %<:%>"
 msgstr ""
 
-#: c-parser.c:8320 cp/parser.c:24706
+#: c-parser.c:8320 cp/parser.c:24701
 #, fuzzy, gcc-internal-format
 #| msgid "%Jaddress area attribute cannot be specified for functions"
 msgid "the %<getter%> attribute may only be specified once"
 msgstr "%J不能為函式指定位址區域屬性"
 
-#: c-parser.c:8506 cp/parser.c:27295
+#: c-parser.c:8506 cp/parser.c:27290
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8517 cp/parser.c:27310
+#: c-parser.c:8517 cp/parser.c:27305
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8528 cp/parser.c:27326
+#: c-parser.c:8528 cp/parser.c:27321
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8539 cp/parser.c:27342
+#: c-parser.c:8539 cp/parser.c:27337
 #, gcc-internal-format
 msgid "%<#pragma omp taskyield%> may only be used in compound statements"
 msgstr ""
 
-#: c-parser.c:8552 cp/parser.c:27370
+#: c-parser.c:8552 cp/parser.c:27365
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr ""
 
-#: c-parser.c:8558 cp/parser.c:27285
+#: c-parser.c:8558 cp/parser.c:27280
 #, fuzzy, gcc-internal-format
 #| msgid "malformed #pragma GCC pch_preprocess, ignored"
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "#pragma GCC pch_preprocess 格式不正確,已忽略"
 
-#: c-parser.c:8723 cp/parser.c:24962
+#: c-parser.c:8723 cp/parser.c:24957
 #, fuzzy, gcc-internal-format
 #| msgid "too many input files"
 msgid "too many %qs clauses"
 msgstr "輸入檔案太多"
 
-#: c-parser.c:8825 cp/parser.c:25077
+#: c-parser.c:8825 cp/parser.c:25072
 #, fuzzy, gcc-internal-format
 #| msgid "comparison between signed and unsigned integer expressions"
 msgid "collapse argument needs positive constant integer expression"
 msgstr "在有號和無號整數運算式間比較"
 
-#: c-parser.c:8891 cp/parser.c:25128
+#: c-parser.c:8891 cp/parser.c:25123
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<none%> or %<shared%>"
@@ -16058,45 +16058,45 @@ msgstr "需要運算式"
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c-parser.c:9142 cp/parser.c:25347
+#: c-parser.c:9142 cp/parser.c:25342
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
 msgstr ""
 
-#: c-parser.c:9231 cp/parser.c:25432
+#: c-parser.c:9231 cp/parser.c:25427
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9235 cp/parser.c:25435
+#: c-parser.c:9235 cp/parser.c:25430
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c-parser.c:9253 cp/parser.c:25451
+#: c-parser.c:9253 cp/parser.c:25446
 #, fuzzy, gcc-internal-format
 #| msgid "invalid const_double operand"
 msgid "invalid schedule kind"
 msgstr "無效的 const_double 運算元"
 
-#: c-parser.c:9381 cp/parser.c:25583
+#: c-parser.c:9381 cp/parser.c:25578
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c-parser.c:9390 cp/parser.c:25592
+#: c-parser.c:9390 cp/parser.c:25587
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is not a valid output file"
 msgid "%qs is not valid for %qs"
 msgstr "%qs 不是一個有效的輸出檔案"
 
-#: c-parser.c:9682 cp/parser.c:25876
+#: c-parser.c:9682 cp/parser.c:25871
 #, fuzzy, gcc-internal-format
 #| msgid "malformed %<#pragma align%>"
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr "%<#pragma align%> 格式錯誤"
 
-#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25907 cp/parser.c:25924
+#: c-parser.c:9722 c-parser.c:9740 cp/parser.c:25902 cp/parser.c:25919
 #, fuzzy, gcc-internal-format
 #| msgid "invalid operation on %<__fpreg%>"
 msgid "invalid operator for %<#pragma omp atomic%>"
@@ -16108,7 +16108,7 @@ msgstr "對 %<__fpreg%> 的作業無效"
 msgid "expected %<(%> or end of line"
 msgstr "非預期的模組結束"
 
-#: c-parser.c:9882 cp/parser.c:26195
+#: c-parser.c:9882 cp/parser.c:26190
 #, fuzzy, gcc-internal-format
 #| msgid "%s statement expected at %L"
 msgid "for statement expected"
@@ -16125,12 +16125,12 @@ msgstr "需要宣告或敘述"
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c-parser.c:10069 cp/parser.c:26537
+#: c-parser.c:10069 cp/parser.c:26532
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c-parser.c:10107 cp/parser.c:26380 cp/parser.c:26418 cp/pt.c:12728
+#: c-parser.c:10107 cp/parser.c:26375 cp/parser.c:26413 cp/pt.c:12754
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qD should not be firstprivate"
@@ -16160,27 +16160,27 @@ msgstr "實體變數 %qs 被宣告為私有的"
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%J參數 %u 類型不完全"
 
-#: c-parser.c:10773 cp/parser.c:27181
+#: c-parser.c:10773 cp/parser.c:27176
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c-parser.c:10779 cp/parser.c:27187
+#: c-parser.c:10779 cp/parser.c:27182
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c-parser.c:10788 cp/parser.c:27196
+#: c-parser.c:10788 cp/parser.c:27191
 #, gcc-internal-format
 msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: c-parser.c:10790 cp/parser.c:27199
+#: c-parser.c:10790 cp/parser.c:27194
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c-parser.c:10796 cp/parser.c:27205
+#: c-parser.c:10796 cp/parser.c:27200
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
@@ -17003,7 +17003,7 @@ msgstr "用括號中的字串常數初始化陣列"
 msgid "initialization of a flexible array member"
 msgstr "對彈性陣列成員的初始化"
 
-#: c-typeck.c:6164 cp/typeck2.c:890
+#: c-typeck.c:6164 cp/typeck2.c:893
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "用寬字串初始化 char 陣列"
@@ -17215,235 +17215,235 @@ msgstr "在無回傳值的函式中,%<return%> 帶回傳值"
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "在無回傳值的函式中,%<return%> 帶回傳值"
 
-#: c-typeck.c:8825
+#: c-typeck.c:8831
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "函式回傳局部變數的位址"
 
-#: c-typeck.c:8898 cp/semantics.c:1045
+#: c-typeck.c:8904 cp/semantics.c:1045
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch 敘述中的值不是一個整數"
 
-#: c-typeck.c:8911
+#: c-typeck.c:8917
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "在 ISO C 中,%<long%> 開關運算式不被轉換為 %<int%>"
 
-#: c-typeck.c:8947 c-typeck.c:8955
+#: c-typeck.c:8953 c-typeck.c:8961
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "case label is not an integer constant expression"
 msgstr "陣列大小不是一個整數常運算式"
 
-#: c-typeck.c:8961 cp/parser.c:8827
+#: c-typeck.c:8967 cp/parser.c:8827
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case 標籤出現在開關敘述外"
 
-#: c-typeck.c:8963
+#: c-typeck.c:8969
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%> 標籤未出現在 switch 敘述內"
 
-#: c-typeck.c:9046 cp/parser.c:9127
+#: c-typeck.c:9052 cp/parser.c:9127
 #, fuzzy, gcc-internal-format
 #| msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%H建議明確地使用大括號以避免出現有歧義的 %<else%>"
 
-#: c-typeck.c:9155 cp/parser.c:9854
+#: c-typeck.c:9161 cp/parser.c:9854
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break 敘述不在循環或開關敘述內"
 
-#: c-typeck.c:9157 cp/parser.c:9875
+#: c-typeck.c:9163 cp/parser.c:9875
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue 敘述出現在循環以外"
 
-#: c-typeck.c:9162 cp/parser.c:9865
+#: c-typeck.c:9168 cp/parser.c:9865
 #, fuzzy, gcc-internal-format
 #| msgid "break statement not within loop or switch"
 msgid "break statement used with OpenMP for loop"
 msgstr "break 敘述不在循環或開關敘述內"
 
-#: c-typeck.c:9188 cp/cp-gimplify.c:402
+#: c-typeck.c:9194 cp/cp-gimplify.c:402
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr "敘述不起作用"
 
-#: c-typeck.c:9214
+#: c-typeck.c:9220
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "運算式敘述類型不完全"
 
-#: c-typeck.c:9473 c-typeck.c:9508 c-typeck.c:9522
+#: c-typeck.c:9479 c-typeck.c:9514 c-typeck.c:9528
 #, gcc-internal-format
 msgid "conversion of scalar to vector involves truncation"
 msgstr ""
 
-#: c-typeck.c:9950 cp/typeck.c:3939
+#: c-typeck.c:9956 cp/typeck.c:3939
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "右移次數為負"
 
-#: c-typeck.c:9961 cp/typeck.c:3946
+#: c-typeck.c:9967 cp/typeck.c:3946
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "右移次數大於或等於類型寬度"
 
-#: c-typeck.c:10002 cp/typeck.c:3968
+#: c-typeck.c:10008 cp/typeck.c:3968
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "左移次數為負"
 
-#: c-typeck.c:10009 cp/typeck.c:3974
+#: c-typeck.c:10015 cp/typeck.c:3974
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "左移次數大於或等於類型寬度"
 
-#: c-typeck.c:10032 c-typeck.c:10169
+#: c-typeck.c:10038 c-typeck.c:10175
 #, fuzzy, gcc-internal-format
 #| msgid "operands to ?: have different types"
 msgid "comparing vectors with different element types"
 msgstr "?: 的運算元有不同的類型"
 
-#: c-typeck.c:10039 c-typeck.c:10176
+#: c-typeck.c:10045 c-typeck.c:10182
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c-typeck.c:10055 cp/typeck.c:4020
+#: c-typeck.c:10061 cp/typeck.c:4020
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "使用 == 或 != 比較浮點數是不安全的"
 
-#: c-typeck.c:10072 c-typeck.c:10092
+#: c-typeck.c:10078 c-typeck.c:10098
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10078 c-typeck.c:10098
+#: c-typeck.c:10084 c-typeck.c:10104
 #, gcc-internal-format
 msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL"
 msgstr ""
 
-#: c-typeck.c:10119 c-typeck.c:10219
+#: c-typeck.c:10125 c-typeck.c:10225
 #, fuzzy, gcc-internal-format
 #| msgid "comparison of distinct pointer types lacks a cast"
 msgid "comparison of pointers to disjoint address spaces"
 msgstr "比較不相關的指標時缺少類型轉換"
 
-#: c-typeck.c:10126 c-typeck.c:10132
+#: c-typeck.c:10132 c-typeck.c:10138
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C 不允許在 %<void *%> 和函式指標間比較"
 
-#: c-typeck.c:10139 c-typeck.c:10229
+#: c-typeck.c:10145 c-typeck.c:10235
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "比較不相關的指標時缺少類型轉換"
 
-#: c-typeck.c:10151 c-typeck.c:10156 c-typeck.c:10255 c-typeck.c:10260
+#: c-typeck.c:10157 c-typeck.c:10162 c-typeck.c:10261 c-typeck.c:10266
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "比較指標和整數"
 
-#: c-typeck.c:10207
+#: c-typeck.c:10213
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "在完全和不完全指標間比較"
 
-#: c-typeck.c:10209
+#: c-typeck.c:10215
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C 不允許函式指標間比較大小"
 
-#: c-typeck.c:10214
+#: c-typeck.c:10220
 #, fuzzy, gcc-internal-format
 #| msgid "ordered comparison of pointer with integer zero"
 msgid "ordered comparison of pointer with null pointer"
 msgstr "指標與整數 0 比較大小"
 
-#: c-typeck.c:10237 c-typeck.c:10240 c-typeck.c:10247 c-typeck.c:10250
+#: c-typeck.c:10243 c-typeck.c:10246 c-typeck.c:10253 c-typeck.c:10256
 #: cp/typeck.c:4271 cp/typeck.c:4278
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "指標與整數 0 比較大小"
 
-#: c-typeck.c:10294 cp/typeck.c:4350
+#: c-typeck.c:10300 cp/typeck.c:4350
 #, fuzzy, gcc-internal-format
 #| msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgid "implicit conversion from %qT to %qT to match other operand of binary expression"
 msgstr "C++ 中不允許從 %qT 到 %qT 的隱含轉換"
 
-#: c-typeck.c:10578
+#: c-typeck.c:10584
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "需要標量時使用了不能被轉換為指標的陣列"
 
-#: c-typeck.c:10582
+#: c-typeck.c:10588
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "需要標量時使用了結構類型"
 
-#: c-typeck.c:10586
+#: c-typeck.c:10592
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "需要標量時使用了聯合類型"
 
-#: c-typeck.c:10597
+#: c-typeck.c:10603
 #, fuzzy, gcc-internal-format
 #| msgid "used struct type value where scalar is required"
 msgid "used vector type where scalar is required"
 msgstr "需要標量時使用了結構類型"
 
-#: c-typeck.c:10751 cp/semantics.c:4202
+#: c-typeck.c:10757 cp/semantics.c:4202
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<restrict%>"
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "錯誤地使用了 %<restrict%>"
 
-#: c-typeck.c:10788 cp/semantics.c:4217
+#: c-typeck.c:10794 cp/semantics.c:4217
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c-typeck.c:10805 cp/semantics.c:4227
+#: c-typeck.c:10811 cp/semantics.c:4227
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c-typeck.c:10815 cp/semantics.c:3995
+#: c-typeck.c:10821 cp/semantics.c:3995
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not an accessible base of %qT"
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qT 是 %qT 的一個不可存取的基礎類別"
 
-#: c-typeck.c:10823 c-typeck.c:10845 c-typeck.c:10867
+#: c-typeck.c:10829 c-typeck.c:10851 c-typeck.c:10873
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c-typeck.c:10838 cp/semantics.c:4018
+#: c-typeck.c:10844 cp/semantics.c:4018
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "實體變數 %qs 被宣告為私有的"
 
-#: c-typeck.c:10860 cp/semantics.c:4040
+#: c-typeck.c:10866 cp/semantics.c:4040
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "實體變數 %qs 被宣告為私有的"
 
-#: c-typeck.c:10928 cp/semantics.c:4273
+#: c-typeck.c:10934 cp/semantics.c:4273
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c-typeck.c:11030
+#: c-typeck.c:11036
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -18503,7 +18503,7 @@ msgstr "%d 的主導者應該為 %d,而不是 %d"
 msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
 msgstr ""
 
-#: dwarf2out.c:10710
+#: dwarf2out.c:10713
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
@@ -18626,13 +18626,13 @@ msgstr ""
 msgid "local frame unavailable (naked function?)"
 msgstr "巢狀函式中使用了全域暫存器變數 %qD"
 
-#: expr.c:9971
+#: expr.c:9972
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "函式 %q+D 重宣告為帶有不可內聯屬性"
 
-#: expr.c:9978
+#: expr.c:9979
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+D redeclared with attribute noinline"
 msgid "%Kcall to %qs declared with attribute warning: %s"
@@ -18724,27 +18724,27 @@ msgstr ""
 msgid "total size of local objects too large"
 msgstr "%J局部物件的總大小太大"
 
-#: function.c:1732 gimplify.c:5163
+#: function.c:1732 gimplify.c:5164
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%> 中不可能的約束"
 
-#: function.c:3959
+#: function.c:3974
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "變數 %q+D 能為 %<longjmp%> 或 %<vfork%> 所篡改"
 
-#: function.c:3980
+#: function.c:3995
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "引數 %q+D 可能為 %<longjmp%> 或 %<vfork%> 所篡改"
 
-#: function.c:4502
+#: function.c:4517
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "函式回傳一個聚合"
 
-#: function.c:4896
+#: function.c:4911
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "未使用的參數 %q+D"
@@ -19223,67 +19223,67 @@ msgstr "樹檢查:需要類別 %qs,得到 %qs(%s) 在 %s,於 %s:%d"
 msgid "using result of function returning %<void%>"
 msgstr "在有回傳值的函式中未發現 return 敘述"
 
-#: gimplify.c:5048
+#: gimplify.c:5049
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "組譯輸出 %d 中左值無效"
 
-#: gimplify.c:5164
+#: gimplify.c:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.c:5186
+#: gimplify.c:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "記憶體輸入 %d 不可直接定址"
 
-#: gimplify.c:5681
+#: gimplify.c:5682
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "threadprivate variable %qE used in untied task"
 msgstr "巢狀函式中使用了暫存器變數 %qD"
 
-#: gimplify.c:5683 gimplify.c:5745
+#: gimplify.c:5684 gimplify.c:5746
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.c:5742
+#: gimplify.c:5743
 #, gcc-internal-format
 msgid "%qE not specified in enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5747
+#: gimplify.c:5748
 #, gcc-internal-format
 msgid "enclosing parallel"
 msgstr ""
 
-#: gimplify.c:5852
+#: gimplify.c:5853
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qE should be private"
 msgstr "實體變數 %qs 被宣告為私有的"
 
-#: gimplify.c:5866
+#: gimplify.c:5867
 #, fuzzy, gcc-internal-format
 #| msgid "instance variable %qs is declared private"
 msgid "iteration variable %qE should not be firstprivate"
 msgstr "實體變數 %qs 被宣告為私有的"
 
-#: gimplify.c:5869
+#: gimplify.c:5870
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "iteration variable %qE should not be reduction"
 msgstr "巢狀函式中使用了暫存器變數 %qD"
 
-#: gimplify.c:6032
+#: gimplify.c:6033
 #, fuzzy, gcc-internal-format
 #| msgid "local variable %qD may not appear in this context"
 msgid "%s variable %qE is private in outer context"
 msgstr "局部變數 %qD 不應出現在此上下文中"
 
-#: gimplify.c:7794
+#: gimplify.c:7795
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification 失敗"
@@ -19505,48 +19505,48 @@ msgstr "欄位 %qs 宣告為一個函式"
 msgid "function %qD redeclared as variable"
 msgstr "函式 %q+D 重宣告為內聯的"
 
-#: omp-low.c:1846
+#: omp-low.c:1847
 #, gcc-internal-format
 msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1851
+#: omp-low.c:1853
 #, gcc-internal-format
 msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
 msgstr ""
 
-#: omp-low.c:1869
+#: omp-low.c:1872
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
 msgstr ""
 
-#: omp-low.c:1884
+#: omp-low.c:1888
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
 msgstr ""
 
-#: omp-low.c:1890
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
 msgstr ""
 
-#: omp-low.c:1905
+#: omp-low.c:1914
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
 msgstr ""
 
-#: omp-low.c:7024 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
+#: omp-low.c:7034 cp/decl.c:2885 cp/parser.c:9862 cp/parser.c:9882
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: omp-low.c:7026 omp-low.c:7031
+#: omp-low.c:7036 omp-low.c:7041
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:7034
+#: omp-low.c:7044
 #, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
 msgstr ""
@@ -19651,13 +19651,13 @@ msgstr ""
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:809
+#: opts.c:721 config/darwin.c:3002 config/sh/sh.c:797
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架構下工作"
 
-#: opts.c:736 config/sh/sh.c:817
+#: opts.c:736 config/sh/sh.c:805
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
@@ -20043,8 +20043,8 @@ msgid "can%'t use %qs as a fixed register"
 msgstr "無法將「%s」做為 %s 暫存器"
 
 #: reginfo.c:864 config/ia64/ia64.c:5753 config/ia64/ia64.c:5760
-#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8761
-#: config/sh/sh.c:8768 config/spu/spu.c:5198 config/spu/spu.c:5205
+#: config/pa/pa.c:427 config/pa/pa.c:434 config/sh/sh.c:8764
+#: config/sh/sh.c:8771 config/spu/spu.c:5198 config/spu/spu.c:5205
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr "不明的暫存器名:%s"
@@ -20358,7 +20358,7 @@ msgstr "packed 屬性導致低效率的對齊"
 msgid "packed attribute is unnecessary"
 msgstr "不需要 packed 屬性"
 
-#: stor-layout.c:2244
+#: stor-layout.c:2252
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "陣列元素的對齊邊界比元素大小還要大"
@@ -20380,13 +20380,13 @@ msgstr "全域解構函式在此目標平臺上不受支援"
 msgid "nested function trampolines not supported on this target"
 msgstr "-ffunction-sections 在此目標平臺上不受支援"
 
-#: targhooks.c:1154
+#: targhooks.c:1161
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "target attribute is not supported on this machine"
 msgstr "%qE 屬性在此平台上不受支援"
 
-#: targhooks.c:1164
+#: targhooks.c:1171
 #, fuzzy, gcc-internal-format
 #| msgid "#pragma extern_prefix not supported on this target"
 msgid "#pragma GCC target is not supported for this machine"
@@ -20587,7 +20587,7 @@ msgstr "啟用 DB 指令"
 msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.c:664 trans-mem.c:4194
+#: trans-mem.c:664 trans-mem.c:4192
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -20603,7 +20603,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr "原本間接的函式呼叫不被考慮內聯"
 
-#: trans-mem.c:682 trans-mem.c:4127
+#: trans-mem.c:682 trans-mem.c:4125
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -20618,7 +20618,7 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:707 trans-mem.c:4166
+#: trans-mem.c:707 trans-mem.c:4164
 #, fuzzy, gcc-internal-format
 #| msgid "namespace %qD not allowed in using-declaration"
 msgid "asm not allowed in atomic transaction"
@@ -20657,7 +20657,7 @@ msgstr ""
 msgid "outer transaction in %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.c:3792
+#: trans-mem.c:3790
 #, fuzzy, gcc-internal-format
 #| msgid "attributes are not allowed on a function-definition"
 msgid "%Kasm not allowed in %<transaction_safe%> function"
@@ -21346,126 +21346,126 @@ msgstr "無法開啟傾印檔案 %qs:%s"
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr ""
 
-#: tree-eh.c:4320
+#: tree-eh.c:4319
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'B' operand has multiple bits set"
 msgid "BB %i has multiple EH edges"
 msgstr "「B」運算元設定了多個位"
 
-#: tree-eh.c:4332
+#: tree-eh.c:4331
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i can not throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.c:4340
+#: tree-eh.c:4339
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expression statement has incomplete type"
 msgid "BB %i last statement has incorrectly set lp"
 msgstr "運算式敘述類型不完全"
 
-#: tree-eh.c:4346
+#: tree-eh.c:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.c:4352
+#: tree-eh.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unnecessary EH edge %i->%i"
 msgid "Incorrect EH edge %i->%i"
 msgstr "不需要的 EH 邊 %i->%i"
 
-#: tree-eh.c:4386 tree-eh.c:4405
+#: tree-eh.c:4385 tree-eh.c:4404
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.c:4422
+#: tree-eh.c:4421
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i too many fallthru edges"
 msgstr "直通邊上的錯誤指令"
 
-#: tree-eh.c:4431
+#: tree-eh.c:4430
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "label %s has incorrect context in bb %d"
 msgid "BB %i has incorrect edge"
 msgstr "標籤 %s 在基本區塊 %d 中上下文不正確"
 
-#: tree-eh.c:4437
+#: tree-eh.c:4436
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "wrong insn in the fallthru edge"
 msgid "BB %i has incorrect fallthru edge"
 msgstr "直通邊上的錯誤指令"
 
-#: tree-inline.c:3040
+#: tree-inline.c:3041
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it receives a non-local goto"
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr "函式 %q+F 無法被內聯,因為它接受一個非區域性的 goto"
 
-#: tree-inline.c:3054
+#: tree-inline.c:3055
 #, fuzzy, gcc-internal-format
 #| msgid "function %q+F can never be inlined because it uses variable sized variables"
 msgid "function %q+F can never be copied because it saves address of local label in a static variable"
 msgstr "函式 %q+F 無法被內聯,因為使用了變長變數"
 
-#: tree-inline.c:3094
+#: tree-inline.c:3095
 #, 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:3108
+#: tree-inline.c:3109
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "函式 %q+F 無法被內聯,因為它使用了 setjmp"
 
-#: tree-inline.c:3122
+#: tree-inline.c:3123
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "函式 %q+F 無法被內聯,因為它使用了變長引數表"
 
-#: tree-inline.c:3134
+#: tree-inline.c:3135
 #, 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:3142
+#: tree-inline.c:3143
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "函式 %q+F 無法被內聯,因為使用了非區域性的 goto"
 
-#: tree-inline.c:3154
+#: tree-inline.c:3155
 #, 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:3174
+#: tree-inline.c:3175
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "函式 %q+F 無法被內聯,因為包含一個執行時 goto"
 
-#: tree-inline.c:3254
+#: tree-inline.c:3255
 #, 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:3262
+#: tree-inline.c:3263
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "函式 %q+F 無法被內聯,因為它使用了與內聯衝突的屬性"
 
-#: tree-inline.c:3843
+#: tree-inline.c:3844
 #, fuzzy, gcc-internal-format
 #| msgid "inlining failed in call to %q+F: %s"
 msgid "inlining failed in call to always_inline %q+F: %s"
 msgstr "呼叫 %q+F 時內聯失敗:%s"
 
-#: tree-inline.c:3845 tree-inline.c:3860
+#: tree-inline.c:3846 tree-inline.c:3861
 #, gcc-internal-format
 msgid "called from here"
 msgstr "從此處呼叫"
 
-#: tree-inline.c:3858
+#: tree-inline.c:3859
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "呼叫 %q+F 時內聯失敗:%s"
@@ -21501,7 +21501,7 @@ msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "%q+D 回傳值的大小為 %wd 位元組"
 
 #: tree-outof-ssa.c:784 tree-outof-ssa.c:841 tree-ssa-coalesce.c:951
-#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1340
+#: tree-ssa-coalesce.c:966 tree-ssa-coalesce.c:1188 tree-ssa-live.c:1337
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA 損壞"
@@ -21749,78 +21749,78 @@ msgstr ""
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vrp.c:5300
+#: tree-vrp.c:5272
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is outside array bounds"
 msgstr "陣列下標不是一個整數"
 
-#: tree-vrp.c:5312 tree-vrp.c:5399
+#: tree-vrp.c:5284 tree-vrp.c:5371
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is above array bounds"
 msgstr "陣列下標不是一個整數"
 
-#: tree-vrp.c:5319 tree-vrp.c:5387
+#: tree-vrp.c:5291 tree-vrp.c:5359
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript is below array bounds"
 msgstr "陣列下標不是一個整數"
 
-#: tree-vrp.c:6028
+#: tree-vrp.c:6000
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr ""
 
-#: tree-vrp.c:6034
+#: tree-vrp.c:6006
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr ""
 
-#: tree-vrp.c:6078
+#: tree-vrp.c:6050
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always false due to limited range of data type"
 msgid "comparison always false due to limited range of data type"
 msgstr "由於資料類型範圍限制,比較結果永遠為假"
 
-#: tree-vrp.c:6080
+#: tree-vrp.c:6052
 #, fuzzy, gcc-internal-format
 #| msgid "comparison is always true due to limited range of data type"
 msgid "comparison always true due to limited range of data type"
 msgstr "由於資料類型範圍限制,比較結果永遠為真"
 
-#: tree-vrp.c:6871
+#: tree-vrp.c:6847
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
 msgstr ""
 
-#: tree-vrp.c:6953
+#: tree-vrp.c:6929
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
 msgstr ""
 
-#: tree.c:4235
+#: tree.c:4236
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute can only be applied to class definitions"
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "只能為類別定義套用 %qE 屬性"
 
-#: tree.c:5460
+#: tree.c:5475
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D 已被宣告為具有 dllexport 屬性:忽略 dllimport"
 
-#: tree.c:5472
+#: tree.c:5487
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D 重宣告時沒有 dllimport 屬性,但已被做為 dllimport 連結參照過"
 
-#: tree.c:5487
+#: tree.c:5502
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D 重宣告時沒有 dllimport 屬性:忽略先前的 dllimport"
 
-#: tree.c:5530 tree.c:5542 tree.c:5552 c-family/c-common.c:5865
+#: tree.c:5545 tree.c:5557 tree.c:5567 c-family/c-common.c:5865
 #: c-family/c-common.c:5884 c-family/c-common.c:5902 c-family/c-common.c:5930
 #: c-family/c-common.c:5957 c-family/c-common.c:5983 c-family/c-common.c:6002
 #: c-family/c-common.c:6019 c-family/c-common.c:6043 c-family/c-common.c:6066
@@ -21834,153 +21834,153 @@ msgstr "%q+D 重宣告時沒有 dllimport 屬性:忽略先前的 dllimport"
 #: c-family/c-common.c:7523 c-family/c-common.c:7544 c-family/c-common.c:7656
 #: c-family/c-common.c:7680 c-family/c-common.c:7971 c-family/c-common.c:7994
 #: c-family/c-common.c:8033 c-family/c-common.c:8111 c-family/c-common.c:8260
-#: config/darwin.c:1942 config/arm/arm.c:5007 config/arm/arm.c:5035
-#: config/arm/arm.c:5052 config/avr/avr.c:6763 config/h8300/h8300.c:5418
-#: config/h8300/h8300.c:5442 config/i386/i386.c:4939 config/i386/i386.c:31897
-#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24321 config/spu/spu.c:4035
-#: ada/gcc-interface/utils.c:5505 lto/lto-lang.c:215
+#: config/darwin.c:1942 config/arm/arm.c:5011 config/arm/arm.c:5039
+#: config/arm/arm.c:5056 config/avr/avr.c:6773 config/h8300/h8300.c:5418
+#: config/h8300/h8300.c:5442 config/i386/i386.c:4946 config/i386/i386.c:32027
+#: config/ia64/ia64.c:734 config/rs6000/rs6000.c:24344 config/spu/spu.c:4035
+#: ada/gcc-interface/utils.c:5496 lto/lto-lang.c:215
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE 屬性被忽略"
 
-#: tree.c:5570
+#: tree.c:5585
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "內聯函式 %q+D 宣告為 dllimport:忽略此屬性"
 
-#: tree.c:5578
+#: tree.c:5593
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "函式 %q+D 的定義被標記為 dllimport"
 
-#: tree.c:5586
+#: tree.c:5601
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "變數 %q+D 的定義被標記為 dllimport"
 
-#: tree.c:5614
+#: tree.c:5629
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: tree.c:5628
+#: tree.c:5643
 #, gcc-internal-format
 msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
 msgstr ""
 
-#: tree.c:7378
+#: tree.c:7394
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "函式陣列是沒有意義的"
 
-#: tree.c:7545
+#: tree.c:7561
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "函式不能回傳函式"
 
-#: tree.c:8844 tree.c:8929 tree.c:8990
+#: tree.c:8860 tree.c:8945 tree.c:9006
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "樹檢查:%s,得到 %s 在 %s,於 %s:%d"
 
-#: tree.c:8881
+#: tree.c:8897
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "樹檢查:不需要 %s,得到 %s 在 %s,於 %s:%d"
 
-#: tree.c:8894
+#: tree.c:8910
 #, 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:8943
+#: tree.c:8959
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 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:8956
+#: tree.c:8972
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr "樹檢查:不需要 %s,得到 %s 在 %s,於 %s:%d"
 
-#: tree.c:9016
+#: tree.c:9032
 #, fuzzy, gcc-internal-format
 #| msgid "tree check: expected tree that contains %qs structure, have %qs  in %s, at %s:%d"
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr "樹檢查:需要包含 %qs 結構的樹,得到 %s 在 %s,於 %s:%d"
 
-#: tree.c:9030
+#: tree.c:9046
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9043
+#: tree.c:9059
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:9056
+#: tree.c:9072
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr "樹檢查:不需要 %s,得到 %s 在 %s,於 %s:%d"
 
-#: tree.c:11340
+#: tree.c:11356
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d): %s"
 msgstr "%qs 已過時(於 %s:%d 宣告)"
 
-#: tree.c:11344
+#: tree.c:11360
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "%qs 已過時(於 %s:%d 宣告)"
 
-#: tree.c:11369
+#: tree.c:11385
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d): %s"
 msgstr "%qs 已過時(於 %s:%d 宣告)"
 
-#: tree.c:11373
+#: tree.c:11389
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated (declared at %s:%d)"
 msgid "%qE is deprecated (declared at %s:%d)"
 msgstr "%qs 已過時(於 %s:%d 宣告)"
 
-#: tree.c:11380
+#: tree.c:11396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated (declared at %s:%d)"
 msgid "type is deprecated (declared at %s:%d): %s"
 msgstr "類型已過時(於 %s:%d 宣告)"
 
-#: tree.c:11384
+#: tree.c:11400
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "類型已過時(於 %s:%d 宣告)"
 
-#: tree.c:11393
+#: tree.c:11409
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated: %s"
 msgstr "%qs 已過時"
 
-#: tree.c:11396
+#: tree.c:11412
 #, fuzzy, gcc-internal-format
 #| msgid "%qs is deprecated"
 msgid "%qE is deprecated"
 msgstr "%qs 已過時"
 
-#: tree.c:11401
+#: tree.c:11417
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "type is deprecated"
 msgid "type is deprecated: %s"
 msgstr "類型已過時"
 
-#: tree.c:11404
+#: tree.c:11420
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "類型已過時"
@@ -22210,12 +22210,12 @@ msgstr "向量 %s %s 欄位錯誤,在 %s 於 %s:%u"
 msgid "no sclass for %s stab (0x%x)"
 msgstr ""
 
-#: lto-streamer.h:962
+#: lto-streamer.h:975
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:972
+#: lto-streamer.h:985
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -22230,8 +22230,8 @@ msgstr "%qD 在函式作用欄位外未被定義"
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "字串長 %qd 比 %qd (ISO C%d 被要求支援的最大長度) 還要長"
 
-#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6646
-#: cp/semantics.c:8030
+#: c-family/c-common.c:1494 c-family/c-common.c:1506 cp/semantics.c:6677
+#: cp/semantics.c:8071
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "常數運算式溢出"
@@ -22903,40 +22903,40 @@ msgstr "%qE 屬性為 %qE 所忽略"
 msgid "invalid vector type for attribute %qE"
 msgstr "屬性 %qE 的向量類型無效"
 
-#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5623
-#: ada/gcc-interface/utils.c:5717
+#: c-family/c-common.c:7720 ada/gcc-interface/utils.c:5614
+#: ada/gcc-interface/utils.c:5708
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5629
-#: ada/gcc-interface/utils.c:5723
+#: c-family/c-common.c:7726 ada/gcc-interface/utils.c:5620
+#: ada/gcc-interface/utils.c:5714
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5637
-#: ada/gcc-interface/utils.c:5730
+#: c-family/c-common.c:7734 ada/gcc-interface/utils.c:5628
+#: ada/gcc-interface/utils.c:5721
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "向量中分量數不是 2 的某次方"
 
-#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5364
+#: c-family/c-common.c:7762 ada/gcc-interface/utils.c:5355
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "非空的屬性在非原型中沒有引數"
 
-#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5378
+#: c-family/c-common.c:7776 ada/gcc-interface/utils.c:5369
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "非空的引數 %lu 運算元號不正確"
 
-#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5400
+#: c-family/c-common.c:7798 ada/gcc-interface/utils.c:5391
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "非空的引數運算元號越界(引數 %lu,運算元 %lu)"
 
-#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5409
+#: c-family/c-common.c:7806 ada/gcc-interface/utils.c:5400
 #, gcc-internal-format, gfc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "非空的引數 %lu 參照了非指標運算元 %lu"
@@ -22976,12 +22976,12 @@ msgstr "%qE 屬性需要帶具名引數的原型"
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE 屬性只能用於帶可變參數函式"
 
-#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5451
+#: c-family/c-common.c:8069 ada/gcc-interface/utils.c:5442
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "要求的位置不是一個整數常數"
 
-#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5458
+#: c-family/c-common.c:8077 ada/gcc-interface/utils.c:5449
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "要求的位置小於 0"
@@ -24848,242 +24848,242 @@ msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency 開關的值 %qs 錯誤"
 
 #: config/alpha/alpha.c:6576 config/alpha/alpha.c:6579 config/s390/s390.c:9162
-#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3394
+#: config/s390/s390.c:9165 config/tilegx/tilegx.c:3395
 #: config/tilepro/tilepro.c:3098
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "錯誤的內建 fcode"
 
-#: config/arm/arm.c:1512
+#: config/arm/arm.c:1516
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "switch -mcpu=%s conflicts with -march= switch"
 msgid "switch -mcpu=%s conflicts with -march=%s switch"
 msgstr "開關 -mcpu=%s 與 -march= 開關衝突"
 
-#: config/arm/arm.c:1629
+#: config/arm/arm.c:1633
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support ARM mode"
 msgstr "目的 CPU 不支援交互工作"
 
-#: config/arm/arm.c:1635
+#: config/arm/arm.c:1639
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "目的 CPU 不支援交互工作"
 
-#: config/arm/arm.c:1641
+#: config/arm/arm.c:1645
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "目的 CPU 不支援 THUMB 指令"
 
-#: config/arm/arm.c:1659
+#: config/arm/arm.c:1663
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1662
+#: config/arm/arm.c:1666
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.c:1666
+#: config/arm/arm.c:1670
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check 和 -mno-apcs-frame 互不相容"
 
-#: config/arm/arm.c:1674
+#: config/arm/arm.c:1678
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic 和 -mapcs-reent 互不相容"
 
-#: config/arm/arm.c:1677
+#: config/arm/arm.c:1681
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "不支援 APCS 重入程式碼。已忽略"
 
-#: config/arm/arm.c:1685
+#: config/arm/arm.c:1689
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g 與 -mno-apcs-frame 並用可能不能給出有意義的除錯資訊"
 
-#: config/arm/arm.c:1688
+#: config/arm/arm.c:1692
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "尚不支援在浮點暫存器中傳遞浮點參數"
 
-#: config/arm/arm.c:1691
+#: config/arm/arm.c:1695
 #, gcc-internal-format
 msgid "%<mwords-little-endian%> is deprecated and will be removed in a future release"
 msgstr ""
 
-#: config/arm/arm.c:1753
+#: config/arm/arm.c:1757
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.c:1756
+#: config/arm/arm.c:1760
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt abi 需要相應 CPU 的支援"
 
-#: config/arm/arm.c:1804
+#: config/arm/arm.c:1808
 #, gcc-internal-format
 msgid "FPA is unsupported in the AAPCS"
 msgstr ""
 
-#: config/arm/arm.c:1809
+#: config/arm/arm.c:1813
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcaller-super-interworking"
 msgstr "目的 CPU 不支援交互工作"
 
-#: config/arm/arm.c:1812
+#: config/arm/arm.c:1816
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "AAPCS does not support -mcallee-super-interworking"
 msgstr "目的 CPU 不支援交互工作"
 
-#: config/arm/arm.c:1819
+#: config/arm/arm.c:1823
 #, fuzzy, gcc-internal-format
 #| msgid "Use hardware floating point"
 msgid "iWMMXt and hardware floating point"
 msgstr "使用硬體浮點單元"
 
-#: config/arm/arm.c:1823
+#: config/arm/arm.c:1827
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr ""
 
-#: config/arm/arm.c:1827
+#: config/arm/arm.c:1831
 #, gcc-internal-format
 msgid "__fp16 and no ldrh"
 msgstr ""
 
-#: config/arm/arm.c:1847
+#: config/arm/arm.c:1851
 #, gcc-internal-format
 msgid "-mfloat-abi=hard and VFP"
 msgstr "-mfloat-abi=hard 和 VFP"
 
-#: config/arm/arm.c:1872
+#: config/arm/arm.c:1876
 #, fuzzy, gcc-internal-format
 #| msgid "can not use -mtp=cp15 with -mthumb"
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15 和 -mthumb 不能並用"
 
-#: config/arm/arm.c:1888
+#: config/arm/arm.c:1892
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr "結構大小邊界只能被設定為 %s"
 
-#: config/arm/arm.c:1890
+#: config/arm/arm.c:1894
 #, fuzzy, gcc-internal-format
 #| msgid "structure size boundary can only be set to %s"
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr "結構大小邊界只能被設定為 %s"
 
-#: config/arm/arm.c:1898
+#: config/arm/arm.c:1902
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "assert:%s 與 %s 賦值相容"
 
-#: config/arm/arm.c:1907
+#: config/arm/arm.c:1911
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr ""
 
-#: config/arm/arm.c:1919
+#: config/arm/arm.c:1923
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= 不與 -fpic 並用時不起作用"
 
-#: config/arm/arm.c:1928
+#: config/arm/arm.c:1932
 #, gcc-internal-format, gfc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "「%s」不能做為 PIC 暫存器"
 
-#: config/arm/arm.c:1960
+#: config/arm/arm.c:1964
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support interworking"
 msgid "target CPU does not support unaligned accesses"
 msgstr "目的 CPU 不支援交互工作"
 
-#: config/arm/arm.c:1984
+#: config/arm/arm.c:1988
 #, fuzzy, gcc-internal-format
 #| msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgid "-freorder-blocks-and-partition not supported on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架構下工作"
 
-#: config/arm/arm.c:4036
+#: config/arm/arm.c:4040
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4038
+#: config/arm/arm.c:4042
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4057
+#: config/arm/arm.c:4061
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.c:4252
+#: config/arm/arm.c:4256
 #, gcc-internal-format
 msgid "Thumb-1 hard-float VFP ABI"
 msgstr ""
 
-#: config/arm/arm.c:4975 config/arm/arm.c:4993 config/avr/avr.c:6783
-#: config/avr/avr.c:6799 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
-#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4894
-#: config/i386/i386.c:31799 config/i386/i386.c:31850 config/i386/i386.c:31922
+#: config/arm/arm.c:4979 config/arm/arm.c:4997 config/avr/avr.c:6793
+#: config/avr/avr.c:6809 config/bfin/bfin.c:4636 config/bfin/bfin.c:4697
+#: config/bfin/bfin.c:4726 config/h8300/h8300.c:5394 config/i386/i386.c:4901
+#: config/i386/i386.c:31929 config/i386/i386.c:31980 config/i386/i386.c:32052
 #: config/m68k/m68k.c:725 config/mcore/mcore.c:3076 config/mep/mep.c:4011
 #: config/mep/mep.c:4025 config/mep/mep.c:4099 config/rl78/rl78.c:478
-#: config/rs6000/rs6000.c:24247 config/rx/rx.c:2502 config/sh/sh.c:8902
-#: config/sh/sh.c:8920 config/sh/sh.c:8949 config/sh/sh.c:9031
-#: config/sh/sh.c:9054 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
+#: config/rs6000/rs6000.c:24270 config/rx/rx.c:2502 config/sh/sh.c:8905
+#: config/sh/sh.c:8923 config/sh/sh.c:8952 config/sh/sh.c:9034
+#: config/sh/sh.c:9057 config/spu/spu.c:3977 config/stormy16/stormy16.c:2200
 #: config/v850/v850.c:2057
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to functions"
 msgstr "%qs 屬性只能套用於函式"
 
-#: config/arm/arm.c:18928
+#: config/arm/arm.c:18932
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.c:20667
+#: config/arm/arm.c:20679
 #, fuzzy, gcc-internal-format
 #| msgid "argument %qd is not a constant"
 msgid "argument must be a constant"
 msgstr "引數 %qd 不是一個常數"
 
 #. @@@ better error message
-#: config/arm/arm.c:21036 config/arm/arm.c:21073
+#: config/arm/arm.c:21049 config/arm/arm.c:21086
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "選擇子必須是立即數值"
 
 #. @@@ better error message
-#: config/arm/arm.c:21116
+#: config/arm/arm.c:21129
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "遮罩必須是一個立即數值"
 
-#: config/arm/arm.c:21900
+#: config/arm/arm.c:21913
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "高暫存器彈堆疊時沒有可用的低暫存器"
 
-#: config/arm/arm.c:22125
+#: config/arm/arm.c:22138
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
 
-#: config/arm/arm.c:24411
+#: config/arm/arm.c:24424
 #, gcc-internal-format
 msgid "the mangling of %<va_list%> has changed in GCC 4.4"
 msgstr ""
@@ -25127,91 +25127,91 @@ msgstr "函式沒有回傳一個值"
 msgid "%qs appears to be a misspelled %s handler"
 msgstr "%qs 似乎是一個拼寫錯的信號處理者"
 
-#: config/avr/avr.c:733
+#: config/avr/avr.c:743
 #, gcc-internal-format
 msgid "'builtin_return_address' contains only 2 bytes of address"
 msgstr ""
 
-#: config/avr/avr.c:1886
+#: config/avr/avr.c:1896
 #, gcc-internal-format
 msgid "pointer offset from symbol maybe incorrect"
 msgstr ""
 
-#: config/avr/avr.c:2009
+#: config/avr/avr.c:2019
 #, gcc-internal-format
 msgid "accessing data memory with program memory address"
 msgstr ""
 
-#: config/avr/avr.c:2058
+#: config/avr/avr.c:2068
 #, gcc-internal-format
 msgid "accessing program memory with data memory address"
 msgstr ""
 
-#: config/avr/avr.c:2464
+#: config/avr/avr.c:2474
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Number of registers used to pass integer arguments"
 msgid "fixed register %s used to pass parameter to function"
 msgstr "用以傳遞整數參數的暫存器個數"
 
-#: config/avr/avr.c:2586
+#: config/avr/avr.c:2596
 #, fuzzy, gcc-internal-format
 #| msgid "weak declaration of %q+D not supported"
 msgid "writing to address space %qs not supported"
 msgstr "不支援 %q+D 的弱宣告"
 
-#: config/avr/avr.c:6977
+#: config/avr/avr.c:6987
 #, gcc-internal-format
 msgid "%qT uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6980
+#: config/avr/avr.c:6990
 #, gcc-internal-format
 msgid "%s %q+D uses address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:6987
+#: config/avr/avr.c:6997
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %qT"
 msgstr ""
 
-#: config/avr/avr.c:6990
+#: config/avr/avr.c:7000
 #, gcc-internal-format
 msgid "pointer targeting address space %qs must be const in %s %q+D"
 msgstr ""
 
-#: config/avr/avr.c:7028
+#: config/avr/avr.c:7038
 #, gcc-internal-format
 msgid "variable %q+D located in address space %qs beyond flash of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7044
+#: config/avr/avr.c:7054
 #, gcc-internal-format
 msgid "variable %q+D must be const in order to be put into read-only section by means of %qs"
 msgstr ""
 
-#: config/avr/avr.c:7258
+#: config/avr/avr.c:7268
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "只有未初始化的變數才能放在 .noinit 區段中"
 
-#: config/avr/avr.c:7299
+#: config/avr/avr.c:7309
 #, fuzzy, gcc-internal-format
 #| msgid "initialized variable %q+D is marked dllimport"
 msgid "uninitialized variable %q+D put into program memory area"
 msgstr "經初始化的變數 %q+D 被標記為 dllimport"
 
-#: config/avr/avr.c:7366
+#: config/avr/avr.c:7376
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU %qs 只支援組譯器"
 
-#: config/avr/avr.c:10628
+#: config/avr/avr.c:10660
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "case label does not reduce to an integer constant"
 msgid "%s expects a compile time integer constant"
 msgstr "case 標籤不能還原為一個整常數"
 
-#: config/avr/avr.c:10642
+#: config/avr/avr.c:10674
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%s expects a compile time long integer constant as first argument"
@@ -25571,451 +25571,451 @@ msgstr "無法擴充 PCH 檔案:%m"
 msgid "can%'t set position in PCH file: %m"
 msgstr "不能在 PCH 檔案中設定位置:%m"
 
-#: config/i386/i386.c:3130 config/i386/i386.c:3434
+#: config/i386/i386.c:3135 config/i386/i386.c:3441
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -mtune= switch"
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "-mtune= 所帶參數(%s)不正確"
 
-#: config/i386/i386.c:3133
+#: config/i386/i386.c:3138
 #, gcc-internal-format, gfc-internal-format
 msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate"
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386.c:3163
+#: config/i386/i386.c:3168
 #, gcc-internal-format
 msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386.c:3184 config/i386/i386.c:3193 config/i386/i386.c:3205
-#: config/i386/i386.c:3216 config/i386/i386.c:3227
+#: config/i386/i386.c:3189 config/i386/i386.c:3198 config/i386/i386.c:3210
+#: config/i386/i386.c:3221 config/i386/i386.c:3232
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "程式碼模式 %qs 在 %s 位模式下不受支援"
 
-#: config/i386/i386.c:3196 config/i386/i386.c:3208
+#: config/i386/i386.c:3201 config/i386/i386.c:3213
 #, fuzzy, gcc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %qs not supported in x32 mode"
 msgstr "程式碼模式 %s 在 PIC 模式下不受支援"
 
-#: config/i386/i386.c:3214 config/i386/i386.c:3223
+#: config/i386/i386.c:3219 config/i386/i386.c:3228
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "code model %s not supported in PIC mode"
 msgid "code model %s does not support PIC mode"
 msgstr "程式碼模式 %s 在 PIC 模式下不受支援"
 
-#: config/i386/i386.c:3250
+#: config/i386/i386.c:3255
 #, fuzzy, gcc-internal-format
 #| msgid "-m%s not supported in this configuration"
 msgid "-masm=intel not supported in this configuration"
 msgstr "-m%s 在此配置下不受支援"
 
-#: config/i386/i386.c:3254
+#: config/i386/i386.c:3259
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "未編譯入對 %i 位模式的支援"
 
-#: config/i386/i386.c:3266 config/i386/i386.c:3396
+#: config/i386/i386.c:3271 config/i386/i386.c:3403
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "您選擇的 CPU 不支援 x86-64 指令集"
 
-#: config/i386/i386.c:3366
+#: config/i386/i386.c:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr ""
 
-#: config/i386/i386.c:3369
+#: config/i386/i386.c:3376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "bad value (%s) for -march= switch"
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "-march= 所帶參數(%s)不正確"
 
-#: config/i386/i386.c:3482
+#: config/i386/i386.c:3489
 #, gcc-internal-format
 msgid "-mregparm is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3485
+#: config/i386/i386.c:3492
 #, gcc-internal-format, gfc-internal-format
 msgid "-mregparm=%d is not between 0 and %d"
 msgstr "-mregparm=%d 不在 0 和 %d 之間"
 
-#: config/i386/i386.c:3526
+#: config/i386/i386.c:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386.c:3590
+#: config/i386/i386.c:3597
 #, fuzzy, gcc-internal-format
 #| msgid "-fprefetch-loop-arrays not supported for this target"
 msgid "-mpreferred-stack-boundary is not supported for this target"
 msgstr "-fprefetch-loop-arrays 在此目標平臺上不受支援"
 
-#: config/i386/i386.c:3593
+#: config/i386/i386.c:3600
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
 msgstr "-mpreferred-stack-boundary=%d 不在 %d 和 12 之間"
 
-#: config/i386/i386.c:3614
+#: config/i386/i386.c:3621
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mpreferred-stack-boundary=%d 不在 %d 和 12 之間"
 
-#: config/i386/i386.c:3628
+#: config/i386/i386.c:3635
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "-msseregparm used without SSE enabled"
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "使用了 -msseregparm 卻沒有啟用 SEE"
 
-#: config/i386/i386.c:3636
+#: config/i386/i386.c:3643
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE 指令集已停用,使用 387 指令"
 
-#: config/i386/i386.c:3641
+#: config/i386/i386.c:3648
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387 指令集已停用,使用 SSE 指令"
 
-#: config/i386/i386.c:3685
+#: config/i386/i386.c:3692
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "解捲表目前需要框架指標或 -maccumulate-outgoing-args 來保證正確性"
 
-#: config/i386/i386.c:3698
+#: config/i386/i386.c:3705
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "解捲表目前需要框架指標或 -maccumulate-outgoing-args 來保證正確性"
 
-#: config/i386/i386.c:3779
+#: config/i386/i386.c:3786
 #, gcc-internal-format
 msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
 msgstr ""
 
-#: config/i386/i386.c:3786
+#: config/i386/i386.c:3793
 #, gcc-internal-format
 msgid "-mno-fentry isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386.c:3856 config/rs6000/rs6000.c:3331
+#: config/i386/i386.c:3863 config/rs6000/rs6000.c:3330
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "unknown -m%s= option specified: '%s'"
 msgid "unknown option for -mrecip=%s"
 msgstr "指定了不明的 -m%s= 選項:「%s」"
 
-#: config/i386/i386.c:4271 config/i386/i386.c:4318
+#: config/i386/i386.c:4278 config/i386/i386.c:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr ""
 
-#: config/i386/i386.c:4299
+#: config/i386/i386.c:4306
 #, gcc-internal-format, gfc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr ""
 
-#: config/i386/i386.c:4907 config/i386/i386.c:4958
+#: config/i386/i386.c:4914 config/i386/i386.c:4965
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall 和 regparm 屬性互不相容"
 
-#: config/i386/i386.c:4912
+#: config/i386/i386.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "regparam and thiscall attributes are not compatible"
 msgstr "fastcall 和 stdcall 屬性互不相容"
 
-#: config/i386/i386.c:4919 config/i386/i386.c:31819
+#: config/i386/i386.c:4926 config/i386/i386.c:31949
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qE attribute requires an integer constant argument"
 msgstr "%qs 屬性需要一個整常數做為引數"
 
-#: config/i386/i386.c:4925
+#: config/i386/i386.c:4932
 #, fuzzy, gcc-internal-format
 #| msgid "argument to %qs attribute larger than %d"
 msgid "argument to %qE attribute larger than %d"
 msgstr "%qs 屬性的引數大於 %d"
 
-#: config/i386/i386.c:4950 config/i386/i386.c:4993
+#: config/i386/i386.c:4957 config/i386/i386.c:5000
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall 和 cdecl 屬性互不相容"
 
-#: config/i386/i386.c:4954
+#: config/i386/i386.c:4961
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall 和 stdcall 屬性互不相容"
 
-#: config/i386/i386.c:4962 config/i386/i386.c:5011
+#: config/i386/i386.c:4969 config/i386/i386.c:5018
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr "fastcall 和 stdcall 屬性互不相容"
 
-#: config/i386/i386.c:4972 config/i386/i386.c:4989
+#: config/i386/i386.c:4979 config/i386/i386.c:4996
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall 和 cdecl 屬性互不相容"
 
-#: config/i386/i386.c:4976
+#: config/i386/i386.c:4983
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "stdcall 和 fastcall 屬性互不相容"
 
-#: config/i386/i386.c:4980 config/i386/i386.c:5007
+#: config/i386/i386.c:4987 config/i386/i386.c:5014
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr "stdcall 和 fastcall 屬性互不相容"
 
-#: config/i386/i386.c:4997 config/i386/i386.c:5015
+#: config/i386/i386.c:5004 config/i386/i386.c:5022
 #, fuzzy, gcc-internal-format
 #| msgid "stdcall and fastcall attributes are not compatible"
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr "stdcall 和 fastcall 屬性互不相容"
 
-#: config/i386/i386.c:5003
+#: config/i386/i386.c:5010
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qE attribute is used for none class-method"
 msgstr "%qE 屬性在不是類別的類型上被忽略"
 
-#: config/i386/i386.c:5229
+#: config/i386/i386.c:5236
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "帶屬性 sseregparm 呼叫 %qD 卻沒有啟用 SSE/SSE2"
 
-#: config/i386/i386.c:5232
+#: config/i386/i386.c:5239
 #, fuzzy, gcc-internal-format
 #| msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "帶屬性 sseregparm 呼叫 %qT 卻沒有啟用 SSE/SSE2"
 
-#: config/i386/i386.c:5447
+#: config/i386/i386.c:5454
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "ms_hook_prologue is not compatible with nested function"
 msgstr "-march=%s 與所選 ABI 不相容"
 
-#: config/i386/i386.c:5599
+#: config/i386/i386.c:5606
 #, gcc-internal-format
 msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
 msgstr ""
 
-#: config/i386/i386.c:5723
+#: config/i386/i386.c:5730
 #, fuzzy, gcc-internal-format
 #| msgid "MMX vector argument without MMX enabled changes the ABI"
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr "沒有啟用 MMX,卻出現了 MMX 向量引數,這變更了 ABI"
 
-#: config/i386/i386.c:5905
+#: config/i386/i386.c:5912
 #, gcc-internal-format
 msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6021
+#: config/i386/i386.c:6028
 #, gcc-internal-format
 msgid "the ABI of passing union with long double has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6136
+#: config/i386/i386.c:6143
 #, gcc-internal-format
 msgid "the ABI of passing structure with complex float member has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.c:6282
+#: config/i386/i386.c:6289
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "已停用 SSE 卻在 SSE 暫存器中回傳"
 
-#: config/i386/i386.c:6288
+#: config/i386/i386.c:6295
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "已停用 SSE 卻在 SSE 暫存器中傳遞參數"
 
-#: config/i386/i386.c:6304
+#: config/i386/i386.c:6311
 #, fuzzy, gcc-internal-format
 #| msgid "SSE register return with SSE disabled"
 msgid "x87 register return with x87 disabled"
 msgstr "已停用 SSE 卻在 SSE 暫存器中回傳"
 
-#: config/i386/i386.c:6683
+#: config/i386/i386.c:6690
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "沒有啟用 SSE,卻出現了 SSE 向量引數,這變更了 ABI"
 
-#: config/i386/i386.c:6721
+#: config/i386/i386.c:6728
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "沒有啟用 MMX,卻出現了 MMX 向量引數,這變更了 ABI"
 
-#: config/i386/i386.c:7096
+#: config/i386/i386.c:7103
 #, gcc-internal-format, gfc-internal-format
 msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
 msgstr ""
 
-#: config/i386/i386.c:7432
+#: config/i386/i386.c:7439
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "沒有啟用 SSE,卻有 SSE 向量回傳值,這變更了 ABI"
 
-#: config/i386/i386.c:7442
+#: config/i386/i386.c:7449
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "沒有啟用 MMX卻回傳 MMX 向量,這變更了 ABI"
 
-#: config/i386/i386.c:10028
+#: config/i386/i386.c:10049
 #, gcc-internal-format
 msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit"
 msgstr ""
 
-#: config/i386/i386.c:11025
+#: config/i386/i386.c:11084
 #, gcc-internal-format
 msgid "-fsplit-stack does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.c:11039
+#: config/i386/i386.c:11098
 #, gcc-internal-format
 msgid "-fsplit-stack does not support 2 register  parameters for a nested function"
 msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.c:11050
+#: config/i386/i386.c:11109
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C90 does not support flexible array members"
 msgid "-fsplit-stack does not support 3 register parameters"
 msgstr "ISO C90 不允許彈性陣列成員"
 
-#: config/i386/i386.c:13637
+#: config/i386/i386.c:13731
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "擴充的暫存器沒有高半部分"
 
-#: config/i386/i386.c:13652
+#: config/i386/i386.c:13746
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "擴充的暫存器不支援的運算元大小"
 
-#: config/i386/i386.c:13899
+#: config/i386/i386.c:14001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid operand code '%c'"
 msgid "non-integer operand used with operand code '%c'"
 msgstr "無效的運算元程式碼「%c」"
 
-#: config/i386/i386.c:27790 config/i386/i386.c:28727
+#: config/i386/i386.c:27920 config/i386/i386.c:28857
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 2-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28196
+#: config/i386/i386.c:28326
 #, fuzzy, gcc-internal-format
 #| msgid "shift must be an immediate"
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr "偏移值必須是立即數值"
 
-#: config/i386/i386.c:28291
+#: config/i386/i386.c:28421
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the third argument must be an 8-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28699
+#: config/i386/i386.c:28829
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 1-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28718
+#: config/i386/i386.c:28848
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "the last argument must be a 4-bit immediate"
 msgstr "引數 3 必須是一個 4 位無號字面值"
 
-#: config/i386/i386.c:28736
+#: config/i386/i386.c:28866
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 1-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28745
+#: config/i386/i386.c:28875
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 5-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28754
+#: config/i386/i386.c:28884
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28758 config/i386/i386.c:28982
+#: config/i386/i386.c:28888 config/i386/i386.c:29112
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be an 8-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:28980
+#: config/i386/i386.c:29110
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 must be a 5-bit signed literal"
 msgid "the last argument must be a 32-bit immediate"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/i386/i386.c:29048 config/rs6000/rs6000.c:10551
+#: config/i386/i386.c:29178 config/rs6000/rs6000.c:10550
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "選擇子必須是 0 到 %wi 間的整常數"
 
-#: config/i386/i386.c:29191
+#: config/i386/i386.c:29321
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386.c:29195
+#: config/i386/i386.c:29325
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386.c:29366
+#: config/i386/i386.c:29496
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "last argument must be an immediate"
 msgstr "遮罩必須是一個立即數值"
 
-#: config/i386/i386.c:29560
+#: config/i386/i386.c:29690
 #, gcc-internal-format
 msgid "last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386.c:31806
+#: config/i386/i386.c:31936
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "%qE attribute only available for 32-bit"
 msgstr "%qs 屬性只能為變數使用"
 
-#: config/i386/i386.c:31827
+#: config/i386/i386.c:31957
 #, fuzzy, gcc-internal-format
 #| msgid "argument of %qs attribute is not a string constant"
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr "%qs 屬性的引數不是一個字串常數"
 
-#: config/i386/i386.c:31861 config/i386/i386.c:31870
+#: config/i386/i386.c:31991 config/i386/i386.c:32000
 #, fuzzy, gcc-internal-format
 #| msgid "fastcall and stdcall attributes are not compatible"
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "fastcall 和 stdcall 屬性互不相容"
 
-#: config/i386/i386.c:31907 config/rs6000/rs6000.c:24330
+#: config/i386/i386.c:32037 config/rs6000/rs6000.c:24353
 #, fuzzy, gcc-internal-format
 #| msgid "%qs incompatible attribute ignored"
 msgid "%qE incompatible attribute ignored"
@@ -26094,13 +26094,13 @@ msgstr "%J不能為函式指定位址區域屬性"
 msgid "%qE attribute requires a string constant argument"
 msgstr "%qs 屬性需要一個整常數做為引數"
 
-#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8750
+#: config/ia64/ia64.c:5741 config/pa/pa.c:415 config/sh/sh.c:8753
 #: config/spu/spu.c:5187
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "-mfixed-range 值必須有「暫存器1-暫存器2」的形式"
 
-#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8776
+#: config/ia64/ia64.c:5768 config/pa/pa.c:442 config/sh/sh.c:8779
 #: config/spu/spu.c:5213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
@@ -26176,7 +26176,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr "%qE 屬性在此平台上不受支援"
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.c:3169 config/sh/sh.c:8957 config/sh/sh.c:9063
+#: config/m32c/m32c.c:3169 config/sh/sh.c:8960 config/sh/sh.c:9066
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument not an integer constant"
@@ -26239,7 +26239,7 @@ msgstr "指定了多個函式類型屬性"
 msgid "interrupt_thread is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18607
+#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:18606
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "不支援堆疊限制運算式"
@@ -26615,67 +26615,67 @@ msgstr "對 MMIX 的 function_profiler 支援"
 msgid "%qs does not support MIPS16 code"
 msgstr "%s 不支援 %s"
 
-#: config/mips/mips.c:15623
+#: config/mips/mips.c:15629
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15626
+#: config/mips/mips.c:15632
 #, gcc-internal-format
 msgid "MIPS16 -mxgot code"
 msgstr ""
 
-#: config/mips/mips.c:15629
+#: config/mips/mips.c:15635
 #, gcc-internal-format
 msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.c:15818
+#: config/mips/mips.c:15824
 #, fuzzy, gcc-internal-format
 #| msgid "-%s conflicts with the other architecture options, which specify a %s processor"
 msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
 msgstr "-%s 與指定了 %s 處理器的其它架構選項衝突"
 
-#: config/mips/mips.c:15828
+#: config/mips/mips.c:15834
 #, fuzzy, gcc-internal-format
 #| msgid "-march=%s is not compatible with the selected ABI"
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr "-march=%s 與所選 ABI 不相容"
 
-#: config/mips/mips.c:15843
+#: config/mips/mips.c:15849
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit processor"
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr "-mgp64 與 32 位元處理器一起使用"
 
-#: config/mips/mips.c:15845
+#: config/mips/mips.c:15851
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp32 used with a 64-bit ABI"
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr "-mgp32 與 64 位元 ABI 一起使用"
 
-#: config/mips/mips.c:15847
+#: config/mips/mips.c:15853
 #, fuzzy, gcc-internal-format
 #| msgid "-mgp64 used with a 32-bit ABI"
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr "-mgp64 與 32 位元 ABI 一起使用"
 
-#: config/mips/mips.c:15863 config/mips/mips.c:15865 config/mips/mips.c:15956
+#: config/mips/mips.c:15869 config/mips/mips.c:15871 config/mips/mips.c:15962
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr "不支援的組合:%s"
 
-#: config/mips/mips.c:15869
+#: config/mips/mips.c:15875
 #, 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:15872
+#: config/mips/mips.c:15878
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.c:15895 config/mips/mips.c:15897 config/mips/mips.c:15910
+#: config/mips/mips.c:15901 config/mips/mips.c:15903 config/mips/mips.c:15916
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "%qs is incompatible with %qs"
@@ -26686,64 +26686,64 @@ msgstr "assert:%s 與 %s 賦值相容"
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.c:15904
+#: config/mips/mips.c:15910
 #, fuzzy, gcc-internal-format
 #| msgid "assert: %s is assign compatible with %s"
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr "assert:%s 與 %s 賦值相容"
 
-#: config/mips/mips.c:15950
+#: config/mips/mips.c:15956
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr "目的 CPU 不支援 THUMB 指令"
 
-#: config/mips/mips.c:15990
+#: config/mips/mips.c:15996
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.c:15998 config/mips/mips.c:16001
+#: config/mips/mips.c:16004 config/mips/mips.c:16007
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.c:16015
+#: config/mips/mips.c:16021
 #, fuzzy, gcc-internal-format
 #| msgid "-mips3d requires -mpaired-single"
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "-mips3d 需要 -mpaired-single"
 
-#: config/mips/mips.c:16024
+#: config/mips/mips.c:16030
 #, fuzzy, gcc-internal-format
 #| msgid "-frepo must be used with -c"
 msgid "%qs must be used with %qs"
 msgstr "-frepo 必須與 -c 一起使用"
 
-#: config/mips/mips.c:16031
+#: config/mips/mips.c:16037
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "目的 CPU 不支援 THUMB 指令"
 
-#: config/mips/mips.c:16037
+#: config/mips/mips.c:16043
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.c:16142
+#: config/mips/mips.c:16148
 #, fuzzy, gcc-internal-format
 #| msgid "Use the bit-field instructions"
 msgid "%qs requires branch-likely instructions"
 msgstr "使用位元段指令"
 
-#: config/mips/mips.c:16146
+#: config/mips/mips.c:16152
 #, fuzzy, gcc-internal-format
 #| msgid "target CPU does not support THUMB instructions"
 msgid "the %qs architecture does not support the synci instruction"
 msgstr "目的 CPU 不支援 THUMB 指令"
 
-#: config/mips/mips.c:16596
+#: config/mips/mips.c:16602
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 函式取樣"
@@ -27031,328 +27031,328 @@ msgstr "傳遞參數 %d (屬於 %qE)時丟棄了指標目的類型的類型限
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "對 AltiVec 內建函式來說無效的參陣列合"
 
-#: config/rs6000/rs6000.c:2436
+#: config/rs6000/rs6000.c:2435
 #, gcc-internal-format
 msgid "-mrecip requires -ffinite-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2438
+#: config/rs6000/rs6000.c:2437
 #, gcc-internal-format
 msgid "-mrecip requires -fno-trapping-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2440
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "-mrecip requires -freciprocal-math or -ffast-math"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2535
+#: config/rs6000/rs6000.c:2534
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 需要 PowerPC64 架構,正在啟用"
 
-#: config/rs6000/rs6000.c:2616
+#: config/rs6000/rs6000.c:2615
 #, 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:2622
+#: config/rs6000/rs6000.c:2621
 #, fuzzy, gcc-internal-format
 #| msgid "not configured for ABI: '%s'"
 msgid "not configured for SPE ABI"
 msgstr "沒有為此 ABI 配置:「%s」"
 
-#: config/rs6000/rs6000.c:2710
+#: config/rs6000/rs6000.c:2709
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "AltiVec not supported in this target"
 msgstr "堆疊限制在此目標平臺上不受支援"
 
-#: config/rs6000/rs6000.c:2712
+#: config/rs6000/rs6000.c:2711
 #, fuzzy, gcc-internal-format
 #| msgid "stack limits not supported on this target"
 msgid "SPE not supported in this target"
 msgstr "堆疊限制在此目標平臺上不受支援"
 
-#: config/rs6000/rs6000.c:2739
+#: config/rs6000/rs6000.c:2738
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple 在低位位元組在前的系統上不受支援"
 
-#: config/rs6000/rs6000.c:2746
+#: config/rs6000/rs6000.c:2745
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring 在低位位元組在前的系統上不受支援"
 
-#: config/rs6000/rs6000.c:2852
+#: config/rs6000/rs6000.c:2851
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2864
+#: config/rs6000/rs6000.c:2863
 #, gcc-internal-format
 msgid "target attribute or pragma changes long double size"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2885 config/rs6000/rs6000.c:2900
+#: config/rs6000/rs6000.c:2884 config/rs6000/rs6000.c:2899
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2917
+#: config/rs6000/rs6000.c:2916
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:2958
+#: config/rs6000/rs6000.c:2957
 #, gcc-internal-format
 msgid "target attribute or pragma changes SPE ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3281
+#: config/rs6000/rs6000.c:3280
 #, gcc-internal-format
 msgid "target attribute or pragma changes single precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:3284
+#: config/rs6000/rs6000.c:3283
 #, gcc-internal-format
 msgid "target attribute or pragma changes double precision floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7420
+#: config/rs6000/rs6000.c:7419
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 回傳向量參照:非標準的 ABI 擴充,不保證相容性"
 
-#: config/rs6000/rs6000.c:7561
+#: config/rs6000/rs6000.c:7560
 #, 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:7904
+#: config/rs6000/rs6000.c:7903
 #, 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:8830
+#: config/rs6000/rs6000.c:8829
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 傳遞向量參照:非標準的 ABI 擴充,不保證相容性"
 
-#: config/rs6000/rs6000.c:9459
+#: config/rs6000/rs6000.c:9458
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Treat the input file as already preprocessed"
 msgid "internal error: builtin function %s already processed"
 msgstr "將輸入檔案當作已經預先處理過的"
 
-#: config/rs6000/rs6000.c:9832
+#: config/rs6000/rs6000.c:9831
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "引數 1 必須是一個 5 位有號字面值"
 
-#: config/rs6000/rs6000.c:9935 config/rs6000/rs6000.c:10952
+#: config/rs6000/rs6000.c:9934 config/rs6000/rs6000.c:10951
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "引數 2 必須是一個 5 位無號字面值"
 
-#: config/rs6000/rs6000.c:9974
+#: config/rs6000/rs6000.c:9973
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "__builtin_altivec_predicate 的第一個引數必須是常數"
 
-#: config/rs6000/rs6000.c:10026
+#: config/rs6000/rs6000.c:10025
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "__builtin_altivec_predicate 的第 1 個引數越界"
 
-#: config/rs6000/rs6000.c:10283
+#: config/rs6000/rs6000.c:10282
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "引數 3 必須是一個 4 位無號字面值"
 
-#: config/rs6000/rs6000.c:10301
+#: config/rs6000/rs6000.c:10300
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 2-bit unsigned literal"
 msgstr "引數 3 必須是一個 4 位無號字面值"
 
-#: config/rs6000/rs6000.c:10313
+#: config/rs6000/rs6000.c:10312
 #, fuzzy, gcc-internal-format
 #| msgid "argument 3 must be a 4-bit unsigned literal"
 msgid "argument 3 must be a 1-bit unsigned literal"
 msgstr "引數 3 必須是一個 4 位無號字面值"
 
-#: config/rs6000/rs6000.c:10496
+#: config/rs6000/rs6000.c:10495
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "%qs 的引數必須是一個 2 位無號原文"
 
-#: config/rs6000/rs6000.c:10637
+#: config/rs6000/rs6000.c:10636
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:10743
+#: config/rs6000/rs6000.c:10742
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "dss 的引數必須是一個 2 位無號原文"
 
-#: config/rs6000/rs6000.c:11072
+#: config/rs6000/rs6000.c:11071
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "__builtin_spe_predicate 的第一個引數必須是常數"
 
-#: config/rs6000/rs6000.c:11119
+#: config/rs6000/rs6000.c:11118
 #, fuzzy, gcc-internal-format
 #| msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "__builtin_spe_predicate 的第 1 個引數越界"
 
-#: config/rs6000/rs6000.c:11144
+#: config/rs6000/rs6000.c:11143
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "__builtin_spe_predicate 的第一個引數必須是常數"
 
-#: config/rs6000/rs6000.c:11216
+#: config/rs6000/rs6000.c:11215
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "__builtin_spe_predicate 的第 1 個引數越界"
 
-#: config/rs6000/rs6000.c:11298
+#: config/rs6000/rs6000.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "this builtin function is only available on the fr450"
 msgid "Builtin function %s is only valid for the cell processor"
 msgstr "此內建函式只在 fr450 上可用"
 
-#: config/rs6000/rs6000.c:11300
+#: config/rs6000/rs6000.c:11299
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mvsx option"
 msgstr "內建函式 %q+D 未被宣告為函式"
 
-#: config/rs6000/rs6000.c:11302
+#: config/rs6000/rs6000.c:11301
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -maltivec option"
 msgstr "內建函式 %q+D 未被宣告為函式"
 
-#: config/rs6000/rs6000.c:11304
+#: config/rs6000/rs6000.c:11303
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mpaired option"
 msgstr "內建函式 %q+D 未被宣告為函式"
 
-#: config/rs6000/rs6000.c:11306
+#: config/rs6000/rs6000.c:11305
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "built-in function %q+D declared as non-function"
 msgid "Builtin function %s requires the -mspe option"
 msgstr "內建函式 %q+D 未被宣告為函式"
 
-#: config/rs6000/rs6000.c:11308
+#: config/rs6000/rs6000.c:11307
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "command line option %qs is not supported by this configuration"
 msgid "Builtin function %s is not supported with the current options"
 msgstr "此配置不支援命令列選項 %qs"
 
-#: config/rs6000/rs6000.c:12568
+#: config/rs6000/rs6000.c:12567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot disable built-in function %qs"
 msgid "internal error: builtin function %s had no type"
 msgstr "無法停用內建函式 %qs"
 
-#: config/rs6000/rs6000.c:12575
+#: config/rs6000/rs6000.c:12574
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s had an unexpected return type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:12591
+#: config/rs6000/rs6000.c:12590
 #, gcc-internal-format, gfc-internal-format
 msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
 msgstr ""
 
-#: config/rs6000/rs6000.c:18577
+#: config/rs6000/rs6000.c:18576
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "堆疊框架太大"
 
-#: config/rs6000/rs6000.c:22051
+#: config/rs6000/rs6000.c:22050
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "此 ABI 不支援取樣 64 位元程式碼"
 
-#: config/rs6000/rs6000.c:24036
+#: config/rs6000/rs6000.c:24059
 #, gcc-internal-format
 msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option."
 msgstr ""
 
-#: config/rs6000/rs6000.c:24117
+#: config/rs6000/rs6000.c:24140
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "在 AltiVec 類型中使用 %<long double%> 無效"
 
-#: config/rs6000/rs6000.c:24119
+#: config/rs6000/rs6000.c:24142
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "在 AltiVec 類型中使用布林類型無效"
 
-#: config/rs6000/rs6000.c:24121
+#: config/rs6000/rs6000.c:24144
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "在 AltiVec 類型中使用 %<complex%> 無效"
 
-#: config/rs6000/rs6000.c:24123
+#: config/rs6000/rs6000.c:24146
 #, fuzzy, gcc-internal-format
 #| msgid "use of boolean types in AltiVec types is invalid"
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "在 AltiVec 類型中使用布林類型無效"
 
-#: config/rs6000/rs6000.c:24129
+#: config/rs6000/rs6000.c:24152
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
 msgstr "對於 64 位元程式碼在 AltiVec 類型中使用 %<long%> 無效"
 
-#: config/rs6000/rs6000.c:24132
+#: config/rs6000/rs6000.c:24155
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "在 AltiVec 類型中使用 %<long%> 已過時;請改用 %<int%>"
 
-#: config/rs6000/rs6000.c:24137
+#: config/rs6000/rs6000.c:24160
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<long long%> in AltiVec types is invalid"
 msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
 msgstr "在 AltiVec 類型中使用 %<long long%> 無效"
 
-#: config/rs6000/rs6000.c:24140
+#: config/rs6000/rs6000.c:24163
 #, fuzzy, gcc-internal-format
 #| msgid "use of %<double%> in AltiVec types is invalid"
 msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
 msgstr "在 AltiVec 類型中使用 %<double%> 無效"
 
-#: config/rs6000/rs6000.c:26979
+#: config/rs6000/rs6000.c:27002
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:26983
+#: config/rs6000/rs6000.c:27006
 #, gcc-internal-format, gfc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
 msgstr ""
 
-#: config/rs6000/rs6000.c:27207
+#: config/rs6000/rs6000.c:27230
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid cpu \"%s\" for %s\"%s\"%s"
 msgstr "錯誤地使用了 %<::%>"
 
-#: config/rs6000/rs6000.c:27210
+#: config/rs6000/rs6000.c:27233
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%<#pragma%> is not allowed here"
 msgid "%s\"%s\"%s is not allowed"
 msgstr "在這裡不允許使用 %<#pragma%>"
 
-#: config/rs6000/rs6000.c:27212
+#: config/rs6000/rs6000.c:27235
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "spec '%s' is invalid"
 msgid "%s\"%s\"%s is invalid"
@@ -27594,69 +27594,69 @@ msgstr "%qs 的框架大小是"
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs 使用動態堆疊指派"
 
-#: config/sh/sh.c:775
+#: config/sh/sh.c:768
 #, gcc-internal-format
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "忽略 -fschedule-insns 以繞開異常處理的缺陷"
 
-#: config/sh/sh.c:796
+#: config/sh/sh.c:784
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "解捲表目前需要框架指標或 -maccumulate-outgoing-args 來保證正確性"
 
-#: config/sh/sh.c:7674
+#: config/sh/sh.c:7677
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs 在此子目的上不受支援"
 
-#: config/sh/sh.c:8838
+#: config/sh/sh.c:8841
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to interrupt functions"
 msgid "%qE attribute only applies to interrupt functions"
 msgstr "%qs 屬性只能套用到插斷函式上"
 
-#: config/sh/sh.c:8896
+#: config/sh/sh.c:8899
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute is not supported on this platform"
 msgid "%qE attribute is supported only for SH2A"
 msgstr "%qE 屬性在此平台上不受支援"
 
-#: config/sh/sh.c:8926
+#: config/sh/sh.c:8929
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "屬性 interrupt_handler 與 -m5-compact 不相容"
 
-#: config/sh/sh.c:8943
+#: config/sh/sh.c:8946
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to functions"
 msgid "%qE attribute only applies to SH2A"
 msgstr "%qs 屬性只能套用於函式"
 
-#: config/sh/sh.c:8965
+#: config/sh/sh.c:8968
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not an integer constant"
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr "%qs 屬性的參數不是一個整型常數"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:9038
+#: config/sh/sh.c:9041
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute argument not a string constant"
 msgid "%qE attribute argument not a string constant"
 msgstr "%qs 屬性的參數不是一個字串常數"
 
-#: config/sh/sh.c:11618
+#: config/sh/sh.c:11621
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 需要做為呼叫篡改的暫存器"
 
-#: config/sh/sh.c:11639
+#: config/sh/sh.c:11642
 #, fuzzy, gcc-internal-format
 #| msgid "Need a second call-clobbered general purpose register"
 msgid "need a second call-clobbered general purpose register"
 msgstr "需要另一個呼叫篡改的通用暫存器"
 
-#: config/sh/sh.c:11647
+#: config/sh/sh.c:11650
 #, fuzzy, gcc-internal-format
 #| msgid "Need a call-clobbered target register"
 msgid "need a call-clobbered target register"
@@ -27786,13 +27786,13 @@ msgstr "屬性 %<__BELOW100__%> 只對變數類型起作用"
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ 屬性不允許用於自動存儲類別"
 
-#: config/tilegx/tilegx.c:3397 config/tilepro/tilepro.c:3101
+#: config/tilegx/tilegx.c:3398 config/tilepro/tilepro.c:3101
 #, fuzzy, gcc-internal-format
 #| msgid "bad builtin fcode"
 msgid "bad builtin icode"
 msgstr "錯誤的內建 fcode"
 
-#: config/tilegx/tilegx.c:3438 config/tilepro/tilepro.c:3127
+#: config/tilegx/tilegx.c:3439 config/tilepro/tilepro.c:3127
 #, fuzzy, gcc-internal-format
 #| msgid "mask must be an immediate"
 msgid "operand must be an immediate of the right size"
@@ -28022,43 +28022,43 @@ msgstr "%<-gnat%> 被錯誤地拼寫為 %<-gant%>"
 msgid "-fexcess-precision=standard for Ada"
 msgstr ""
 
-#: ada/gcc-interface/utils.c:5312 ada/gcc-interface/utils.c:5487
-#: ada/gcc-interface/utils.c:5529 ada/gcc-interface/utils.c:5583
+#: ada/gcc-interface/utils.c:5303 ada/gcc-interface/utils.c:5478
+#: ada/gcc-interface/utils.c:5520 ada/gcc-interface/utils.c:5574
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "忽略 %qs 屬性"
 
-#: ada/gcc-interface/utils.c:5430
+#: ada/gcc-interface/utils.c:5421
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute requires prototypes with named arguments"
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr "%qE 屬性需要帶具名引數的原型"
 
-#: ada/gcc-interface/utils.c:5439
+#: ada/gcc-interface/utils.c:5430
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute only applies to variadic functions"
 msgid "%qs attribute only applies to variadic functions"
 msgstr "%qE 屬性只能用於帶可變參數函式"
 
-#: ada/gcc-interface/utils.c:5510
+#: ada/gcc-interface/utils.c:5501
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored"
 msgid "%qE attribute has no effect"
 msgstr "%qE 屬性被忽略"
 
-#: ada/gcc-interface/utils.c:5616
+#: ada/gcc-interface/utils.c:5607
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid vector type for attribute %qs"
 msgstr "屬性 %qE 的向量類型無效"
 
-#: ada/gcc-interface/utils.c:5679
+#: ada/gcc-interface/utils.c:5670
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute only applies to variables"
 msgid "attribute %qs applies to array types only"
 msgstr "%qs 屬性只能為變數使用"
 
-#: ada/gcc-interface/utils.c:5706
+#: ada/gcc-interface/utils.c:5697
 #, fuzzy, gcc-internal-format
 #| msgid "invalid vector type for attribute %qE"
 msgid "invalid element type for attribute %qs"
@@ -28532,7 +28532,7 @@ msgstr "沒有物件無法呼叫成員函式 %qD"
 msgid "passing %qT chooses %qT over %qT"
 msgstr "傳遞 %qT 時選擇 %qT 而不是 %qT"
 
-#: cp/call.c:8070 cp/name-lookup.c:5495
+#: cp/call.c:8070 cp/name-lookup.c:5500
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  在呼叫 %qD 時"
@@ -28597,439 +28597,439 @@ msgstr "將類型為 %qT 的非 const 參照初始化為類型為 %qT 的臨時
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "將類型為 %qT 的參照初始化為類型為 %qT 的運算式無效"
 
-#: cp/class.c:296
+#: cp/class.c:297
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "無法從基礎類別 %qT 轉換到衍生類別 %qT,透過虛基礎類別 %qT"
 
-#: cp/class.c:998
+#: cp/class.c:999
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java 類別 %qT 不能有解構函式"
 
-#: cp/class.c:1000
+#: cp/class.c:1001
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java 類別 %qT 不能有隱含的非平凡的解構函式"
 
-#: cp/class.c:1103
+#: cp/class.c:1104
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D 無法被多載"
 
-#: cp/class.c:1104
+#: cp/class.c:1105
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "與 %q+#D"
 
-#: cp/class.c:1173
+#: cp/class.c:1174
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "方法 %q+D 的權限設定衝突,已忽略"
 
-#: cp/class.c:1176
+#: cp/class.c:1177
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "欄位 %qE 的權限設定衝突,已忽略"
 
-#: cp/class.c:1238 cp/class.c:1246
+#: cp/class.c:1239 cp/class.c:1247
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D 無效,在 %q#T 中"
 
-#: cp/class.c:1239
+#: cp/class.c:1240
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr " 因為局部方法 %q+#D 與之同名"
 
-#: cp/class.c:1247
+#: cp/class.c:1248
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr " 因為局部成員 %q+#D 與之同名"
 
-#: cp/class.c:1291
+#: cp/class.c:1292
 #, fuzzy, gcc-internal-format
 #| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgid "cannot derive from %<final%> base %qT in derived type %qT"
 msgstr "無法從基礎類別 %qT 轉換到衍生類別 %qT,透過虛基礎類別 %qT"
 
-#: cp/class.c:1303
+#: cp/class.c:1304
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "基礎類別 %q#T 有一個非虛解構函式"
 
-#: cp/class.c:1707
+#: cp/class.c:1708
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "類別 %qT 中所有成員函式都是私有的"
 
-#: cp/class.c:1719
+#: cp/class.c:1720
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T 僅定義了一個私有解構函式且沒有夥伴"
 
-#: cp/class.c:1764
+#: cp/class.c:1765
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T 僅定義了一個私有建構式且沒有夥伴"
 
-#: cp/class.c:2157
+#: cp/class.c:2158
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "%qD 的最終多載在 %qT 中不唯一"
 
-#: cp/class.c:2524
+#: cp/class.c:2525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D defined but not used"
 msgid "%q+#D marked final, but is not virtual"
 msgstr "%q+D 定義後未使用"
 
-#: cp/class.c:2526
+#: cp/class.c:2527
 #, gcc-internal-format
 msgid "%q+#D marked override, but does not override"
 msgstr ""
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2595
+#: cp/class.c:2596
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D 被隱藏"
 
-#: cp/class.c:2596
+#: cp/class.c:2597
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  為 %q+D"
 
-#: cp/class.c:2639 cp/decl2.c:1359
+#: cp/class.c:2640 cp/decl2.c:1359
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D 無效;匿名聯合只能有非靜態的資料成員"
 
-#: cp/class.c:2642
+#: cp/class.c:2643
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D 無效;匿名聯合只能有非靜態的資料成員"
 
-#: cp/class.c:2650 cp/decl2.c:1365
+#: cp/class.c:2651 cp/decl2.c:1365
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "匿名聯合中出現私有成員 %q+#D"
 
-#: cp/class.c:2652
+#: cp/class.c:2653
 #, fuzzy, gcc-internal-format
 #| msgid "private member %q+#D in anonymous union"
 msgid "private member %q+#D in anonymous struct"
 msgstr "匿名聯合中出現私有成員 %q+#D"
 
-#: cp/class.c:2657 cp/decl2.c:1367
+#: cp/class.c:2658 cp/decl2.c:1367
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "匿名聯合中出現保護成員 %q+#D"
 
-#: cp/class.c:2659
+#: cp/class.c:2660
 #, fuzzy, gcc-internal-format
 #| msgid "protected member %q+#D in anonymous union"
 msgid "protected member %q+#D in anonymous struct"
 msgstr "匿名聯合中出現保護成員 %q+#D"
 
-#: cp/class.c:2887
+#: cp/class.c:2904
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "位元段 %q+#D 有非整數的類型"
 
-#: cp/class.c:2903
+#: cp/class.c:2920
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "位元段 %q+D 的寬度不是一個整數常數"
 
-#: cp/class.c:2908
+#: cp/class.c:2925
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "位元段 %q+D 寬度為負"
 
-#: cp/class.c:2913
+#: cp/class.c:2930
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "位元段 %q+D 寬度為 0"
 
-#: cp/class.c:2919
+#: cp/class.c:2936
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D 的寬度超過了它的類型"
 
-#: cp/class.c:2923
+#: cp/class.c:2940
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D 太小而不能存放 %q#T 的所有可能值"
 
-#: cp/class.c:2982
+#: cp/class.c:2999
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "有建構式的成員 %q+#D 不能用在聯合中"
 
-#: cp/class.c:2985
+#: cp/class.c:3002
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "有解構函式的成員 %q+#D 不能用在聯合中"
 
-#: cp/class.c:2987
+#: cp/class.c:3004
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "有複製賦值運算子的成員 %q+#D 不能用在聯合中"
 
-#: cp/class.c:2991
+#: cp/class.c:3008
 #, gcc-internal-format
 msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11"
 msgstr ""
 
-#: cp/class.c:3025
+#: cp/class.c:3042
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "初始化了聯合 %qT 中的多個欄位"
 
-#: cp/class.c:3109
+#: cp/class.c:3126
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D 不能是靜態的,因為它是聯合的成員"
 
-#: cp/class.c:3114
+#: cp/class.c:3131
 #, 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:3125
+#: cp/class.c:3142
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "欄位 %q+D 無效地宣告為函式類型"
 
-#: cp/class.c:3131
+#: cp/class.c:3148
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "欄位 %q+D 無效地宣告為方法類型"
 
-#: cp/class.c:3187
+#: cp/class.c:3204
 #, fuzzy, gcc-internal-format
 #| msgid "ignoring packed attribute on unpacked non-POD field %q+#D"
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "為非緊實的非簡單舊資料欄位 %q+#D 忽略 packed 屬性"
 
-#: cp/class.c:3285
+#: cp/class.c:3302
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "欄位 %q+#D 與類別同名"
 
-#: cp/class.c:3308
+#: cp/class.c:3325
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T 有指標資料成員"
 
-#: cp/class.c:3313
+#: cp/class.c:3330
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  但沒有多載 %<%T(const %T&)%>"
 
-#: cp/class.c:3315
+#: cp/class.c:3332
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  或 %<operator=(const %T&)%>"
 
-#: cp/class.c:3319
+#: cp/class.c:3336
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  也沒有多載 %<operator=(const %T&)%>"
 
-#: cp/class.c:3790
+#: cp/class.c:3807
 #, 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:3917
+#: cp/class.c:3934
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "在 GCC 的未來版本中類別 %qT 將被看作幾乎為空"
 
-#: cp/class.c:3999
+#: cp/class.c:4016
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "為非虛方法 %q+D 指定了初始值設定項"
 
-#: cp/class.c:4390
+#: cp/class.c:4407
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.c:4411
+#: cp/class.c:4428
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.c:4877 cp/semantics.c:5729
+#: cp/class.c:4894 cp/semantics.c:5729
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static member function %qD"
 msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type"
 msgstr "對非靜態成員函式 %qD 的使用無效"
 
-#: cp/class.c:4902
+#: cp/class.c:4919
 #, fuzzy, gcc-internal-format
 #| msgid "%qT is not a base of %qT"
 msgid "%q+T is not literal because:"
 msgstr "%qT 不是 %qT 的基礎類別"
 
-#: cp/class.c:4904
+#: cp/class.c:4921
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  %q+T has a non-trivial destructor"
 msgstr "基礎類別 %q#T 有一個非虛解構函式"
 
-#: cp/class.c:4909
+#: cp/class.c:4926
 #, gcc-internal-format
 msgid "  %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor"
 msgstr ""
 
-#: cp/class.c:4945
+#: cp/class.c:4962
 #, fuzzy, gcc-internal-format
 #| msgid "base class %q#T has a non-virtual destructor"
 msgid "  base class %qT of %q+T is non-literal"
 msgstr "基礎類別 %q#T 有一個非虛解構函式"
 
-#: cp/class.c:4959
+#: cp/class.c:4976
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of non-static data member %q+D"
 msgid "  non-static data member %q+D has non-literal type"
 msgstr "對非靜態資料成員 %q+D 的無效使用"
 
-#: cp/class.c:5071
+#: cp/class.c:5089
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "類別中有非靜態參照 %q+#D,卻沒有提供建構式"
 
-#: cp/class.c:5076
+#: cp/class.c:5094
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "類別中有非靜態常數成員 %q+#D 卻沒有建構式"
 
 #. If the function is defaulted outside the class, we just
 #. give the synthesis error.
-#: cp/class.c:5102
+#: cp/class.c:5120
 #, gcc-internal-format
 msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
 msgstr ""
 
-#: cp/class.c:5105
+#: cp/class.c:5123
 #, gcc-internal-format
 msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
 msgstr ""
 
-#: cp/class.c:5329
+#: cp/class.c:5347
 #, 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:5430
+#: cp/class.c:5448
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "由於存在歧義,直接基礎類別 %qT 在 %qT 中無法存取"
 
-#: cp/class.c:5442
+#: cp/class.c:5460
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "由於存在歧義,虛基礎類別 %qT 在 %qT 中無法存取"
 
-#: cp/class.c:5628
+#: cp/class.c:5646
 #, 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:5668
+#: cp/class.c:5686
 #, 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:5696
+#: cp/class.c:5714
 #, 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:5706
+#: cp/class.c:5724
 #, 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:5794
+#: cp/class.c:5812
 #, 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:5963 cp/decl.c:11829 cp/parser.c:18586
+#: cp/class.c:5980 cp/decl.c:11840 cp/parser.c:18573
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T 重定義"
 
-#: cp/class.c:6114
+#: cp/class.c:6123
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T has virtual functions but non-virtual destructor"
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T 有虛函式卻沒有虛解構函式"
 
-#: cp/class.c:6140
+#: cp/class.c:6149
 #, fuzzy, gcc-internal-format
 #| msgid "class %qT does not have any field named %qD"
 msgid "type transparent class %qT does not have any fields"
 msgstr "類別 %qT 沒具名為 %qD 的欄位"
 
-#: cp/class.c:6146
+#: cp/class.c:6155
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.c:6150
+#: cp/class.c:6159
 #, fuzzy, gcc-internal-format
 #| msgid "type %qs has virtual member functions"
 msgid "type transparent class %qT has virtual functions"
 msgstr "類型 %qs 有虛成員函式"
 
-#: cp/class.c:6252
+#: cp/class.c:6300
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "試圖完成結構,但為先前的解析錯誤所插斷"
 
-#: cp/class.c:6758
+#: cp/class.c:6810
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "語言字串 %<\"%E\"%> 不可識別"
 
-#: cp/class.c:6848
+#: cp/class.c:6900
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "無法解析多載函式 %qD,基於向類型 %qT 的轉換"
 
-#: cp/class.c:6972
+#: cp/class.c:7024
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "沒有可將函式 %qD 轉換到類型 %q#T 的匹配項"
 
-#: cp/class.c:6995
+#: cp/class.c:7047
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "將多載函式 %qD 轉換為類型 %q#T 有歧義"
 
-#: cp/class.c:7022
+#: cp/class.c:7074
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "假定是成員指標 %qD"
 
-#: cp/class.c:7025
+#: cp/class.c:7077
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(成員指標只能用 %<&%E%> 構成)"
 
-#: cp/class.c:7087 cp/class.c:7121
+#: cp/class.c:7139 cp/class.c:7173
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "類型資訊不充分"
 
-#: cp/class.c:7104 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
+#: cp/class.c:7156 cp/cvt.c:169 cp/cvt.c:194 cp/cvt.c:244
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr "無法將 %qE 從類型 %qT 轉換到類型 %qT"
@@ -29039,12 +29039,12 @@ msgstr "無法將 %qE 從類型 %qT 轉換到類型 %qT"
 #. 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:7415 cp/decl.c:1287
+#: cp/class.c:7467 cp/decl.c:1287
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D 的宣告"
 
-#: cp/class.c:7416
+#: cp/class.c:7468
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "變更了 %qD 的原意 %q+#D"
@@ -29065,7 +29065,7 @@ msgstr "無法永遠不完全類型 %qT 轉換到 %qT"
 msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgstr "將 %qE 從 %qT 轉換到 %qT 有歧義"
 
-#: cp/cvt.c:204 cp/decl.c:10586 cp/typeck.c:4101
+#: cp/cvt.c:204 cp/decl.c:10584 cp/typeck.c:4101
 #, fuzzy, gcc-internal-format
 #| msgid "array bound is not an integer constant"
 msgid "zero as null pointer constant"
@@ -30041,7 +30041,7 @@ msgstr "%qD 宣告為參照卻未被初始化"
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr "名稱 %qD 用在 GNU 風格的陣列指定元素初始值設定中"
 
-#: cp/decl.c:4698 cp/typeck2.c:1084 cp/typeck2.c:1189
+#: cp/decl.c:4698 cp/typeck2.c:1087 cp/typeck2.c:1192
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "不平凡的代理初始值設定不受支援"
@@ -30140,8 +30140,8 @@ msgstr "%qT 沒具名為 %qD 的非靜態資料成員"
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1071 cp/typeck2.c:1270
-#: cp/typeck2.c:1299 cp/typeck2.c:1346
+#: cp/decl.c:5195 cp/decl.c:5380 cp/typeck2.c:1074 cp/typeck2.c:1273
+#: cp/typeck2.c:1302 cp/typeck2.c:1349
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "%qT 的初始值設定項太多"
@@ -30720,7 +30720,7 @@ msgstr "%qT 既不是類別也不是命名空間"
 msgid "type %qT is not derived from type %qT"
 msgstr "類型 %qT 不是由類型 %qT 衍生的"
 
-#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9963
+#: cp/decl.c:8519 cp/decl.c:8611 cp/decl.c:8620 cp/decl.c:9961
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qD 沒有宣告為一個函式"
@@ -31054,394 +31054,389 @@ msgstr ""
 
 #: cp/decl.c:9497
 #, gcc-internal-format
-msgid "both %<const%> and %<constexpr%> cannot be used here"
-msgstr ""
-
-#: cp/decl.c:9499
-#, gcc-internal-format
 msgid "both %<volatile%> and %<constexpr%> cannot be used here"
 msgstr ""
 
-#: cp/decl.c:9511
+#: cp/decl.c:9509
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "範本識別碼 %qD 做為宣告"
 
-#: cp/decl.c:9562
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "成員函式隱含地成為所屬類別的夥伴"
 
-#: cp/decl.c:9567
+#: cp/decl.c:9565
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "有多餘的限定 %<%T::%> 於成員 %qs 上"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9595
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "無法定義成員函式 %<%T::%s%> 於 %<%T%> 之內"
 
-#: cp/decl.c:9599
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "無法宣告成員函式 %<%T::%s%> 於 %<%T%> 之內"
 
-#: cp/decl.c:9608
+#: cp/decl.c:9606
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "無法宣告成員 %<%T::%s%> 於 %qT 之內"
 
-#: cp/decl.c:9634
+#: cp/decl.c:9632
 #, fuzzy, gcc-internal-format
 #| msgid "data member %qD cannot be a member template"
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "資料成員 %qD 不能是成員範本"
 
-#: cp/decl.c:9644
+#: cp/decl.c:9642
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "陣列 %qs 太大"
 
-#: cp/decl.c:9655
+#: cp/decl.c:9653
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "資料成員不能具有可變類型 %qT"
 
-#: cp/decl.c:9657
+#: cp/decl.c:9655
 #, 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:9665
+#: cp/decl.c:9663
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "只有建構式才能被宣告為 %<explicit%>"
 
-#: cp/decl.c:9673
+#: cp/decl.c:9671
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "非成員 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9678
+#: cp/decl.c:9676
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "非物件成員 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9682
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "函式 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9689
+#: cp/decl.c:9687
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "靜態 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9694
+#: cp/decl.c:9692
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "常數 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9699
+#: cp/decl.c:9697
 #, fuzzy, gcc-internal-format
 #| msgid "function %qs cannot be declared %<mutable%>"
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr "函式 %qs 不能被宣告為 %<mutable%>"
 
-#: cp/decl.c:9734
+#: cp/decl.c:9732
 #, fuzzy, gcc-internal-format
 #| msgid "typedef %q+D declared %<inline%>"
 msgid "typedef declared %<auto%>"
 msgstr "typedef %q+D 宣告為 %<inline%>"
 
-#: cp/decl.c:9744
+#: cp/decl.c:9742
 #, fuzzy, gcc-internal-format
 #| msgid "%Jtypedef name may not be a nested-name-specifier"
 msgid "typedef name may not be a nested-name-specifier"
 msgstr "%Jtypedef 名不能是巢狀名指定"
 
-#: cp/decl.c:9762
+#: cp/decl.c:9760
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ 不允許嵌類別的類型 %qD 與其所屬的類別同名"
 
-#: cp/decl.c:9864
+#: cp/decl.c:9862
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "限定的函式類型不能用來宣告 %s 函式"
 
-#: cp/decl.c:9866
+#: cp/decl.c:9864
 #, fuzzy, gcc-internal-format
 #| msgid "qualified function types cannot be used to declare %s functions"
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "限定的函式類型不能用來宣告 %s 函式"
 
-#: cp/decl.c:9893
+#: cp/decl.c:9891
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "為夥伴類別宣告指定了類型限定"
 
-#: cp/decl.c:9898
+#: cp/decl.c:9896
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "夥伴函式宣告中出現了 %<inline%>"
 
-#: cp/decl.c:9906
+#: cp/decl.c:9904
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "範本參數不能是夥伴"
 
-#: cp/decl.c:9908
+#: cp/decl.c:9906
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "夥伴宣告需要 class,即 %<friend class %T::%D%>"
 
-#: cp/decl.c:9912
+#: cp/decl.c:9910
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "夥伴宣告需要 class,即 %<friend %#T%>"
 
-#: cp/decl.c:9925
+#: cp/decl.c:9923
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "試圖讓 %qT 成為全域欄位的夥伴"
 
-#: cp/decl.c:9943
+#: cp/decl.c:9941
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "非成員函式類型上的限定符無效"
 
-#: cp/decl.c:9953
+#: cp/decl.c:9951
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "抽象宣告 %qT 做為宣告"
 
-#: cp/decl.c:9982
+#: cp/decl.c:9980
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "不能在參數宣告中使用 %<::%>"
 
-#: cp/decl.c:9986
+#: cp/decl.c:9984
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D declared %<inline%>"
 msgid "parameter declared %<auto%>"
 msgstr "參數 %q+D 宣告為 %<inline%>"
 
-#: cp/decl.c:10028
+#: cp/decl.c:10026
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member declared %<auto%>"
 msgstr "靜態成員 %qD 宣告為 %<register%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:10050
+#: cp/decl.c:10048
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "錯誤地使用了 %<::%>"
 
-#: cp/decl.c:10072
+#: cp/decl.c:10070
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of C function %q#D conflicts with"
 msgid "declaration of function %qD in invalid context"
 msgstr "C 函式 %q#D 的宣告"
 
-#: cp/decl.c:10081
+#: cp/decl.c:10079
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "聯合成員函式 %qD 被宣告為虛函式"
 
-#: cp/decl.c:10090
+#: cp/decl.c:10088
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD 不能宣告為虛函式,因為它總是靜態的"
 
-#: cp/decl.c:10106
+#: cp/decl.c:10104
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "在解構函式 %qD 中的夥伴宣告需要限定名"
 
-#: cp/decl.c:10113
+#: cp/decl.c:10111
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%qD 宣告為 %qT 的一個成員"
 
-#: cp/decl.c:10119
+#: cp/decl.c:10117
 #, fuzzy, gcc-internal-format
 #| msgid "Constructor can't be %s"
 msgid "a destructor cannot be %<constexpr%>"
 msgstr "建構式不可以是 %s"
 
-#: cp/decl.c:10125
+#: cp/decl.c:10123
 #, fuzzy, gcc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "在解構函式 %qD 中的夥伴宣告需要限定名"
 
-#: cp/decl.c:10171
+#: cp/decl.c:10169
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "欄位 %qD 類型不完全"
 
-#: cp/decl.c:10173
+#: cp/decl.c:10171
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "名稱 %qT 類型不完全"
 
-#: cp/decl.c:10182
+#: cp/decl.c:10180
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  在範本 %qT 的實體化中"
 
-#: cp/decl.c:10191
+#: cp/decl.c:10189
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE 既不是函式也不是成員函式;不能宣告為夥伴"
 
-#: cp/decl.c:10243
+#: cp/decl.c:10241
 #, fuzzy, gcc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgid "constexpr static data member %qD must have an initializer"
 msgstr "內建函式「%s」在 %L 處不能有初始值設定"
 
-#: cp/decl.c:10252
+#: cp/decl.c:10250
 #, fuzzy, gcc-internal-format
 #| msgid "static member %qD declared %<register%>"
 msgid "non-static data member %qE declared %<constexpr%>"
 msgstr "靜態成員 %qD 宣告為 %<register%>"
 
-#: cp/decl.c:10302
+#: cp/decl.c:10300
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "函式 %qs 的存儲類別 %<auto%> 無效"
 
-#: cp/decl.c:10304
+#: cp/decl.c:10302
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "函式 %qs 的存儲類別 %<register%> 無效"
 
-#: cp/decl.c:10306
+#: cp/decl.c:10304
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "函式 %qs 的存儲類別 %<__thread%> 無效"
 
-#: cp/decl.c:10309
+#: cp/decl.c:10307
 #, fuzzy, gcc-internal-format
 #| msgid "an asm-specification is not allowed on a function-definition"
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr "函式定義中不允許出現 asm 指定"
 
-#: cp/decl.c:10320
+#: cp/decl.c:10318
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "在全域作用欄位外為函式 %qs 指定 %<static%> 無效"
 
-#: cp/decl.c:10324
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "在全域作用欄位外為函式 %qs 指定 %<inline%> 無效"
 
-#: cp/decl.c:10332
+#: cp/decl.c:10330
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "虛函式 %qs 不是類別成員"
 
-#: cp/decl.c:10339
+#: cp/decl.c:10337
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored on non-class types"
 msgid "%qs defined in a non-class scope"
 msgstr "%qE 屬性在不是類別的類型上被忽略"
 
-#: cp/decl.c:10340
+#: cp/decl.c:10338
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qs declared in a non-class scope"
 msgstr "%qD 在此作用欄位中尚未宣告"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10366
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "不能將成員函式 %qD 宣告為有靜態連結"
 
 #. FIXME need arm citation
-#: cp/decl.c:10375
+#: cp/decl.c:10373
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "不能在另一個函式中宣告一個靜態函式"
 
-#: cp/decl.c:10405
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "與宣告不同,定義靜態資料成員時不能使用 %<static%>"
 
-#: cp/decl.c:10412
+#: cp/decl.c:10410
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "靜態成員 %qD 宣告為 %<register%>"
 
-#: cp/decl.c:10418
+#: cp/decl.c:10416
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "不能明確地將成員 %q#D 宣告為有外部連結"
 
-#: cp/decl.c:10425
+#: cp/decl.c:10423
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %q#D outside of class is not definition"
 msgid "declaration of constexpr variable %qD is not a definition"
 msgstr "出現在類別外的 %q#D 的宣告不是定義"
 
-#: cp/decl.c:10438
+#: cp/decl.c:10436
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs 已初始化,卻又被宣告為 %<extern%>"
 
-#: cp/decl.c:10442
+#: cp/decl.c:10440
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs 既有 %<extern%> 又有初始值設定"
 
-#: cp/decl.c:10570
+#: cp/decl.c:10568
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "%q#D 的預設引數類型為 %qT"
 
-#: cp/decl.c:10573
+#: cp/decl.c:10571
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "類型為 %qT 的參數的預設引數卻有類型 %qT"
 
-#: cp/decl.c:10601
+#: cp/decl.c:10599
 #, fuzzy, gcc-internal-format
 #| msgid "default argument %qE uses local variable %qD"
 msgid "default argument %qE uses %qD"
 msgstr "預設引數 %qE 使用了局部變數 %qD"
 
-#: cp/decl.c:10603
+#: cp/decl.c:10601
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "預設引數 %qE 使用了局部變數 %qD"
 
-#: cp/decl.c:10691
+#: cp/decl.c:10689
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %q+D has incomplete type"
 msgid "parameter %qD has Java class type"
 msgstr "參數 %q+D 的類型不完全"
 
-#: cp/decl.c:10719
+#: cp/decl.c:10717
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "參數 %qD 被無效地被宣告為具有方法類型"
 
-#: cp/decl.c:10744
+#: cp/decl.c:10742
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr "參數 %qD 包含了 %s,後者參照有不明邊界 %qT 的陣列"
 
-#: cp/decl.c:10746
+#: cp/decl.c:10744
 #, fuzzy, gcc-internal-format
 #| msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgid "parameter %qD includes reference to array of unknown bound %qT"
@@ -31462,177 +31457,177 @@ msgstr "參數 %qD 包含了 %s,後者參照有不明邊界 %qT 的陣列"
 #. 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:10987
+#: cp/decl.c:10998
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "無效的建構式:您要的可能是 %<%T (const %T&)%>"
 
-#: cp/decl.c:11109
+#: cp/decl.c:11120
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD 不能在命名空間宣告"
 
-#: cp/decl.c:11114
+#: cp/decl.c:11125
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD 不能被宣告為靜態的"
 
-#: cp/decl.c:11140
+#: cp/decl.c:11151
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD 必須是一個非靜態的成員函式"
 
-#: cp/decl.c:11149
+#: cp/decl.c:11160
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD 必須是一個非靜態成員函式或非成員函式"
 
-#: cp/decl.c:11171
+#: cp/decl.c:11182
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD 的引數必須有類別或列舉類型"
 
-#: cp/decl.c:11200
+#: cp/decl.c:11211
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to void will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
-#: cp/decl.c:11202
+#: cp/decl.c:11213
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to void will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
-#: cp/decl.c:11209
+#: cp/decl.c:11220
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to the same type will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
-#: cp/decl.c:11211
+#: cp/decl.c:11222
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to the same type will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
-#: cp/decl.c:11219
+#: cp/decl.c:11230
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a reference to a base class will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
-#: cp/decl.c:11221
+#: cp/decl.c:11232
 #, fuzzy, gcc-internal-format
 #| msgid "conversion to %s%s will never use a type conversion operator"
 msgid "conversion to a base class will never use a type conversion operator"
 msgstr "向 %s%s 的轉換永遠不會用到類型轉換運算子"
 
 #. 13.4.0.3
-#: cp/decl.c:11230
+#: cp/decl.c:11241
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ 不允許多載 ?: 運算子"
 
-#: cp/decl.c:11235
+#: cp/decl.c:11246
 #, fuzzy, gcc-internal-format
 #| msgid "%qD must take either one or two arguments"
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD 必須帶 1 或 2 個引數"
 
-#: cp/decl.c:11286
+#: cp/decl.c:11297
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "字尾 %qD 必須使用 %<int%> 做為它的參數"
 
-#: cp/decl.c:11289
+#: cp/decl.c:11300
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "字尾 %qD 必須使用 %<int%> 做為它的第二個參數"
 
-#: cp/decl.c:11297
+#: cp/decl.c:11308
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD 必須帶 0 或 1 個引數"
 
-#: cp/decl.c:11299
+#: cp/decl.c:11310
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD 必須帶 1 或 2 個引數"
 
-#: cp/decl.c:11321
+#: cp/decl.c:11332
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "字首 %qD 應當回傳 %qT"
 
-#: cp/decl.c:11327
+#: cp/decl.c:11338
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "字尾 %qD 應當回傳 %qT"
 
-#: cp/decl.c:11336
+#: cp/decl.c:11347
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD 必須有 %<void%> 類型"
 
-#: cp/decl.c:11338 cp/decl.c:11347
+#: cp/decl.c:11349 cp/decl.c:11358
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD 帶且僅帶 1 個引數"
 
-#: cp/decl.c:11349
+#: cp/decl.c:11360
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD 帶且僅帶 2 個引數"
 
-#: cp/decl.c:11358
+#: cp/decl.c:11369
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "使用者定義的 %qD 總是計算所有兩個參數"
 
-#: cp/decl.c:11372
+#: cp/decl.c:11383
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD 應當回傳值而非參照"
 
-#: cp/decl.c:11383 cp/decl.c:11388
+#: cp/decl.c:11394 cp/decl.c:11399
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD 不能有預設參數"
 
-#: cp/decl.c:11449
+#: cp/decl.c:11460
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "使用範本類型參數 %qT,在 %qs 後"
 
-#: cp/decl.c:11471
+#: cp/decl.c:11482
 #, fuzzy, gcc-internal-format
 #| msgid "ambiguous template specialization %qD for %q+D"
 msgid "using alias template specialization %qT after %qs"
 msgstr "有歧義的範本特例化 %qD (為 %q+D)"
 
-#: cp/decl.c:11474
+#: cp/decl.c:11485
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "使用 typedef 名 %qD,在 %qs 後"
 
-#: cp/decl.c:11476
+#: cp/decl.c:11487
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D has a previous declaration here"
 msgid "%qD has a previous declaration here"
 msgstr "%q+D 先前在此處有過宣告"
 
-#: cp/decl.c:11484
+#: cp/decl.c:11495
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT 做為 %qs 被參照"
 
-#: cp/decl.c:11485 cp/decl.c:11492
+#: cp/decl.c:11496 cp/decl.c:11503
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T 先前在此處有過宣告"
 
-#: cp/decl.c:11491
+#: cp/decl.c:11502
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT 做為列舉被參照"
@@ -31644,89 +31639,89 @@ msgstr "%qT 做為列舉被參照"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:11506
+#: cp/decl.c:11517
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "%<%s %T%> 需要範本參數"
 
-#: cp/decl.c:11554 cp/name-lookup.c:3052
+#: cp/decl.c:11565 cp/name-lookup.c:3057
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD 與其宣告所在的類別同名"
 
-#: cp/decl.c:11584 cp/name-lookup.c:2551 cp/name-lookup.c:3376
-#: cp/name-lookup.c:3421 cp/parser.c:5060 cp/parser.c:20517
+#: cp/decl.c:11595 cp/name-lookup.c:2556 cp/name-lookup.c:3381
+#: cp/name-lookup.c:3426 cp/parser.c:5060 cp/parser.c:20512
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "對 %qD 的參照有歧義"
 
-#: cp/decl.c:11696
+#: cp/decl.c:11707
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "使用列舉 %q#D 前沒有給出宣告"
 
-#: cp/decl.c:11717
+#: cp/decl.c:11728
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "%qT 重宣告為非範本"
 
-#: cp/decl.c:11718
+#: cp/decl.c:11729
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "先前的宣告 %q+D"
 
-#: cp/decl.c:11852
+#: cp/decl.c:11863
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "衍生聯合 %qT 無效"
 
-#: cp/decl.c:11861
+#: cp/decl.c:11872
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java 類別 %qT 不能有多個基礎類別"
 
-#: cp/decl.c:11872
+#: cp/decl.c:11883
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java 類別 %qT 不能有虛基礎類別"
 
-#: cp/decl.c:11892
+#: cp/decl.c:11903
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "基礎類別型 %qT 不是結構或類別"
 
-#: cp/decl.c:11925
+#: cp/decl.c:11936
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "遞迴的類型 %qT 未定義"
 
-#: cp/decl.c:11927
+#: cp/decl.c:11938
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "重複的基礎類別型 %qT 無效"
 
-#: cp/decl.c:12051
+#: cp/decl.c:12062
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12054 cp/decl.c:12062 cp/decl.c:12074 cp/parser.c:14523
+#: cp/decl.c:12065 cp/decl.c:12073 cp/decl.c:12085 cp/parser.c:14523
 #, fuzzy, gcc-internal-format
 #| msgid "%Jprevious definition here"
 msgid "previous definition here"
 msgstr "%J前一個定義在這裡"
 
-#: cp/decl.c:12059
+#: cp/decl.c:12070
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12071
+#: cp/decl.c:12082
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.c:12138
+#: cp/decl.c:12149
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr ""
@@ -31735,77 +31730,77 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:12272
+#: cp/decl.c:12283
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "沒有一個整數類型可以表示 %qT 的所有列舉值"
 
-#: cp/decl.c:12407
+#: cp/decl.c:12424
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "%qE 的列舉值不是一個整數常數"
 
-#: cp/decl.c:12457
+#: cp/decl.c:12474
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C restricts enumerator values to range of %<int%>"
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr "ISO C 將列舉值限制在 %<int%> 範圍內"
 
-#: cp/decl.c:12469
+#: cp/decl.c:12486
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "%qD 處列舉值溢出"
 
-#: cp/decl.c:12489
+#: cp/decl.c:12506
 #, fuzzy, gcc-internal-format
 #| msgid "enumerator value for %qE is not an integer constant"
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "%qE 的列舉值不是一個整數常數"
 
-#: cp/decl.c:12586
+#: cp/decl.c:12603
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "回傳值類型 %q#T 為不完全"
 
-#: cp/decl.c:12588
+#: cp/decl.c:12605
 #, fuzzy, gcc-internal-format
 #| msgid "return type is an incomplete type"
 msgid "return type has Java class type %q#T"
 msgstr "回傳不完全的類型"
 
-#: cp/decl.c:12712 cp/typeck.c:7909
+#: cp/decl.c:12729 cp/typeck.c:7909
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> 應當回傳一個對 %<*this%> 的參照"
 
-#: cp/decl.c:12807
+#: cp/decl.c:12824
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%q+D 先前沒有宣告過"
 
-#: cp/decl.c:13022
+#: cp/decl.c:13039
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "無效的函式宣告"
 
-#: cp/decl.c:13106
+#: cp/decl.c:13123
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "參數 %qD 被宣告為 void"
 
-#: cp/decl.c:13559
+#: cp/decl.c:13576
 #, fuzzy, gcc-internal-format
 #| msgid "label %q+D defined but not used"
 msgid "parameter %q+D set but not used"
 msgstr "標籤 %q+D 定義後未使用"
 
-#: cp/decl.c:13654
+#: cp/decl.c:13671
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "無效的成員函式宣告"
 
-#: cp/decl.c:13668
+#: cp/decl.c:13685
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD 已在類別 %qT 中定義過"
@@ -32162,7 +32157,7 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "拋出 NULL,它的類型是整數而不是指標"
 
-#: cp/except.c:743 cp/init.c:2308
+#: cp/except.c:743 cp/init.c:2310
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD 永遠不應該被多載"
@@ -32440,161 +32435,161 @@ msgstr "類型 %qT 不是 %qT 的直接基礎類別"
 msgid "bad array initializer"
 msgstr "錯誤的陣列初始值設定"
 
-#: cp/init.c:1778 cp/semantics.c:2780
+#: cp/init.c:1780 cp/semantics.c:2780
 #, fuzzy, gcc-internal-format
 #| msgid "%qE does not have class type"
 msgid "%qT is not a class type"
 msgstr "%qE 不是一個類別"
 
-#: cp/init.c:1832
+#: cp/init.c:1834
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "不完全類型 %qT 沒有成員 %qD"
 
-#: cp/init.c:1845
+#: cp/init.c:1847
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "參照位元段 %qD 指標無效"
 
-#: cp/init.c:1922
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "對非靜態成員函式 %qD 的使用無效"
 
-#: cp/init.c:1928
+#: cp/init.c:1930
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "對非靜態資料成員 %qD 的無效使用"
 
-#: cp/init.c:2110
+#: cp/init.c:2112
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.c:2113
+#: cp/init.c:2115
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized reference member in %q#T"
 msgstr "%J未初始化的參照成員 %qD"
 
-#: cp/init.c:2125
+#: cp/init.c:2127
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const in %<new%> of %q#T"
 msgid "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr "%<new%> %q#T 時常數未初始化"
 
-#: cp/init.c:2128
+#: cp/init.c:2130
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized const member in %q#T"
 msgstr "未初始化的常數成員 %qD"
 
-#: cp/init.c:2225
+#: cp/init.c:2227
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "對 new 而言類型 %<void%> 無效"
 
-#: cp/init.c:2268
+#: cp/init.c:2270
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "%<new%> %q#T 時常數未初始化"
 
-#: cp/init.c:2302
+#: cp/init.c:2304
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "呼叫 Java 建構式,但沒有定義 %qs"
 
-#: cp/init.c:2318
+#: cp/init.c:2320
 #, fuzzy, gcc-internal-format
 #| msgid "Java class %qT cannot have multiple bases"
 msgid "Java class %q#T object allocated using placement new"
 msgstr "Java 類別 %qT 不能有多個基礎類別"
 
-#: cp/init.c:2348
+#: cp/init.c:2350
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "找不到合適的 %qD,在類別 %qT 中"
 
-#: cp/init.c:2355 cp/search.c:1107
+#: cp/init.c:2357 cp/search.c:1107
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "對成員 %qD 的請求有歧義"
 
-#: cp/init.c:2563
+#: cp/init.c:2565
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array size in new, unable to verify length of initializer-list"
 msgstr "初始值設定中陣列索引不是常數"
 
-#: cp/init.c:2574
+#: cp/init.c:2576
 #, fuzzy, gcc-internal-format
 #| msgid "attributes after parenthesized initializer ignored"
 msgid "parenthesized initializer in array new"
 msgstr "括起的初始值設定後出現的屬性被忽略"
 
-#: cp/init.c:2808
+#: cp/init.c:2810
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "陣列 new 的大小必須有整數類型"
 
-#: cp/init.c:2822
+#: cp/init.c:2824
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new 不能用於參照類型"
 
-#: cp/init.c:2831
+#: cp/init.c:2833
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new 不能用於函式類型"
 
-#: cp/init.c:2875
+#: cp/init.c:2877
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "呼叫 Java 建構式,但沒有定義 %<jclass%>"
 
-#: cp/init.c:2893
+#: cp/init.c:2895
 #, fuzzy, gcc-internal-format
 #| msgid "can't find class$"
 msgid "can%'t find %<class$%> in %qT"
 msgstr "找不到類別$"
 
-#: cp/init.c:3382
+#: cp/init.c:3384
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "初始值設定在完成之前結束"
 
-#: cp/init.c:3446
+#: cp/init.c:3448
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "不能用初始值設定項來初始化多維陣列"
 
-#: cp/init.c:3620
+#: cp/init.c:3622
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "偵測到呼叫 delete 運算子時可能出現的問題:"
 
-#: cp/init.c:3624
+#: cp/init.c:3626
 #, fuzzy, 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."
 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:3640
+#: cp/init.c:3642
 #, gcc-internal-format
 msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3645
+#: cp/init.c:3647
 #, gcc-internal-format
 msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour"
 msgstr ""
 
-#: cp/init.c:3667
+#: cp/init.c:3669
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete 時陣列大小不明"
 
-#: cp/init.c:3936
+#: cp/init.c:3938
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "向量 delete 的引數類型既非指標也非陣列"
@@ -32684,12 +32679,12 @@ msgstr "省略的 %<?:%> 中運算元不能被修飾"
 msgid "string literal in function template signature"
 msgstr ""
 
-#: cp/mangle.c:3244
+#: cp/mangle.c:3249
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "%qD 修飾後的名稱將在 GCC 的未來版本中有變化"
 
-#: cp/mangle.c:3388
+#: cp/mangle.c:3393
 #, gcc-internal-format
 msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
 msgstr ""
@@ -32699,13 +32694,13 @@ msgstr ""
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
 msgstr "通用的轉換層程式碼(thunk)對使用了 %<...%> 的方法 %q#D 失效"
 
-#: cp/method.c:664 cp/method.c:1003
+#: cp/method.c:664 cp/method.c:1002
 #, fuzzy, gcc-internal-format
 #| msgid "non-static const member %q#D, can't use default assignment operator"
 msgid "non-static const member %q#D, can%'t use default assignment operator"
 msgstr "非靜態的常數成員 %q#D,不能使用預設的賦值運算子"
 
-#: cp/method.c:670 cp/method.c:1009
+#: cp/method.c:670 cp/method.c:1008
 #, fuzzy, gcc-internal-format
 #| msgid "non-static reference member %q#D, can't use default assignment operator"
 msgid "non-static reference member %q#D, can%'t use default assignment operator"
@@ -32723,106 +32718,106 @@ msgstr "%H在這裡第一次需要產生的方法 %qD"
 msgid "union member %q+D with non-trivial %qD"
 msgstr "%J未初始化的成員 %qD 具有 %<const%> 類型 %qT"
 
-#: cp/method.c:964
+#: cp/method.c:963
 #, gcc-internal-format
 msgid "defaulted constructor calls non-constexpr %q+D"
 msgstr ""
 
-#: cp/method.c:1025
+#: cp/method.c:1024
 #, fuzzy, gcc-internal-format
 #| msgid "initializer for %qT must be brace-enclosed"
 msgid "initializer for %q+#D is invalid"
 msgstr "%qT 的初始化設定必須在大括號內"
 
-#: cp/method.c:1048
+#: cp/method.c:1047
 #, fuzzy, gcc-internal-format
 #| msgid "uninitialized const member %qD"
 msgid "uninitialized non-static const member %q#D"
 msgstr "未初始化的常數成員 %qD"
 
-#: cp/method.c:1055
+#: cp/method.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized reference member %qD"
 msgid "uninitialized non-static reference member %q#D"
 msgstr "%J未初始化的參照成員 %qD"
 
-#: cp/method.c:1071
+#: cp/method.c:1070
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q+#D"
 msgstr ""
 
 #. A trivial constructor doesn't have any NSDMI.
-#: cp/method.c:1220
+#: cp/method.c:1223
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.c:1298
+#: cp/method.c:1304
 #, gcc-internal-format
 msgid "%qT has virtual bases, default move assignment operator cannot be generated"
 msgstr ""
 
-#: cp/method.c:1388
+#: cp/method.c:1395
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.c:1391
+#: cp/method.c:1398
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.c:1401
+#: cp/method.c:1408
 #, gcc-internal-format
 msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator"
 msgstr ""
 
-#: cp/method.c:1411
+#: cp/method.c:1418
 #, gcc-internal-format
 msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:"
 msgstr ""
 
-#: cp/method.c:1621
+#: cp/method.c:1630
 #, fuzzy, gcc-internal-format
 #| msgid "repeated using declaration %q+D"
 msgid "defaulted declaration %q+D"
 msgstr "重複的 using 宣告 %q+D"
 
-#: cp/method.c:1623
+#: cp/method.c:1632
 #, fuzzy, gcc-internal-format
 #| msgid "(Messages without a matching method signature"
 msgid "does not match expected signature %qD"
 msgstr "(訊息缺少匹配的方法簽名"
 
-#: cp/method.c:1637
+#: cp/method.c:1646
 #, gcc-internal-format
 msgid "function %q+D defaulted on its first declaration with an exception-specification that differs from the implicit declaration %q#D"
 msgstr ""
 
-#: cp/method.c:1658
+#: cp/method.c:1667
 #, gcc-internal-format
 msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:"
 msgstr ""
 
-#: cp/method.c:1680
+#: cp/method.c:1689
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "a template cannot be defaulted"
 msgstr "範本參數不能是夥伴"
 
-#: cp/method.c:1708
+#: cp/method.c:1717
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D cannot be declared"
 msgid "%qD cannot be defaulted"
 msgstr "無法宣告 %q+#D"
 
-#: cp/method.c:1717
+#: cp/method.c:1726
 #, fuzzy, gcc-internal-format
 #| msgid "file ends in default argument"
 msgid "defaulted function %q+D with default argument"
 msgstr "檔案在預設參數處結束"
 
-#: cp/method.c:1805
+#: cp/method.c:1818
 #, 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 的未來版本中變更"
@@ -32967,156 +32962,156 @@ msgstr "%s %s(%E) %p %d\n"
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:2252
+#: cp/name-lookup.c:2257
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D 隱藏了 %q#T 的建構式"
 
-#: cp/name-lookup.c:2269
+#: cp/name-lookup.c:2274
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D 與先前的 using 宣告 %q#D 衝突"
 
-#: cp/name-lookup.c:2292
+#: cp/name-lookup.c:2297
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "先前對於 %q+#D 的非函式宣告"
 
-#: cp/name-lookup.c:2293
+#: cp/name-lookup.c:2298
 #, 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:2383 cp/name-lookup.c:2408
+#: cp/name-lookup.c:2388 cp/name-lookup.c:2413
 #, 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:2393
+#: cp/name-lookup.c:2398
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "using 宣告不能指定一個範本識別碼。請嘗試 %<using %D%>"
 
-#: cp/name-lookup.c:2400
+#: cp/name-lookup.c:2405
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "不允許在 using 宣告中使用命名空間 %qD"
 
-#: cp/name-lookup.c:2436
+#: cp/name-lookup.c:2441
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD 未宣告"
 
-#: cp/name-lookup.c:2472 cp/name-lookup.c:2509 cp/name-lookup.c:2543
-#: cp/name-lookup.c:2558
+#: cp/name-lookup.c:2477 cp/name-lookup.c:2514 cp/name-lookup.c:2548
+#: cp/name-lookup.c:2563
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD 已在此作用欄位中宣告過"
 
-#: cp/name-lookup.c:3201
+#: cp/name-lookup.c:3206
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "在類別作用欄位使用非成員的 using 宣告"
 
-#: cp/name-lookup.c:3208
+#: cp/name-lookup.c:3213
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> 指定了解構函式"
 
-#: cp/name-lookup.c:3213
+#: cp/name-lookup.c:3218
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> 指定了建構式"
 
-#: cp/name-lookup.c:3218
+#: cp/name-lookup.c:3223
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> 在 %qT 內指定了建構式"
 
-#: cp/name-lookup.c:3268
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "沒有與 %<%T::%D%> 匹配的成員,在 %q#T 中"
 
-#: cp/name-lookup.c:3355
+#: cp/name-lookup.c:3360
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "%qD 的宣告不在包含 %qD 的命名空間中"
 
-#: cp/name-lookup.c:3363
+#: cp/name-lookup.c:3368
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD 的宣告中有明確的限定"
 
-#: cp/name-lookup.c:3446
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD 應當已在 %qD 內部宣告過"
 
-#: cp/name-lookup.c:3490
+#: cp/name-lookup.c:3495
 #, fuzzy, gcc-internal-format
 #| msgid "%qs attribute requires an integer constant argument"
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qs 屬性需要一個整常數做為引數"
 
-#: cp/name-lookup.c:3497
+#: cp/name-lookup.c:3502
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr ""
 
-#: cp/name-lookup.c:3505 cp/name-lookup.c:3894
+#: cp/name-lookup.c:3510 cp/name-lookup.c:3899
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "指定 %qD 屬性被忽略"
 
-#: cp/name-lookup.c:3550
+#: cp/name-lookup.c:3555
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "這裡不允許命名空間別名 %qD,假定為 %qD"
 
-#: cp/name-lookup.c:3882
+#: cp/name-lookup.c:3887
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "強 using 只在命名空間作用欄位有意義"
 
-#: cp/name-lookup.c:3886
+#: cp/name-lookup.c:3891
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "%qD 的明確實體化出現在命名空間 %qD 中,而後者並不包含命名空間 %qD"
 
-#: cp/name-lookup.c:4224
+#: cp/name-lookup.c:4229
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.c:4234
+#: cp/name-lookup.c:4239
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 
-#: cp/name-lookup.c:4238
+#: cp/name-lookup.c:4243
 #, fuzzy, gcc-internal-format
 #| msgid "  %q+#D"
 msgid "  %qE"
 msgstr "  %q+#D"
 
-#: cp/name-lookup.c:5494
+#: cp/name-lookup.c:5499
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr ""
 
-#: cp/name-lookup.c:5990
+#: cp/name-lookup.c:5995
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX 進入 pop_everything ()\n"
 
-#: cp/name-lookup.c:5999
+#: cp/name-lookup.c:6004
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX 離開 pop_everything ()\n"
@@ -33263,7 +33258,7 @@ msgstr "無效的範本 ID"
 msgid "floating-point literal cannot appear in a constant-expression"
 msgstr "%s 不能出現在常數運算式中"
 
-#: cp/parser.c:2645 cp/pt.c:13536
+#: cp/parser.c:2645 cp/pt.c:13562
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr ""
@@ -33520,7 +33515,7 @@ msgstr "typedef 名 %qD 用於解構函式宣告"
 msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
 msgstr ""
 
-#: cp/parser.c:4841 cp/parser.c:16238
+#: cp/parser.c:4841 cp/parser.c:16241
 #, fuzzy, gcc-internal-format
 #| msgid "expected specifier-qualifier-list"
 msgid "expected unqualified-id"
@@ -33732,7 +33727,7 @@ msgstr "%<%T::%D%> 在 %qT 內指定了建構式"
 msgid "compound-statement in constexpr function"
 msgstr "發現純函式和常函式"
 
-#: cp/parser.c:9160 cp/parser.c:22274
+#: cp/parser.c:9160 cp/parser.c:22269
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected selection-statement"
@@ -33765,7 +33760,7 @@ msgstr ""
 msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.c:9749 cp/parser.c:22277
+#: cp/parser.c:9749 cp/parser.c:22272
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration or statement"
 msgid "expected iteration-statement"
@@ -33782,13 +33777,13 @@ msgstr ""
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ 不允許執行時可知的 goto 目的"
 
-#: cp/parser.c:9931 cp/parser.c:22280
+#: cp/parser.c:9931 cp/parser.c:22275
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected jump-statement"
 msgstr "需要敘述"
 
-#: cp/parser.c:10063 cp/parser.c:18871
+#: cp/parser.c:10063 cp/parser.c:18866
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "多餘的 %<;%>"
@@ -33827,7 +33822,7 @@ msgstr "函式定義上有 pure 指定"
 msgid "class definition may not be declared a friend"
 msgstr "類別定義不能被宣告為夥伴"
 
-#: cp/parser.c:10847 cp/parser.c:19243
+#: cp/parser.c:10847 cp/parser.c:19238
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
@@ -33911,13 +33906,13 @@ msgstr "非預期的運算元"
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "關鍵字 %<export%> 未實作,將被忽略"
 
-#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17340
+#: cp/parser.c:12115 cp/parser.c:12213 cp/parser.c:12320 cp/parser.c:17343
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr "%qD 不能有預設參數"
 
-#: cp/parser.c:12119 cp/parser.c:17348
+#: cp/parser.c:12119 cp/parser.c:17351
 #, fuzzy, gcc-internal-format
 #| msgid "template parameters cannot be friends"
 msgid "template parameter pack cannot have a default argument"
@@ -33935,7 +33930,7 @@ msgstr "範本參數不能是夥伴"
 msgid "expected template-id"
 msgstr "需要敘述"
 
-#: cp/parser.c:12453 cp/parser.c:22238
+#: cp/parser.c:12453 cp/parser.c:22233
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<<%>"
@@ -34079,13 +34074,13 @@ msgstr "需要 %<,%> 或 %<;%>"
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr "啟用範本自動實體化"
 
-#: cp/parser.c:14493 cp/parser.c:18444
+#: cp/parser.c:14493 cp/parser.c:18431
 #, fuzzy, gcc-internal-format
 #| msgid "declaration of %qD in %qD which does not enclose %qD"
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr "%qD 宣告出現在 %qD 中,而後者並不包含 %qD"
 
-#: cp/parser.c:14498 cp/parser.c:18449
+#: cp/parser.c:14498 cp/parser.c:18436
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "%qD 宣告出現在 %qD 中,而後者並不包含 %qD"
@@ -34132,80 +34127,80 @@ msgstr "範本識別碼不允許出現在 using 宣告中"
 msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.c:15094
+#: cp/parser.c:15097
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in alias template declarations"
 msgstr "不能在回傳類型中定義新類型"
 
-#: cp/parser.c:15541
+#: cp/parser.c:15544
 #, fuzzy, gcc-internal-format
 #| msgid "%s: function definition not converted\n"
 msgid "a function-definition is not allowed here"
 msgstr "%s:函式定義不會被轉化\n"
 
-#: cp/parser.c:15553
+#: cp/parser.c:15556
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "函式定義中不允許出現 asm 指定"
 
-#: cp/parser.c:15557
+#: cp/parser.c:15560
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "函式定義中不允許有屬性"
 
-#: cp/parser.c:15594
+#: cp/parser.c:15597
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.c:15629 cp/parser.c:17509
+#: cp/parser.c:15632 cp/parser.c:17512
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected initializer"
 msgstr "需要識別碼"
 
-#: cp/parser.c:15649
+#: cp/parser.c:15652
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid type in declaration"
 msgstr "無效的函式宣告"
 
-#: cp/parser.c:15725
+#: cp/parser.c:15728
 #, fuzzy, gcc-internal-format
 #| msgid "can't initialize friend function %qs"
 msgid "initializer provided for function"
 msgstr "無法初始化夥伴函式 %qs"
 
-#: cp/parser.c:15757
+#: cp/parser.c:15760
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "括起的初始值設定後出現的屬性被忽略"
 
-#: cp/parser.c:16161
+#: cp/parser.c:16164
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "陣列邊界不是一個整數常數"
 
-#: cp/parser.c:16282
+#: cp/parser.c:16285
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member reference type %qT"
 msgid "cannot define member of dependent typedef %qT"
 msgstr "產生參照類型 %qT 的成員指標"
 
-#: cp/parser.c:16286
+#: cp/parser.c:16289
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "%<%T::%E%> is not a type"
 msgstr "%<%T::%D%> 不是一個類型"
 
-#: cp/parser.c:16314
+#: cp/parser.c:16317
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "將建構式做為範本用法無效"
 
-#: cp/parser.c:16316
+#: cp/parser.c:16319
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "使用 %<%T::%D%> 而不是 %<%T::%D%> 來以限定名指定建構式"
@@ -34214,275 +34209,275 @@ msgstr "使用 %<%T::%D%> 而不是 %<%T::%D%> 來以限定名指定建構式"
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.c:16333
+#: cp/parser.c:16336
 #, fuzzy, gcc-internal-format
 #| msgid "invalid function declaration"
 msgid "invalid declarator"
 msgstr "無效的函式宣告"
 
-#: cp/parser.c:16399
+#: cp/parser.c:16402
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "expected declarator"
 msgstr "需要指定宣告"
 
-#: cp/parser.c:16494
+#: cp/parser.c:16497
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD 是一個命名空間"
 
-#: cp/parser.c:16496
+#: cp/parser.c:16499
 #, fuzzy, gcc-internal-format
 #| msgid "creating pointer to member of non-class type %qT"
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr "產生非類別類型 %qT 的成員指標"
 
-#: cp/parser.c:16513
+#: cp/parser.c:16516
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected operand"
 msgid "expected ptr-operator"
 msgstr "非預期的運算元"
 
-#: cp/parser.c:16572
+#: cp/parser.c:16575
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "重複的 cv 限定"
 
-#: cp/parser.c:16630
+#: cp/parser.c:16633
 #, fuzzy, gcc-internal-format
 #| msgid "duplicate cv-qualifier"
 msgid "duplicate virt-specifier"
 msgstr "重複的 cv 限定"
 
-#: cp/parser.c:16792 cp/typeck2.c:450 cp/typeck2.c:1670
+#: cp/parser.c:16795 cp/typeck2.c:450 cp/typeck2.c:1673
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of %<::%>"
 msgid "invalid use of %<auto%>"
 msgstr "錯誤地使用了 %<::%>"
 
-#: cp/parser.c:16811
+#: cp/parser.c:16814
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in template arguments"
 msgstr "不能在回傳類型中定義新類型"
 
-#: cp/parser.c:16892
+#: cp/parser.c:16895
 #, fuzzy, gcc-internal-format
 #| msgid "expected identifier"
 msgid "expected type-specifier"
 msgstr "需要識別碼"
 
-#: cp/parser.c:17136
+#: cp/parser.c:17139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<,%> or %<...%>"
 msgstr "需要 %<:%> 或 %<...%>"
 
-#: cp/parser.c:17193
+#: cp/parser.c:17196
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in parameter types"
 msgstr "不能在回傳類型中定義新類型"
 
-#: cp/parser.c:17319
+#: cp/parser.c:17322
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "為非函式指定預設參數的用法已過時"
 
-#: cp/parser.c:17323
+#: cp/parser.c:17326
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "預設參數只允許出現在函式參數中"
 
-#: cp/parser.c:17342
+#: cp/parser.c:17345
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack %qD cannot have a default argument"
 msgstr "%qD 不能有預設參數"
 
-#: cp/parser.c:17350
+#: cp/parser.c:17353
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot have default arguments"
 msgid "parameter pack cannot have a default argument"
 msgstr "%qD 不能有預設參數"
 
-#: cp/parser.c:17637
+#: cp/parser.c:17640
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ 不允許指定元素初始值設定"
 
-#: cp/parser.c:17651
+#: cp/parser.c:17654
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ does not allow designated initializers"
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr "ISO C++ 不允許指定元素初始值設定"
 
-#: cp/parser.c:17755 cp/parser.c:17879
+#: cp/parser.c:17758 cp/parser.c:17882
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-name"
 msgstr "需要類別名"
 
-#: cp/parser.c:18067
+#: cp/parser.c:18056
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after class definition"
 msgstr "%q+D 的內聯宣告出現在其定義之後"
 
-#: cp/parser.c:18069
+#: cp/parser.c:18058
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "expected %<;%> after struct definition"
 msgstr "%q+D 的內聯宣告出現在其定義之後"
 
-#: cp/parser.c:18071
+#: cp/parser.c:18060
 #, fuzzy, gcc-internal-format
 #| msgid "Unexpected junk after function declaration at %C"
 msgid "expected %<;%> after union definition"
 msgstr "%C 處的函式宣告後有非預期的無用字元"
 
-#: cp/parser.c:18392
+#: cp/parser.c:18379
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%> or %<;%>"
 msgid "expected %<{%> or %<:%>"
 msgstr "需要 %<,%> 或 %<;%>"
 
-#: cp/parser.c:18403
+#: cp/parser.c:18390
 #, fuzzy, gcc-internal-format
 #| msgid "cannot find file for class %s"
 msgid "cannot specify %<override%> for a class"
 msgstr "無法為類別 %s 找到檔案"
 
-#: cp/parser.c:18411
+#: cp/parser.c:18398
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.c:18418
+#: cp/parser.c:18405
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "qualified name does not name a class"
 msgstr "夥伴宣告沒有指定類別或函式名"
 
-#: cp/parser.c:18430
+#: cp/parser.c:18417
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD 的宣告中類別名無效"
 
-#: cp/parser.c:18463
+#: cp/parser.c:18450
 #, fuzzy, gcc-internal-format
 #| msgid "extra qualification ignored"
 msgid "extra qualification not allowed"
 msgstr "忽略額外的限定"
 
-#: cp/parser.c:18475
+#: cp/parser.c:18462
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "明確特例化前必須有 %<template <>%>"
 
-#: cp/parser.c:18505
+#: cp/parser.c:18492
 #, fuzzy, gcc-internal-format
 #| msgid "non-template %qD used as template"
 msgid "function template %qD redeclared as a class template"
 msgstr "非範本 %qD 做為範本"
 
-#: cp/parser.c:18536
+#: cp/parser.c:18523
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.c:18588
+#: cp/parser.c:18575
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "%q+#T 的上一個定義"
 
-#: cp/parser.c:18661 cp/parser.c:22283
+#: cp/parser.c:18656 cp/parser.c:22278
 #, fuzzy, gcc-internal-format
 #| msgid "expected class name"
 msgid "expected class-key"
 msgstr "需要類別名"
 
-#: cp/parser.c:18890
+#: cp/parser.c:18885
 #, fuzzy, gcc-internal-format
 #| msgid "a class-key must be used when declaring a friend"
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr "宣告夥伴時必須使用 class 關鍵字"
 
-#: cp/parser.c:18908
+#: cp/parser.c:18903
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "夥伴宣告沒有指定類別或函式名"
 
-#: cp/parser.c:19118
+#: cp/parser.c:19113
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "函式定義上有 pure 指定"
 
-#: cp/parser.c:19166
+#: cp/parser.c:19161
 #, fuzzy, gcc-internal-format
 #| msgid "cannot use %<::%> in parameter declaration"
 msgid "expected %<;%> at end of member declaration"
 msgstr "不能在參數宣告中使用 %<::%>"
 
-#: cp/parser.c:19237
+#: cp/parser.c:19232
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.c:19272
+#: cp/parser.c:19267
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.c:19403
+#: cp/parser.c:19398
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specified"
 msgstr ""
 
-#: cp/parser.c:19423
+#: cp/parser.c:19418
 #, gcc-internal-format
 msgid "more than one access specifier in base-specified"
 msgstr ""
 
-#: cp/parser.c:19447
+#: cp/parser.c:19442
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "關鍵字 %<typename%> 不能在範本以外使用"
 
-#: cp/parser.c:19450
+#: cp/parser.c:19445
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "關鍵字 %<typename%> 不允許用在此上下文中(基礎類別隱含地是一個類型)"
 
-#: cp/parser.c:19543 cp/parser.c:19625
+#: cp/parser.c:19538 cp/parser.c:19620
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in an exception-specification"
 msgstr "不能在回傳類型中定義新類型"
 
-#: cp/parser.c:19607
+#: cp/parser.c:19602
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
 msgstr ""
 
-#: cp/parser.c:19806
+#: cp/parser.c:19801
 #, fuzzy, gcc-internal-format
 #| msgid "new types may not be defined in a return type"
 msgid "types may not be defined in exception-declarations"
 msgstr "不能在回傳類型中定義新類型"
 
-#: cp/parser.c:20706
+#: cp/parser.c:20701
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.c:20711
+#: cp/parser.c:20706
 #, fuzzy, gcc-internal-format
 #| msgid "invalid redeclaration of %q+D"
 msgid "invalid declaration of %<%T::%E%>"
 msgstr "對 %q+#D 無效的重宣告"
 
-#: cp/parser.c:20715
+#: cp/parser.c:20710
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "範本參數表太少"
@@ -34491,358 +34486,358 @@ msgstr "範本參數表太少"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:20722
+#: cp/parser.c:20717
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "範本參數表太多"
 
-#: cp/parser.c:21019
+#: cp/parser.c:21014
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "具名回傳值不再被支援"
 
-#: cp/parser.c:21106
+#: cp/parser.c:21101
 #, fuzzy, gcc-internal-format
 #| msgid "invalid declaration of member template %q#D in local class"
 msgid "invalid declaration of member template in local class"
 msgstr "局部類別中對成員範本 %q#D 的宣告無效"
 
-#: cp/parser.c:21115
+#: cp/parser.c:21110
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "C 連結的範本"
 
-#: cp/parser.c:21134
+#: cp/parser.c:21129
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid explicit specialization"
 msgstr "無效的基礎類別"
 
-#: cp/parser.c:21220
+#: cp/parser.c:21215
 #, gcc-internal-format
 msgid "literal operator template %qD has invalid parameter list.  Expected non-type template argument pack <char...>"
 msgstr ""
 
-#: cp/parser.c:21294
+#: cp/parser.c:21289
 #, fuzzy, gcc-internal-format
 #| msgid "template declaration of %qs"
 msgid "template declaration of %<typedef%>"
 msgstr "%qs 宣告為範本"
 
-#: cp/parser.c:21371
+#: cp/parser.c:21366
 #, fuzzy, gcc-internal-format
 #| msgid "explicit specialization in non-namespace scope %qD"
 msgid "explicit template specialization cannot have a storage class"
 msgstr "明確特例化出現在非命名空間作用欄位 %qD 中"
 
-#: cp/parser.c:21606
+#: cp/parser.c:21601
 #, fuzzy, gcc-internal-format
 #| msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H在巢狀範本引數清單中應當使用 %<> >%> 而非 %<>>%>"
 
-#: cp/parser.c:21619
+#: cp/parser.c:21614
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "可疑的 %<>>%>,使用 %<>%> 來結束範本引數清單"
 
-#: cp/parser.c:22025
+#: cp/parser.c:22020
 #, fuzzy, gcc-internal-format
 #| msgid "invalid base-class specification"
 msgid "invalid use of %qD in linkage specification"
 msgstr "無效的基礎類別"
 
-#: cp/parser.c:22038
+#: cp/parser.c:22033
 #, fuzzy, gcc-internal-format
 #| msgid "%<__thread%> before %<extern%>"
 msgid "%<__thread%> before %qD"
 msgstr "%<__thread%> 出現在 %<extern%> 之前"
 
-#: cp/parser.c:22141
+#: cp/parser.c:22136
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<new%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22144
+#: cp/parser.c:22139
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<delete%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22147
+#: cp/parser.c:22142
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<return%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22153
+#: cp/parser.c:22148
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<extern%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22156
+#: cp/parser.c:22151
 #, fuzzy, gcc-internal-format
 #| msgid "expected statement"
 msgid "expected %<static_assert%>"
 msgstr "需要敘述"
 
-#: cp/parser.c:22159
+#: cp/parser.c:22154
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<decltype%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22162
+#: cp/parser.c:22157
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<operator%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22165
+#: cp/parser.c:22160
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<class%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22168
+#: cp/parser.c:22163
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<template%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22171
+#: cp/parser.c:22166
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<namespace%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22174
+#: cp/parser.c:22169
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<using%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22177
+#: cp/parser.c:22172
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<asm%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22180
+#: cp/parser.c:22175
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<try%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22183
+#: cp/parser.c:22178
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<catch%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22186
+#: cp/parser.c:22181
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<throw%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22189
+#: cp/parser.c:22184
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<__label__%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22192
+#: cp/parser.c:22187
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@try%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22195
+#: cp/parser.c:22190
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@synchronized%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22198
+#: cp/parser.c:22193
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<@throw%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22201
+#: cp/parser.c:22196
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.c:22204
+#: cp/parser.c:22199
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.c:22235
+#: cp/parser.c:22230
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<::%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22247
+#: cp/parser.c:22242
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<...%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22250
+#: cp/parser.c:22245
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<*%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22253
+#: cp/parser.c:22248
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<{%>"
 msgid "expected %<~%>"
 msgstr "需要 %<{%>"
 
-#: cp/parser.c:22259
+#: cp/parser.c:22254
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<:%> or %<...%>"
 msgid "expected %<:%> or %<::%>"
 msgstr "需要 %<:%> 或 %<...%>"
 
-#: cp/parser.c:22287
+#: cp/parser.c:22282
 #, fuzzy, gcc-internal-format
 #| msgid "expected %<,%>, %<;%> or %<}%>"
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr "需要 %<,%>、%<;%> 或 %<}%>"
 
-#: cp/parser.c:22525
+#: cp/parser.c:22520
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "使用了 %qs 標記,在命名 %q#T 時"
 
-#: cp/parser.c:22530
+#: cp/parser.c:22525
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D previously declared here"
 msgid "%q#T was previously declared here"
 msgstr "%q+#D 已在此宣告過"
 
-#: cp/parser.c:22549
+#: cp/parser.c:22544
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD 重宣告時有不同的可存取性"
 
-#: cp/parser.c:22568
+#: cp/parser.c:22563
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "做為消歧義的 %<template%> 只能用於範本內"
 
-#: cp/parser.c:22801
+#: cp/parser.c:22796
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "檔案在預設參數處結束"
 
-#: cp/parser.c:23005 cp/parser.c:24267 cp/parser.c:24453
+#: cp/parser.c:23000 cp/parser.c:24262 cp/parser.c:24448
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "位置錯誤的 %<@%D%> Objective-C++ 建構"
 
-#: cp/parser.c:23127
+#: cp/parser.c:23122
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.c:23156
+#: cp/parser.c:23151
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%> 必須指定一個類型做為引數"
 
-#: cp/parser.c:23532
+#: cp/parser.c:23527
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "無效的 Objective-C++ 選擇子名"
 
-#: cp/parser.c:23607 cp/parser.c:23625
+#: cp/parser.c:23602 cp/parser.c:23620
 #, fuzzy, gcc-internal-format
 #| msgid "expected declaration specifiers"
 msgid "objective-c++ method declaration is expected"
 msgstr "需要指定宣告"
 
-#: cp/parser.c:23619 cp/parser.c:23684
+#: cp/parser.c:23614 cp/parser.c:23679
 #, fuzzy, gcc-internal-format
 #| msgid "%Jsection attribute cannot be specified for local variables"
 msgid "method attributes must be specified at the end"
 msgstr "%J不能為局部變數指定 section 屬性"
 
-#: cp/parser.c:23727
+#: cp/parser.c:23722
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.c:23933 cp/parser.c:23940 cp/parser.c:23947
+#: cp/parser.c:23928 cp/parser.c:23935 cp/parser.c:23942
 #, fuzzy, gcc-internal-format
 #| msgid "illegal reference type specified for instance variable %qs"
 msgid "invalid type for instance variable"
 msgstr "為實體變數 %qs 指定了無效的參照類型"
 
-#: cp/parser.c:24061
+#: cp/parser.c:24056
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "%<@protocol%> 需要識別碼"
 
-#: cp/parser.c:24232
+#: cp/parser.c:24227
 #, gcc-internal-format
 msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.c:24239
+#: cp/parser.c:24234
 #, fuzzy, gcc-internal-format
 #| msgid "%qE attribute ignored for %qE"
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr "%qE 屬性為 %qE 所忽略"
 
-#: cp/parser.c:24512 cp/parser.c:24519 cp/parser.c:24526
+#: cp/parser.c:24507 cp/parser.c:24514 cp/parser.c:24521
 #, fuzzy, gcc-internal-format
 #| msgid "invalid type argument"
 msgid "invalid type for property"
 msgstr "無效的類型參數"
 
-#: cp/parser.c:26256
+#: cp/parser.c:26251
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.c:26423 cp/pt.c:12731
+#: cp/parser.c:26418 cp/pt.c:12757
 #, fuzzy, gcc-internal-format
 #| msgid "register variable %qD used in nested function"
 msgid "iteration variable %qD should not be reduction"
 msgstr "巢狀函式中使用了暫存器變數 %qD"
 
-#: cp/parser.c:26491
+#: cp/parser.c:26486
 #, fuzzy, gcc-internal-format
 #| msgid "not enough type information"
 msgid "not enough collapsed for loops"
 msgstr "類型資訊不充分"
 
-#: cp/parser.c:27049 cp/semantics.c:5019
+#: cp/parser.c:27044 cp/semantics.c:5019
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27051 cp/semantics.c:5021
+#: cp/parser.c:27046 cp/semantics.c:5021
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.c:27248
+#: cp/parser.c:27243
 #, fuzzy, gcc-internal-format
 #| msgid "junk at end of %<#pragma pack%>"
 msgid "junk at end of %<#pragma GCC pch_preprocess%>"
 msgstr "%<#pragma pack%> 末尾有無用字元"
 
-#: cp/parser.c:27427
+#: cp/parser.c:27422
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "模組間最佳化淍未為 C++ 實作"
@@ -35596,17 +35591,17 @@ msgstr "範本實體化深度超過最大值 %d(使用 use -ftemplate-depth-NN 
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
 msgstr "範本實體化深度超過最大值 %d(使用 use -ftemplate-depth-NN 來增大最大值),在實體化 %qD 時"
 
-#: cp/pt.c:9443
+#: cp/pt.c:9455
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr ""
 
-#: cp/pt.c:9447
+#: cp/pt.c:9459
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr ""
 
-#: cp/pt.c:10573
+#: cp/pt.c:10585
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%q+D 按類型 %qT 實體化"
@@ -35624,270 +35619,270 @@ msgstr "%q+D 按類型 %qT 實體化"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:10731
+#: cp/pt.c:10757
 #, fuzzy, gcc-internal-format
 #| msgid "variable %qD has initializer but incomplete type"
 msgid "variable %qD has function type"
 msgstr "變數 %qD 有初始值設定但類型不完全"
 
-#: cp/pt.c:10900
+#: cp/pt.c:10926
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "無效的參數類型 %qT"
 
-#: cp/pt.c:10902
+#: cp/pt.c:10928
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "在宣告 %q+D 中"
 
-#: cp/pt.c:10979
+#: cp/pt.c:11005
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "函式回傳了一個陣列"
 
-#: cp/pt.c:10981
+#: cp/pt.c:11007
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "函式回傳了一個函式"
 
-#: cp/pt.c:11011
+#: cp/pt.c:11037
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "產生非類別類型 %qT 的成員函式指標"
 
-#: cp/pt.c:11552
+#: cp/pt.c:11578
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "形成對 void 的參照"
 
-#: cp/pt.c:11554
+#: cp/pt.c:11580
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming pointer to reference type %qT"
 msgstr "形成 %s,參照參照類型 %qT"
 
-#: cp/pt.c:11556
+#: cp/pt.c:11582
 #, fuzzy, gcc-internal-format
 #| msgid "forming %s to reference type %qT"
 msgid "forming reference to reference type %qT"
 msgstr "形成 %s,參照參照類型 %qT"
 
-#: cp/pt.c:11605
+#: cp/pt.c:11631
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "產生非類別類型 %qT 的成員指標"
 
-#: cp/pt.c:11611
+#: cp/pt.c:11637
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "產生參照類型 %qT 的成員指標"
 
-#: cp/pt.c:11617
+#: cp/pt.c:11643
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "建立參照 void 類型的成員指標"
 
-#: cp/pt.c:11679
+#: cp/pt.c:11705
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "產生 %qT 的陣列"
 
-#: cp/pt.c:11685
+#: cp/pt.c:11711
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "產生抽象類型 %qT 的陣列"
 
-#: cp/pt.c:11714
+#: cp/pt.c:11740
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT 不是類別、結構或聯合類型"
 
-#: cp/pt.c:11751
+#: cp/pt.c:11777
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT 被解析到非列舉類型 %qT"
 
-#: cp/pt.c:11759
+#: cp/pt.c:11785
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT 被解析到非類別類型 %qT"
 
-#: cp/pt.c:11876
+#: cp/pt.c:11902
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "在範本中使用 %qs"
 
-#: cp/pt.c:12016
+#: cp/pt.c:12042
 #, fuzzy, gcc-internal-format
 #| msgid "qualified type %qT does not match destructor name ~%qT"
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr "限定的類型 %qT 不匹配解構函式名 ~%qT"
 
-#: cp/pt.c:12031
+#: cp/pt.c:12057
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "依賴名 %qE 被解析為非類型,但實體化卻產生了一個類型"
 
-#: cp/pt.c:12033
+#: cp/pt.c:12059
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "如果您想指定類型,請使用 %<typename %E%>"
 
-#: cp/pt.c:12186
+#: cp/pt.c:12212
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "使用無效欄位 %qD"
 
-#: cp/pt.c:12541 cp/pt.c:13351
+#: cp/pt.c:12567 cp/pt.c:13377
 #, fuzzy, gcc-internal-format
 #| msgid "invalid use of void expression"
 msgid "invalid use of pack expansion expression"
 msgstr "對 void 運算式的無效使用"
 
-#: cp/pt.c:12545 cp/pt.c:13355
+#: cp/pt.c:12571 cp/pt.c:13381
 #, fuzzy, gcc-internal-format
 #| msgid "%<...%> as arguments.)"
 msgid "use %<...%> to expand argument pack"
 msgstr "%<...%> 做為引數。)"
 
-#: cp/pt.c:13931
+#: cp/pt.c:13957
 #, gcc-internal-format
 msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
 msgstr ""
 
-#: cp/pt.c:13940
+#: cp/pt.c:13966
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.c:13945
+#: cp/pt.c:13971
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.c:13948
+#: cp/pt.c:13974
 #, fuzzy, gcc-internal-format
 #| msgid "%<%T::%D%> is not a type"
 msgid "use %<%T::%D%> instead"
 msgstr "%<%T::%D%> 不是一個類型"
 
-#: cp/pt.c:13952
+#: cp/pt.c:13978
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D declared inline after its definition"
 msgid "%q+D declared here, later in the translation unit"
 msgstr "%q+D 的內聯宣告出現在其定義之後"
 
-#: cp/pt.c:14185
+#: cp/pt.c:14211
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT 既不是類別也不是命名空間"
 
-#: cp/pt.c:14188
+#: cp/pt.c:14214
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD 既不是類別也不是命名空間"
 
-#: cp/pt.c:14480
+#: cp/pt.c:14506
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT 是/使用了匿名類型"
 
-#: cp/pt.c:14482
+#: cp/pt.c:14508
 #, fuzzy, gcc-internal-format
 #| msgid "default argument for %q#D has type %qT"
 msgid "template argument for %qD uses local type %qT"
 msgstr "%q#D 的預設引數類型為 %qT"
 
-#: cp/pt.c:14492
+#: cp/pt.c:14518
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT 是一個可變類型"
 
-#: cp/pt.c:14503
+#: cp/pt.c:14529
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "整型運算式 %qE 不是常數"
 
-#: cp/pt.c:14521
+#: cp/pt.c:14547
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  試圖實體化 %qD"
 
-#: cp/pt.c:17842
+#: cp/pt.c:17868
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "%q#T 的類別範本實體化有歧義"
 
-#: cp/pt.c:17846
+#: cp/pt.c:17872
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:17870 cp/pt.c:17953
+#: cp/pt.c:17896 cp/pt.c:17979
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "對非範本 %q#D 的明確實體化"
 
-#: cp/pt.c:17885
+#: cp/pt.c:17911
 #, fuzzy, gcc-internal-format
 #| msgid "%q#D is not a non-static data member of %qT"
 msgid "%qD is not a static data member of a class template"
 msgstr "%q#D 不是 %qT 的非靜態資料成員"
 
-#: cp/pt.c:17891 cp/pt.c:17948
+#: cp/pt.c:17917 cp/pt.c:17974
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "沒有找到與 %qD 匹配的範本"
 
-#: cp/pt.c:17896
+#: cp/pt.c:17922
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template type %qT"
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "明確實體化非範本類型 %qT"
 
-#: cp/pt.c:17904
+#: cp/pt.c:17930
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "對 %q#D 的明確實體化"
 
-#: cp/pt.c:17940
+#: cp/pt.c:17966
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "對 %q#D 重複的明確實體化"
 
-#: cp/pt.c:17963 cp/pt.c:18060
+#: cp/pt.c:17989 cp/pt.c:18086
 #, fuzzy, gcc-internal-format
 #| msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 不允許在明確實體化時使用 %<extern%>"
 
-#: cp/pt.c:17968 cp/pt.c:18077
+#: cp/pt.c:17994 cp/pt.c:18103
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "為範本實體化化套用了存儲類型 %qD"
 
-#: cp/pt.c:18036
+#: cp/pt.c:18062
 #, fuzzy, gcc-internal-format
 #| msgid "explicit instantiation of non-template %q#D"
 msgid "explicit instantiation of non-class template %qD"
 msgstr "對非範本 %q#D 的明確實體化"
 
-#: cp/pt.c:18038
+#: cp/pt.c:18064
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "明確實體化非範本類型 %qT"
 
-#: cp/pt.c:18047
+#: cp/pt.c:18073
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "%q#T 的明確實體化出現在範本定義之前"
 
-#: cp/pt.c:18065
+#: cp/pt.c:18091
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ 不允許在明確實體化時使用 %qE"
 
-#: cp/pt.c:18111
+#: cp/pt.c:18137
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "對 %q#T 重複的明確實體化"
@@ -35899,35 +35894,35 @@ msgstr "對 %q#T 重複的明確實體化"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:18665
+#: cp/pt.c:18692
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "明確實體化 %qD 時沒有可用的定義"
 
-#: cp/pt.c:18841
+#: cp/pt.c:18873
 #, fuzzy, gcc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)"
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
 msgstr "範本實體化深度超過了最大值 %d,當實體化 %q+D 時,可能是由於產生虛函式表所致(使用 -ftemplate-depth-NN 來增大最大值)"
 
-#: cp/pt.c:19221
+#: cp/pt.c:19253
 #, fuzzy, gcc-internal-format
 #| msgid "invalid catch parameter"
 msgid "invalid template non-type parameter"
 msgstr "無效的 catch 參數"
 
-#: cp/pt.c:19223
+#: cp/pt.c:19255
 #, fuzzy, gcc-internal-format
 #| msgid "%q#T is not a valid type for a template constant parameter"
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr "%q#T 不是一個有效的範本常數參數類型"
 
-#: cp/pt.c:20309
+#: cp/pt.c:20346
 #, gcc-internal-format
 msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
 msgstr ""
 
-#: cp/pt.c:20367
+#: cp/pt.c:20404
 #, fuzzy, gcc-internal-format
 #| msgid "variable %qD may not have been initialized"
 msgid "variable %q#D with %<auto%> type used in its own initializer"
@@ -35936,13 +35931,13 @@ msgstr "變數 %qD 可能未經初始化"
 #. If type is error_mark_node a diagnostic must have been
 #. emitted by now.  Also, having a mention to '<type error>'
 #. in the diagnostic is not really useful to the user.
-#: cp/pt.c:20399
+#: cp/pt.c:20436
 #, fuzzy, gcc-internal-format
 #| msgid "unable to emulate %qs"
 msgid "unable to deduce %qT from %qE"
 msgstr "無法列舉 %qs"
 
-#: cp/pt.c:20410
+#: cp/pt.c:20447
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
@@ -36192,7 +36187,7 @@ msgstr "對限定類型 %qT 的定義無效"
 msgid "invalid base-class specification"
 msgstr "無效的基礎類別"
 
-#: cp/semantics.c:2996 cp/semantics.c:8816
+#: cp/semantics.c:2996 cp/semantics.c:8857
 #, fuzzy, gcc-internal-format
 #| msgid "%qD is not a template"
 msgid "%qD is not captured"
@@ -36381,292 +36376,292 @@ msgstr "函式 %q+#D 的抽象回傳類型無效"
 msgid "%q#T has virtual base classes"
 msgstr "類型 %qs 有虛成員函式"
 
-#: cp/semantics.c:5876
+#: cp/semantics.c:5873
 #, gcc-internal-format
 msgid "constexpr constructor does not have empty body"
 msgstr ""
 
-#: cp/semantics.c:6039
+#: cp/semantics.c:6068
 #, gcc-internal-format
 msgid "%<constexpr%> constructor for union %qT must initialize exactly one non-static data member"
 msgstr ""
 
-#: cp/semantics.c:6077
+#: cp/semantics.c:6108
 #, fuzzy, gcc-internal-format
 #| msgid "%Juninitialized member %qD with %<const%> type %qT"
 msgid "uninitialized member %qD in %<constexpr%> constructor"
 msgstr "%J未初始化的成員 %qD 具有 %<const%> 類型 %qT"
 
-#: cp/semantics.c:6108
+#: cp/semantics.c:6139
 #, gcc-internal-format
 msgid "body of constexpr function %qD not a return-statement"
 msgstr ""
 
-#: cp/semantics.c:6163
+#: cp/semantics.c:6194
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is normally a non-static function"
 msgid "%q+D is not usable as a constexpr function because:"
 msgstr "%q+D 一般是一個非靜態的函式"
 
-#: cp/semantics.c:6487
+#: cp/semantics.c:6518
 #, fuzzy, gcc-internal-format
 #| msgid "friend declaration does not name a class or function"
 msgid "expression %qE does not designate a constexpr function"
 msgstr "夥伴宣告沒有指定類別或函式名"
 
-#: cp/semantics.c:6501 cp/semantics.c:8085
+#: cp/semantics.c:6532 cp/semantics.c:8126
 #, fuzzy, gcc-internal-format
 #| msgid "call to non-function %qD"
 msgid "call to non-constexpr function %qD"
 msgstr "呼叫非函式的 %qD"
 
 #. The definition of fun was somehow unsuitable.
-#: cp/semantics.c:6529
+#: cp/semantics.c:6560
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD called in a constant expression"
 msgstr "%qD 不能出現在常數運算式中"
 
-#: cp/semantics.c:6533
+#: cp/semantics.c:6564
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D was used with no prototype before its definition"
 msgid "%qD used before its definition"
 msgstr "%q+D 定義前沒有原型"
 
-#: cp/semantics.c:6567
+#: cp/semantics.c:6598
 #, fuzzy, gcc-internal-format
 #| msgid "protocol %qs has circular dependency"
 msgid "call has circular dependency"
 msgstr "協定 %qs 存在循環依賴"
 
-#: cp/semantics.c:6575
+#: cp/semantics.c:6606
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
 msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
 msgstr "範本實體化深度超過最大值 %d(使用 use -ftemplate-depth-NN 來增大最大值),在實體化 %qD 時"
 
-#: cp/semantics.c:6653
+#: cp/semantics.c:6684
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%q+E is not a constant expression"
 msgstr "%s 不能出現在常數運算式中"
 
-#: cp/semantics.c:6793
+#: cp/semantics.c:6824
 #, fuzzy, gcc-internal-format
 #| msgid "array subscript is not an integer"
 msgid "array subscript out of bound"
 msgstr "陣列下標不是一個整數"
 
-#: cp/semantics.c:6839 cp/semantics.c:6899 cp/semantics.c:7536
+#: cp/semantics.c:6870 cp/semantics.c:6930 cp/semantics.c:7577
 #, fuzzy, gcc-internal-format
 #| msgid "%s cannot appear in a constant-expression"
 msgid "%qE is not a constant expression"
 msgstr "%s 不能出現在常數運算式中"
 
-#: cp/semantics.c:6845
+#: cp/semantics.c:6876
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "mutable %qD is not usable in a constant expression"
 msgstr "%qD 不能出現在常數運算式中"
 
-#: cp/semantics.c:6860
+#: cp/semantics.c:6891
 #, gcc-internal-format
 msgid "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/semantics.c:7401
+#: cp/semantics.c:7438
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7432
+#: cp/semantics.c:7473
 #, fuzzy, gcc-internal-format
 #| msgid "size of array %qD is not an integral constant-expression"
 msgid "the value of %qD is not usable in a constant expression"
 msgstr "陣列 %qD 的大小不是一個整數常運算式"
 
-#: cp/semantics.c:7439
+#: cp/semantics.c:7480
 #, fuzzy, gcc-internal-format
 #| msgid "no field %qD found in union being initialized"
 msgid "%qD used in its own initializer"
 msgstr "在初始化的聯合中找不到欄位 %qD"
 
-#: cp/semantics.c:7444
+#: cp/semantics.c:7485
 #, fuzzy, gcc-internal-format
 #| msgid "%q+D is not a function,"
 msgid "%q#D is not const"
 msgstr "%q+D 不是一個函式,"
 
-#: cp/semantics.c:7447
+#: cp/semantics.c:7488
 #, fuzzy, gcc-internal-format
 #| msgid "%q+#D is private"
 msgid "%q#D is volatile"
 msgstr "%q+#D 是私有的"
 
-#: cp/semantics.c:7451
+#: cp/semantics.c:7492
 #, fuzzy, gcc-internal-format
 #| msgid "%qD cannot appear in a constant-expression"
 msgid "%qD was not initialized with a constant expression"
 msgstr "%qD 不能出現在常數運算式中"
 
-#: cp/semantics.c:7460
+#: cp/semantics.c:7501
 #, fuzzy, gcc-internal-format
 #| msgid "%qD was not declared in this scope"
 msgid "%qD was not declared %<constexpr%>"
 msgstr "%qD 在此作用欄位中尚未宣告"
 
-#: cp/semantics.c:7463
+#: cp/semantics.c:7504
 #, fuzzy, gcc-internal-format
 #| msgid "expression in new-declarator must have integral or enumeration type"
 msgid "%qD does not have integral or enumeration type"
 msgstr "new 宣告中的運算式必須具有整數或列舉類型"
 
-#: cp/semantics.c:7524 cp/semantics.c:8217
+#: cp/semantics.c:7565 cp/semantics.c:8258
 #, gcc-internal-format
 msgid "use of the value of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:7552 cp/semantics.c:8355
+#: cp/semantics.c:7593 cp/semantics.c:8396
 #, fuzzy, gcc-internal-format
 #| msgid "enumeral and non-enumeral type in conditional expression"
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr "列舉和非列舉類型一起出現在條件運算式中"
 
-#: cp/semantics.c:7800 cp/semantics.c:8259 cp/semantics.c:8509
+#: cp/semantics.c:7841 cp/semantics.c:8300 cp/semantics.c:8550
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "expression %qE is not a constant-expression"
 msgstr "整型運算式 %qE 不是常數"
 
-#: cp/semantics.c:7805
+#: cp/semantics.c:7846
 #, fuzzy, gcc-internal-format
 #| msgid "expected expression"
 msgid "unexpected expression %qE of kind %s"
 msgstr "需要運算式"
 
-#: cp/semantics.c:7836
+#: cp/semantics.c:7877
 #, gcc-internal-format
 msgid "%qT cannot be the type of a complete constant expression because it has mutable sub-objects"
 msgstr ""
 
-#: cp/semantics.c:7849
+#: cp/semantics.c:7890
 #, gcc-internal-format
 msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
 msgstr ""
 
-#: cp/semantics.c:8020
+#: cp/semantics.c:8061
 #, gcc-internal-format
 msgid "expression %qE has side-effects"
 msgstr ""
 
-#: cp/semantics.c:8103
+#: cp/semantics.c:8144
 #, gcc-internal-format
 msgid "calling a member function of the object being constructed in a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8185
+#: cp/semantics.c:8226
 #, gcc-internal-format
 msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
 msgstr ""
 
-#: cp/semantics.c:8271
+#: cp/semantics.c:8312
 #, gcc-internal-format
 msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/semantics.c:8284
+#: cp/semantics.c:8325
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "difference of two pointer expressions is not a constant expression"
 msgstr "陣列大小不是一個整數常運算式"
 
-#: cp/semantics.c:8303
+#: cp/semantics.c:8344
 #, fuzzy, gcc-internal-format
 #| msgid "integral expression %qE is not constant"
 msgid "pointer comparison expression is not a constant expression"
 msgstr "整型運算式 %qE 不是常數"
 
-#: cp/semantics.c:8404
+#: cp/semantics.c:8445
 #, fuzzy, gcc-internal-format
 #| msgid "size of array is not an integral constant-expression"
 msgid "division by zero is not a constant-expression"
 msgstr "陣列大小不是一個整數常運算式"
 
-#: cp/semantics.c:8517
+#: cp/semantics.c:8558
 #, fuzzy, gcc-internal-format
 #| msgid "nonconstant array index in initializer"
 msgid "non-constant array initialization"
 msgstr "初始值設定中陣列索引不是常數"
 
-#: cp/semantics.c:8523
+#: cp/semantics.c:8564
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected end of file in '%s'"
 msgid "unexpected AST of kind %s"
 msgstr "「%s」中非預期的檔案結尾"
 
-#: cp/semantics.c:9013
+#: cp/semantics.c:9054
 #, fuzzy, gcc-internal-format
 #| msgid "cannot declare reference to %q#T"
 msgid "cannot capture %qE by reference"
 msgstr "無法宣告對 %q#T 的參照"
 
-#: cp/semantics.c:9036
+#: cp/semantics.c:9077
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/semantics.c:9182
+#: cp/semantics.c:9223
 #, fuzzy, gcc-internal-format
 #| msgid "%<this%> is unavailable for static member functions"
 msgid "%<this%> was not captured for this lambda function"
 msgstr "靜態成員函式中不能使用 %<this%>"
 
-#: cp/tree.c:1025
+#: cp/tree.c:1037
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV 限定符不能套用到 %qT 上"
 
-#: cp/tree.c:2805
+#: cp/tree.c:2817
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "只能為 Java 類別定義套用 %qE 屬性"
 
-#: cp/tree.c:2834
+#: cp/tree.c:2846
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "只能為類別定義套用 %qE 屬性"
 
-#: cp/tree.c:2840
+#: cp/tree.c:2852
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE 已過時:g++ 的虛函式表現在預設與 COM 相容"
 
-#: cp/tree.c:2864
+#: cp/tree.c:2876
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "請求的 init_priority 不是一個整數常數"
 
-#: cp/tree.c:2885
+#: cp/tree.c:2897
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "只能將 %qE 屬性用於某個類別的物件的檔案作用欄位定義"
 
-#: cp/tree.c:2893
+#: cp/tree.c:2905
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "請求的 init_priority 越界"
 
-#: cp/tree.c:2903
+#: cp/tree.c:2915
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "請求的 init_priority 保留為內部使用"
 
-#: cp/tree.c:2914
+#: cp/tree.c:2926
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "%qE 屬性在此平台上不受支援"
 
-#: cp/tree.c:3594
+#: cp/tree.c:3606
 #, gcc-internal-format, gfc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_* check:在 %s 中失敗,於 %s:%d"
@@ -37698,128 +37693,128 @@ msgstr "使用了建構式的語法,但沒有為類型 %qT 宣告建構式"
 msgid "cannot initialize arrays using this syntax"
 msgstr "不能用以語法初始化陣列"
 
-#: cp/typeck2.c:832
+#: cp/typeck2.c:835
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "將 %qE 從 %qT 轉換到 %qT 有歧義"
 
-#: cp/typeck2.c:836
+#: cp/typeck2.c:839
 #, fuzzy, gcc-internal-format
 #| msgid "conversion of %qE from %qT to %qT is ambiguous"
 msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
 msgstr "將 %qE 從 %qT 轉換到 %qT 有歧義"
 
-#: cp/typeck2.c:899
+#: cp/typeck2.c:902
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int 型陣列由非寬字串初始化"
 
-#: cp/typeck2.c:905
+#: cp/typeck2.c:908
 #, fuzzy, gcc-internal-format
 #| msgid "int-array initialized from non-wide string"
 msgid "int-array initialized from incompatible wide string"
 msgstr "int 型陣列由非寬字串初始化"
 
-#: cp/typeck2.c:925
+#: cp/typeck2.c:928
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "用以初始化字元陣列的字串太長"
 
-#: cp/typeck2.c:973
+#: cp/typeck2.c:976
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "不可使用複合原文初始化類型為 %qT 的聚集"
 
-#: cp/typeck2.c:991
+#: cp/typeck2.c:994
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/typeck2.c:1220 cp/typeck2.c:1249
+#: cp/typeck2.c:1223 cp/typeck2.c:1252
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "成員 %qD 缺少初始值設定"
 
-#: cp/typeck2.c:1227
+#: cp/typeck2.c:1230
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "未初始化的常數成員 %qD"
 
-#: cp/typeck2.c:1234
+#: cp/typeck2.c:1237
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "成員 %qD 有未初始化的常數欄位"
 
-#: cp/typeck2.c:1241
+#: cp/typeck2.c:1244
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "成員 %qD 是未初始化的參照"
 
-#: cp/typeck2.c:1321
+#: cp/typeck2.c:1324
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "在初始化的聯合中找不到欄位 %qD"
 
-#: cp/typeck2.c:1332
+#: cp/typeck2.c:1335
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "在聯合初始值設定中出現了索引值而不是欄位名"
 
-#: cp/typeck2.c:1500
+#: cp/typeck2.c:1503
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "偵測到循環指標代理"
 
-#: cp/typeck2.c:1513
+#: cp/typeck2.c:1516
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "%<->%> 的基運算元具有非指標類型 %qT"
 
-#: cp/typeck2.c:1537
+#: cp/typeck2.c:1540
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "%<operator->()%> 的結果給出了非指標的結果"
 
-#: cp/typeck2.c:1539
+#: cp/typeck2.c:1542
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "%<->%> 的左運算元不是一個指標"
 
-#: cp/typeck2.c:1564
+#: cp/typeck2.c:1567
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE 不能做為成員指標,因為它的類型為 %qT"
 
-#: cp/typeck2.c:1573
+#: cp/typeck2.c:1576
 #, fuzzy, gcc-internal-format
 #| msgid "cannot apply member pointer %qE to %qE, which is of non-aggregate type %qT"
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "無法將成員指標 %qE 套用到 %qE 上,因為後者的類型 %qT 不是一個聚集"
 
-#: cp/typeck2.c:1595
+#: cp/typeck2.c:1598
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "成員指標類型 %qT 與物件類型 %qT 不相容"
 
-#: cp/typeck2.c:1663
+#: cp/typeck2.c:1666
 #, fuzzy, gcc-internal-format
 #| msgid "invalid cast to function type %qT"
 msgid "functional cast to array type %qT"
 msgstr "向函式類型 %qT 的轉換無效"
 
-#: cp/typeck2.c:1684
+#: cp/typeck2.c:1687
 #, fuzzy, gcc-internal-format
 #| msgid "%Jdefault-initialization of %q#D, which has reference type"
 msgid "invalid value-initialization of reference type"
 msgstr "%J預設初始化具有參照類型的 %q#D"
 
-#: cp/typeck2.c:1913
+#: cp/typeck2.c:1916
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "呼叫的函式 %qD 會拋出不完全的類型 %q#T"
 
-#: cp/typeck2.c:1916
+#: cp/typeck2.c:1919
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "呼叫的函式會拋出不完全的類型 %q#T"
@@ -37881,199 +37876,199 @@ msgstr ""
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "%L 的荷勒瑞斯常數太長,無法被轉換為 %s"
 
-#: fortran/array.c:98
+#: fortran/array.c:96
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript at %C"
 msgstr "%C 處需要陣列下標"
 
-#: fortran/array.c:107
+#: fortran/array.c:105
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected '*' in coarray subscript at %C"
 msgstr "%C 處需要陣列下標"
 
-#: fortran/array.c:131
+#: fortran/array.c:129
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Strides not allowed in coarray subscript at %C"
 msgstr "%C 處需要陣列下標"
 
-#: fortran/array.c:139
+#: fortran/array.c:137
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected array subscript stride at %C"
 msgstr "%C 需要陣列下標間隔"
 
-#: fortran/array.c:196
+#: fortran/array.c:194
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of array reference at %C"
 msgstr "%C 處陣列參照形式無效"
 
-#: fortran/array.c:201 fortran/array.c:267
+#: fortran/array.c:199 fortran/array.c:272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr "%C 處的任何參照都不能多於 %d 維"
 
-#: fortran/array.c:216 fortran/array.c:576 fortran/check.c:2149
-#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4120
+#: fortran/array.c:214 fortran/array.c:581 fortran/check.c:2149
+#: fortran/check.c:3915 fortran/check.c:3953 fortran/check.c:4124
 #: fortran/match.c:1766 fortran/match.c:2833 fortran/match.c:3029
-#: fortran/simplify.c:4538
+#: fortran/simplify.c:4541
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarrays disabled at %C, use -fcoarray= to enable"
 msgstr ""
 
-#: fortran/array.c:222
+#: fortran/array.c:220
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Unexpected coarray designator at %C"
 msgstr "%C 處需要陣列下標"
 
-#: fortran/array.c:237
+#: fortran/array.c:235
 #, gcc-internal-format, gfc-internal-format
 msgid "Too few codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:243
+#: fortran/array.c:241
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many codimensions at %C, expected %d not %d"
 msgstr ""
 
-#: fortran/array.c:253
+#: fortran/array.c:251 fortran/array.c:259
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected another dimension in array declaration at %C"
 msgid "Unexpected '*' for codimension %d of %d at %C"
 msgstr "%C 處陣列宣告需要另外一維"
 
-#: fortran/array.c:256
+#: fortran/array.c:254
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Invalid form of array reference at %C"
 msgid "Invalid form of coarray reference at %C"
 msgstr "%C 處陣列參照形式無效"
 
-#: fortran/array.c:261
+#: fortran/array.c:266
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid codimension %d at %C, only %d codimensions exist"
 msgstr ""
 
-#: fortran/array.c:313
+#: fortran/array.c:318
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L in this context must be constant"
 msgstr "變數「%s」在 %L 處上下文中必須是常數"
 
-#: fortran/array.c:316
+#: fortran/array.c:321
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L in this context must be constant"
 msgid "Expression at %L in this context must be constant"
 msgstr "變數「%s」在 %L 處上下文中必須是常數"
 
-#: fortran/array.c:407
+#: fortran/array.c:412
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr "%C 處指定陣列時需要運算式"
 
-#: fortran/array.c:486
+#: fortran/array.c:491
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification must be deferred at %L"
 msgid "Bad array specification for implied-shape array at %C"
 msgstr "%L 處陣列指定必須延遲"
 
-#: fortran/array.c:502 fortran/array.c:614
+#: fortran/array.c:507 fortran/array.c:619
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.c:512 fortran/array.c:624
+#: fortran/array.c:517 fortran/array.c:629
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.c:526 fortran/array.c:638
+#: fortran/array.c:531 fortran/array.c:643
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.c:536 fortran/array.c:642
+#: fortran/array.c:541 fortran/array.c:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.c:545 fortran/array.c:651
+#: fortran/array.c:550 fortran/array.c:656
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr "%C 處陣列宣告需要另外一維"
 
-#: fortran/array.c:551 fortran/array.c:582 fortran/array.c:657
+#: fortran/array.c:556 fortran/array.c:587 fortran/array.c:662
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr "%C 處陣列指定了多於 %d 的維數"
 
-#: fortran/array.c:557
+#: fortran/array.c:562
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification at %C has more than %d dimensions"
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
 msgstr "%C 處陣列指定了多於 %d 的維數"
 
-#: fortran/array.c:570
+#: fortran/array.c:575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Nonstandard type declaration %s*%d at %C"
 msgid "Fortran 2008: Coarray declaration at %C"
 msgstr "%C 處非標準的型態宣告 %s*%d"
 
-#: fortran/array.c:665
+#: fortran/array.c:670
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper bound of last coarray dimension must be '*' at %C"
 msgstr ""
 
-#: fortran/array.c:885
+#: fortran/array.c:890
 #, gcc-internal-format, gfc-internal-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr "DO 游標「%s」在 %L 處出現在另一個同名游標作用欄位內"
 
-#: fortran/array.c:977 fortran/array.c:1109
+#: fortran/array.c:982 fortran/array.c:1114
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr "%C 陣列建構語法錯誤"
 
-#: fortran/array.c:1029
+#: fortran/array.c:1034
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: [...] style array constructors at %C"
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003 中的新特性:%C 處 [...] 風格的陣列建構"
 
-#: fortran/array.c:1049
+#: fortran/array.c:1054
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in character length specification at %C"
 msgid "Fortran 2003: Array constructor including type specification at %C"
 msgstr "%C 處指定字元長度時語法錯誤"
 
-#: fortran/array.c:1055 fortran/match.c:3465
+#: fortran/array.c:1060 fortran/match.c:3465
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr "陣列「%s」在 %L 處不能有延遲的外形"
 
-#: fortran/array.c:1071
+#: fortran/array.c:1076
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "%C 處的空陣列建構不被允許"
 
-#: fortran/array.c:1156
+#: fortran/array.c:1161
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "%s 陣列建構中的元素在 %L 處是 %s"
 
-#: fortran/array.c:1484
+#: fortran/array.c:1489
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "%L 迭代次數不能為零"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/array.c:1621 fortran/expr.c:1538 fortran/trans-array.c:5264
+#: fortran/array.c:1626 fortran/expr.c:1538 fortran/trans-array.c:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
 msgstr ""
 
-#: fortran/array.c:1818
+#: fortran/array.c:1823
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Element in %s array constructor at %L is %s"
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
@@ -38109,7 +38104,7 @@ msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為實數型
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 INTEGER 或 PROCEDURE"
 
-#: fortran/check.c:168 fortran/check.c:5193
+#: fortran/check.c:168 fortran/check.c:5197
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個常數"
@@ -38224,7 +38219,7 @@ msgstr "「%s」內建函式的「dim」引數(於 %L 處)不是一個有效的
 msgid "Unequal character lengths (%ld/%ld) in %s at %L"
 msgstr "%L 處指標賦值時字元長度不同"
 
-#: fortran/check.c:854 fortran/check.c:5162
+#: fortran/check.c:854 fortran/check.c:5166
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr "「%s」和「%s」引數(屬於「%s」內建函式)在 %L 處類型必須相同"
@@ -38314,8 +38309,8 @@ msgstr "「%s」引數(屬於內建函式「%s」,於 %L 處)的類型必須
 
 #: fortran/check.c:1307 fortran/check.c:1838 fortran/check.c:1941
 #: fortran/check.c:2135 fortran/check.c:2180 fortran/check.c:3382
-#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4106
-#: fortran/check.c:4235
+#: fortran/check.c:3516 fortran/check.c:3571 fortran/check.c:4110
+#: fortran/check.c:4239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
@@ -38475,7 +38470,7 @@ msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 ALLOCATA
 msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.c:2925 fortran/check.c:4182
+#: fortran/check.c:2925 fortran/check.c:4186
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)"
@@ -38620,47 +38615,47 @@ msgstr ""
 msgid "DIM argument without ARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
 msgstr ""
 
-#: fortran/check.c:4046
+#: fortran/check.c:4050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是 %s"
 
-#: fortran/check.c:4074
+#: fortran/check.c:4078
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
 msgstr ""
 
-#: fortran/check.c:4196
+#: fortran/check.c:4200
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須具有與「%s」一樣的種別"
 
-#: fortran/check.c:4209
+#: fortran/check.c:4213
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
 msgstr "「%s」和「%s」引數(屬於「%s」內建函式)在 %L 處類型必須相同"
 
-#: fortran/check.c:4468 fortran/check.c:4500
+#: fortran/check.c:4472 fortran/check.c:4504
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
 msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是 %s"
 
-#: fortran/check.c:4508
+#: fortran/check.c:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr "給予函式 %s 的參數太多,於 %L"
 
-#: fortran/check.c:4794
+#: fortran/check.c:4798
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
 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:5146 fortran/check.c:5154
+#: fortran/check.c:5150 fortran/check.c:5158
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 INTEGER 或 LOGICAL"
@@ -38672,7 +38667,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.c:556 fortran/decl.c:7561
+#: fortran/class.c:556 fortran/decl.c:7562
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum extension level reached with type '%s' at %L"
 msgstr ""
@@ -38968,7 +38963,7 @@ msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能以指標賦值"
 msgid "Fortran 2008: Implied-shape array at %L"
 msgstr "Fortran 2003:%L 處的 IOMSG 標記"
 
-#: fortran/decl.c:1898 fortran/decl.c:6418
+#: fortran/decl.c:1898 fortran/decl.c:6419
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate format specification at %C"
 msgid "Duplicate array spec for Cray pointee at %C"
@@ -38985,7 +38980,7 @@ msgstr "%qD 不能在命名空間宣告"
 msgid "Extension: Old-style initialization at %C"
 msgstr "擴充:%C 處舊式的初始化"
 
-#: fortran/decl.c:2008 fortran/decl.c:4916
+#: fortran/decl.c:2008 fortran/decl.c:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "%C 的初始化不是為指標變數準備的"
@@ -38995,7 +38990,7 @@ msgstr "%C 的初始化不是為指標變數準備的"
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "在 %C 處的指標初始化需要「=>」,而不是「=」"
 
-#: fortran/decl.c:2030 fortran/decl.c:7713
+#: fortran/decl.c:2030 fortran/decl.c:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr "%C 處需要一個初始化運算式"
@@ -39208,7 +39203,7 @@ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 msgid "Fortran 2008: CONTIGUOUS attribute at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:3724 fortran/decl.c:6713
+#: fortran/decl.c:3724 fortran/decl.c:6714
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
@@ -39231,57 +39226,57 @@ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:3816
+#: fortran/decl.c:3817
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be an internal function"
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
 msgstr "指定函式「%s」(位於 %L)不能是一個內部函式"
 
-#: fortran/decl.c:3934
+#: fortran/decl.c:3935
 #, gcc-internal-format, gfc-internal-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:3943
+#: fortran/decl.c:3944
 #, gcc-internal-format, gfc-internal-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:3947
+#: fortran/decl.c:3948
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L has not been assigned a format label"
 msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
 msgstr "變數「%s」在 %L 尚未指派到格式標籤"
 
-#: fortran/decl.c:3959
+#: fortran/decl.c:3960
 #, gcc-internal-format, gfc-internal-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:3973
+#: fortran/decl.c:3974
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr "%L 處的物件「%s」必須有 SAVE 屬性 %s"
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3982
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr "%L 處的物件「%s」必須有 SAVE 屬性 %s"
 
-#: fortran/decl.c:3993
+#: fortran/decl.c:3994
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能以陣列賦值"
 
-#: fortran/decl.c:4001
+#: fortran/decl.c:4002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
@@ -39289,17 +39284,17 @@ msgstr "指定函式「%s」(位於 %L)不能是一個敘述函式"
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.c:4012
+#: fortran/decl.c:4013
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
 msgstr ""
 
-#: fortran/decl.c:4088
+#: fortran/decl.c:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
 msgstr ""
 
-#: fortran/decl.c:4135
+#: fortran/decl.c:4136
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
 msgid "Missing entity or common block name for attribute specification statement at %C"
@@ -39307,824 +39302,824 @@ 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:4244
+#: fortran/decl.c:4245
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition."
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
 msgstr "%C 處的衍生類型尚未被定義,因此不能出現在衍生類型定義中"
 
-#: fortran/decl.c:4276
+#: fortran/decl.c:4277
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%C 處資料宣告語法錯誤"
 
-#: fortran/decl.c:4350
+#: fortran/decl.c:4351
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: IMPURE procedure at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:4363
+#: fortran/decl.c:4364
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.c:4469
+#: fortran/decl.c:4470
 #, gcc-internal-format, gfc-internal-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "名稱「%s」(位於 %C)是一個程序的名稱"
 
-#: fortran/decl.c:4481
+#: fortran/decl.c:4482
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "%C 處參數清單中有非預期的無用字元"
 
-#: fortran/decl.c:4498
+#: fortran/decl.c:4499
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "符號「%s」在 %C 處的參數清單中重複出現"
 
-#: fortran/decl.c:4549
+#: fortran/decl.c:4550
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "%C 處 RESULT 變數不能與函式同名"
 
-#: fortran/decl.c:4626
+#: fortran/decl.c:4627
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%C 處的函式宣告後有非預期的無用字元"
 
-#: fortran/decl.c:4636 fortran/decl.c:5670
+#: fortran/decl.c:4637 fortran/decl.c:5671
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr "%L 處 PURE 程序不能指定 SAVE 屬性"
 
-#: fortran/decl.c:4780
+#: fortran/decl.c:4781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Iterator step at %L cannot be zero"
 msgid "Interface '%s' at %C may not be generic"
 msgstr "%L 迭代次數不能為零"
 
-#: fortran/decl.c:4786
+#: fortran/decl.c:4787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be a statement function"
 msgid "Interface '%s' at %C may not be a statement function"
 msgstr "指定函式「%s」(位於 %L)不能是一個敘述函式"
 
-#: fortran/decl.c:4799
+#: fortran/decl.c:4800
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
 msgstr "內部程序「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/decl.c:4854
+#: fortran/decl.c:4855
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:4861
+#: fortran/decl.c:4862
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.c:4867
+#: fortran/decl.c:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.c:4891
+#: fortran/decl.c:4892
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has basic type of %s"
 msgid "Procedure '%s' at %L already has basic type of %s"
 msgstr "符號「%s」在 %L 處已經有了基本類型 %s"
 
-#: fortran/decl.c:4940 fortran/decl.c:5108 fortran/decl.c:8195
+#: fortran/decl.c:4941 fortran/decl.c:5109 fortran/decl.c:8196
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:4989 fortran/decl.c:8096
+#: fortran/decl.c:4990 fortran/decl.c:8097
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected '::' after binding-attributes at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:4996
+#: fortran/decl.c:4997
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.c:5000
+#: fortran/decl.c:5001
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: Procedure pointer component at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:5065
+#: fortran/decl.c:5066
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in structure constructor at %C"
 msgid "Syntax error in procedure pointer component at %C"
 msgstr "%C 結構建構語法錯誤"
 
-#: fortran/decl.c:5082
+#: fortran/decl.c:5083
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.c:5148
+#: fortran/decl.c:5149
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:5216
+#: fortran/decl.c:5217
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:5240 fortran/decl.c:5244 fortran/decl.c:5448
-#: fortran/decl.c:5452 fortran/decl.c:5638 fortran/decl.c:5642
+#: fortran/decl.c:5241 fortran/decl.c:5245 fortran/decl.c:5449
+#: fortran/decl.c:5453 fortran/decl.c:5639 fortran/decl.c:5643
 #: fortran/symbol.c:1588
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.c:5359
+#: fortran/decl.c:5360
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008 obsolescent feature: ENTRY statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:5369
+#: fortran/decl.c:5370
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "%C 處的 ENTRY 敘述不能出現在 PROGRAM 中"
 
-#: fortran/decl.c:5372
+#: fortran/decl.c:5373
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "%C 處的 ENTRY 敘述不能出現在 MODULE 中"
 
-#: fortran/decl.c:5375
+#: fortran/decl.c:5376
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "%C 處的 ENTRY 敘述不能出現在 BLOCK DATA 中"
 
-#: fortran/decl.c:5379
+#: fortran/decl.c:5380
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "%C 處的 ENTRY 敘述不能出現在 INTERFACE 中"
 
-#: fortran/decl.c:5383
+#: fortran/decl.c:5384
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 DERIVED TYPE 區塊中"
 
-#: fortran/decl.c:5387
+#: fortran/decl.c:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 IF-THEN 區塊中"
 
-#: fortran/decl.c:5392
+#: fortran/decl.c:5393
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 DO 中"
 
-#: fortran/decl.c:5396
+#: fortran/decl.c:5397
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 SELECT 區塊中"
 
-#: fortran/decl.c:5400
+#: fortran/decl.c:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 FORALL 區塊中"
 
-#: fortran/decl.c:5404
+#: fortran/decl.c:5405
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "%C 處的 ENTRY 敘述不能出現在 WHERE 區塊中"
 
-#: fortran/decl.c:5408
+#: fortran/decl.c:5409
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "%C 處的 ENTRY 敘述不能出現在巢狀的子程式中"
 
-#: fortran/decl.c:5426
+#: fortran/decl.c:5427
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%C 處 ENTRY 敘述不能出現在被包含的程序中"
 
-#: fortran/decl.c:5480 fortran/decl.c:5678
+#: fortran/decl.c:5481 fortran/decl.c:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5736 fortran/decl.c:5752
+#: fortran/decl.c:5737 fortran/decl.c:5753
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in CASE-specification at %C"
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr "%C CASE 指定語法錯誤"
 
-#: fortran/decl.c:5767
+#: fortran/decl.c:5768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "%C 處缺少格式標籤"
 
-#: fortran/decl.c:5776
+#: fortran/decl.c:5777
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "%C 處缺少格式標籤"
 
-#: fortran/decl.c:5786
+#: fortran/decl.c:5787
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing format label at %C"
 msgid "Missing closing paren for binding label at %C"
 msgstr "%C 處缺少格式標籤"
 
-#: fortran/decl.c:5792
+#: fortran/decl.c:5793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr "函式名「%s」不允許出現在 %C 處"
 
-#: fortran/decl.c:5798
+#: fortran/decl.c:5799
 #, gcc-internal-format, gfc-internal-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.c:5827
+#: fortran/decl.c:5828
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.c:6032
+#: fortran/decl.c:6033
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr "%C 處非預期的 END 敘述"
 
-#: fortran/decl.c:6040
+#: fortran/decl.c:6041
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s statement at %C cannot follow %s statement at %L"
 msgid "Fortran 2008: END statement instead of %s statement at %L"
 msgstr "%s 敘述在 %C 處不能跟隨 %s 敘述在 %L 處"
 
 #. We would have required END [something].
-#: fortran/decl.c:6048
+#: fortran/decl.c:6049
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr "需要 %s 敘述在 %L 處"
 
-#: fortran/decl.c:6059
+#: fortran/decl.c:6060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %C"
 msgstr "需要 %s 敘述,於 %C"
 
-#: fortran/decl.c:6075
+#: fortran/decl.c:6076
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "需要塊名「%s」在「%s」運算式中,於 %C"
 
-#: fortran/decl.c:6092
+#: fortran/decl.c:6093
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:6101 fortran/decl.c:6109
+#: fortran/decl.c:6102 fortran/decl.c:6110
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "需要標籤「%s」,為 %s 敘述,於 %C"
 
-#: fortran/decl.c:6174
+#: fortran/decl.c:6175
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6182
+#: fortran/decl.c:6183
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialisation"
 msgstr ""
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:6199
+#: fortran/decl.c:6200
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr "%L 處陣列指定必須延遲"
 
-#: fortran/decl.c:6298
+#: fortran/decl.c:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr "%C 處變數清單中有非預期的無用字元"
 
-#: fortran/decl.c:6335
+#: fortran/decl.c:6336
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected '(' at %C"
 msgstr "在 %C 處需要「(」"
 
-#: fortran/decl.c:6349 fortran/decl.c:6389
+#: fortran/decl.c:6350 fortran/decl.c:6390
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr "在 %C 處需要變數名"
 
-#: fortran/decl.c:6365
+#: fortran/decl.c:6366
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Cray pointer at %C must be an integer"
 msgstr "%C 處 Cray 指標必須是一個整數。"
 
-#: fortran/decl.c:6369
+#: fortran/decl.c:6370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes."
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr "%C 處的 Cray 指標精度為 %d;記憶體位址需要 %d 位元組"
 
-#: fortran/decl.c:6375
+#: fortran/decl.c:6376
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr "在 %C 處需要「,」"
 
-#: fortran/decl.c:6438
+#: fortran/decl.c:6439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr "在 %C 處需要「)」"
 
-#: fortran/decl.c:6450
+#: fortran/decl.c:6451
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "在 %C 處需要「,」或敘述尾"
 
-#: fortran/decl.c:6476
+#: fortran/decl.c:6477
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6508
+#: fortran/decl.c:6509
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:6527
+#: fortran/decl.c:6528
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer declaration at %C requires -fcray-pointer flag."
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "%C 處的 Cray 指標宣告需要 -fcray-pointer 旗標。"
 
-#: fortran/decl.c:6566
+#: fortran/decl.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: CONTIGUOUS statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:6664
+#: fortran/decl.c:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6681
+#: fortran/decl.c:6682
 #, gcc-internal-format, gfc-internal-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:6720
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:6759
+#: fortran/decl.c:6760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:6783
+#: fortran/decl.c:6784
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
 msgstr "DATA 敘述不允許出現在 %C 處的 PURE 程序中"
 
-#: fortran/decl.c:6820
+#: fortran/decl.c:6821
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
 msgstr "DATA 敘述不允許出現在 %C 處的 PURE 程序中"
 
-#: fortran/decl.c:6848
+#: fortran/decl.c:6849
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:6855
+#: fortran/decl.c:6856
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "%C 在 PARAMETER 敘述中需要 = 符號"
 
-#: fortran/decl.c:6861
+#: fortran/decl.c:6862
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "%C 在 PARAMETER 敘述中需要運算式"
 
-#: fortran/decl.c:6881
+#: fortran/decl.c:6882
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initializer not allowed for COMMON variable '%s' at %C"
 msgid "Initializing already initialized variable at %C"
 msgstr "COMMON 變數「%s」在 %C 處不允許有初始值設定"
 
-#: fortran/decl.c:6916
+#: fortran/decl.c:6917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "%C 處 PARAMETER 敘述中有非預期的字元"
 
-#: fortran/decl.c:6940
+#: fortran/decl.c:6941
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:6952
+#: fortran/decl.c:6953
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "%C 處 SAVE 敘述跟隨空白 SAVE 敘述"
 
-#: fortran/decl.c:6999
+#: fortran/decl.c:7000
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:7013
+#: fortran/decl.c:7014
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.c:7017
+#: fortran/decl.c:7018
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:7057
+#: fortran/decl.c:7058
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VALUE statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:7068
+#: fortran/decl.c:7069
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:7092
+#: fortran/decl.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Specifying VOLATILE for coarray variable '%s' at %C, which is use-/host-associated"
 msgstr ""
 
-#: fortran/decl.c:7118
+#: fortran/decl.c:7119
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:7129
+#: fortran/decl.c:7130
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:7171
+#: fortran/decl.c:7172
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr "%C SAVE 敘述語法錯誤"
 
-#: fortran/decl.c:7195
+#: fortran/decl.c:7196
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:7220
+#: fortran/decl.c:7221
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:7254
+#: fortran/decl.c:7255
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.c:7303
+#: fortran/decl.c:7304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr "%C 在 TYPE 定義中需要 ::"
 
-#: fortran/decl.c:7309
+#: fortran/decl.c:7310
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected :: in TYPE definition at %C"
 msgid "No such symbol in TYPE definition at %C"
 msgstr "%C 在 TYPE 定義中需要 ::"
 
-#: fortran/decl.c:7317
+#: fortran/decl.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.c:7324
+#: fortran/decl.c:7325
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.c:7331
+#: fortran/decl.c:7332
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.c:7354
+#: fortran/decl.c:7355
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7366
+#: fortran/decl.c:7367
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
 msgstr ""
 
-#: fortran/decl.c:7387
+#: fortran/decl.c:7388
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: IOMSG tag at %L"
 msgid "Fortran 2003: ABSTRACT type at %C"
 msgstr "Fortran 2003:%L 處的 IOMSG 標記"
 
-#: fortran/decl.c:7452
+#: fortran/decl.c:7453
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "%C 在 TYPE 定義中需要 ::"
 
-#: fortran/decl.c:7463
+#: fortran/decl.c:7464
 #, gcc-internal-format, gfc-internal-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "類型「%s」(位於 %C)不能與內建類型同名"
 
-#: fortran/decl.c:7473
+#: fortran/decl.c:7474
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:7490
+#: fortran/decl.c:7491
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:7598
+#: fortran/decl.c:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:7618
+#: fortran/decl.c:7619
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "New in Fortran 2003: ENUM AND ENUMERATOR at %C"
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003 新特性:%C 處的 ENUM AND ENUMERATOR"
 
-#: fortran/decl.c:7651
+#: fortran/decl.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "%C 處:列舉量超過 C 整數類型"
 
-#: fortran/decl.c:7730
+#: fortran/decl.c:7731
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:7778
+#: fortran/decl.c:7779
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:7814
+#: fortran/decl.c:7815
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "%C 處 ENUMERATOR 定義中語法錯誤"
 
-#: fortran/decl.c:7861 fortran/decl.c:7876
+#: fortran/decl.c:7862 fortran/decl.c:7877
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s specification at %C"
 msgid "Duplicate access-specifier at %C"
 msgstr "重複 %s 指定,於 %C"
 
-#: fortran/decl.c:7896
+#: fortran/decl.c:7897
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7916
+#: fortran/decl.c:7917
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.c:7943
+#: fortran/decl.c:7944
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate %s attribute at %L"
 msgid "Duplicate POINTER attribute at %C"
 msgstr "重複的 %s 屬性,位於 %L"
 
-#: fortran/decl.c:7961
+#: fortran/decl.c:7962
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr "%C 處需要 VARIABLE "
 
-#: fortran/decl.c:7977
+#: fortran/decl.c:7978
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Duplicate SEQUENCE statement at %C"
 msgid "Duplicate DEFERRED at %C"
 msgstr "%C 處重複的 SEQUENCE 敘述"
 
-#: fortran/decl.c:7990
+#: fortran/decl.c:7991
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected a nameless interface at %C"
 msgid "Expected access-specifier at %C"
 msgstr "%C 需要一個無名介面"
 
-#: fortran/decl.c:7992
+#: fortran/decl.c:7993
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding attribute at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:8000
+#: fortran/decl.c:8001
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
 msgstr ""
 
-#: fortran/decl.c:8012
+#: fortran/decl.c:8013
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.c:8054
+#: fortran/decl.c:8055
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface-name expected after '(' at %C"
 msgstr ""
 
-#: fortran/decl.c:8060
+#: fortran/decl.c:8061
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "')' expected at %C"
 msgstr "在 %C 處需要「(」"
 
-#: fortran/decl.c:8080
+#: fortran/decl.c:8081
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8085
+#: fortran/decl.c:8086
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.c:8108
+#: fortran/decl.c:8109
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding name at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:8112
+#: fortran/decl.c:8113
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Fortran 2003: FLUSH statement at %C"
 msgid "Fortran 2008: PROCEDURE list at %C"
 msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
 
-#: fortran/decl.c:8125
+#: fortran/decl.c:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "'=> target' is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8131
+#: fortran/decl.c:8132
 #, gcc-internal-format, gfc-internal-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.c:8141
+#: fortran/decl.c:8142
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected binding target after '=>' at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:8158
+#: fortran/decl.c:8159
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.c:8169
+#: fortran/decl.c:8170
 #, gcc-internal-format, gfc-internal-format
 msgid "There is already a procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8218
+#: fortran/decl.c:8219
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.c:8238
+#: fortran/decl.c:8239
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '::' at %C"
 msgstr "在 %C 處需要「(」"
 
-#: fortran/decl.c:8250
+#: fortran/decl.c:8251
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected array subscript at %C"
 msgid "Expected generic name or operator descriptor at %C"
 msgstr "%C 處需要陣列下標"
 
-#: fortran/decl.c:8276
+#: fortran/decl.c:8277
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected '=>' at %C"
 msgstr "在 %C 處需要「(」"
 
-#: fortran/decl.c:8318
+#: fortran/decl.c:8319
 #, gcc-internal-format, gfc-internal-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8326
+#: fortran/decl.c:8327
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
 msgstr ""
 
-#: fortran/decl.c:8375
+#: fortran/decl.c:8376
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected terminating name at %C"
 msgid "Expected specific binding name at %C"
 msgstr "%C 處需要結束名"
 
-#: fortran/decl.c:8385
+#: fortran/decl.c:8386
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
 msgstr ""
 
-#: fortran/decl.c:8403
+#: fortran/decl.c:8404
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.c:8438
+#: fortran/decl.c:8439
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.c:8449
+#: fortran/decl.c:8450
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
 msgstr ""
 
-#: fortran/decl.c:8471
+#: fortran/decl.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected VARIABLE at %C"
 msgid "Empty FINAL at %C"
 msgstr "%C 處需要 VARIABLE "
 
-#: fortran/decl.c:8478
+#: fortran/decl.c:8479
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected structure component name at %C"
 msgid "Expected module procedure name at %C"
 msgstr "%C 處需要結構元件名"
 
-#: fortran/decl.c:8488
+#: fortran/decl.c:8489
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected '(' at %C"
 msgid "Expected ',' at %C"
 msgstr "在 %C 處需要「(」"
 
-#: fortran/decl.c:8494
+#: fortran/decl.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "procedure name = %s"
 msgid "Unknown procedure name \"%s\" at %C"
 msgstr "程序名 = %s"
 
-#: fortran/decl.c:8508
+#: fortran/decl.c:8509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' at %C is already defined at %L"
 msgid "'%s' at %C is already defined as FINAL procedure!"
 msgstr "程序「%s」在 %C 處已經於 %L 處被宣告"
 
-#: fortran/decl.c:8577
+#: fortran/decl.c:8578
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RESULT attribute required in ENTRY statement at %C"
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr "%C 處的 ENTRY 敘述需要 RESULT 屬性"
 
-#: fortran/decl.c:8624
+#: fortran/decl.c:8625
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in SAVE statement at %C"
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
@@ -40379,27 +40374,27 @@ msgstr "%L 處賦值右手邊出現值為 POINTER 的函式"
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
 msgstr ""
 
-#: fortran/expr.c:3177 fortran/resolve.c:9095
+#: fortran/expr.c:3177 fortran/resolve.c:9097
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
 msgstr ""
 
-#: fortran/expr.c:3187 fortran/resolve.c:9105
+#: fortran/expr.c:3187 fortran/resolve.c:9107
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
 msgstr ""
 
-#: fortran/expr.c:3195 fortran/resolve.c:9114
+#: fortran/expr.c:3195 fortran/resolve.c:9116
 #, gcc-internal-format, gfc-internal-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:3199 fortran/resolve.c:9118
+#: fortran/expr.c:3199 fortran/resolve.c:9120
 #, gcc-internal-format, gfc-internal-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:3203 fortran/resolve.c:9122
+#: fortran/expr.c:3203 fortran/resolve.c:9124
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
 msgstr ""
@@ -40680,7 +40675,7 @@ msgid "can't open input file: %s"
 msgstr "無法開啟輸入檔案:%s"
 
 #: fortran/frontend-passes.c:354 fortran/trans-array.c:1024
-#: fortran/trans-array.c:5760 fortran/trans-array.c:7006
+#: fortran/trans-array.c:5754 fortran/trans-array.c:7000
 #: fortran/trans-intrinsic.c:5422
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "creating array of %qT"
@@ -40806,12 +40801,12 @@ msgstr "%L 處定義賦值的第一個參數必須是 INTENT(IN) 或 INTENT(INOU
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "%L 處定義賦值的第二個參數必須是 INTENT(IN)"
 
-#: fortran/interface.c:705 fortran/resolve.c:13759
+#: fortran/interface.c:705 fortran/resolve.c:13761
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L 處運算子介面的第一個參數必須是 INTENT(IN)"
 
-#: fortran/interface.c:712 fortran/resolve.c:13777
+#: fortran/interface.c:712 fortran/resolve.c:13779
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L 處運算子介面的第二個參數必須是 INTENT(IN)"
@@ -42978,7 +42973,7 @@ msgstr "%C 處 ELSE 敘述後有非預期的無用字元"
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr "%C 處 ELSE 敘述後有非預期的無用字元"
 
-#: fortran/openmp.c:819 fortran/resolve.c:8984 fortran/resolve.c:9462
+#: fortran/openmp.c:819 fortran/resolve.c:8986 fortran/resolve.c:9464
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
@@ -44129,473 +44124,473 @@ msgstr "%3$L 處純函式「%2$s」的引數「%1$s」必須是 INTENT(IN)"
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified or have the VALUE attribute"
 msgstr "%3$L 處純函式「%2$s」的引數「%1$s」必須是 INTENT(IN)"
 
-#: fortran/resolve.c:381
+#: fortran/resolve.c:383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Keyword argument '%s' at %L is not in the procedure"
 msgid "Coarray dummy argument '%s' at %L to elemental procedure"
 msgstr "在 %L 處的關鍵字引數不在程序中"
 
-#: fortran/resolve.c:389
+#: fortran/resolve.c:391
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "元素程序的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:398
+#: fortran/resolve.c:400
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Argument '%s' of elemental procedure at %L cannot have the ALLOCATABLE attribute"
 msgstr "元素程序的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:408
+#: fortran/resolve.c:410
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:416
+#: fortran/resolve.c:418
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
 msgstr "在 %L 處的啞程序不允許出現在 ELEMENTAL 程序中"
 
-#: fortran/resolve.c:424
+#: fortran/resolve.c:426
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified"
 msgstr "元素程序的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:436
+#: fortran/resolve.c:438
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "敘述函式的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:446
+#: fortran/resolve.c:448
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of statement function at %L must be scalar"
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
 msgstr "敘述函式的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:504
+#: fortran/resolve.c:506
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:507
+#: fortran/resolve.c:509
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function '%s' at %L has no IMPLICIT type"
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
 msgstr "函式「%s」在 %L 處沒有 IMPLICIT 類型"
 
-#: fortran/resolve.c:531
+#: fortran/resolve.c:533
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued internal function '%s' at %L must not be assumed length"
 msgid "Character-valued %s '%s' at %L must not be assumed length"
 msgstr "字元賦值的內部函式「%s」在 %L 處不允許被指派長度"
 
-#: fortran/resolve.c:706
+#: fortran/resolve.c:708
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "inconsistent instance variable specification"
 msgid "Function %s at %L has entries with mismatched array specifications"
 msgstr "不一致的實體變數指定"
 
-#: fortran/resolve.c:723
+#: fortran/resolve.c:725
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
 msgstr ""
 
-#: fortran/resolve.c:750
+#: fortran/resolve.c:752
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:754
+#: fortran/resolve.c:756
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:761
+#: fortran/resolve.c:763
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:765
+#: fortran/resolve.c:767
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:803
+#: fortran/resolve.c:805
 #, gcc-internal-format, gfc-internal-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:808
+#: fortran/resolve.c:810
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:851
+#: fortran/resolve.c:853
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
 msgstr ""
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:857
 #, gcc-internal-format, gfc-internal-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:866
+#: fortran/resolve.c:868
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
 msgstr ""
 
-#: fortran/resolve.c:870
+#: fortran/resolve.c:872
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
 msgstr ""
 
-#: fortran/resolve.c:874
+#: fortran/resolve.c:876
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "External object '%s' at %L may not have an initializer"
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
 msgstr "外部物件「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:904
+#: fortran/resolve.c:906
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:908
+#: fortran/resolve.c:910
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
 msgstr "%L 處的物件「%s」必須有 SAVE 屬性 %s"
 
-#: fortran/resolve.c:912
+#: fortran/resolve.c:914
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Generic subroutine '%s' at %L is not an intrinsic subroutine"
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
 msgstr "通用子處理序「%s」(於 %L 處)不是一個內建子處理序"
 
-#: fortran/resolve.c:916
+#: fortran/resolve.c:918
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.c:921
+#: fortran/resolve.c:923
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.c:985
+#: fortran/resolve.c:987
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too few components in structure constructor at %C"
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
 msgstr "%C 處結構建構中元件太少"
 
-#: fortran/resolve.c:1021
+#: fortran/resolve.c:1023
 #, gcc-internal-format, gfc-internal-format
 msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.c:1043
+#: fortran/resolve.c:1045
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
 msgstr ""
 
-#: fortran/resolve.c:1122
+#: fortran/resolve.c:1124
 #, gcc-internal-format, gfc-internal-format
 msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:1155
+#: fortran/resolve.c:1157
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Too many components in structure constructor at %C"
 msgid "Interface mismatch for procedure-pointer component '%s' in structure constructor at %L: %s"
 msgstr "%C 處結構建構的元件太多"
 
-#: fortran/resolve.c:1171
+#: fortran/resolve.c:1173
 #, gcc-internal-format, gfc-internal-format
 msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
 msgstr ""
 
-#: fortran/resolve.c:1182
+#: fortran/resolve.c:1184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Pointer initialization at %C requires '=>', not '='"
 msgid "Pointer initialization target at %L must not be ALLOCATABLE "
 msgstr "在 %C 處的指標初始化需要「=>」,而不是「=」"
 
-#: fortran/resolve.c:1188
+#: fortran/resolve.c:1190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Object '%s' at %L must have the SAVE attribute %s"
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr "%L 處的物件「%s」必須有 SAVE 屬性 %s"
 
-#: fortran/resolve.c:1199
+#: fortran/resolve.c:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1328
+#: fortran/resolve.c:1330
 #, gcc-internal-format, gfc-internal-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:1390
+#: fortran/resolve.c:1392
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L is ambiguous"
 msgid "'%s' at %L is ambiguous"
 msgstr "符號「%s」(位於 %L)有歧義"
 
-#: fortran/resolve.c:1394
+#: fortran/resolve.c:1396
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
 msgstr "內部程序「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/resolve.c:1506
+#: fortran/resolve.c:1508
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L must be PURE"
 msgid "Type specified for intrinsic function '%s' at %L is ignored"
 msgstr "指定函式「%s」(位於 %L)必須為 PURE"
 
-#: fortran/resolve.c:1519
+#: fortran/resolve.c:1521
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
 msgstr "內建函式「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:1530
+#: fortran/resolve.c:1532
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic at %L does not exist"
 msgid "'%s' declared INTRINSIC at %L does not exist"
 msgstr "%L 處的內建函式不存在"
 
-#: fortran/resolve.c:1541
+#: fortran/resolve.c:1543
 #, gcc-internal-format, gfc-internal-format
 msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s.  Use an appropriate -std=* option or enable -fall-intrinsics in order to use it."
 msgstr ""
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
 msgstr ""
 
-#: fortran/resolve.c:1610 fortran/resolve.c:8520 fortran/resolve.c:9409
+#: fortran/resolve.c:1612 fortran/resolve.c:8522 fortran/resolve.c:9411
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "標籤 %d(參照自 %L)從未被定義"
 
-#: fortran/resolve.c:1655
+#: fortran/resolve.c:1657
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "敘述函式「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/resolve.c:1663
+#: fortran/resolve.c:1665
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "敘述函式「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1673
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgid "Fortran 2008: Internal procedure '%s' is used as actual argument at %L"
 msgstr "內部程序「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/resolve.c:1679
+#: fortran/resolve.c:1681
 #, gcc-internal-format, gfc-internal-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:1706
+#: fortran/resolve.c:1708
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1728
+#: fortran/resolve.c:1730
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "符號「%s」(位於 %L)有歧義"
 
-#: fortran/resolve.c:1783
+#: fortran/resolve.c:1785
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of INT at %L is not a valid type"
 msgid "By-value argument at %L is not of numeric type"
 msgstr "%L 處 INT 的引數類型無效"
 
-#: fortran/resolve.c:1790
+#: fortran/resolve.c:1792
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.c:1804
+#: fortran/resolve.c:1806
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "standard conversions are not allowed in this context"
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "此上下文中不允許標準轉換"
 
-#: fortran/resolve.c:1816
+#: fortran/resolve.c:1818
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.c:1827
+#: fortran/resolve.c:1829
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.c:1950
+#: fortran/resolve.c:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)"
 msgstr ""
 
-#: fortran/resolve.c:1989
+#: fortran/resolve.c:1991
 #, gcc-internal-format, gfc-internal-format
 msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array"
 msgstr ""
 
-#: fortran/resolve.c:2151
+#: fortran/resolve.c:2153
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)"
 msgstr "%L 處陣列參照中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2161
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Type/rank mismatch in argument '%s' at %L"
 msgid "Return type mismatch of function '%s' at %L (%s/%s)"
 msgstr "引數「%s」類型/秩不匹配,於 %L 處"
 
-#: fortran/resolve.c:2178
+#: fortran/resolve.c:2180
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy argument '%s' of procedure '%s' at %L has an attribute that requires an explicit interface for this procedure"
 msgstr ""
 
-#: fortran/resolve.c:2188
+#: fortran/resolve.c:2190
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface"
 msgstr "符號「%s」在 %L 處已經有了明確介面"
 
-#: fortran/resolve.c:2196
+#: fortran/resolve.c:2198
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface"
 msgstr "符號「%s」在 %L 處已經有了明確介面"
 
-#: fortran/resolve.c:2204
+#: fortran/resolve.c:2206
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2213
+#: fortran/resolve.c:2215
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface"
 msgstr "符號「%s」在 %L 處已經有了明確介面"
 
-#: fortran/resolve.c:2225
+#: fortran/resolve.c:2227
 #, gcc-internal-format, gfc-internal-format
 msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
 msgstr ""
 
-#: fortran/resolve.c:2237
+#: fortran/resolve.c:2239
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L with a POINTER or ALLOCATABLE result must have an explicit interface"
 msgstr ""
 
-#: fortran/resolve.c:2250
+#: fortran/resolve.c:2252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Character-valued internal function '%s' at %L must not be assumed length"
 msgid "Nonconstant character-length function '%s' at %L must have an explicit interface"
 msgstr "字元賦值的內部函式「%s」在 %L 處不允許被指派長度"
 
-#: fortran/resolve.c:2260
+#: fortran/resolve.c:2262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface"
 msgstr "符號「%s」在 %L 處已經有了明確介面"
 
-#: fortran/resolve.c:2267
+#: fortran/resolve.c:2269
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Symbol '%s' at %L already has an explicit interface"
 msgid "Procedure '%s' at %L with BIND(C) attribute must have an explicit interface"
 msgstr "符號「%s」在 %L 處已經有了明確介面"
 
-#: fortran/resolve.c:2373
+#: fortran/resolve.c:2375
 #, gcc-internal-format, gfc-internal-format
 msgid "There is no specific function for the generic '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2391
+#: fortran/resolve.c:2393
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:2429
+#: fortran/resolve.c:2431
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:2478
+#: fortran/resolve.c:2480
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:2534 fortran/resolve.c:13694
+#: fortran/resolve.c:2536 fortran/resolve.c:13696
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "函式「%s」在 %L 處沒有 IMPLICIT 類型"
 
-#: fortran/resolve.c:2735
+#: fortran/resolve.c:2737
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of INT at %L is not a valid type"
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "%L 處 INT 的引數類型無效"
 
-#: fortran/resolve.c:2779
+#: fortran/resolve.c:2781
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing actual argument for argument '%s' at %L"
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "參數「%s」在 %L 處缺少引數"
 
-#: fortran/resolve.c:2791
+#: fortran/resolve.c:2793
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
 msgstr ""
 
-#: fortran/resolve.c:2800
+#: fortran/resolve.c:2802
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "pointers are not permitted as case values"
 msgid "Coindexed argument not permitted in '%s' call at %L"
 msgstr "指標不能做為 case 常數"
 
-#: fortran/resolve.c:2823
+#: fortran/resolve.c:2825
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section not permitted in '%s' call at %L"
 msgstr ""
 
-#: fortran/resolve.c:2834
+#: fortran/resolve.c:2836
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function name '%s' not allowed at %C"
 msgid "Array section in '%s' call at %L"
 msgstr "函式名「%s」不允許出現在 %C 處"
 
-#: fortran/resolve.c:2853
+#: fortran/resolve.c:2855
 #, gcc-internal-format, gfc-internal-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:2870
+#: fortran/resolve.c:2872
 #, gcc-internal-format, gfc-internal-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:2880
+#: fortran/resolve.c:2882
 #, gcc-internal-format, gfc-internal-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:2903 fortran/resolve.c:2940
+#: fortran/resolve.c:2905 fortran/resolve.c:2942
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of %s at %L must be of length one"
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
@@ -44603,536 +44598,536 @@ msgstr "%s 的參數(位於 %L)長度必須為 1"
 
 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
 #. scalar pointer.
-#: fortran/resolve.c:2916
+#: fortran/resolve.c:2918
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個 POINTER"
 
-#: fortran/resolve.c:2932
+#: fortran/resolve.c:2934
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個標量"
 
-#: fortran/resolve.c:2948
+#: fortran/resolve.c:2950
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameter '%s' to '%s' at %L must not be polymorphic"
 msgstr ""
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2961
+#: fortran/resolve.c:2963
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Name '%s' at %C is the name of the procedure"
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "名稱「%s」(位於 %C)是一個程序的名稱"
 
-#: fortran/resolve.c:2969
+#: fortran/resolve.c:2971
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr "%3$L 處純函式「%2$s」的引數「%1$s」必須是 INTENT(IN)"
 
-#: fortran/resolve.c:3018
+#: fortran/resolve.c:3020
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%q+D is not a function,"
 msgid "'%s' at %L is not a function"
 msgstr "%q+D 不是一個函式,"
 
-#: fortran/resolve.c:3026 fortran/resolve.c:3657
+#: fortran/resolve.c:3028 fortran/resolve.c:3659
 #, gcc-internal-format, gfc-internal-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:3081
+#: fortran/resolve.c:3083
 #, gcc-internal-format, gfc-internal-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:3134
+#: fortran/resolve.c:3136
 #, gcc-internal-format, gfc-internal-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
 msgstr ""
 
-#: fortran/resolve.c:3184
+#: fortran/resolve.c:3186
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.c:3191
+#: fortran/resolve.c:3193
 #, gcc-internal-format, gfc-internal-format
 msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.c:3198
+#: fortran/resolve.c:3200
 #, gcc-internal-format, gfc-internal-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:3217
+#: fortran/resolve.c:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3221
+#: fortran/resolve.c:3223
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Specification function '%s' at %L cannot be RECURSIVE"
 msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr "指定函式「%s」(位於 %L)不能是 RECURSIVE"
 
-#: fortran/resolve.c:3260
+#: fortran/resolve.c:3262
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3263
+#: fortran/resolve.c:3265
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3268
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:3332
+#: fortran/resolve.c:3334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Unexpected use of subroutine name '%s' at %C"
 msgid "There is no specific subroutine for the generic '%s' at %L"
 msgstr "對子處理序名「%s」非預期的使用,在 %C 處"
 
-#: fortran/resolve.c:3341
+#: fortran/resolve.c:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:3450
+#: fortran/resolve.c:3452
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Missing actual argument '%s' in call to '%s' at %L"
 msgid "Missing SHAPE parameter for call to %s at %L"
 msgstr "缺少引數「%s」,在呼叫「%s」時,位於 %L"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3460
 #, gcc-internal-format, gfc-internal-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
 msgstr ""
 
-#: fortran/resolve.c:3525
+#: fortran/resolve.c:3527
 #, gcc-internal-format, gfc-internal-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:3569
+#: fortran/resolve.c:3571
 #, gcc-internal-format, gfc-internal-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:3629
+#: fortran/resolve.c:3631
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3667
+#: fortran/resolve.c:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3671
+#: fortran/resolve.c:3673
 #, gcc-internal-format, gfc-internal-format
 msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.c:3747
+#: fortran/resolve.c:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "%L 和 %L 處的運算元外形不相容"
 
-#: fortran/resolve.c:4245
+#: fortran/resolve.c:4247
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4250
+#: fortran/resolve.c:4252
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4260
+#: fortran/resolve.c:4262
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4265
+#: fortran/resolve.c:4267
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4285
+#: fortran/resolve.c:4287
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr "%L 零間隔無效"
 
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4304
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4310
+#: fortran/resolve.c:4312
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4326
+#: fortran/resolve.c:4328
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4335
+#: fortran/resolve.c:4337
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array reference at %L is out of bounds"
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%L 處陣列參照越界"
 
-#: fortran/resolve.c:4374
+#: fortran/resolve.c:4376
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:4384
+#: fortran/resolve.c:4386
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L 處陣列參照中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:4392
+#: fortran/resolve.c:4394
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L 處陣列參照中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:4408
+#: fortran/resolve.c:4410
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL stride expression at %L must be a scalar %s"
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr "%L 處的 FORALL 步幅敘述必須是 %s 標量"
 
-#: fortran/resolve.c:4436
+#: fortran/resolve.c:4438
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr "%L 處陣列索引必須是標量"
 
-#: fortran/resolve.c:4442
+#: fortran/resolve.c:4444
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array index at %L must be of INTEGER type"
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr "%L 處陣列索引必須具有 INTEGER 類型"
 
-#: fortran/resolve.c:4448
+#: fortran/resolve.c:4450
 #, gcc-internal-format, gfc-internal-format
 msgid "Extension: REAL array index at %L"
 msgstr "擴充:%L 處的 REAL 陣列索引"
 
-#: fortran/resolve.c:4487
+#: fortran/resolve.c:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr "%L 引數維數必須是標量"
 
-#: fortran/resolve.c:4494
+#: fortran/resolve.c:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "%L 處引數維數必須具有 INTEGER 類型"
 
-#: fortran/resolve.c:4604
+#: fortran/resolve.c:4606
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "%L 處陣列索引是一個秩為 %d 的陣列"
 
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "%L 處的子字串起始索引類型必須為 INTEGER"
 
-#: fortran/resolve.c:4709
+#: fortran/resolve.c:4711
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr "%L 處的子字串起始索引必須是標量"
 
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4720
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr "%L 處的子字串起始索引小於 1"
 
-#: fortran/resolve.c:4731
+#: fortran/resolve.c:4733
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "%L 處的子字串終止索引類型必須為 INTEGER"
 
-#: fortran/resolve.c:4738
+#: fortran/resolve.c:4740
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr "%L 處的子字串終止索引必須是標量"
 
-#: fortran/resolve.c:4748
+#: fortran/resolve.c:4750
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L exceeds the string length"
 msgstr "%L 處的子字串終止索引必須是標量"
 
-#: fortran/resolve.c:4758
+#: fortran/resolve.c:4760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Substring end index at %L must be scalar"
 msgid "Substring end index at %L is too large"
 msgstr "%L 處的子字串終止索引必須是標量"
 
-#: fortran/resolve.c:4904
+#: fortran/resolve.c:4906
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4911
+#: fortran/resolve.c:4913
 #, gcc-internal-format, gfc-internal-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4932
 #, gcc-internal-format, gfc-internal-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:5135
+#: fortran/resolve.c:5137
 #, gcc-internal-format, gfc-internal-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:5140
+#: fortran/resolve.c:5142
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
 msgstr ""
 
-#: fortran/resolve.c:5204
+#: fortran/resolve.c:5206
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.c:5217
+#: fortran/resolve.c:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.c:5543
+#: fortran/resolve.c:5545
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s tag at %L must be scalar"
 msgid "Passed-object at %L must be scalar"
 msgstr "%s 標記在 %L 處必須是標量"
 
-#: fortran/resolve.c:5550
+#: fortran/resolve.c:5552
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5582
+#: fortran/resolve.c:5584
 #, gcc-internal-format, gfc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5591
+#: fortran/resolve.c:5593
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgid "Base object for NOPASS type-bound procedure call at %L must be scalar"
 msgstr "元素程序的引數「%s」在 %L 處必須是標量"
 
 #. Nothing matching found!
-#: fortran/resolve.c:5775
+#: fortran/resolve.c:5777
 #, gcc-internal-format, gfc-internal-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:5802
+#: fortran/resolve.c:5804
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:5849
+#: fortran/resolve.c:5851
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:6366
+#: fortran/resolve.c:6368
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr "%s (%L 處)必須是一個標量"
 
-#: fortran/resolve.c:6376
+#: fortran/resolve.c:6378
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Cray pointer at %C must be an integer."
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "%C 處 Cray 指標必須是一個整數。"
 
-#: fortran/resolve.c:6380 fortran/resolve.c:6387
+#: fortran/resolve.c:6382 fortran/resolve.c:6389
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s (%L 處)必須是 INTEGER"
 
-#: fortran/resolve.c:6428
+#: fortran/resolve.c:6430
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "步進敘述於 %L 處的 DO 迴圈中不可為零"
 
-#: fortran/resolve.c:6463
+#: fortran/resolve.c:6465
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.c:6524
+#: fortran/resolve.c:6526
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "%L 處 FORALL 索引名稱必須是 INTEGER 標量"
 
-#: fortran/resolve.c:6529
+#: fortran/resolve.c:6531
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "%L 處的 FORALL 啟始敘述必須是 INTEGER 標量"
 
-#: fortran/resolve.c:6536
+#: fortran/resolve.c:6538
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "%L 處的 FORALL 結束敘述必須是 INTEGER 標量"
 
-#: fortran/resolve.c:6544
+#: fortran/resolve.c:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "%L 處的 FORALL 步幅敘述必須是 %s 標量"
 
-#: fortran/resolve.c:6549
+#: fortran/resolve.c:6551
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "%L 處的 FORALL 步幅敘述不能為零"
 
-#: fortran/resolve.c:6565
+#: fortran/resolve.c:6567
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' cannot appear in the expression at %L"
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
 msgstr "變數「%s」不能出現在 %L 處的運算式中"
 
-#: fortran/resolve.c:6661 fortran/resolve.c:6944
+#: fortran/resolve.c:6663 fortran/resolve.c:6946
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:6669 fortran/resolve.c:6910
+#: fortran/resolve.c:6671 fortran/resolve.c:6912
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6774
+#: fortran/resolve.c:6776
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
 msgstr ""
 
-#: fortran/resolve.c:6802
+#: fortran/resolve.c:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Source-expr at %L and allocate-object at %L must have the same shape"
 msgstr ""
 
-#: fortran/resolve.c:6955
+#: fortran/resolve.c:6957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.c:6968
+#: fortran/resolve.c:6970
 #, gcc-internal-format, gfc-internal-format
 msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
 msgstr ""
 
-#: fortran/resolve.c:6982
+#: fortran/resolve.c:6984
 #, gcc-internal-format, gfc-internal-format
 msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray"
 msgstr ""
 
-#: fortran/resolve.c:6995
+#: fortran/resolve.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr"
 msgstr ""
 
-#: fortran/resolve.c:7006
+#: fortran/resolve.c:7008
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration"
 msgstr ""
 
-#: fortran/resolve.c:7091
+#: fortran/resolve.c:7093
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7105
+#: fortran/resolve.c:7107
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "RESULT attribute required in ENTRY statement at %C"
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr "%C 處的 ENTRY 敘述需要 RESULT 屬性"
 
-#: fortran/resolve.c:7132
+#: fortran/resolve.c:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:7151
+#: fortran/resolve.c:7153
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
 msgstr ""
 
-#: fortran/resolve.c:7166
+#: fortran/resolve.c:7168
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expected = sign in PARAMETER statement at %C"
 msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
 msgstr "%C 在 PARAMETER 敘述中需要 = 符號"
 
-#: fortran/resolve.c:7177
+#: fortran/resolve.c:7179
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array specification must be deferred at %L"
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr "%L 處陣列指定必須延遲"
 
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7209
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr "%L 處 FORALL 索引名稱必須是 INTEGER 標量"
 
-#: fortran/resolve.c:7230
+#: fortran/resolve.c:7232
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7241
+#: fortran/resolve.c:7243
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.c:7251
+#: fortran/resolve.c:7253
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
 msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
 msgstr "%L 處指定的 UNIT 必須是 INTEGER 運算式或一個 CHARACTER 變數"
 
-#: fortran/resolve.c:7274
+#: fortran/resolve.c:7276
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.c:7304
+#: fortran/resolve.c:7306
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.c:7310 fortran/resolve.c:7316
+#: fortran/resolve.c:7312 fortran/resolve.c:7318
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -45141,172 +45136,172 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:7511
+#: fortran/resolve.c:7513
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:7562
+#: fortran/resolve.c:7564
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "%L 處 CASE 敘述中的運算式必須具有 %s 類型"
 
-#: fortran/resolve.c:7573
+#: fortran/resolve.c:7575
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be kind %d"
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr "%L 處 CASE 敘述中的運算式種類必須為 %d"
 
-#: fortran/resolve.c:7586
+#: fortran/resolve.c:7588
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "%L 處 CASE 敘述中的運算式必須為標量"
 
-#: fortran/resolve.c:7632
+#: fortran/resolve.c:7634
 #, gcc-internal-format, gfc-internal-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:7650
+#: fortran/resolve.c:7652
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "%L 處 SELECT 敘述的引數不能是 %s"
 
-#: fortran/resolve.c:7668 fortran/resolve.c:7676
+#: fortran/resolve.c:7670 fortran/resolve.c:7678
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Expression in CASE statement at %L must be of type %s"
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr "%L 處 CASE 敘述中的運算式必須具有 %s 類型"
 
-#: fortran/resolve.c:7738 fortran/resolve.c:8048
+#: fortran/resolve.c:7740 fortran/resolve.c:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:7764
+#: fortran/resolve.c:7766
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:7776
+#: fortran/resolve.c:7778
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.c:7790
+#: fortran/resolve.c:7792
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:7893
+#: fortran/resolve.c:7895
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:7958
+#: fortran/resolve.c:7960
 #, gcc-internal-format, gfc-internal-format
 msgid "Associate-name '%s' at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.c:8000
+#: fortran/resolve.c:8002
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Syntax error in EQUIVALENCE statement at %L"
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr "%L 處 EQUIVALENCE 敘述語法錯誤"
 
-#: fortran/resolve.c:8026
+#: fortran/resolve.c:8028
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.c:8036
+#: fortran/resolve.c:8038
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type '%s' at %L must be an extension of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8299
+#: fortran/resolve.c:8301
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic at %L in data transfer statement requires MOLD="
 msgstr ""
 
 #. FIXME: Test for defined input/output.
-#: fortran/resolve.c:8327
+#: fortran/resolve.c:8329
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8339
+#: fortran/resolve.c:8341
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8348
+#: fortran/resolve.c:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.c:8355
+#: fortran/resolve.c:8357
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:8363
+#: fortran/resolve.c:8365
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:8372
+#: fortran/resolve.c:8374
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:8422
+#: fortran/resolve.c:8424
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr "%L 處 FORALL 索引名稱必須是 INTEGER 標量"
 
-#: fortran/resolve.c:8429 fortran/resolve.c:8493
+#: fortran/resolve.c:8431 fortran/resolve.c:8495
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr "%L 處 FORALL 索引名稱必須是 INTEGER 標量"
 
-#: fortran/resolve.c:8441 fortran/resolve.c:8500
+#: fortran/resolve.c:8443 fortran/resolve.c:8502
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument dim at %L must be scalar"
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr "%L 引數維數必須是標量"
 
-#: fortran/resolve.c:8453
+#: fortran/resolve.c:8455
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument dim at %L must be scalar"
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr "%L 引數維數必須是標量"
 
-#: fortran/resolve.c:8470
+#: fortran/resolve.c:8472
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr "%L 處 SELECT 敘述中的引數必須為標量"
 
-#: fortran/resolve.c:8474 fortran/resolve.c:8484
+#: fortran/resolve.c:8476 fortran/resolve.c:8486
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ACOS at %L must be between -1 and 1"
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr "%L 處 ACOS 的參數必須在 -1 和 1 之間"
 
-#: fortran/resolve.c:8527
+#: fortran/resolve.c:8529
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8536
+#: fortran/resolve.c:8538
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Branch at %L causes an infinite loop"
 msgid "Branch at %L may result in an infinite loop"
@@ -45314,12 +45309,12 @@ msgstr "%L 處的分支導致無窮循環"
 
 #. Note: A label at END CRITICAL does not leave the CRITICAL
 #. construct as END CRITICAL is still part of it.
-#: fortran/resolve.c:8553 fortran/resolve.c:8576
+#: fortran/resolve.c:8555 fortran/resolve.c:8578
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.c:8557 fortran/resolve.c:8582
+#: fortran/resolve.c:8559 fortran/resolve.c:8584
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -45327,1004 +45322,1004 @@ 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:8597
+#: fortran/resolve.c:8599
 #, gcc-internal-format, gfc-internal-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:8669
+#: fortran/resolve.c:8671
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8685
+#: fortran/resolve.c:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:8693 fortran/resolve.c:8780
+#: fortran/resolve.c:8695 fortran/resolve.c:8782
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.c:8703 fortran/resolve.c:8790
+#: fortran/resolve.c:8705 fortran/resolve.c:8792
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "%L 處在 WHERE 內不支援的敘述"
 
-#: fortran/resolve.c:8734
+#: fortran/resolve.c:8736
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%L 處向 FORALL 索引變數賦值"
 
-#: fortran/resolve.c:8743
+#: fortran/resolve.c:8745
 #, gcc-internal-format, gfc-internal-format
 msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object"
 msgstr ""
 
-#: fortran/resolve.c:8912
+#: fortran/resolve.c:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:8992
+#: fortran/resolve.c:8994
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "%L 處的 WHERE/ELSEWHERE 子句需要一個 LOGICAL 陣列"
 
-#: fortran/resolve.c:9146
+#: fortran/resolve.c:9148
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
 msgstr ""
 
-#: fortran/resolve.c:9178
+#: fortran/resolve.c:9180
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:9183
+#: fortran/resolve.c:9185
 #, gcc-internal-format, gfc-internal-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
 msgstr ""
 
-#: fortran/resolve.c:9193
+#: fortran/resolve.c:9195
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assignment to a FORALL index variable at %L"
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr "%L 處向 FORALL 索引變數賦值"
 
-#: fortran/resolve.c:9224
+#: fortran/resolve.c:9226
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator"
 msgstr ""
 
-#: fortran/resolve.c:9233
+#: fortran/resolve.c:9235
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed variable must not be have an allocatable ultimate component in assignment at %L"
 msgstr ""
 
-#: fortran/resolve.c:9368
+#: fortran/resolve.c:9370
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9371
+#: fortran/resolve.c:9373
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr "變數「%s」在 %L 尚未指派到目標標籤"
 
-#: fortran/resolve.c:9382
+#: fortran/resolve.c:9384
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "%L 處的 INQUIRE 敘述需要 FILE 或 UNIT 限定符"
 
-#: fortran/resolve.c:9417
+#: fortran/resolve.c:9419
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:9450
+#: fortran/resolve.c:9452
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:9509
+#: fortran/resolve.c:9511
 #, gcc-internal-format, gfc-internal-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:9593
+#: fortran/resolve.c:9595
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr "%L 處的 WHERE/ELSEWHERE 子句需要一個 LOGICAL 陣列"
 
-#: fortran/resolve.c:9675 fortran/resolve.c:9728
+#: fortran/resolve.c:9677 fortran/resolve.c:9730
 #, gcc-internal-format, gfc-internal-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:9693
+#: fortran/resolve.c:9695
 #, gcc-internal-format, gfc-internal-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:9740
+#: fortran/resolve.c:9742
 #, gcc-internal-format, gfc-internal-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:9792
+#: fortran/resolve.c:9794
 #, gcc-internal-format, gfc-internal-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:9805
+#: fortran/resolve.c:9807
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9818
+#: fortran/resolve.c:9820
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:9897
+#: fortran/resolve.c:9899
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
 msgstr ""
 
-#: fortran/resolve.c:9910
+#: fortran/resolve.c:9912
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "size of array %qs is too large"
 msgid "String length at %L is too large"
 msgstr "陣列 %qs 太大"
 
-#: fortran/resolve.c:10247
+#: fortran/resolve.c:10250
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr "可指派的陣列「%s」在 %L 處必須有延遲的外形"
 
-#: fortran/resolve.c:10251
+#: fortran/resolve.c:10254
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:10259
+#: fortran/resolve.c:10262
 #, gcc-internal-format, gfc-internal-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "陣列指標「%s」在 %L 處必須有延遲的外形"
 
-#: fortran/resolve.c:10269
+#: fortran/resolve.c:10272
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "陣列「%s」在 %L 處不能有延遲的外形"
 
-#: fortran/resolve.c:10282
+#: fortran/resolve.c:10285
 #, gcc-internal-format, gfc-internal-format
 msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.c:10294
+#: fortran/resolve.c:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:10325
+#: fortran/resolve.c:10328
 #, gcc-internal-format, gfc-internal-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
 msgstr ""
 
-#: fortran/resolve.c:10347
+#: fortran/resolve.c:10350
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
 msgstr ""
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:10394
+#: fortran/resolve.c:10397
 #, gcc-internal-format, gfc-internal-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr "模組或主程式陣列「%s」在 %L 處必須有常態的外形"
 
-#: fortran/resolve.c:10403
+#: fortran/resolve.c:10406
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute."
 msgid "Entity '%s' at %L has a deferred type parameter and requires either the pointer or allocatable attribute"
 msgstr "可能的前端程式缺陷:提領陣列大小時沒有指標或可指派屬性。"
 
-#: fortran/resolve.c:10417
+#: fortran/resolve.c:10420
 #, gcc-internal-format, gfc-internal-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:10436
+#: fortran/resolve.c:10439
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:10442
+#: fortran/resolve.c:10445
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON variable '%s' at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.c:10487
+#: fortran/resolve.c:10490
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "可指派的「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10490
+#: fortran/resolve.c:10493
 #, gcc-internal-format, gfc-internal-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "外部「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10494
+#: fortran/resolve.c:10497
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "啞元「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10497
+#: fortran/resolve.c:10500
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "內建函式「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10500
+#: fortran/resolve.c:10503
 #, gcc-internal-format, gfc-internal-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "函式結果「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10503
+#: fortran/resolve.c:10506
 #, gcc-internal-format, gfc-internal-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "自動陣列「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10540
+#: fortran/resolve.c:10543
 #, gcc-internal-format, gfc-internal-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:10562
+#: fortran/resolve.c:10565
 #, gcc-internal-format, gfc-internal-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:10584 fortran/resolve.c:10608
+#: fortran/resolve.c:10587 fortran/resolve.c:10611
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.c:10626
+#: fortran/resolve.c:10629
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "函式結果「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10635
+#: fortran/resolve.c:10638
 #, gcc-internal-format, gfc-internal-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "外部物件「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:10643
+#: fortran/resolve.c:10646
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
 msgstr "內建函式「%s」 於 %L 處必須有至少兩個引數"
 
-#: fortran/resolve.c:10653
+#: fortran/resolve.c:10656
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgid "Statement function '%s' at %L may not have pointer or allocatable attribute"
 msgstr "敘述函式「%s」在 %L 處不允許做為實際引數"
 
-#: fortran/resolve.c:10672
+#: fortran/resolve.c:10675
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能以陣列賦值"
 
-#: fortran/resolve.c:10676
+#: fortran/resolve.c:10679
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能以指標賦值"
 
-#: fortran/resolve.c:10680
+#: fortran/resolve.c:10683
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能是純量"
 
-#: fortran/resolve.c:10684
+#: fortran/resolve.c:10687
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:10696
+#: fortran/resolve.c:10699
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
 msgstr "CHARACTER(*) 函式「%s」(位於 %L)不能是純量"
 
-#: fortran/resolve.c:10751
+#: fortran/resolve.c:10754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
 msgstr "%s 屬性與 %s 屬性衝突,在「%s」中,位於 %L"
 
-#: fortran/resolve.c:10757
+#: fortran/resolve.c:10760
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
 msgstr "%s 屬性與 %s 屬性衝突,在「%s」中,位於 %L"
 
-#: fortran/resolve.c:10763
+#: fortran/resolve.c:10766
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
 msgstr "%s 屬性與 %s 屬性衝突,在「%s」中,位於 %L"
 
-#: fortran/resolve.c:10771
+#: fortran/resolve.c:10774
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
 msgstr "%s 屬性與 %s 屬性衝突,在「%s」中,位於 %L"
 
-#: fortran/resolve.c:10777
+#: fortran/resolve.c:10780
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.c:10823
+#: fortran/resolve.c:10826
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10834
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%qD must take exactly one argument"
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr "%qD 帶且僅帶 1 個引數"
 
-#: fortran/resolve.c:10840
+#: fortran/resolve.c:10843
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument of ICHAR at %L must be of length one"
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
 msgstr "%L 處 ICHAR 的參數長度必須為 1"
 
-#: fortran/resolve.c:10848
+#: fortran/resolve.c:10851
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個 POINTER"
 
-#: fortran/resolve.c:10854
+#: fortran/resolve.c:10857
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 ALLOCATABLE"
 
-#: fortran/resolve.c:10860
+#: fortran/resolve.c:10863
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)不能為可選的"
 
-#: fortran/resolve.c:10868
+#: fortran/resolve.c:10871
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr "%L 處運算子介面的第一個參數必須是 INTENT(IN)"
 
-#: fortran/resolve.c:10876
+#: fortran/resolve.c:10879
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.c:10895
+#: fortran/resolve.c:10898
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
 msgstr ""
 
-#: fortran/resolve.c:10928
+#: fortran/resolve.c:10931
 #, gcc-internal-format, gfc-internal-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
 msgstr ""
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:10933
+#: fortran/resolve.c:10936
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Initialization at %C is not allowed in a PURE procedure"
 msgid "Finalization at %L is not yet implemented"
 msgstr "初始化不允許出現在 %C 處的 PURE 程序中"
 
-#: fortran/resolve.c:10964
+#: fortran/resolve.c:10967
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:10974
+#: fortran/resolve.c:10977
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.c:11033
+#: fortran/resolve.c:11036
 #, gcc-internal-format, gfc-internal-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11045
+#: fortran/resolve.c:11048
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.c:11075
+#: fortran/resolve.c:11078
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.c:11131
+#: fortran/resolve.c:11134
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L can't be NOPASS"
 msgstr ""
 
-#: fortran/resolve.c:11294
+#: fortran/resolve.c:11297
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' called with an implicit interface at %L"
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
 msgstr "呼叫程序「%s」帶隱含介面,位於 %L"
 
-#: fortran/resolve.c:11331
+#: fortran/resolve.c:11334
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr "程序「%s」(在 %s 中,位於 %L) 既不是函式也不是子處理序"
 
-#: fortran/resolve.c:11345
+#: fortran/resolve.c:11348
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
 msgstr "內建函式「%s」 於 %L 處必須有至少兩個引數"
 
-#: fortran/resolve.c:11359 fortran/resolve.c:11822
+#: fortran/resolve.c:11362 fortran/resolve.c:11825
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:11367
+#: fortran/resolve.c:11370
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)不能是衍生類型"
 
-#: fortran/resolve.c:11376
+#: fortran/resolve.c:11379
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
 msgid "Passed-object dummy argument of '%s' at %L must be scalar"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個標量"
 
-#: fortran/resolve.c:11382
+#: fortran/resolve.c:11385
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 ALLOCATABLE"
 
-#: fortran/resolve.c:11388
+#: fortran/resolve.c:11391
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgid "Passed-object dummy argument of '%s' at %L must not be POINTER"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須是一個 POINTER"
 
-#: fortran/resolve.c:11417
+#: fortran/resolve.c:11420
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component '%s' at %C is a PRIVATE component of '%s'"
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
 msgstr "元件「%s」在 %C 處是「%s」的 PRIVATE 元件"
 
-#: fortran/resolve.c:11426
+#: fortran/resolve.c:11429
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11521
+#: fortran/resolve.c:11524
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
 msgstr ""
 
-#: fortran/resolve.c:11579
+#: fortran/resolve.c:11582
 #, gcc-internal-format, gfc-internal-format
 msgid "As extending type '%s' at %L has a coarray component, parent type '%s' shall also have one"
 msgstr ""
 
-#: fortran/resolve.c:11592
+#: fortran/resolve.c:11595
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.c:11605
+#: fortran/resolve.c:11608
 #, gcc-internal-format, gfc-internal-format
 msgid "Deferred-length character component '%s' at %L is not yet supported"
 msgstr ""
 
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11618
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array pointer '%s' at %L must have a deferred shape"
 msgid "Coarray component '%s' at %L must be allocatable with deferred shape"
 msgstr "陣列指標「%s」在 %L 處必須有延遲的外形"
 
-#: fortran/resolve.c:11624
+#: fortran/resolve.c:11627
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:11634
+#: fortran/resolve.c:11637
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:11643
+#: fortran/resolve.c:11646
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.c:11651
+#: fortran/resolve.c:11654
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement"
 msgstr ""
 
-#: fortran/resolve.c:11716
+#: fortran/resolve.c:11719
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
 msgstr "%3$L 處純函式「%2$s」的引數「%1$s」必須是 INTENT(IN)"
 
-#: fortran/resolve.c:11756
+#: fortran/resolve.c:11759
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
 msgstr ""
 
-#: fortran/resolve.c:11770
+#: fortran/resolve.c:11773
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
 msgstr "內建函式「%s」 於 %L 處必須有至少兩個引數"
 
-#: fortran/resolve.c:11786
+#: fortran/resolve.c:11789
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)不能是衍生類型"
 
-#: fortran/resolve.c:11796
+#: fortran/resolve.c:11799
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Argument '%s' of statement function at %L must be scalar"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
 msgstr "敘述函式的引數「%s」在 %L 處必須是標量"
 
-#: fortran/resolve.c:11805
+#: fortran/resolve.c:11808
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component at %C must have the POINTER attribute"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
 msgstr "%C 處的元件必須有 POINTER 屬性"
 
-#: fortran/resolve.c:11814
+#: fortran/resolve.c:11817
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr "引數「%s」(屬於內建函式「%s」,位於 %L)必須為 ALLOCATABLE"
 
-#: fortran/resolve.c:11851
+#: fortran/resolve.c:11854
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
 msgstr ""
 
-#: fortran/resolve.c:11864
+#: fortran/resolve.c:11867
 #, gcc-internal-format, gfc-internal-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
 msgstr ""
 
-#: fortran/resolve.c:11875
+#: fortran/resolve.c:11878
 #, gcc-internal-format, gfc-internal-format
 msgid "Character component '%s' of '%s' at %L with deferred length must be a POINTER or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:11887
+#: fortran/resolve.c:11890
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:11895
+#: fortran/resolve.c:11898
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.c:11904
+#: fortran/resolve.c:11907
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Component at %C must have the POINTER attribute"
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
 msgstr "%C 處的元件必須有 POINTER 屬性"
 
-#: fortran/resolve.c:11922 fortran/resolve.c:11933
+#: fortran/resolve.c:11925 fortran/resolve.c:11936
 #, gcc-internal-format, gfc-internal-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
 msgstr ""
 
-#: fortran/resolve.c:11945
+#: fortran/resolve.c:11948
 #, gcc-internal-format, gfc-internal-format
 msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.c:11995
+#: fortran/resolve.c:11998
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
 msgstr ""
 
-#: fortran/resolve.c:12047
+#: fortran/resolve.c:12050
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed."
 msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
 msgstr "%3$C 處名稱清單「%2$s」中假定的大小陣列「%1$s」不被允許。"
 
-#: fortran/resolve.c:12053
+#: fortran/resolve.c:12056
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12060
+#: fortran/resolve.c:12063
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12069
+#: fortran/resolve.c:12072
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12082
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12089
+#: fortran/resolve.c:12092
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
 msgstr ""
 
 #. FIXME: Once UDDTIO is implemented, the following can be
 #. removed.
-#: fortran/resolve.c:12097
+#: fortran/resolve.c:12100
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
 msgstr ""
 
-#: fortran/resolve.c:12114
+#: fortran/resolve.c:12117
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12124
+#: fortran/resolve.c:12127
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12135
+#: fortran/resolve.c:12138
 #, gcc-internal-format, gfc-internal-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:12162
+#: fortran/resolve.c:12165
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
 msgstr "%s 屬性與 %s 屬性衝突,在「%s」中,位於 %L"
 
-#: fortran/resolve.c:12181
+#: fortran/resolve.c:12184
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
 msgstr "陣列「%s」在 %L 處不能有延遲的外形"
 
-#: fortran/resolve.c:12193
+#: fortran/resolve.c:12196
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:12204
+#: fortran/resolve.c:12207
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.c:12273
+#: fortran/resolve.c:12276
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute at %L"
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr "%s 屬性與 %s 屬性在 %L 處衝突"
 
-#: fortran/resolve.c:12276
+#: fortran/resolve.c:12279
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "%s attribute conflicts with %s attribute at %L"
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr "%s 屬性與 %s 屬性在 %L 處衝突"
 
-#: fortran/resolve.c:12359
+#: fortran/resolve.c:12362
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
 msgstr ""
 
-#: fortran/resolve.c:12377
+#: fortran/resolve.c:12380
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr "假定大小的陣列在 %L 處必須是啞引數"
 
-#: fortran/resolve.c:12380
+#: fortran/resolve.c:12383
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr "假定外形的陣列在 %L 處必須是啞引數"
 
-#: fortran/resolve.c:12393
+#: fortran/resolve.c:12396
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "%L 處的符號不是一個 DUMMY 變數"
 
-#: fortran/resolve.c:12399
+#: fortran/resolve.c:12402
 #, gcc-internal-format, gfc-internal-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12409
+#: fortran/resolve.c:12412
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Variable '%s' at %L in this context must be constant"
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
 msgstr "變數「%s」在 %L 處上下文中必須是常數"
 
-#: fortran/resolve.c:12418
+#: fortran/resolve.c:12421
 #, gcc-internal-format, gfc-internal-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
 msgstr ""
 
-#: fortran/resolve.c:12431 fortran/resolve.c:12512
+#: fortran/resolve.c:12434 fortran/resolve.c:12515
 #, gcc-internal-format, gfc-internal-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
 msgstr ""
 
-#: fortran/resolve.c:12458
+#: fortran/resolve.c:12461
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
 msgstr ""
 
-#: fortran/resolve.c:12538
+#: fortran/resolve.c:12541
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
 msgstr "PUBLIC 函式「%s」在 %L 處不能是 PRIVATE 類型「%s」"
 
-#: fortran/resolve.c:12552
+#: fortran/resolve.c:12555
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12570
+#: fortran/resolve.c:12573
 #, gcc-internal-format, gfc-internal-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:12582
+#: fortran/resolve.c:12585
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
 msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr "「%s」啞元引數在 %L 處不能是 INTENT(OUT)"
 
-#: fortran/resolve.c:12594
+#: fortran/resolve.c:12597
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Function result '%s' at %L cannot have an initializer"
 msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
 msgstr "函式結果「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:12603
+#: fortran/resolve.c:12606
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
 msgstr ""
 
-#: fortran/resolve.c:12615
+#: fortran/resolve.c:12618
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.c:12630
+#: fortran/resolve.c:12633
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument"
 msgstr ""
 
-#: fortran/resolve.c:12638
+#: fortran/resolve.c:12641
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Array '%s' at %L cannot have a deferred shape"
 msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
 msgstr "陣列「%s」在 %L 處不能有延遲的外形"
 
-#: fortran/resolve.c:12645
+#: fortran/resolve.c:12648
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
 msgstr "可指派的陣列「%s」在 %L 處必須有延遲的外形"
 
-#: fortran/resolve.c:12657
+#: fortran/resolve.c:12660
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
 msgstr ""
 
-#: fortran/resolve.c:12666
+#: fortran/resolve.c:12669
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
 msgstr "在 %L 處的啞程序不允許出現在 ELEMENTAL 程序中"
 
-#: fortran/resolve.c:12738
+#: fortran/resolve.c:12741
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.c:12832
+#: fortran/resolve.c:12835
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:12838
+#: fortran/resolve.c:12841
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.c:12847
+#: fortran/resolve.c:12850
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Dummy '%s' at %L cannot have an initializer"
 msgid "DATA element '%s' at %L cannot have a coindex"
 msgstr "啞元「%s」在 %L 處不能有初始值設定"
 
-#: fortran/resolve.c:12861
+#: fortran/resolve.c:12864
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA element '%s' at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.c:12907
+#: fortran/resolve.c:12910
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:12920
+#: fortran/resolve.c:12923
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:13019
+#: fortran/resolve.c:13022
 #, gcc-internal-format, gfc-internal-format
 msgid "start of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13027
+#: fortran/resolve.c:13030
 #, gcc-internal-format, gfc-internal-format
 msgid "end of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13035
+#: fortran/resolve.c:13038
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L could not be simplified to a constant value"
 msgstr ""
 
-#: fortran/resolve.c:13160
+#: fortran/resolve.c:13163
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:13299
+#: fortran/resolve.c:13301
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr "標籤 %d 於 %L 經定義但未被使用"
 
-#: fortran/resolve.c:13304
+#: fortran/resolve.c:13306
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "標籤 %d 於 %L 經定義但無法被使用"
 
-#: fortran/resolve.c:13388
+#: fortran/resolve.c:13390
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13397
+#: fortran/resolve.c:13399
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13405
+#: fortran/resolve.c:13407
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
 msgstr ""
 
-#: fortran/resolve.c:13421
+#: fortran/resolve.c:13423
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13524
+#: fortran/resolve.c:13526
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "%L 處 EQUIVALENCE 敘述語法錯誤"
 
-#: fortran/resolve.c:13539
+#: fortran/resolve.c:13541
 #, gcc-internal-format, gfc-internal-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
 msgstr ""
 
-#: fortran/resolve.c:13551
+#: fortran/resolve.c:13553
 #, gcc-internal-format, gfc-internal-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:13560
+#: fortran/resolve.c:13562
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13641
 #, gcc-internal-format, gfc-internal-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13650
+#: fortran/resolve.c:13652
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:13661
+#: fortran/resolve.c:13663
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr "%L 的子字串長度為零"
 
-#: fortran/resolve.c:13704
+#: fortran/resolve.c:13706
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
 msgstr "PUBLIC 函式「%s」在 %L 處不能是 PRIVATE 類型「%s」"
 
-#: fortran/resolve.c:13717
+#: fortran/resolve.c:13719
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY「%s」在 %L 處沒有 IMPLICIT 類型"
 
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13736
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.c:13744
+#: fortran/resolve.c:13746
 #, gcc-internal-format, gfc-internal-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.c:13752
+#: fortran/resolve.c:13754
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr "內建函式「%s」 於 %L 處必須有至少兩個引數"
 
-#: fortran/resolve.c:13766
+#: fortran/resolve.c:13768
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "%L 處運算子介面的第一個參數必須是 INTENT(IN)"
 
-#: fortran/resolve.c:13784
+#: fortran/resolve.c:13786
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "%L 處運算子介面的第二個參數必須是 INTENT(IN)"
 
-#: fortran/resolve.c:13791
+#: fortran/resolve.c:13793
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "內建函式「%s」 於 %L 處必須有至少兩個引數"
 
-#: fortran/resolve.c:13867
+#: fortran/resolve.c:13869
 #, gcc-internal-format, gfc-internal-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -46502,34 +46497,34 @@ msgstr "%L 處 IBCLR 的第二個參數無效"
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:3448 fortran/simplify.c:3580
+#: fortran/simplify.c:3451 fortran/simplify.c:3583
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "%L 處的 DIM 參數越界"
 
-#: fortran/simplify.c:3751
+#: fortran/simplify.c:3754
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:3764
+#: fortran/simplify.c:3767
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:3792
+#: fortran/simplify.c:3795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4240
+#: fortran/simplify.c:4243
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument MOD at %L is zero"
 msgstr "%L 處 MOD 的第二個參數為 0"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:4251
+#: fortran/simplify.c:4254
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "%L 處 MOD 的第二個參數為 0"
@@ -46537,48 +46532,48 @@ 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:4293 fortran/simplify.c:4305
+#: fortran/simplify.c:4296 fortran/simplify.c:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "%L 處 MODULO 的第二個參數為 0"
 
-#: fortran/simplify.c:4380
+#: fortran/simplify.c:4383
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "Result of SCALE overflows its kind at %L"
 msgid "Result of NEAREST is NaN at %L"
 msgstr "%L 處 SCALE 的結果向上溢位其種別"
 
-#: fortran/simplify.c:4844
+#: fortran/simplify.c:4847
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.c:4899
+#: fortran/simplify.c:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.c:5151
+#: fortran/simplify.c:5154
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "%L 處 SCALE 的結果向上溢位其種別"
 
-#: fortran/simplify.c:5862
+#: fortran/simplify.c:5865
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "%L 處 SQRT 的參數為負"
 
-#: fortran/simplify.c:6173
+#: fortran/simplify.c:6176
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6196
+#: fortran/simplify.c:6199
 #, gcc-internal-format, gfc-internal-format
 msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
 msgstr ""
 
-#: fortran/simplify.c:6613
+#: fortran/simplify.c:6616
 #, gcc-internal-format, gfc-internal-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
 msgstr ""
@@ -46967,18 +46962,18 @@ msgstr ""
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
 msgstr ""
 
-#: fortran/trans-array.c:7003
+#: fortran/trans-array.c:6997
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L for argument '%s'"
 msgstr ""
 
-#: fortran/trans-array.c:8129
+#: fortran/trans-array.c:8123
 #, fuzzy, gcc-internal-format
 #| msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute."
 msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr "可能的前端程式缺陷:提領陣列大小時沒有指標或可指派屬性。"
 
-#: fortran/trans-array.c:8626
+#: fortran/trans-array.c:8620
 #, gcc-internal-format, gfc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -47629,19 +47624,19 @@ msgstr ""
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto.c:1010
+#: lto/lto.c:1009
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "expected qualified name in friend declaration for destructor %qD"
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr "在解構函式 %qD 中的夥伴宣告需要限定名"
 
-#: lto/lto.c:1019
+#: lto/lto.c:1018
 #, fuzzy, gcc-internal-format
 #| msgid "could not find specs file %s\n"
 msgid "could not parse file offset"
 msgstr "找不到 specs 檔案 %s\n"
 
-#: lto/lto.c:1022
+#: lto/lto.c:1021
 #, fuzzy, gcc-internal-format
 #| msgid "unexpected node"
 msgid "unexpected offset"
@@ -47653,76 +47648,76 @@ msgstr "與預期不符的結點"
 msgid "invalid line in the resolution file"
 msgstr "此指令中暫存器無效"
 
-#: lto/lto.c:1056
+#: lto/lto.c:1054
 #, fuzzy, gcc-internal-format
 #| msgid "invalid register in the instruction"
 msgid "invalid resolution in the resolution file"
 msgstr "此指令中暫存器無效"
 
-#: lto/lto.c:1062
+#: lto/lto.c:1060
 #, gcc-internal-format
 msgid "resolution sub id "
 msgstr ""
 
-#: lto/lto.c:1157
+#: lto/lto.c:1169
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot find class %qs"
 msgid "cannot read LTO decls from %s"
 msgstr "找不到類別 %qs"
 
-#: lto/lto.c:1261
+#: lto/lto.c:1274
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot open %s"
 msgstr "無法開啟 %s"
 
-#: lto/lto.c:1282
+#: lto/lto.c:1295
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot map %s"
 msgstr "無法開啟 %s"
 
-#: lto/lto.c:1293
+#: lto/lto.c:1306
 #, fuzzy, gcc-internal-format, gfc-internal-format
 #| msgid "cannot open %s"
 msgid "Cannot read %s"
 msgstr "無法開啟 %s"
 
-#: lto/lto.c:2272
+#: lto/lto.c:2285
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.c:2275
+#: lto/lto.c:2288
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "opening LTRANS output list %s: %m"
 msgstr "開啟輸出檔案 %s:%m"
 
-#: lto/lto.c:2321
+#: lto/lto.c:2334
 #, gcc-internal-format
 msgid "lto_obj_file_open() failed"
 msgstr ""
 
-#: lto/lto.c:2347
+#: lto/lto.c:2360
 #, fuzzy, gcc-internal-format
 #| msgid "when writing output to %s: %m"
 msgid "writing to LTRANS output list %s: %m"
 msgstr "當寫入輸出到 %s 時:%m"
 
-#: lto/lto.c:2355
+#: lto/lto.c:2368
 #, fuzzy, gcc-internal-format
 #| msgid "opening output file %s: %m"
 msgid "closing LTRANS output list %s: %m"
 msgstr "開啟輸出檔案 %s:%m"
 
-#: lto/lto.c:2582
+#: lto/lto.c:2595
 #, fuzzy, gcc-internal-format
 #| msgid "%s:could not open output file '%s'\n"
 msgid "could not open symbol resolution file: %m"
 msgstr "%s:無法開啟輸出檔案「%s」\n"
 
-#: lto/lto.c:2657
+#: lto/lto.c:2670
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
index b57c404..ebad5db 100644 (file)
@@ -64,7 +64,7 @@ hash1 (const void *p, unsigned long max, unsigned long logmax)
 #endif
   const unsigned long shift = HOST_BITS_PER_LONG - logmax;
 
-  return ((A * (unsigned long) p) >> shift) & (max - 1);
+  return ((A * (uintptr_t) p) >> shift) & (max - 1);
 }
 
 /* Allocate an empty pointer set.  */
index 369ede7..c7003f8 100644 (file)
@@ -157,12 +157,12 @@ lookup_key (char *key)
     }
 
   size = 32;
-  dst = xmalloc (size);
+  dst = XNEWVEC (char, size);
 
   res = RegQueryValueExA (reg_key, key, 0, &type, (LPBYTE) dst, &size);
   if (res == ERROR_MORE_DATA && type == REG_SZ)
     {
-      dst = xrealloc (dst, size);
+      dst = XRESIZEVEC (char, dst, size);
       res = RegQueryValueExA (reg_key, key, 0, &type, (LPBYTE) dst, &size);
     }
 
index 7fb71d0..e96c3a2 100644 (file)
@@ -255,7 +255,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
   /* Allow this function to be called if the table is not there.  */
   if (table)
     {
-      hash = ((unsigned long) node) % HASH_SIZE;
+      hash = ((uintptr_t) node) % HASH_SIZE;
 
       /* If node is in the table, just mention its address.  */
       for (b = table[hash]; b; b = b->next)
index e74fee2..fe66721 100644 (file)
@@ -1862,8 +1862,12 @@ merge_expr (expr_t to, expr_t from, insn_t split_point)
   /* Make sure that speculative pattern is propagated into exprs that
      have non-speculative one.  This will provide us with consistent
      speculative bits and speculative patterns inside expr.  */
-  if (EXPR_SPEC_DONE_DS (to) == 0
-      && EXPR_SPEC_DONE_DS (from) != 0)
+  if ((EXPR_SPEC_DONE_DS (from) != 0
+       && EXPR_SPEC_DONE_DS (to) == 0)
+      /* Do likewise for volatile insns, so that we always retain
+        the may_trap_p bit on the resulting expression.  */
+      || (VINSN_MAY_TRAP_P (EXPR_VINSN (from))
+         && !VINSN_MAY_TRAP_P (EXPR_VINSN (to))))
     change_vinsn_in_expr (to, EXPR_VINSN (from));
 
   merge_expr_data (to, from, split_point);
@@ -3224,7 +3228,11 @@ has_dependence_note_reg_use (int regno)
       if (reg_last->clobbers)
        *dsp = (*dsp & ~SPECULATIVE) | DEP_ANTI;
 
-      /* Handle BE_IN_SPEC.  */
+      /* Merge BE_IN_SPEC bits into *DSP when the dependency producer
+        is actually a check insn.  We need to do this for any register
+        read-read dependency with the check unless we track properly
+        all registers written by BE_IN_SPEC-speculated insns, as
+        we don't have explicit dependence lists.  See PR 53975.  */
       if (reg_last->uses)
        {
          ds_t pro_spec_checked_ds;
@@ -3232,9 +3240,7 @@ has_dependence_note_reg_use (int regno)
          pro_spec_checked_ds = INSN_SPEC_CHECKED_DS (has_dependence_data.pro);
          pro_spec_checked_ds = ds_get_max_dep_weak (pro_spec_checked_ds);
 
-         if (pro_spec_checked_ds != 0
-             && bitmap_bit_p (INSN_REG_SETS (has_dependence_data.pro), regno))
-           /* Merge BE_IN_SPEC bits into *DSP.  */
+         if (pro_spec_checked_ds != 0)
            *dsp = ds_full_merge (*dsp, pro_spec_checked_ds,
                                  NULL_RTX, NULL_RTX);
        }
@@ -5017,7 +5023,7 @@ free_sched_pools (void)
 
   free_alloc_pool (sched_lists_pool);
   gcc_assert (succs_info_pool.top == -1);
-  for (i = 0; i < succs_info_pool.max_top; i++)
+  for (i = 0; i <= succs_info_pool.max_top; i++)
     {
       VEC_free (rtx, heap, succs_info_pool.stack[i].succs_ok);
       VEC_free (rtx, heap, succs_info_pool.stack[i].succs_other);
index 2af01ae..6b44893 100644 (file)
@@ -45,6 +45,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "rtlhooks-def.h"
 #include "output.h"
 #include "emit-rtl.h"
+#include "ira.h"
 
 #ifdef INSN_SCHEDULING
 #include "sel-sched-ir.h"
@@ -2113,6 +2114,61 @@ moving_insn_creates_bookkeeping_block_p (insn_t insn,
   return TRUE;
 }
 
+/* Return true when the conflict with newly created implicit clobbers
+   between EXPR and THROUGH_INSN is found because of renaming.  */
+static bool
+implicit_clobber_conflict_p (insn_t through_insn, expr_t expr)
+{
+  HARD_REG_SET temp;
+  rtx insn, reg, rhs, pat;
+  hard_reg_set_iterator hrsi;
+  unsigned regno;
+  bool valid;
+
+  /* Make a new pseudo register.  */
+  reg = gen_reg_rtx (GET_MODE (EXPR_LHS (expr)));
+  max_regno = max_reg_num ();
+  maybe_extend_reg_info_p ();
+
+  /* Validate a change and bail out early.  */
+  insn = EXPR_INSN_RTX (expr);
+  validate_change (insn, &SET_DEST (PATTERN (insn)), reg, true);
+  valid = verify_changes (0);
+  cancel_changes (0);
+  if (!valid)
+    {
+      if (sched_verbose >= 6)
+       sel_print ("implicit clobbers failed validation, ");
+      return true;
+    }
+
+  /* Make a new insn with it.  */
+  rhs = copy_rtx (VINSN_RHS (EXPR_VINSN (expr)));
+  pat = gen_rtx_SET (VOIDmode, reg, rhs);
+  start_sequence ();
+  insn = emit_insn (pat);
+  end_sequence ();
+
+  /* Calculate implicit clobbers.  */
+  extract_insn (insn);
+  preprocess_constraints ();
+  ira_implicitly_set_insn_hard_regs (&temp);
+  AND_COMPL_HARD_REG_SET (temp, ira_no_alloc_regs);
+
+  /* If any implicit clobber registers intersect with regular ones in
+     through_insn, we have a dependency and thus bail out.  */
+  EXECUTE_IF_SET_IN_HARD_REG_SET (temp, 0, regno, hrsi)
+    {
+      vinsn_t vi = INSN_VINSN (through_insn);
+      if (bitmap_bit_p (VINSN_REG_SETS (vi), regno)
+         || bitmap_bit_p (VINSN_REG_CLOBBERS (vi), regno)
+         || bitmap_bit_p (VINSN_REG_USES (vi), regno))
+       return true;
+    }
+
+  return false;
+}
+
 /* Modifies EXPR so it can be moved through the THROUGH_INSN,
    performing necessary transformations.  Record the type of transformation
    made in PTRANS_TYPE, when it is not NULL.  When INSIDE_INSN_GROUP,
@@ -2245,6 +2301,17 @@ moveup_expr (expr_t expr, insn_t through_insn, bool inside_insn_group,
       if (!enable_schedule_as_rhs_p || !EXPR_SEPARABLE_P (expr))
         return MOVEUP_EXPR_NULL;
 
+      /* When renaming a hard register to a pseudo before reload, extra
+        dependencies can occur from the implicit clobbers of the insn.
+        Filter out such cases here.  */
+      if (!reload_completed && REG_P (EXPR_LHS (expr))
+         && HARD_REGISTER_P (EXPR_LHS (expr))
+         && implicit_clobber_conflict_p (through_insn, expr))
+       {
+         if (sched_verbose >= 6)
+           sel_print ("implicit clobbers conflict detected, ");
+         return MOVEUP_EXPR_NULL;
+       }
       EXPR_TARGET_AVAILABLE (expr) = false;
       was_target_conflict = true;
       as_rhs = true;
@@ -3567,29 +3634,41 @@ process_use_exprs (av_set_t *av_ptr)
   return NULL;
 }
 
-/* Lookup EXPR in VINSN_VEC and return TRUE if found.  */
+/* Lookup EXPR in VINSN_VEC and return TRUE if found.  Also check patterns from
+   EXPR's history of changes.  */
 static bool
 vinsn_vec_has_expr_p (vinsn_vec_t vinsn_vec, expr_t expr)
 {
-  vinsn_t vinsn;
+  vinsn_t vinsn, expr_vinsn;
   int n;
+  unsigned i;
 
-  FOR_EACH_VEC_ELT (vinsn_t, vinsn_vec, n, vinsn)
-    if (VINSN_SEPARABLE_P (vinsn))
-      {
-        if (vinsn_equal_p (vinsn, EXPR_VINSN (expr)))
-          return true;
-      }
-    else
-      {
-        /* For non-separable instructions, the blocking insn can have
-           another pattern due to substitution, and we can't choose
-           different register as in the above case.  Check all registers
-           being written instead.  */
-        if (bitmap_intersect_p (VINSN_REG_SETS (vinsn),
-                                VINSN_REG_SETS (EXPR_VINSN (expr))))
-          return true;
-      }
+  /* Start with checking expr itself and then proceed with all the old forms
+     of expr taken from its history vector.  */
+  for (i = 0, expr_vinsn = EXPR_VINSN (expr);
+       expr_vinsn;
+       expr_vinsn = (i < VEC_length (expr_history_def,
+                                    EXPR_HISTORY_OF_CHANGES (expr))
+                    ? VEC_index (expr_history_def,
+                                 EXPR_HISTORY_OF_CHANGES (expr),
+                                 i++)->old_expr_vinsn
+                    : NULL))
+    FOR_EACH_VEC_ELT (vinsn_t, vinsn_vec, n, vinsn)
+      if (VINSN_SEPARABLE_P (vinsn))
+       {
+         if (vinsn_equal_p (vinsn, expr_vinsn))
+           return true;
+       }
+      else
+       {
+         /* For non-separable instructions, the blocking insn can have
+            another pattern due to substitution, and we can't choose
+            different register as in the above case.  Check all registers
+            being written instead.  */
+         if (bitmap_intersect_p (VINSN_REG_SETS (vinsn),
+                                 VINSN_REG_SETS (expr_vinsn)))
+           return true;
+       }
 
   return false;
 }
@@ -5697,8 +5776,8 @@ update_and_record_unavailable_insns (basic_block book_block)
               || EXPR_TARGET_AVAILABLE (new_expr)
                 != EXPR_TARGET_AVAILABLE (cur_expr))
            /* Unfortunately, the below code could be also fired up on
-              separable insns.
-              FIXME: add an example of how this could happen.  */
+              separable insns, e.g. when moving insns through the new
+              speculation check as in PR 53701.  */
             vinsn_vec_add (&vec_bookkeeping_blocked_vinsns, cur_expr);
         }
 
index bba565d..550759a 100644 (file)
@@ -1,7 +1,7 @@
 /* RTL simplification functions for GNU compiler.
    Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
    1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-   2011  Free Software Foundation, Inc.
+   2011, 2012  Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -244,7 +244,8 @@ avoid_constant_pool_reference (rtx x)
       /* If we're accessing the constant in a different mode than it was
          originally stored, attempt to fix that up via subreg simplifications.
          If that fails we have no choice but to return the original memory.  */
-      if (offset != 0 || cmode != GET_MODE (x))
+      if ((offset != 0 || cmode != GET_MODE (x))
+         && offset >= 0 && offset < GET_MODE_SIZE (cmode))
         {
           rtx tem = simplify_subreg (GET_MODE (x), c, cmode, offset);
           if (tem && CONSTANT_P (tem))
@@ -2239,7 +2240,7 @@ simplify_binary_operation_1 (enum rtx_code code, enum machine_mode mode,
                                    neg_const_int (mode, op1));
 
       /* (x - (x & y)) -> (x & ~y) */
-      if (GET_CODE (op1) == AND)
+      if (INTEGRAL_MODE_P (mode) && GET_CODE (op1) == AND)
        {
          if (rtx_equal_p (op0, XEXP (op1, 0)))
            {
index 2d88614..7f9145b 100644 (file)
@@ -1,3 +1,923 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/56819
+       * g++.dg/debug/pr56819.C: New test.
+
+2013-04-03  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2013-03-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56737
+       * testsuite/gfortran.dg/fmt_cache_3.f90: New.
+
+2013-04-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56501
+       * gcc.dg/torture/pr56501.c: New testcase.
+
+2013-04-03  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2013-03-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56735
+       * gfortran.dg/namelist_80.f90: New.
+
+2013-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56539
+       * gcc.c-torture/compile/pr56539.c: New test.
+
+       2013-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/56510
+       * gcc.dg/pr56510.c: New test.
+
+2013-04-02  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/pr45472.c: Remove copies.
+
+2013-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/56768
+       * g++.dg/torture/pr56768.C: New testcase.
+
+2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
+       
+       PR middle-end/45472
+       * gcc.dg/pr45472.c: New test.
+
+2013-03-26  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2013-03-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56608
+       * gcc.dg/vect/fast-math-bb-slp-call-3.c: New testcase.
+
+       2013-03-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/56270
+       * gcc.dg/vect/slp-38.c: New testcase.
+
+2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline:
+       2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/49880
+       * gcc.target/sh/pr49880-1.c: New.
+       * gcc.target/sh/pr49880-2.c: New.
+       * gcc.target/sh/pr49880-3.c: New.
+       * gcc.target/sh/pr49880-4.c: New.
+       * gcc.target/sh/pr49880-5.c: New.
+
+2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/56560
+       * gcc.target/i386/pr56560.c: New file.
+
+2013-03-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56615
+       * gfortran.dg/transfer_intrinsic_5.f90: New.
+
+2013-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56403
+       * g++.dg/torture/pr56403.C: New test.
+
+2013-03-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/56575
+       * gfortran.dg/class_56.f90: New test.
+
+2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55362
+       * gfortran.dg/intrinsic_size_4.f90 : New test.
+
+2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/56534
+       * g++.dg/template/crash115.C: New.
+
+2013-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56543
+       * g++.dg/template/typename20.C: New test.
+
+2013-03-01  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR tree-optimization/55481
+       * gcc.dg/torture/pr55481.c: New testcase.
+       * gcc.dg/torture/pr56488.c: Likewise.
+
+2013-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56443
+       * gcc.dg/torture/pr56443.c: New test.
+
+2013-02-22  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56385
+       * gfortran.dg/proc_ptr_comp_37.f90: New.
+
+2013-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       Backport from mainline:
+       2012-06-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gcc.target/i386/clearcapv2.map: New file.
+       * gcc.target/i386/i386.exp: Try it first before clearcap.map.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56350
+       * gcc.dg/pr56350.c: New test.
+
+       2013-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56250
+       * gcc.c-torture/execute/pr56250.c: New test.
+
+       2013-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/56241
+       * g++.dg/parse/crash61.C: New test.
+
+       PR c++/56239
+       * g++.dg/parse/pr56239.C: New test.
+
+       PR c++/56237
+       * g++.dg/abi/mangle61.C: New test.
+
+       2013-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56217
+       * g++.dg/gomp/pr56217.C: New test.
+
+       2012-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55110
+       * gcc.dg/pr55110.c: New test.
+
+2013-02-18  Richard Biener  <rguenther@suse.de>
+
+       Revert
+       2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-07-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53844
+       * g++.dg/tree-ssa/pr53844.C: New testcase.
+
+2013-02-17  Tobias Burnus  <burnus@net-b.de>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       Backport from trunk
+       2013-01-28  Tobias Burnus  <burnus@net-b.de>
+                   Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/53537
+       * gfortran.dg/import2.f90: Adjust undeclared type error messages.
+       * gfortran.dg/import8.f90: Likewise.
+       * gfortran.dg/interface_derived_type_1.f90: Likewise.
+       * gfortran.dg/import10.f90: New test.
+       * gfortran.dg/import11.f90: Likewise
+
+2013-02-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56318
+       * gcc/testsuite/gfortran.dg/matmul_9.f90: New.
+
+2012-02-13   Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-01-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR fortran/55852
+       * gfortran.dg/intrinsic_size_3.f90: Make scan-tree-dump-times
+       number matching more robust.
+
+2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/56275
+       * gcc.dg/pr56275.c: New test.
+
+2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Backport from mainline
+       2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/56043
+       * gcc.target/powerpc/vsx-mass-1.c: Only run this test on
+       powerpc*-*-linux*.
+
+2013-02-05  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/55107
+       * gcc.dg/torture/pr55107.c: New testcase.
+       * gcc.dg/tree-ssa/ssa-pre-5.c: Adjust.
+
+2013-02-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54767
+       * gfortran.fortran-torture/execute/pr54767.f90: New testcase.
+
+2013-02-04  Janis Johnson  <janisjo@codesourcery.com>
+
+       PR testsuite/56206
+       * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
+       Fix typo.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-01-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44061
+       * gcc.dg/pr44061.c: New testcase.
+
+       2013-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/55890
+       * gcc.dg/torture/pr55890-3.c: New test.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-07-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53844
+       * g++.dg/tree-ssa/pr53844.C: New testcase.
+
+       2012-12-13  Richard Biener  <rguenther@suse.de>
+
+       PR lto/55660
+       * gcc.dg/lto/pr55660_0.c: New testcase.
+       * gcc.dg/lto/pr55660_1.c: Likewise.
+
+2013-02-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55890
+       * gcc.dg/torture/pr55890-1.c: New testcase.
+       * gcc.dg/torture/pr55890-2.c: Likewise.
+
+2013-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       Backport from trunk
+       PR fortran/50627
+       PR fortran/56054
+       * gfortran.dg/block_12.f90:  New test.
+       * gfortran.dg/module_error_1.f90:  New test.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56125
+       * gcc.dg/pr56125.c: New test.
+
+       2013-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56098
+       * gcc.dg/pr56098-1.c: New test.
+
+       2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/56052
+       * gfortran.dg/gomp/pr56052.f90: New test.
+
+       2013-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/49069
+       * gcc.dg/pr49069.c: New test.
+
+       2013-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56051
+       * gcc.c-torture/execute/pr56051.c: New test.
+
+       2013-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56015
+       * gfortran.dg/pr56015.f90: New test.
+
+       2013-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/55940
+       * gcc.dg/pr55940.c: New test.
+
+       2013-01-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55921
+       * gcc.c-torture/compile/pr55921.c: New test.
+
+       2013-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/55838
+       * gcc.dg/pr55838.c: New test.
+
+       2012-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55652
+       * g++.dg/cpp0x/noexcept19.C: New test.
+
+       2012-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54207
+       * g++.dg/cpp0x/noexcept18.C: New test.
+
+       2012-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55542
+       * g++.dg/cpp0x/vt-55542.C: New test.
+
+       2012-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54046
+       * g++.dg/warn/Wreturn-type-8.C: New test.
+
+       2012-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/55094
+       * gcc.dg/pr55094.c: New test.
+
+       2012-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/55236
+       * gcc.dg/pr55236.c: New test.
+
+       2012-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/54127
+       * gcc.dg/torture/pr54127.c: New test.
+
+2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt26.adb: New test.
+
+2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/56028
+       * gcc.target/i386/pr56028.c: New test.
+
+       2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/movsd.c: New test.
+
+2013-01-24  Janis Johnson  <janisjo@codesourcery.com>
+
+       Backport from mainline
+       2013-01-16  Janis Johnson  <janisjo@codesourcery.com>
+
+       PR testsuite/55994
+       * gcc.c-torture/execute/builtins/builtins.exp: Add
+       -Wl,--allow-multiple-definition for eabi and elf targets.
+
+       Backport from mainline
+       2013-01-17  Janis Johnson  <janisjo@codesourcery.com>
+
+       * gcc.target/arm/pr51835.c: Avoid conflicts with multilib flags.
+       * gcc.target/arm/pr51915.c: Likewise.
+       * gcc.target/arm/pr52006.c: Likewise.
+       * gcc.target/arm/pr53187.c: Likewise.
+
+       Backport from mainline
+       2012-10-12  Janis Johnson  <janisjo@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
+       Return 0 if already specifying -mfloat-abi other than hard.
+
+       Backport from mainline
+       2012-09-27  Janis Johnson  <janisjo@codesourcery.com>
+
+       * gcc.target/arm/unsigned-extend-1.c: Omit -march option.
+
+       Backport from mainline
+       2012-09-26  Janis Johnson  <janisjo@codesourcery.com>
+
+       * gcc.target/arm/pr42879.c: Handle big-endian.
+
+       Backport from mainline
+       2012-09-26  Janis Johnson  <janisjo@codesourcery.com>
+
+       * gcc.target/arm/combine-movs.c
+
+       Backport from mainline
+       2012-09-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * gcc.target/arm/neon-vset_lanes8.c: Fix for big-endian support.
+
+2013-01-24  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/56081
+       * gfortran.dg/select_8.f90: New.
+
+2013-01-24  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2013-01-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/55755
+       * gcc.dg/torture/pr55755.c: New test.
+       * gcc.dg/tree-ssa/sra-13.c: Likewise.
+       * gcc.dg/tree-ssa/pr45144.c: Update.
+
+2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/56023
+       * gcc.dg/pr56023.c: New test.
+
+2013-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       Backport from mainline
+       2013-01-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimizations/55264
+       * g++.dg/ipa/pr55264.C: New test.
+
+2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55981
+       * gcc.target/pr55981.c: New test.
+
+2013-01-17  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55983
+       * gfortran.dg/class_55.f90: New.
+
+2013-01-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55882
+       * gcc.dg/torture/pr55882.c: New testcase.
+
+2013-01-13  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55072
+       * gfortran.dg/internal_pack_13.f90: New test.
+       * gfortran.dg/internal_pack_14.f90: New test.
+
+2013-01-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/55618
+       * gfortran.dg/elemental_scalar_args_2.f90: New test.
+
+2013-01-08  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/42769
+       PR fortran/45836
+       PR fortran/45900
+       * gfortran.dg/use_23.f90: New test.
+       * gfortran.dg/use_24.f90: New test.
+       * gfortran.dg/use_25.f90: New test.
+       * gfortran.dg/use_26.f90: New test.
+       * gfortran.dg/use_27.f90: New test.
+
+2013-01-07  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/55852
+       * gfortran.dg/intrinsic_size_3.f90: New.
+
+2013-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
+           Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/55827
+       * gfortran.dg/use_22.f90: New test.
+
+2013-01-07  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-12-19  Terry Guo  <terry.guo@arm.com>
+
+       * gcc.target/arm/thumb-find-work-register.c: New.
+
+2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/alignment10.adb: New test.
+
+2012-12-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Backport from mainline:
+       2012-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * gcc.misc-tests/gcov-12.c: Fix dg order.
+
+       2012-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * gcc.dg/torture/pr47917.c: Change "dg-xfail-if" to "dg-xfail-run-if"
+       for *-*-hpux10*.
+
+       2012-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * gcc.dg/20030711-1.c: Define MAP_FAILED if not defined.
+       * gcc.dg/20050826-1.c: Likewise.
+
+2012-12-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/55355
+       * g++.dg/torture/pr55355.C: New test.
+
+2012-12-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54818
+       * gfortran.dg/transfer_intrinsic_4.f: New.
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backport from mainline
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * lib/target-supports.exp (check_profiling_available): Match
+       arm*-*-linux-* for ARM Linux/GNU.
+       * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
+       * gfortran.dg/enum_10.f90: Likewise.
+       * gfortran.dg/enum_9.f90: Likewise.
+       * gcc.target/arm/synchronize.c: Likewise.
+       * g++.old-deja/g++.jason/enum6.C: Likewise.
+       * g++.old-deja/g++.other/enum4.C: Likewise.
+       * g++.old-deja/g++.law/enum9.C: Likewise.
+
+2012-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/53766
+       * gnat.dg/controlled7.ad[sb]: New test.
+
+2012-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/55643
+       * g++.dg/warn/Wunused-var-19.C: New test.
+
+2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.dg/pr54121.c: New test.
+
+2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55597
+       * gcc.target/i386/pr55597.c: New test.
+
+2012-12-03  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53663
+       * gcc.dg/torture/pr53663-1.c: New testcase.
+       * gcc.dg/torture/pr53663-2.c: Likewise.
+       * gcc.dg/torture/pr53663-3.c: Likewise.
+
+2012-12-03  Marek Polacek  <polacek@redhat.com>
+
+       Backported from mainline
+       2012-12-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c/55570
+       * gcc.dg/pr55570.c: New test.
+
+2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * gcc.dg/torture/pr54920.c: Add "-fno-common" option on hppa*-*-hpux*.
+
+2012-11-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/53862
+       * g++.dg/cpp0x/variadic134.C: New.
+
+       PR c++/53858
+       * g++.dg/cpp0x/alias-decl-20.C: New.
+
+       PR c++/50852
+       * g++.dg/template/typedef39.C: New.
+
+       PR c++/53039
+       * g++.dg/cpp0x/variadic133.C: New.
+       * g++.dg/template/param1.C: Adjust.
+
+2012-11-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/55331
+       * g++.dg/opt/pr55331.C: New testcase.
+
+2012-11-26  Richard Biener  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54894
+       * gcc.dg/torture/pr54894.c: New testcase.
+
+       2012-10-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54735
+       * g++.dg/torture/pr54735.C: New testcase.
+
+2012-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/55446
+       * g++.dg/init/new41.C: New.
+
+2012-11-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/55314
+       Backport from trunk
+       * gfortran.dg/allocate_error_4.f90:  New test.
+
+2012-11-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55352
+       * gfortran.dg/namelist_76.f90: New.
+
+2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       2012-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/55142
+       * gcc.target/i386/pr55142-1.c: New file.
+       * gcc.target/i386/pr55142-2.c: Likewise.
+
+2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/stack_check3.ad[sb]: New test.
+
+2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.c-torture/compile/20121107-1.c: New test.
+
+2012-11-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54917
+       * gfortran.dg/transfer_class_1.f90: New.
+
+2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * g++.dg/torture/20121105-1.C: New test.
+
+2012-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/54828
+       * g++.dg/debug/pr54828.C: New test.
+
+       2012-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54988
+       * c-c++-common/pr54988.c: New test.
+
+       2012-10-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54877
+       * gcc.dg/torture/pr54877.c: New test.
+
+2012-11-02  Jeff Law  <law@redhat.com>
+
+       * gcc.c-torture/execute/pr54985.c: New test.
+
+2012-10-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/53517
+       * gnat.dg/lto14.adb: Skip on Solaris.
+
+2012-10-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/54984
+       * g++.dg/template/new11.C: New.
+
+2012-10-26  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-10-23  Terry Guo  <terry.guo@arm.com>
+
+       PR target/55019
+       * gcc.dg/pr55019.c: New.
+
+2012-10-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/54902
+       * g++.dg/torture/pr54902.C: New testcase.
+
+2012-10-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/modular4.adb: New test.
+       * gnat.dg/modular4_pkg.ads: New helper.
+
+2012-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
+       * gnat.dg/specs/addr1.ads: Likewise.
+
+2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+       Backport from mainline
+       2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+       PR target/54892
+       * gcc.target/arm/pr54892.c: New.
+
+2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
+
+       Backport from mainline
+       2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/53701
+       * gcc.dg/pr53701.c: New test.
+
+2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
+       * gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
+       * gcc.target/i386/avx256-unaligned-store-4.c: Ditto.
+
+2012-10-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/54920
+       * gcc.dg/torture/pr54920.c: New testcase.
+
+2012-10-14  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/54784
+       * gfortran.dg/class_allocate_13.f90: New.
+
+2012-10-08  Terry Guo  <terry.guo@arm.com>
+
+       Backported from mainline
+       2012-09-19  Terry Guo  <terry.guo@arm.com>
+
+       * lib/gcc-dg.exp (dg_runtest_extra_prunes): New variable to define
+       extra prune rules that will be applied to all tests in a .exp file.
+       (gcc-dg-prune): Use rules defined by the above variable.
+       * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Skip all the
+       harmless warnings on architecture switch conflict.
+
+2012-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54858
+       * g++.dg/template/pr54858.C: New test.
+
+2012-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33763
+       * c-c++-common/pr33763.c: New test.
+
+2012-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/54777
+       * g++.dg/cpp0x/constexpr-ref4.C: New test.
+
+2012-09-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/54083
+       * gcc.dg/torture/pr53922.c: Skip on 32-bit hppa-*-hpux*.
+
+2012-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54703
+       * gcc.target/i386/pr54703.c: New test.
+
+2012-09-24  Janis Johnson  <janisjo@codesourcery.com>
+
+       Backport from mainline:
+
+       2012-07-24  Janis Johnson  <janisjo@codesourcery.com>
+       * lib/gcc-dg.exp (process-message): Don't ignore errors.
+
+       2012-07-25  Janis Johnson  <janisjo@codesourcery.com>
+       * g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
+
+       2012-07-26  Janis Johnson  <janisjo@codesourcery.com>
+       * gcc.dg/pr45259.c: Only -fpic depends on fpic support.
+
+       2012-09-18  Janis Johnson  <janisjo@codesourcery.com>
+       * gcc.dg/vect/pr52298.c: Remove "dg-do run".
+
+       2012-09-18  Janis Johnson  <janisjo@codesourcery.com>
+       * lib/target-supports.exp
+       (check_effective_target_vect_widen_mult_qi_to_hi,
+       check_effective_target_vect_widen_mult_hi_to_si,
+       check_effective_target_vect_widen_mult_qi_to_hi_pattern,
+       check_effective_target_vect_widen_mult_hi_to_si_pattern,
+       check_effective_target_vect_pack_trunc,
+       check_effective_target_vect_unpack,
+       check_effective_target_vect_multiple_sizes): Check arm_neon_ok
+       instead of arm_none.
+
+       2012-09-18  Janis Johnson  <janisjo@codesourcery.com>
+       * gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
+       target instead of xfailing it.
+       * gcc.dg/vect/no-vfa-vect-102.c: Likewise.
+       * gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
+       * gcc.dg/vect/no-vfa-vect-37.c: Likewise.
+       * gcc.dg/vect/no-vfa-vect-79.c: Likewise.
+       * gcc.dg/vect/vect-104.c: Likewise.
+       * gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
+       * gcc.dg/vect/vect-outer-1.c: Likewise.
+       * gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
+       * gcc.dg/vect/vect-outer-1a.c: Likewise.
+       * gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
+       * gcc.dg/vect/vect-outer-1b.c: Likewise.
+       * gcc.dg/vect/vect-outer-2b.c: Likewise.
+       * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
+       * gcc.dg/vect/vect-outer-3a.c: Likewise.
+       * gcc.dg/vect/vect-outer-3b.c: Likewise.
+       * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
+
+       2012-09-18  Janis Johnson  <janisjo@codesourcery.com>
+       * gcc.dg/vect/fast-math-pr35982.c: Skip check instead of xfail.
+
+2012-09-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Backport from mainline:
+       2012-09-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR testsuite/54007
+       * gnat.dg/lto15.adb: Require lto.
+
+2012-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat.dg/opt20.ads: Move dg directive to...
+       * gnat.dg/opt20.adb: ...here.
+       * gnat.dg/addr1.ad[sb]: Likewise.
+       * gnat.dg/concat2.ad[sb]: Likewise.
+       * gnat.dg/array16.ad[sb]: Likewise.
+       * gnat.dg/atomic5.ad[sb]: Likewise.
+       * gnat.dg/discr29.ad[sb]: Likewise.
+       * gnat.dg/noreturn5.ad[sb]: Likewise.
+       * gnat.dg/vect8.ad[sb]: Likewise.  Add dg-options.
+       * gnat.dg/discr23.ads: Remove dg directive.
+       * gnat.dg/nested_float_packed.ads: Likewise.
+       * gnat.dg/oconst6.ads: Move to...
+       * gnat.dg/specs/oconst6.ads: ...here.
+
+2012-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/54552
+       * gcc.c-torture/compile/pr54552-1.c: New test.
+
+2012-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/54103
+       * gcc.c-torture/compile/pr54103-1.c,
+       gcc.c-torture/compile/pr54103-2.c,
+       gcc.c-torture/compile/pr54103-3.c,
+       gcc.c-torture/compile/pr54103-4.c,
+       gcc.c-torture/compile/pr54103-5.c,
+       gcc.c-torture/compile/pr54103-6.c: New tests.
+       * gcc.dg/c90-const-expr-8.c: Update expected column number.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54563
+       * g++.dg/torture/pr54563.C: New test.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
 
 2012-02-06  Andrey Belevantsev  <abel@ispras.ru>
 
-       * gcc.dg/pr48374.c: Actually add the test I forgot 
+       * gcc.dg/pr48374.c: Actually add the test I forgot
        in the 2012-01-25 commit.
 
 2012-02-05  Thomas König  <tkoenig@gcc.gnu.org>
diff --git a/gcc/testsuite/c-c++-common/pr33763.c b/gcc/testsuite/c-c++-common/pr33763.c
new file mode 100644 (file)
index 0000000..dbdfa77
--- /dev/null
@@ -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/gcc/testsuite/c-c++-common/pr54988.c b/gcc/testsuite/c-c++-common/pr54988.c
new file mode 100644 (file)
index 0000000..59406d6
--- /dev/null
@@ -0,0 +1,20 @@
+/* PR c++/54988 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
+
+#if defined(__i386__) || defined(__x86_64__)
+#pragma GCC target "fpmath=sse"
+#endif
+
+static inline __attribute__ ((always_inline)) int
+foo (int x)
+{
+  return x;
+}
+
+int
+bar (int x)
+{
+  return foo (x);
+}
diff --git a/gcc/testsuite/g++.dg/abi/anon1.C b/gcc/testsuite/g++.dg/abi/anon1.C
new file mode 100644 (file)
index 0000000..c45917a
--- /dev/null
@@ -0,0 +1,5 @@
+// PR c++/54883
+
+namespace { enum E { E1 }; } void f(E e) { }
+
+// { dg-final { scan-assembler-not "globl" } }
diff --git a/gcc/testsuite/g++.dg/abi/mangle61.C b/gcc/testsuite/g++.dg/abi/mangle61.C
new file mode 100644 (file)
index 0000000..2ae336e
--- /dev/null
@@ -0,0 +1,28 @@
+// PR c++/56237
+// { dg-do compile }
+
+void *p[4];
+
+void
+foo ()
+{
+  static union { } u;
+  p[0] = &u;
+  {
+    static union { } u; 
+    p[1] = &u;
+    {
+      static union { } u;
+      p[2] = &u;
+    }
+  }
+  {
+    static union { } u;
+    p[3] = &u;
+  }
+}
+
+// { dg-final { scan-assembler "_ZZ3foovE1u\[^_\]" } }
+// { dg-final { scan-assembler "_ZZ3foovE1u_0" } }
+// { dg-final { scan-assembler "_ZZ3foovE1u_1" } }
+// { dg-final { scan-assembler "_ZZ3foovE1u_2" } }
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-20.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-20.C
new file mode 100644 (file)
index 0000000..078d257
--- /dev/null
@@ -0,0 +1,9 @@
+// PR c++/53858
+// { dg-do compile { target c++11 } }
+
+template <typename T>  struct s0 { typedef  T  tdef0; };
+template <typename T>  struct s1 { typedef  T  tdef1; };
+template <typename T>  using us1 = typename s1<T>::tdef1;
+template <typename  T, typename  TT = typename  us1<T>::tdef0>  struct s2 {};
+
+int main () { return 0; }
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C
new file mode 100644 (file)
index 0000000..4b526ea
--- /dev/null
@@ -0,0 +1,16 @@
+// PR c++/55856
+// { dg-options -std=c++11 }
+
+struct A
+{
+  A(const char *);
+};
+
+template <class T>
+struct B
+{
+  T t;
+  template <class U> constexpr B(U&& u): t(u) { };
+};
+
+B<A&&> b("");
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C
new file mode 100644 (file)
index 0000000..a5a4b4d
--- /dev/null
@@ -0,0 +1,14 @@
+// PR c++/55753
+// { dg-options -std=c++11 }
+
+template <typename Tp>
+struct C {
+  constexpr C(const Tp& r) { }
+};
+
+template <typename Tp>
+struct B {
+  B() {
+    C<double> cpl = C<double>((true ? 1.0 : C<double>()));
+  }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-initlist6.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-initlist6.C
new file mode 100644 (file)
index 0000000..6b822a1
--- /dev/null
@@ -0,0 +1,27 @@
+// PR c++/55419
+// { dg-options -std=c++11 }
+
+struct P
+{
+  P () = default;
+  explicit constexpr P (int x) : p (x) {}
+  int p;
+};
+
+struct Q
+{
+  constexpr Q () : q (0x7f) {}
+  int q;
+};
+
+struct R
+{
+  Q q;
+  P p;
+};
+
+void
+foo (R *x)
+{
+  *x = {};
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ref4.C
new file mode 100644 (file)
index 0000000..6ae355a
--- /dev/null
@@ -0,0 +1,18 @@
+// PR c++/54777
+// { dg-options -std=c++0x }
+
+struct S
+{
+  int s[1];
+  constexpr const int &foo (unsigned i) { return (i < 1 ? 0 : throw 1), s[i]; }
+  constexpr const int &bar (unsigned i) { return i < 1 ? s[i] : (throw 0, s[i]); }
+};
+
+int
+main ()
+{
+  constexpr S a {};
+  constexpr int i = a.foo (0);
+  constexpr int j = a.bar (0);
+  static_assert (i == j, "Ouch");
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual4.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual4.C
new file mode 100644 (file)
index 0000000..32cee96
--- /dev/null
@@ -0,0 +1,18 @@
+// PR c++/56291
+// { dg-options -std=c++11 }
+
+class Base
+{
+public:
+ constexpr Base() : v(1) {};
+ int v;
+};
+
+class Derived : public Base
+{
+public:
+ constexpr Derived() : Base() {};
+ virtual void function();
+};
+
+Derived d;
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype48.C b/gcc/testsuite/g++.dg/cpp0x/decltype48.C
new file mode 100644 (file)
index 0000000..5aa0174
--- /dev/null
@@ -0,0 +1,16 @@
+// PR c++/56059
+// { dg-options -std=c++11 }
+
+typedef int Int;
+template<typename T> struct baz { };
+template<typename T> T bar();
+
+template<typename T, typename ... U>
+baz<decltype(bar<Int>(bar<U>() ...))>
+foo();                         // { dg-error "no match" }
+
+int main()
+{
+  foo<int, int>();             // { dg-error "no match" }
+  return 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/fntmpdefarg4.C b/gcc/testsuite/g++.dg/cpp0x/fntmpdefarg4.C
new file mode 100644 (file)
index 0000000..0248b60
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/55724
+// { dg-options -std=c++11 }
+
+template<int N> struct S {};
+template<typename T = int, T N> void f(S<N>) {}
+int main() { S<1> s; f(s); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-defarg1.C b/gcc/testsuite/g++.dg/cpp0x/initlist-defarg1.C
new file mode 100644 (file)
index 0000000..45eb2d5
--- /dev/null
@@ -0,0 +1,36 @@
+// PR c++/56614
+// { dg-require-effective-target c++11 }
+
+#include <initializer_list>
+
+namespace std
+{
+    template<typename T>
+        struct allocator
+        { };
+
+    template<typename T, typename Alloc = std::allocator<T> >
+        struct vector
+        {
+            vector(std::initializer_list<T>, const Alloc& = Alloc()) { }
+        };
+}
+
+void func() { }
+
+enum E { ee };
+
+struct C
+{
+    template<typename T>
+        C(T, std::vector<E> = std::vector<E>({ ee }))
+        { }
+};
+
+struct G
+{
+    void gen()
+    {
+        C c(&func);
+    }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-protected.C b/gcc/testsuite/g++.dg/cpp0x/initlist-protected.C
new file mode 100644 (file)
index 0000000..fb5cc6a
--- /dev/null
@@ -0,0 +1,23 @@
+// PR c++/54325
+// { dg-options -std=c++11 }
+
+class base
+{
+    protected:
+        base()
+        {}
+};
+
+class derived : public base
+{
+    public:
+        derived()
+            : base{} // <-- Note the c++11 curly brace syntax
+        {}
+};
+
+int main()
+{
+    derived d1;
+    return 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-pure.C b/gcc/testsuite/g++.dg/cpp0x/initlist-pure.C
new file mode 100644 (file)
index 0000000..63c341c
--- /dev/null
@@ -0,0 +1,25 @@
+// PR c++/54325
+// { dg-options -std=c++11 }
+
+class Base {
+public:
+  Base() {};
+  virtual ~Base() {};
+
+  virtual void do_stuff() = 0;
+};
+
+class Derived: public Base {
+public:
+  Derived() : Base{} {};
+  virtual ~Derived() {};
+
+  virtual void do_stuff() {};
+};
+
+int
+main() {
+  Derived d;
+
+  return 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C
new file mode 100644 (file)
index 0000000..d2457d6
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/52026
+// { dg-options "-std=c++11 -O" }
+// { dg-do run }
+
+template<bool B>
+int func() {
+  const int constVal1 = B ? 100 : -100;
+  const int constVal = constVal1;
+  return [] { return constVal; }();
+}
+
+int main() {
+  if (func<true>() != 100)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv6.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv6.C
new file mode 100644 (file)
index 0000000..bd90437
--- /dev/null
@@ -0,0 +1,7 @@
+// PR c++/55015
+// { dg-do link }
+// { dg-options -std=c++11 }
+
+typedef void (*VoidFunc)();
+inline VoidFunc GetFunc() { return [](){}; }
+int main() { VoidFunc func = GetFunc(); }
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv7.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv7.C
new file mode 100644 (file)
index 0000000..89e4e4b
--- /dev/null
@@ -0,0 +1,20 @@
+// PR c++/55710
+// { dg-do link { target c++11 } }
+
+template <class T>
+struct X {
+  static void (*code) ();
+};
+
+template <class T>
+void (*X<T>::code) () = []{};  // Line 7
+
+struct Y {
+  void (*code) () = []{} ; // Line 10
+  void operator()() { code(); }
+};
+
+int main () {
+  X<int>::code();
+  Y()();
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-initlist2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-initlist2.C
new file mode 100644 (file)
index 0000000..daaa339
--- /dev/null
@@ -0,0 +1,27 @@
+// PR c++/54947
+// { dg-options -std=gnu++11 }
+
+struct X
+{
+  template<typename L>
+    X(L)
+    { }
+};
+
+template<typename A>
+  void
+  test()
+  {
+    int i = 0;
+
+    A a_ok_1( [=] { return i; } );  // OK
+    A a_ok_2( [i] { return i; } );  // OK
+
+    A a_err_1{ [i] { return i; } };  // error
+    A a_err_2{ [=] { return i; } };  // error
+  }
+
+int main()
+{
+  test<X>();
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template9.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-template9.C
new file mode 100644 (file)
index 0000000..c1d010b
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/54276
+// { dg-do link { target c++11 } }
+
+template <typename T>
+void foo(T)
+{
+  static int x = 1;
+  auto f = [] { return x + 1; };
+  f();
+}
+
+int main()
+{
+  foo(4);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this6.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this6.C
new file mode 100644 (file)
index 0000000..acf4eaa
--- /dev/null
@@ -0,0 +1,32 @@
+// PR c++/53137
+// { dg-options -std=c++11 }
+
+template <typename STORE>
+void getParent(STORE& tStore)
+{
+}
+
+struct  Store
+{
+    template <typename CheckParentFunc>
+    void updateChildCommon(CheckParentFunc c)
+    {
+        c();
+    }
+
+    template <typename T>
+    int& getStore();
+
+    template <typename T>
+    void updateChild(const T& obj)
+    {
+        updateChildCommon([this] () { getParent(getStore<T>()); });
+    }
+
+    void update(int obj);
+};
+
+void Store::update(int obj)
+{
+    updateChild(obj);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this7.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this7.C
new file mode 100644 (file)
index 0000000..6e25c33
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/54122
+// { dg-options -std=c++11 }
+
+enum E { F };
+
+template <typename A>
+struct C
+{
+  E e;
+  void f () { auto l = [&](void)->void { if (e == F) return; }; }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
new file mode 100644 (file)
index 0000000..d7c5d2c
--- /dev/null
@@ -0,0 +1,37 @@
+// PR c++/56135
+// { dg-do run { target c++11 } }
+
+#include <functional>
+
+struct test {
+  template<typename T>
+  std::function<void()> broken(int x) {
+    return [=] { +x; print<T>(); };
+  }
+
+  std::function<void()> works0() {
+    return [=] { print<int>(); };
+  }
+
+  template<typename T>
+  std::function<void()> works1() {
+    return [=] { print<int>(); };
+  }
+
+  template<typename T>
+  std::function<void()> works2() {
+    return [=] { this->print<T>(); };
+  }
+
+  template<typename T>
+  void print() { if (this == 0) __builtin_abort (); }
+};
+
+int main(void) {
+  test().broken<int>(1)();
+  test().works0()();
+  test().works1<int>()();
+  test().works2<int>()();
+
+  return 0;
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this9.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this9.C
new file mode 100644 (file)
index 0000000..07ddd08
--- /dev/null
@@ -0,0 +1,19 @@
+// PR c++/54277
+// { dg-do compile { target c++11 } }
+
+struct Used
+{
+  void foo() { }
+};
+
+template <typename>
+struct S
+{
+  Used x;
+
+  void bar()
+  {
+    auto f = [this] { x.foo(); };
+    f();
+  }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept18.C b/gcc/testsuite/g++.dg/cpp0x/noexcept18.C
new file mode 100644 (file)
index 0000000..953fb0e
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/54207
+// { dg-do compile }
+// { dg-options "-std=c++11" }
+
+typedef bool B;
+constexpr B foo () { return true; }
+
+void
+bar () noexcept (foo ())
+{
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept19.C b/gcc/testsuite/g++.dg/cpp0x/noexcept19.C
new file mode 100644 (file)
index 0000000..12ff86e
--- /dev/null
@@ -0,0 +1,29 @@
+// PR c++/55652
+// { dg-do compile }
+// { dg-options "-std=c++11" }
+
+template <typename T>
+struct A
+{
+  static const bool a = false;
+};
+
+template <typename X, typename Y = A <X>>
+struct B
+{
+  B () noexcept (A <Y>::a) {}
+};
+
+template <typename X, typename Y>
+struct C
+{
+  X x;
+  Y y;
+};
+
+struct D
+{
+  D () throw (int);
+};
+
+C <D, B <D>> c;
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept20.C b/gcc/testsuite/g++.dg/cpp0x/noexcept20.C
new file mode 100644 (file)
index 0000000..b867602
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/56071
+// { dg-options -std=c++11 }
+
+class B
+{
+  template <typename T> friend struct A;
+  B() {}
+};
+
+template <typename T>
+struct A
+{
+  A() noexcept(noexcept(B())) { }
+};
+
+struct C
+{
+  C()
+  {
+    static_assert( !noexcept(A<int>()), "" );
+  }
+};
index c30cb3c..8362bd2 100644 (file)
@@ -3,42 +3,53 @@
 
 // Test throw and catch
 
-#include <cstdio>
+extern "C" void abort (void);
 
 typedef decltype(nullptr) nullptr_t;
 
+int result[2];
+
+void __attribute__((noinline))
+foo (int i, int j)
+{
+  result[i] = j;
+}
+
 int main()
 {
   try {
     throw nullptr;
   } catch (void*) {
-    printf("Test 1 Fail");
+    foo (0, 1);
   } catch (bool) {
-    printf("Test 1 Fail");
+    foo (0, 2);
   } catch (int) {
-    printf("Test 1 Fail");
+    foo (0, 3);
   } catch (long int) {
-    printf("Test 1 Fail");
+    foo (0, 4);
   } catch (nullptr_t) {
-    printf("Test 1 OK");
+    foo (0, 5);
   } catch (...) {
-    printf("Test 1 Fail");
-  }  // { dg-output "Test 1 OK" }
+    foo (0, 6);
+  }
 
   nullptr_t mynull = 0;
   try {
     throw mynull;
   } catch (void*) {
-    printf("Test 2 Fail");
+    foo (1, 1);
   } catch (bool) {
-    printf("Test 2 Fail");
+    foo (1, 2);
   } catch (int) {
-    printf("Test 2 Fail");
+    foo (1, 3);
   } catch (long int) {
-    printf("Test 2 Fail");
+    foo (1, 4);
   } catch (nullptr_t) {
-    printf("Test 2 OK");
+    foo (1, 5);
   } catch (...) {
-    printf("Test 2 Fail");
-  }  // { dg-output "Test 2 OK" }
+    foo (1, 6);
+  }
+
+  if (result[0] != 5 || result[1] != 5)
+    abort ();
 }
diff --git a/gcc/testsuite/g++.dg/cpp0x/range-for24.C b/gcc/testsuite/g++.dg/cpp0x/range-for24.C
new file mode 100644 (file)
index 0000000..b4a5b18
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/56794
+// { dg-require-effective-target c++11 }
+
+template<int... values>
+static void Colors()
+{
+    static const int colors[] = { values... };
+
+    for(auto c: colors) { }
+}
+
+int main()
+{
+    Colors<0,1,2> ();
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/trailing9.C b/gcc/testsuite/g++.dg/cpp0x/trailing9.C
new file mode 100644 (file)
index 0000000..d7895b3
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/56646
+// { dg-require-effective-target c++11 }
+
+struct A {
+  void f();
+};
+
+void A::f() {
+  struct B {
+    auto g() -> void { }
+  };
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-explicit2.C b/gcc/testsuite/g++.dg/cpp0x/variadic-explicit2.C
new file mode 100644 (file)
index 0000000..4a80745
--- /dev/null
@@ -0,0 +1,14 @@
+// PR c++/56774
+// { dg-require-effective-target c++11 }
+
+template <class ... Args>
+struct mytype {};
+
+template <class T, class ... Args>
+void something( mytype<T, Args...> )
+{ }
+
+int main()
+{
+  something<int, char, bool>( mytype<int, char, bool>() );
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic133.C b/gcc/testsuite/g++.dg/cpp0x/variadic133.C
new file mode 100644 (file)
index 0000000..0265f09
--- /dev/null
@@ -0,0 +1,46 @@
+// PR c++/53039
+// { dg-do compile { target c++11 } }
+
+template <class, class>
+struct is_convertible
+{
+  static const bool value = true;
+};
+
+template<bool, class T>
+struct enable_if
+{
+  typedef T type;
+};
+
+template <bool...>
+struct Xs
+{
+  static const bool value = true;
+};
+
+template<typename... BTs>
+  class BType
+    {
+      template <typename... BUs,
+        typename enable_if<
+               Xs<is_convertible<BUs, BTs>::value...>::value,
+               bool>::type = false>
+        void fooX(BUs&&...);
+    };
+
+template <typename... ATs>
+  struct AType
+    {
+      template <typename... AUs,
+    typename enable_if<
+               Xs<is_convertible<AUs, ATs>::value...>::value,
+               bool>::type = false>
+        void foo(AUs&&...);
+    };
+
+int main()
+{
+  AType<int, int> t;
+  t.foo(1, 1);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic134.C b/gcc/testsuite/g++.dg/cpp0x/variadic134.C
new file mode 100644 (file)
index 0000000..d4181b0
--- /dev/null
@@ -0,0 +1,17 @@
+// PR c++/53862
+// { dg-do compile { target c++11 } }
+
+typedef unsigned long size_t;
+
+template<typename> struct is_scalar { static const bool value = true; };
+template<bool, typename T> struct enable_if { typedef T type; };
+
+template <size_t N, typename... Args>
+void f(Args...) {}
+
+template <size_t N, typename T, typename... Args>
+typename enable_if<is_scalar<T>::value, void>::type f(T, Args...) {}
+
+int main() {
+    f<1>(1);
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-55542.C b/gcc/testsuite/g++.dg/cpp0x/vt-55542.C
new file mode 100644 (file)
index 0000000..3d5efee
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/55542
+// { dg-options "-std=c++11" }
+
+template <typename ... P>
+struct B
+{
+  template <typename O>
+  B (O *o, void (O::*f) (P ... p)) {}
+};
+class C
+{
+  void foo (void *, int);
+  template <typename ... A>
+  void bar (A ... a);
+  B <void *> c;
+  B <void *, int> d;
+  C (int) : c (this, &C::bar), d (this, &C::foo) {}
+};
+template <typename ... A>
+void C::bar (A ...)
+{
+}
diff --git a/gcc/testsuite/g++.dg/debug/pr54828.C b/gcc/testsuite/g++.dg/debug/pr54828.C
new file mode 100644 (file)
index 0000000..80b9a3c
--- /dev/null
@@ -0,0 +1,14 @@
+// PR debug/54828
+// { dg-do compile }
+// { dg-options "-g" }
+
+struct T { T (); virtual ~T (); };
+struct S : public virtual T { S (); virtual ~S (); };
+int v;
+void foo (char *);
+
+S::S ()
+{
+  char s[v];
+  foo (s);
+}
diff --git a/gcc/testsuite/g++.dg/debug/pr56819.C b/gcc/testsuite/g++.dg/debug/pr56819.C
new file mode 100644 (file)
index 0000000..62926be
--- /dev/null
@@ -0,0 +1,27 @@
+// PR debug/56819
+// { dg-do compile }
+// { dg-options "-fcompare-debug" }
+
+template <typename>
+struct A
+{
+  template <typename>
+  struct B;
+};
+
+template <typename>
+struct C
+{
+  typedef int I;
+};
+
+template <typename T>
+class D
+{
+  typedef A <void> E;
+  typedef typename T::template B <E> F;
+  typedef typename C <F>::I I;
+  A <I> foo () { return A<I> (); }
+};
+
+template class D <A <void> >;
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C
new file mode 100644 (file)
index 0000000..9191c3e
--- /dev/null
@@ -0,0 +1,7 @@
+// PR c++/55842
+// { dg-options -std=c++11 }
+
+template <class=void> struct number {
+  number() noexcept(noexcept(0)) { }
+};
+const int z=__has_nothrow_constructor(number<>);
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C
new file mode 100644 (file)
index 0000000..e1be1a0
--- /dev/null
@@ -0,0 +1,19 @@
+// PR c++/56268
+// { dg-options -std=c++11 }
+
+template <class T>
+struct A {
+  A(const A&) noexcept (T::value);
+};
+
+struct B {
+  static const bool value = true;
+};
+
+template <class T>
+struct C {
+  static const bool value = __has_nothrow_copy (T);
+};
+
+#define SA(X) static_assert((X),#X)
+SA(C<A<B>>::value);
diff --git a/gcc/testsuite/g++.dg/ext/visibility/anon11.C b/gcc/testsuite/g++.dg/ext/visibility/anon11.C
new file mode 100644 (file)
index 0000000..dfb4f12
--- /dev/null
@@ -0,0 +1,13 @@
+// PR c++/55877
+// { dg-final { scan-assembler-not "\\.local" } }
+
+typedef struct {
+  typedef enum { X, Y } A;
+  typedef struct { } B;
+  struct C { };
+} D;
+
+D d;
+D::A a;
+D::B b;
+D::C c;
diff --git a/gcc/testsuite/g++.dg/gomp/pr56217.C b/gcc/testsuite/g++.dg/gomp/pr56217.C
new file mode 100644 (file)
index 0000000..03dfc5f
--- /dev/null
@@ -0,0 +1,14 @@
+// PR middle-end/56217
+// { dg-do compile }
+// { dg-options "-fopenmp" }
+
+struct S { int *p; S (); S (S &); };
+
+S
+foo ()
+{
+  S s;
+  #pragma omp task shared (s)
+    s.p = 0;
+  return s;
+}
diff --git a/gcc/testsuite/g++.dg/init/array33.C b/gcc/testsuite/g++.dg/init/array33.C
new file mode 100644 (file)
index 0000000..4440d3d
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/55804
+// { dg-do run }
+
+int t = 0;
+template <typename> struct vector {
+  vector() { t++; }
+};
+
+typedef vector<int> Arrays[1];
+class C
+{
+    vector<int> v_;
+    void Foo(const Arrays &);
+};
+Arrays a;
+
+int main(void)
+{
+  if (t!=1)
+    __builtin_abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/g++.dg/init/array34.C b/gcc/testsuite/g++.dg/init/array34.C
new file mode 100644 (file)
index 0000000..1c2e022
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/53650
+// We should loop over array inits if they don't involve temporaries
+// that need extending.
+// { dg-options "-fdump-tree-gimple" }
+// { dg-final { scan-tree-dump-times "Class::Class" 1 "gimple" } }
+// { dg-final { cleanup-tree-dump "gimple" } }
+
+struct Class {
+  Class();
+};
+
+int main() {
+  Class table [10] = {};
+  return 0;
+}
diff --git a/gcc/testsuite/g++.dg/init/const9.C b/gcc/testsuite/g++.dg/init/const9.C
new file mode 100644 (file)
index 0000000..ba1dfd4
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/55893
+// { dg-final { scan-assembler-not "rodata" } }
+
+struct foo
+{
+  virtual ~foo ();
+};
+
+int main ()
+{
+  static const foo tmp;
+}
diff --git a/gcc/testsuite/g++.dg/init/new41.C b/gcc/testsuite/g++.dg/init/new41.C
new file mode 100644 (file)
index 0000000..0559b1d
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/55446
+// { dg-do run }
+
+struct S
+{
+  S() { }
+};
+
+int n = 1;
+
+void* operator new[](__SIZE_TYPE__)
+{
+  n = -1;
+  return &n;
+}
+
+int main()
+{
+  new S[0];
+  if (n != -1)
+    __builtin_abort();
+}
diff --git a/gcc/testsuite/g++.dg/ipa/pr55264.C b/gcc/testsuite/g++.dg/ipa/pr55264.C
new file mode 100644 (file)
index 0000000..cf54d6a
--- /dev/null
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fno-early-inlining -fno-weak"  } */
+
+struct S
+{
+  S();
+  virtual inline void foo ()
+  {
+    foo();
+  }
+};
+
+void
+B ()
+{
+  S().foo ();
+}
diff --git a/gcc/testsuite/g++.dg/opt/pr55331.C b/gcc/testsuite/g++.dg/opt/pr55331.C
new file mode 100644 (file)
index 0000000..4717db8
--- /dev/null
@@ -0,0 +1,14 @@
+// PR tree-optimization/55331
+// { dg-do compile }
+// { dg-options "-O2 -fno-tree-fre" }
+
+struct A {};
+
+void
+foo (A *p, bool x)
+{
+  A a;
+  char *e = (char *) (&a + 1);
+  if (x)
+    __builtin_memmove (p, &a, e - (char *) &a);
+}
index 528b7d7..95e293e 100644 (file)
@@ -8,5 +8,5 @@ struct A                  // { dg-message "note" }
 struct B
 {
   A a;           // { dg-error "abstract" }
-  B() : a() {}   // { dg-error "abstract" }
+  B() : a() {}
 };
diff --git a/gcc/testsuite/g++.dg/parse/crash61.C b/gcc/testsuite/g++.dg/parse/crash61.C
new file mode 100644 (file)
index 0000000..790df0e
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/56241
+// { dg-do compile }
+
+struct pair { constexpr pair (const) : }; // { dg-error "" }
+template <0> make_pair () {}             // { dg-error "" }
+pair prefix[] = { 0, make_pair }         // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/pr56239.C b/gcc/testsuite/g++.dg/parse/pr56239.C
new file mode 100644 (file)
index 0000000..08f7f68
--- /dev/null
@@ -0,0 +1,13 @@
+// PR c++/56239
+// { dg-do compile }
+
+struct S
+{
+  int operator () () { return 0; }
+};
+
+int
+main ()
+{
+  return (S ()) ();
+}
diff --git a/gcc/testsuite/g++.dg/template/array24.C b/gcc/testsuite/g++.dg/template/array24.C
new file mode 100644 (file)
index 0000000..07879d2
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/55032
+
+template<typename T>
+struct vec3t {
+  T c[3];
+};
+
+typedef vec3t<float> vec3;
+
+class Bounds {
+  public:
+    Bounds(const vec3 bb[2]);
+    void foo(const vec3 & v) { v.c[0]; }
+};
+
+template<typename T>
+void work(T& value);
+
+void foo() {
+  vec3 bb[2];
+  work(bb);
+}
diff --git a/gcc/testsuite/g++.dg/template/array25.C b/gcc/testsuite/g++.dg/template/array25.C
new file mode 100644 (file)
index 0000000..4f3ccbf
--- /dev/null
@@ -0,0 +1,18 @@
+// PR c++/55249
+
+template <typename _Tp> struct A
+{
+  _Tp _M_instance[1];
+};
+template <class> struct inner_type
+{
+    inner_type () {}
+    inner_type (inner_type &);
+    inner_type (const inner_type &) {}
+};
+
+int
+main ()
+{
+    A <inner_type <int> > a, b = a;
+}
diff --git a/gcc/testsuite/g++.dg/template/crash115.C b/gcc/testsuite/g++.dg/template/crash115.C
new file mode 100644 (file)
index 0000000..5c9f525
--- /dev/null
@@ -0,0 +1,3 @@
+// PR c++/56534
+
+template < struct template rebind < > // { dg-error "expected" }
diff --git a/gcc/testsuite/g++.dg/template/error49.C b/gcc/testsuite/g++.dg/template/error49.C
new file mode 100644 (file)
index 0000000..57789a7
--- /dev/null
@@ -0,0 +1,10 @@
+// PR c++/40405
+
+template<int, int> struct A
+{
+  static int i;
+};
+
+template<int> int A<0,0>::i = 0; // { dg-error "" }
+
+int j = A<0,0>::i;
diff --git a/gcc/testsuite/g++.dg/template/meminit3.C b/gcc/testsuite/g++.dg/template/meminit3.C
new file mode 100644 (file)
index 0000000..b682449
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/54744
+
+template <typename T>
+struct base {
+  typedef base base_type;
+};
+
+template <typename T>
+struct derived : base<T> {
+  typedef typename derived::base_type::base_type base_type;
+  derived() : base_type() {}
+};
diff --git a/gcc/testsuite/g++.dg/template/new11.C b/gcc/testsuite/g++.dg/template/new11.C
new file mode 100644 (file)
index 0000000..76f6c66
--- /dev/null
@@ -0,0 +1,28 @@
+// PR c++/54984
+// { dg-do run }
+
+int n = 1;
+
+void* operator new(__SIZE_TYPE__)
+{
+  n = -1;
+  return &n;
+}
+
+template <class T>
+struct Foo
+{
+  Foo()
+  : x(new int)
+  {
+    if (*x != -1)
+      __builtin_abort();
+  }
+
+  int* x;
+};
+
+int main()
+{
+  Foo<float> foo;
+}
index a8c3791..e378473 100644 (file)
@@ -2,11 +2,11 @@
 // Origin: Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 // { dg-do compile }
 
-template<int> struct A // { dg-error "declaration" }
+template<int> struct A
 {
   A();
 };
 
-template<int N, char> A<N>::A() {}  // { dg-error "invalid use of incomplete type" }
+template<int N, char> A<N>::A() {}  // { dg-error "got 2 template parameters|1 required" }
 
 A<0> a;
diff --git a/gcc/testsuite/g++.dg/template/pr54858.C b/gcc/testsuite/g++.dg/template/pr54858.C
new file mode 100644 (file)
index 0000000..51610ad
--- /dev/null
@@ -0,0 +1,21 @@
+// PR c++/54858
+// { dg-do compile }
+
+template <int> struct A {};
+template <typename T, T *> struct B {};
+template <typename D> struct C
+{
+  A<0> c0; B<A<0>, &C::c0> d0; // { dg-error "could not convert template argument" }
+  A<0> c1; B<A<0>, &C::c1> d1; // { dg-error "could not convert template argument" }
+  A<0> c2; B<A<0>, &C::c2> d2; // { dg-error "could not convert template argument" }
+  A<0> c3; B<A<0>, &C::c3> d3; // { dg-error "could not convert template argument" }
+  A<0> c4; B<A<0>, &C::c4> d4; // { dg-error "could not convert template argument" }
+  A<0> c5; B<A<0>, &C::c5> d5; // { dg-error "could not convert template argument" }
+  A<0> c6; B<A<0>, &C::c6> d6; // { dg-error "could not convert template argument" }
+  A<0> c7; B<A<0>, &C::c7> d7; // { dg-error "could not convert template argument" }
+  A<0> c8; B<A<0>, &C::c8> d8; // { dg-error "could not convert template argument" }
+  A<0> c9; B<A<0>, &C::c9> d9; // { dg-error "could not convert template argument" }
+  A<0> ca; B<A<0>, &C::ca> da; // { dg-error "could not convert template argument" }
+  A<0> cb; B<A<0>, &C::cb> db; // { dg-error "could not convert template argument" }
+};
+C<int> e;
diff --git a/gcc/testsuite/g++.dg/template/ptrmem23.C b/gcc/testsuite/g++.dg/template/ptrmem23.C
new file mode 100644 (file)
index 0000000..28c0a63
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/56247
+
+struct Base {
+    void method() {}
+};
+
+typedef void (Base::*MemPtr)();
+
+// Template with a member function pointer "non-type parameter".
+template<MemPtr func>
+struct Wrapper {};
+
+template<class C>
+struct Child : public Base {
+    // Templated derived class instantiates the Wrapper with the same parameter
+    // in two different virtual methods.
+    void foo() { typedef Wrapper<&Base::method> W; }
+    void bar() { typedef Wrapper<&Base::method> W; }
+};
+
+// Instantiate Child with some type.
+template class Child<int>;
diff --git a/gcc/testsuite/g++.dg/template/typedef39.C b/gcc/testsuite/g++.dg/template/typedef39.C
new file mode 100644 (file)
index 0000000..85e8ddc
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/50852
+
+template<int d> class A;
+template<class T> struct B {typedef int K;typedef int L;};
+template<class U,class V> struct C
+{
+    typedef typename U::L X;
+    typedef A<X::a-1> W;
+};
+template<class U,int d> struct D
+{
+    typedef typename U::L X;
+    typedef A<X::a-1> W;       // { dg-error "not a member" }
+};
+template class D<B<A<1> >,3>;
diff --git a/gcc/testsuite/g++.dg/template/typedef40.C b/gcc/testsuite/g++.dg/template/typedef40.C
new file mode 100644 (file)
index 0000000..1d8be35
--- /dev/null
@@ -0,0 +1,21 @@
+// PR c++/55058
+
+template <typename T>
+struct A { };
+
+template <typename T>
+struct B {
+  B(const A<T> T::* p);
+  typedef A<T> D;
+};
+
+template <typename T>
+B<T>::B(const D T::* p) { }
+
+struct C {
+  C() : e() {};
+
+  const A<C> e;
+};
+
+B<C> g(&C::e);
diff --git a/gcc/testsuite/g++.dg/template/typename19.C b/gcc/testsuite/g++.dg/template/typename19.C
new file mode 100644 (file)
index 0000000..735deb2
--- /dev/null
@@ -0,0 +1,24 @@
+// PR c++/56395
+
+struct A
+{
+  template <class T> struct B { };
+};
+
+template <class T> struct D { };
+
+template <class T, class U> struct C
+{
+  typedef T _Type;
+  typedef typename T::template B<_Type> _BType;
+  D<_BType> d;
+};
+
+template <class T> struct C<T,T>
+{
+  typedef T _Type;
+  typedef typename T::template B<_Type> _BType;
+  D<_BType> d;
+};
+
+C<A,A> c;
diff --git a/gcc/testsuite/g++.dg/template/typename20.C b/gcc/testsuite/g++.dg/template/typename20.C
new file mode 100644 (file)
index 0000000..d5bd51f
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/56543
+
+template <typename>
+struct S;
+
+template <typename T>
+struct U
+{
+  typedef typename S <T>::template V <> W;
+  S <W> x;
+};
diff --git a/gcc/testsuite/g++.dg/torture/20121105-1.C b/gcc/testsuite/g++.dg/torture/20121105-1.C
new file mode 100644 (file)
index 0000000..0332342
--- /dev/null
@@ -0,0 +1,42 @@
+// PR tree-optimization/54986
+// Reported by Remi Vanicat <vanicat@debian.org>
+// Reduced testcase by Markus Trippelsdorf <markus@trippelsdorf.de> 
+
+struct A;
+struct B
+{
+  int *_ptr;
+  bool operator==(B *p1)
+  {
+    return p1->_ptr;
+  }
+};
+struct C {
+  A* ref_SYMBptr();
+};
+struct A
+{
+  B sommet;
+};
+typedef C *gen_op_context;
+struct D
+{
+  D(gen_op_context) {}
+};
+
+D c(0);
+const long d = (long)&c;
+B *const   e = (B *)&d;
+
+static bool
+fn1(C& p1)
+{
+  return p1.ref_SYMBptr()->sommet == e;
+}
+
+void
+fn2()
+{
+  C b;
+  fn1(b);
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr54563.C b/gcc/testsuite/g++.dg/torture/pr54563.C
new file mode 100644 (file)
index 0000000..2980320
--- /dev/null
@@ -0,0 +1,14 @@
+// PR tree-optimization/54563
+// { dg-do compile }
+
+extern "C" float powf (float, float);
+struct S { ~S (); };
+double bar ();
+double x;
+
+void
+foo ()
+{
+  S s;
+  x = powf (bar (), 2.);
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr54735.C b/gcc/testsuite/g++.dg/torture/pr54735.C
new file mode 100644 (file)
index 0000000..0604ec5
--- /dev/null
@@ -0,0 +1,179 @@
+// { dg-do compile }
+
+class Gmpfr
+{};
+class M : Gmpfr
+{
+public:
+  Gmpfr infconst;
+  M(int);
+};
+template<typename>struct A;
+template<typename, int, int, int = 0 ? : 0, int = 0, int = 0>class N;
+template<typename>class O;
+template<typename>struct B;
+struct C
+{
+  enum
+  { value };
+};
+class D
+{
+public:
+  enum
+  { ret };
+};
+struct F
+{
+  enum
+  { ret = 0 ? : 0 };
+};
+template<typename Derived>struct G
+{
+  typedef O<Derived>type;
+};
+struct H
+{
+  void operator * ();
+};
+struct I
+{
+  enum
+  { RequireInitialization = C::value ? : 0, ReadCost };
+};
+template<typename Derived>struct J
+{
+  enum
+  { ret = A<Derived>::InnerStrideAtCompileTime };
+};
+template<typename Derived>struct K
+{
+  enum
+  { ret = A<Derived>::OuterStrideAtCompileTime };
+};
+template<typename Derived>class P : H
+{
+public:
+  using H::operator *;
+  typedef typename A<Derived>::Scalar Scalar;
+  enum
+  { RowsAtCompileTime                                        =
+      A<Derived>::RowsAtCompileTime, ColsAtCompileTime       =
+      A<Derived>::ColsAtCompileTime, SizeAtCompileTime       =
+      F::ret, MaxRowsAtCompileTime                           =
+      A<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime =
+      A<Derived>::MaxColsAtCompileTime, MaxSizeAtCompileTime =
+      F::ret, Flags                                          =
+      A<Derived>::Flags ? : 0 ? : 0, CoeffReadCost           =
+      A<Derived>::CoeffReadCost, InnerStrideAtCompileTime    =
+      J<Derived>::ret, OuterStrideAtCompileTime              = K<Derived>::ret };
+  B<Derived> operator << (const Scalar&);
+};
+
+template<typename Derived>class O : public P<Derived>
+{};
+
+template<int _Cols>class L
+{
+public:
+
+  int cols()
+  {
+    return _Cols;
+  }
+};
+template<typename Derived>class Q : public G<Derived>::type
+{
+public:
+  typedef typename G<Derived>::type   Base;
+  typedef typename A<Derived>::Index  Index;
+  typedef typename A<Derived>::Scalar Scalar;
+  L<Base::ColsAtCompileTime> m_storage;
+  Index cols()
+  {
+    return m_storage.cols();
+  }
+
+  Scalar& coeffRef(Index,
+                   Index);
+};
+
+template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows,
+         int _MaxCols>struct A<N<_Scalar, _Rows, _Cols, _Options, _MaxRows,
+                                 _MaxCols> >
+{
+  typedef _Scalar Scalar;
+  typedef int     Index;
+  enum
+  { RowsAtCompileTime, ColsAtCompileTime                              =
+      _Cols, MaxRowsAtCompileTime, MaxColsAtCompileTime, Flags        =
+      D::ret, CoeffReadCost                                           =
+      I::ReadCost, InnerStrideAtCompileTime, OuterStrideAtCompileTime =
+      0 ? : 0 };
+};
+template<typename _Scalar, int, int _Cols, int, int,
+         int>class N : public Q<N<_Scalar, 0, _Cols> >
+{
+public:
+  Q<N> Base;
+  template<typename T0, typename T1>N(const T0&,
+                                      const T1&);
+};
+void
+__assert_fail(int)
+throw() __attribute__((__noreturn__));
+template<typename XprType>struct B
+{
+  typedef typename XprType::Scalar Scalar;
+  typedef typename XprType::Index  Index;
+  B(XprType & p1, const Scalar &) : m_xpr(p1), m_col(),
+                                    m_currentBlockRows(1)
+  {} B& operator, (const Scalar&)
+  {
+    Index a;
+
+    if (m_col == m_xpr.cols())
+    {
+      m_col              = 0;
+      m_currentBlockRows = 1;
+      a && "Too       " ? static_cast<void>(0) : __assert_fail(0);
+    }
+    m_col < m_xpr.cols()
+    && "Too       " ? static_cast<void>(0) : __assert_fail(1);
+    m_currentBlockRows ? static_cast<void>(0) : __assert_fail(4);
+    m_xpr.coeffRef(0, m_col++) = 0;
+    return *this;
+  }
+  ~B()
+  {
+    1 + m_currentBlockRows && m_col
+    && "Too       " ? static_cast<void>(0) : __assert_fail(0);
+  }
+
+  XprType& m_xpr;
+  Index    m_col;
+  Index    m_currentBlockRows;
+};
+
+template<typename Derived>B<Derived>P<
+  Derived >::operator << (const Scalar&)
+{
+    return B<Derived>(*static_cast<Derived *>(this), 0);
+}
+
+template<class NT, int s>void
+               check_()
+{
+    N<NT, 0, s>m(0, 0);
+    m << 0, 0, 0, 0;
+}
+
+template<class NT>void check()
+{
+    check_<NT, 3>();
+}
+
+int main()
+{
+    check<M>();
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr54902.C b/gcc/testsuite/g++.dg/torture/pr54902.C
new file mode 100644 (file)
index 0000000..790ffe5
--- /dev/null
@@ -0,0 +1,131 @@
+// { dg-do compile }
+
+namespace std __attribute__ ((__visibility__ ("default"))) {
+    template<typename _Iterator>     struct iterator_traits     {
+    };
+    template<typename _Tp>     struct iterator_traits<_Tp*>     {
+       typedef _Tp& reference;
+    };
+}
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
+    using std::iterator_traits;
+    template<typename _Iterator, typename _Container>     class __normal_iterator     {
+       _Iterator _M_current;
+       typedef iterator_traits<_Iterator> __traits_type;
+    public:
+       typedef typename __traits_type::reference reference;
+       explicit       __normal_iterator(const _Iterator& __i) : _M_current(__i) {
+       }
+       reference       operator*() const       {
+           return *_M_current;
+       }
+       __normal_iterator       operator++(int)       {
+           return __normal_iterator(_M_current++);
+       }
+    };
+    template<typename _Tp>     class new_allocator     {
+    public:
+       typedef _Tp* pointer;
+       template<typename _Tp1>         struct rebind         {
+           typedef new_allocator<_Tp1> other;
+       };
+    };
+}
+namespace std __attribute__ ((__visibility__ ("default"))) {
+    template<typename _Tp>     class allocator: public __gnu_cxx::new_allocator<_Tp>     {
+    };
+}
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
+    template<typename _Alloc>   struct __alloc_traits   {
+       typedef typename _Alloc::pointer pointer;
+       template<typename _Tp>       struct rebind       {
+           typedef typename _Alloc::template rebind<_Tp>::other other;
+       };
+    };
+}
+namespace std __attribute__ ((__visibility__ ("default"))) {
+    template<typename _Tp, typename _Alloc>     struct _Vector_base     {
+       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template         rebind<_Tp>::other _Tp_alloc_type;
+       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer         pointer;
+       struct _Vector_impl       : public _Tp_alloc_type       {
+           pointer _M_start;
+       };
+       _Vector_impl _M_impl;
+    };
+    template<typename _Tp, typename _Alloc = std::allocator<_Tp> >     class vector : protected _Vector_base<_Tp, _Alloc>     {
+       typedef _Vector_base<_Tp, _Alloc> _Base;
+    public:
+       typedef typename _Base::pointer pointer;
+       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
+       iterator       begin()       {
+           return iterator(this->_M_impl._M_start);
+       }
+    };
+}
+class myServer {
+    static std::vector<myServer *> server_list;
+    class Callback;
+    class myFolder *currentFolder;
+    static bool eventloop(Callback *);
+};
+extern "C" {
+    typedef unsigned int uint32_t;
+    typedef uint32_t unicode_char;
+    extern int strcmp (__const char *__s1, __const char *__s2)      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+};
+class CursesObj {
+};
+class Curses : public CursesObj {
+public:
+    class Key {
+    public:
+       unicode_char ukey;
+       const char *keycode;
+       Key(unicode_char ch) : ukey(ch), keycode(0) {
+       }
+       bool plain() const {
+       }
+       bool nokey() const {
+       }
+       bool operator==(const Key &k) const   {
+           return strcmp(keycode ? keycode:
+                         "",           k.keycode ? k.keycode:
+                         "") == 0 &&     ukey == k.ukey;
+       }
+    };
+    static bool processKey(const Key &k);
+};
+class CursesContainer : public Curses {
+};
+class myFolder {
+public:
+    void checkExpunged();
+};
+class Typeahead {
+public:
+    static Typeahead *typeahead;
+    bool empty()  {
+    }
+    Curses::Key pop()  {
+    }
+};
+class CursesScreen : public CursesContainer {
+public:
+    Key getKey();
+};
+using namespace std;
+extern CursesScreen *cursesScreen;
+bool myServer::eventloop(myServer::Callback *callback) {
+    Curses::Key k1=    (callback == __null && !Typeahead::typeahead->empty()     ? Typeahead::typeahead->pop()     : cursesScreen->getKey());
+    if (callback == __null || (k1.plain() && k1.ukey == '\x03'))   {
+       if (!k1.nokey())    {
+           bool rc=Curses::processKey(k1);
+           if (rc)     {      while (k1.plain() && k1 == '\x03' &&             !Typeahead::typeahead->empty())       Typeahead::typeahead->pop();     }
+       }
+    }
+    vector<myServer *>::iterator b=server_list.begin();
+    while (1)   {
+       myServer *p= *b++;
+       if (p->currentFolder)     p->currentFolder->checkExpunged();
+    }
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr55355.C b/gcc/testsuite/g++.dg/torture/pr55355.C
new file mode 100644 (file)
index 0000000..6d8f8b6
--- /dev/null
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+
+struct A
+{
+    void funcA(void);
+};
+
+struct B {};
+
+struct C
+{
+    void funcC(void) { a_mp->funcA(); }
+
+    char buf_ma[268435456];
+    A   *a_mp;
+    B    b_m;
+};
+
+void
+func(C *c_p)
+{
+    c_p->funcC();
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr56403.C b/gcc/testsuite/g++.dg/torture/pr56403.C
new file mode 100644 (file)
index 0000000..27b6eeb
--- /dev/null
@@ -0,0 +1,12 @@
+// PR c++/56403
+// { dg-do compile }
+
+#include <stdarg.h>
+
+struct S { va_list err_args; };
+
+void *
+foo ()
+{
+  return new S ();
+}
diff --git a/gcc/testsuite/g++.dg/torture/pr56768.C b/gcc/testsuite/g++.dg/torture/pr56768.C
new file mode 100644 (file)
index 0000000..db504c5
--- /dev/null
@@ -0,0 +1,41 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+struct Iter
+{
+  int& operator* ();
+  void operator++ ();
+};
+
+bool operator!= (Iter &, Iter &) { }
+
+struct Container
+{
+  Iter begin () const;
+  Iter end () const;
+};
+
+struct J
+{
+  virtual J *mutable_child ();
+};
+
+struct M
+{
+  M (const Container &);
+  J ns_;
+};
+namespace
+{
+  J MakeNamespace (const Container &src)
+    {
+      J a;
+      J *b = 0;
+      for (const int &c: src)
+       b = b ? b->mutable_child () : &a;
+      return a;
+    }
+}
+M::M (const Container &ns):ns_ (MakeNamespace (ns))
+{
+}
diff --git a/gcc/testsuite/g++.dg/warn/Wreturn-type-8.C b/gcc/testsuite/g++.dg/warn/Wreturn-type-8.C
new file mode 100644 (file)
index 0000000..df87ba4
--- /dev/null
@@ -0,0 +1,90 @@
+// PR c++/54046
+// { dg-do compile }
+// { dg-options "-O0 -Wall -Wno-unused" }
+
+void foo (void) __attribute__((noreturn));
+
+struct A
+{
+  ~A () {}
+};
+
+bool
+check1 (int x)
+{
+  A z;
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      throw "X";
+      break;
+    }
+}
+
+bool
+check2 (int x)
+{
+  A z;
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      foo ();
+      break;
+    }
+}
+
+bool
+check3 (int x)
+{
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      throw "X";
+      break;
+    }
+}
+
+bool
+check4 (int x)
+{
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      foo ();
+      break;
+    }
+}
+
+bool
+check5 (int x)
+{
+  A z;
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      throw "X";
+    }
+}
+
+bool
+check6 (int x)
+{
+  A z;
+  switch (x)
+    {
+    case 0:
+      return false;
+    default:
+      foo ();
+    }
+}
diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-19.C b/gcc/testsuite/g++.dg/warn/Wunused-var-19.C
new file mode 100644 (file)
index 0000000..4d26b36
--- /dev/null
@@ -0,0 +1,26 @@
+// PR c++/55643
+// { dg-do compile }
+// { dg-options "-std=c++11 -Wunused" }
+
+enum class E { e = 123 };
+
+int
+foo ()
+{
+  E x = E::e;
+  return (double) x;
+}
+
+int
+bar ()
+{
+  E x = E::e;
+  return (long double) x;
+}
+
+int
+baz ()
+{
+  E x = E::e;
+  return (float) x;
+}
diff --git a/gcc/testsuite/g++.dg/warn/pmf2.C b/gcc/testsuite/g++.dg/warn/pmf2.C
new file mode 100644 (file)
index 0000000..be13819
--- /dev/null
@@ -0,0 +1,24 @@
+// PR c++/56104
+// { dg-options "-Wall -O2" }
+
+struct Foo
+{
+  Foo();
+  Foo(const Foo&);
+    void call()
+    {}
+};
+
+template<class MEMSIG, MEMSIG MEMFUNC>
+struct Wrap
+{
+    inline static void call( Foo cc )
+    {
+      (cc.*MEMFUNC)();     // <- warning here
+    }
+};
+
+void bar()
+{
+  Wrap<void (Foo::*)(), &Foo::call>::call( Foo() );
+}
index 7be0cd8..bf1126c 100644 (file)
@@ -7,10 +7,10 @@
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux*eabi* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 
 #include <limits.h>
 
index 5a74b2f..0ecb87d 100644 (file)
@@ -7,10 +7,10 @@
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux*eabi* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 
 // GROUPS passed enums
   extern "C" int printf (const char *, ...);
index 429e812..509da6d 100644 (file)
@@ -9,10 +9,10 @@
 // enum-size attributes should only be emitted if there are values of
 // enum type that can escape the compilation unit, gcc cannot currently
 // detect this; if this facility is added then this linker option should
-// not be needed.  arm-*-linux*eabi should be a good approximation to
+// not be needed.  arm-*-linux*eabi* should be a good approximation to
 // those platforms where the EABI supplement defines enum values to be
 // 32 bits wide.
-// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 
 enum E { 
   a = -312
diff --git a/gcc/testsuite/gcc.c-torture/compile/20121107-1.c b/gcc/testsuite/gcc.c-torture/compile/20121107-1.c
new file mode 100644 (file)
index 0000000..a862067
--- /dev/null
@@ -0,0 +1,14 @@
+/* PR middle-end/55219 */
+/* Testcase by Markus Trippelsdorf <markus@trippelsdorf.de> */
+
+int x, c, d, e, f, g, h, i;
+double j;
+const int k;
+const enum { B } a;
+void
+fn1 (void)
+{
+  h = (g ? c : g ? f : g ? e : g ? i : g ? f : g ? e : g ? d : x)
+      + (a ? : a ? : a ? : a ? : a ? : a ? : a ? : a ? : a ? : a ? : a
+         ? j : a ? : 0 ? : a ? : a ? : a ? : a ? : a ? : a ? k : a ? : x);
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c
new file mode 100644 (file)
index 0000000..d941f3e
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  0 || 0 / 0 ? : 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c
new file mode 100644 (file)
index 0000000..4bd6249
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  0 / 0 || 0 ? : 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c
new file mode 100644 (file)
index 0000000..9be0b94
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  1 && 0 / 0 ? : 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c
new file mode 100644 (file)
index 0000000..89ce24c
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  0 / 0 && 1 ? : 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c
new file mode 100644 (file)
index 0000000..9594b28
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  !(0 / 0);
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c b/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c
new file mode 100644 (file)
index 0000000..2b0b0ba
--- /dev/null
@@ -0,0 +1,5 @@
+void
+f (void)
+{
+  0 || 65536*65536 ? : 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c b/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c
new file mode 100644 (file)
index 0000000..bc20053
--- /dev/null
@@ -0,0 +1,8 @@
+void
+f (void)
+{
+  unsigned n = 10;
+
+  typedef double T[n];
+  (double (*)[n])((unsigned char (*)[sizeof (T)]){ 0 });
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr55921.c b/gcc/testsuite/gcc.c-torture/compile/pr55921.c
new file mode 100644 (file)
index 0000000..39af43c
--- /dev/null
@@ -0,0 +1,22 @@
+/* PR tree-optimization/55921 */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+
+typedef union
+{
+  _Complex float cf;
+  long long ll;
+} ucf;
+
+void
+foo (ucf *in, ucf *out, _Complex float r)
+{
+  int i;
+  ucf ucf1;
+  _Complex float cf;
+
+  ucf1.ll = in[i].ll;
+  __asm ("" : "=r" (cf) : "0" (ucf1.ll));
+  cf *= r;
+  __asm ("" : "=r" (ucf1.ll) : "0" (cf));
+  out[i].ll = ucf1.ll;
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr56539.c b/gcc/testsuite/gcc.c-torture/compile/pr56539.c
new file mode 100644 (file)
index 0000000..0fba96f
--- /dev/null
@@ -0,0 +1,7 @@
+/* PR tree-optimization/56539 */
+
+short
+foo (const char *x, unsigned y)
+{
+  return y > 1 ? (x[y - 1] - '0') + 10 * foo (x, y - 1) : (*x - '0');
+}
index a54f3c1..f86d535 100644 (file)
@@ -41,6 +41,10 @@ set additional_flags ""
 if [istarget "powerpc-*-darwin*"] {
    lappend additional_flags "-Wl,-multiply_defined,suppress"
 }
+if { [istarget *-*-eabi*]
+     || [istarget *-*-elf] } {
+   lappend additional_flags "-Wl,--allow-multiple-definition"
+}
 
 foreach src [lsort [find $srcdir/$subdir *.c]] {
     if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr54985.c b/gcc/testsuite/gcc.c-torture/execute/pr54985.c
new file mode 100644 (file)
index 0000000..678c9f4
--- /dev/null
@@ -0,0 +1,36 @@
+
+typedef struct st {
+    int a;
+} ST;
+
+int __attribute__((noinline,noclone))
+foo(ST *s, int c)
+{
+  int first = 1;
+  int count = c;
+  ST *item = s;
+  int a = s->a;
+  int x;
+
+  while (count--)
+    {
+      x = item->a;
+      if (first)
+        first = 0;
+      else if (x >= a)
+        return 1;
+      a = x;
+      item++;
+    }
+  return 0;
+}
+
+extern void abort (void);
+
+int main ()
+{
+  ST _1[2] = {{2}, {1}};
+  if (foo(_1, 2) != 0)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr56051.c b/gcc/testsuite/gcc.c-torture/execute/pr56051.c
new file mode 100644 (file)
index 0000000..4ff6b9e
--- /dev/null
@@ -0,0 +1,32 @@
+/* PR tree-optimization/56051 */
+
+extern void abort (void);
+
+int
+main ()
+{
+  unsigned char x1[1] = { 0 };
+  unsigned int s1 = __CHAR_BIT__;
+  int a1 = x1[0] < (unsigned char) (1 << s1);
+  unsigned char y1 = (unsigned char) (1 << s1);
+  int b1 = x1[0] < y1;
+  if (a1 != b1)
+    abort ();
+#if __SIZEOF_LONG_LONG__ > __SIZEOF_INT__
+  unsigned long long x2[1] = { 2ULL << (sizeof (int) * __CHAR_BIT__) };
+  unsigned int s2 = sizeof (int) * __CHAR_BIT__ - 1;
+  int a2 = x2[0] >= (unsigned long long) (1 << s2);
+  unsigned long long y2 = 1 << s2;
+  int b2 = x2[0] >= y2;
+  if (a2 != b2)
+    abort ();
+  unsigned long long x3[1] = { 2ULL << (sizeof (int) * __CHAR_BIT__) };
+  unsigned int s3 = sizeof (int) * __CHAR_BIT__ - 1;
+  int a3 = x3[0] >= (unsigned long long) (1U << s3);
+  unsigned long long y3 = 1U << s3;
+  int b3 = x3[0] >= y3;
+  if (a3 != b3)
+    abort ();
+#endif
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr56250.c b/gcc/testsuite/gcc.c-torture/execute/pr56250.c
new file mode 100644 (file)
index 0000000..8da36f8
--- /dev/null
@@ -0,0 +1,13 @@
+/* PR tree-optimization/56250 */
+
+extern void abort (void);
+
+int
+main ()
+{
+  unsigned int x = 2;
+  unsigned int y = (0U - x / 2) / 2;
+  if (-1U / x != y)
+    abort ();
+  return 0;
+}
index 7649059..e869196 100644 (file)
@@ -11,6 +11,9 @@
 #ifndef MAP_ANON
 #define MAP_ANON 0
 #endif
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *)-1)
+#endif
 #include <stdlib.h>
 
 void __attribute__((noinline)) test (const char *p)
index e622505..9595236 100644 (file)
@@ -12,6 +12,9 @@
 #ifndef MAP_ANON
 #define MAP_ANON 0
 #endif
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *)-1)
+#endif
 #include <stdlib.h>
 
     struct Flags {
index b00bb97..4923bc6 100644 (file)
@@ -22,6 +22,6 @@ enum e {
   E5 = 0 * -INT_MIN, /* { dg-warning "12:integer overflow in expression" } */
   /* { dg-error "3:overflow in constant expression" "constant" { target *-*-* } 22 } */
   E6 = 0 * !-INT_MIN, /* { dg-warning "13:integer overflow in expression" } */
-  /* { dg-error "3:not an integer constant" "constant" { target *-*-* } 24 } */
+  /* { dg-error "8:not an integer constant" "constant" { target *-*-* } 24 } */
   E7 = INT_MIN % -1 /* Not an overflow.  */
 };
diff --git a/gcc/testsuite/gcc.dg/lto/pr55660_0.c b/gcc/testsuite/gcc.dg/lto/pr55660_0.c
new file mode 100644 (file)
index 0000000..7e7bb2f
--- /dev/null
@@ -0,0 +1,11 @@
+/* { dg-lto-do run } */
+/* { dg-extra-ld-options { -funsigned-char } } */
+
+char n[3] = {'a','b','c'};
+int foo(char *x)
+{
+  if (*x == 'b')
+    return (int)*x;
+  *x = 'y';
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/lto/pr55660_1.c b/gcc/testsuite/gcc.dg/lto/pr55660_1.c
new file mode 100644 (file)
index 0000000..a8c368b
--- /dev/null
@@ -0,0 +1,15 @@
+extern int foo (char*);
+extern void abort (void);
+
+extern char n[3];
+
+int main ()
+{
+  int i, m = 0;
+  for (i = 0; i < 3; i++)
+    m += foo(&n[i]);
+
+  if (m != 'b')
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr44061.c b/gcc/testsuite/gcc.dg/pr44061.c
new file mode 100644 (file)
index 0000000..60a4260
--- /dev/null
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wall" } */
+
+int a[2];
+int foo (int q)
+{
+  if (__builtin_constant_p (q))
+    {
+      if (q == 4)
+       return a[4]; /* { dg-bogus "array subscript is above array bounds" } */
+      else
+       return a[0];
+    }
+  else
+    return a[q];
+}
index b8dc365..3b8d6bd 100644 (file)
@@ -1,6 +1,7 @@
 /* PR debug/45259 */
 /* { dg-do compile } */
-/* { dg-options "-g -O2 -fpic -w" { target fpic } } */
+/* { dg-options "-g -O2 -w -fpic" { target fpic } } */
+/* { dg-options "-g -O2 -w" { target { ! fpic } } } */
 
 struct S { void (*bar) (long); };
 struct T { struct S *t; };
diff --git a/gcc/testsuite/gcc.dg/pr45472.c b/gcc/testsuite/gcc.dg/pr45472.c
new file mode 100644 (file)
index 0000000..573e83d
--- /dev/null
@@ -0,0 +1,21 @@
+/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */
+/* { dg-options "-O -fschedule-insns2 -fselective-scheduling2" } */
+
+struct S
+{
+  volatile long vl;
+  int i;
+};
+struct S s1, s2;
+
+void
+foo (int j, int c)
+{
+  int i;
+  for (i = 0; i <= j; i++)
+    {
+      if (c)
+       s2.vl += s1.vl;
+      s1 = s2;
+    }
+}
diff --git a/gcc/testsuite/gcc.dg/pr49069.c b/gcc/testsuite/gcc.dg/pr49069.c
new file mode 100644 (file)
index 0000000..f0fe1f2
--- /dev/null
@@ -0,0 +1,15 @@
+/* PR target/49069 */
+/* { dg-do compile } */
+/* { dg-options "-Os -fno-tree-forwprop -Wno-div-by-zero" } */
+
+int a;
+const unsigned long long b[1] = { 1ULL };
+extern void bar (int);
+
+void
+foo (void)
+{
+  for (a = 0; a == 1; a = 2)
+    ;
+  bar (b[0] == (a == 0 ? a : a / 0));
+}
diff --git a/gcc/testsuite/gcc.dg/pr53701.c b/gcc/testsuite/gcc.dg/pr53701.c
new file mode 100644 (file)
index 0000000..2c85223
--- /dev/null
@@ -0,0 +1,59 @@
+/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O3 -fselective-scheduling2 -fsel-sched-pipelining" } */
+typedef unsigned short int uint16_t;
+typedef unsigned long int uintptr_t;
+typedef struct GFX_VTABLE
+{
+  int color_depth;
+  unsigned char *line[];
+}
+BITMAP;
+extern int _drawing_mode;
+extern BITMAP *_drawing_pattern;
+extern int _drawing_y_anchor;
+extern unsigned int _drawing_x_mask;
+extern unsigned int _drawing_y_mask;
+extern uintptr_t bmp_write_line (BITMAP *, int);
+  void
+_linear_hline15 (BITMAP * dst, int dx1, int dy, int dx2, int color)
+{
+  int w;
+  if (_drawing_mode == 0)
+  {
+    int x, curw;
+    unsigned short *sline =
+      (unsigned short *) (_drawing_pattern->
+          line[((dy) -
+            _drawing_y_anchor) & _drawing_y_mask]);
+    unsigned short *s;
+    unsigned short *d =
+      ((unsigned short *) (bmp_write_line (dst, dy)) + (dx1));
+    s = ((unsigned short *) (sline) + (x));
+    if (_drawing_mode == 2)
+    {
+    }
+    else if (_drawing_mode == 3)
+    {
+      do
+      {
+        w -= curw;
+        do
+        {
+          unsigned long c = (*(s));
+          if (!((unsigned long) (c) == 0x7C1F))
+          {
+            (*((uint16_t *) ((uintptr_t) (d))) = ((color)));
+          }
+          ((s)++);
+        }
+        while (--curw > 0);
+        s = sline;
+        curw =
+          (((w) <
+            ((int) _drawing_x_mask +
+             1)) ? (w) : ((int) _drawing_x_mask + 1));
+      }
+      while (curw > 0);
+    }
+  }
+}
diff --git a/gcc/testsuite/gcc.dg/pr54121.c b/gcc/testsuite/gcc.dg/pr54121.c
new file mode 100644 (file)
index 0000000..b9a208e
--- /dev/null
@@ -0,0 +1,94 @@
+/* PR target/54121 */
+/* Reported by Jan Engelhardt <jengelh@inai.de> */
+
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-std=gnu99 -O -fPIC -fprofile-generate" } */
+
+typedef __SIZE_TYPE__ size_t;
+typedef unsigned char uint8_t;
+
+extern void *memcpy (void *__restrict __dest,
+       __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+typedef enum {
+ LZMA_OK = 0,
+ LZMA_STREAM_END = 1,
+ LZMA_NO_CHECK = 2,
+ LZMA_UNSUPPORTED_CHECK = 3,
+ LZMA_GET_CHECK = 4,
+ LZMA_MEM_ERROR = 5,
+ LZMA_MEMLIMIT_ERROR = 6,
+ LZMA_FORMAT_ERROR = 7,
+ LZMA_OPTIONS_ERROR = 8,
+ LZMA_DATA_ERROR = 9,
+ LZMA_BUF_ERROR = 10,
+ LZMA_PROG_ERROR = 11,
+} lzma_ret;
+
+typedef enum {
+ LZMA_RUN = 0,
+ LZMA_SYNC_FLUSH = 1,
+ LZMA_FULL_FLUSH = 2,
+ LZMA_FINISH = 3
+} lzma_action;
+
+typedef struct {
+ void *( *alloc)(void *opaque, size_t nmemb, size_t size);
+ void ( *free)(void *opaque, void *ptr);
+ void *opaque;
+} lzma_allocator;
+
+typedef struct lzma_coder_s lzma_coder;
+
+typedef struct lzma_next_coder_s lzma_next_coder;
+
+typedef struct lzma_filter_info_s lzma_filter_info;
+
+typedef lzma_ret (*lzma_init_function)(
+  lzma_next_coder *next, lzma_allocator *allocator,
+  const lzma_filter_info *filters);
+
+typedef lzma_ret (*lzma_code_function)(
+  lzma_coder *coder, lzma_allocator *allocator,
+  const uint8_t *restrict in, size_t *restrict in_pos,
+  size_t in_size, uint8_t *restrict out,
+  size_t *restrict out_pos, size_t out_size,
+  lzma_action action);
+
+typedef void (*lzma_end_function)(
+  lzma_coder *coder, lzma_allocator *allocator);
+
+typedef struct {
+ uint8_t *buf;
+ size_t pos;
+ size_t size;
+} lzma_dict;
+
+typedef struct {
+ lzma_coder *coder;
+ lzma_ret (*code)(lzma_coder *restrict coder,
+   lzma_dict *restrict dict, const uint8_t *restrict in,
+   size_t *restrict in_pos, size_t in_size);
+} lzma_lz_decoder;
+
+struct lzma_coder_s {
+ lzma_dict dict;
+ lzma_lz_decoder lz;
+};
+
+lzma_ret
+decode_buffer(lzma_coder *coder,
+  const uint8_t *restrict in, size_t *restrict in_pos,
+  size_t in_size, uint8_t *restrict out, size_t *restrict out_pos)
+{
+ while (1) {
+  const size_t dict_start = coder->dict.pos;
+  const lzma_ret ret
+    = coder->lz.code( coder->lz.coder, &coder->dict, in, in_pos, in_size);
+  const size_t copy_size = coder->dict.pos - dict_start;
+  memcpy(out + *out_pos, coder->dict.buf + dict_start, copy_size);
+  if (ret != LZMA_OK || coder->dict.pos < coder->dict.size)
+   return ret;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/pr55019.c b/gcc/testsuite/gcc.dg/pr55019.c
new file mode 100644 (file)
index 0000000..1548fb2
--- /dev/null
@@ -0,0 +1,41 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -funroll-loops" } */
+/* { dg-add-options ieee } */
+
+extern void exit (int);
+extern void abort (void);
+
+void
+compare (double a, double b)
+{
+  do
+    {
+      double s1 = __builtin_copysign ((double) 1.0, a);
+      double s2 = __builtin_copysign ((double) 1.0, b);
+
+      if (s1 != s2)
+        abort ();
+
+      if ((__builtin_isnan (a) != 0) != (__builtin_isnan (b) != 0))
+        abort ();
+
+      if ((a != b) != (__builtin_isnan (a) != 0))
+        abort ();
+    } while (0);
+}
+
+int
+main ()
+{
+  double a = 0.0;
+  double b = 0.0;
+  _Complex double cr = __builtin_complex (a, b);
+  static _Complex double cs = __builtin_complex (0.0, 0.0);
+
+  compare (__real__ cr, 0.0);
+  compare (__imag__ cr, 0.0);
+  compare (__real__ cs, 0.0);
+  compare (__imag__ cs, 0.0);
+
+  exit (0);
+}
diff --git a/gcc/testsuite/gcc.dg/pr55094.c b/gcc/testsuite/gcc.dg/pr55094.c
new file mode 100644 (file)
index 0000000..c445b1a
--- /dev/null
@@ -0,0 +1,45 @@
+/* PR middle-end/55094 */
+/* { dg-do compile } */
+/* { dg-options "-fcompare-debug -Os" } */
+/* { dg-additional-options "-fomit-frame-pointer -fno-asynchronous-unwind-tables -mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
+
+extern int fn (long);
+int v;
+
+int
+foo (int x, long *y)
+{
+  if (x)
+    {
+      fn (y[0]);
+      __builtin_trap ();
+    }
+  __builtin_trap ();
+}
+
+int
+bar (int x, long *y)
+{
+  if (x)
+    {
+      fn (y[0]);
+      v = 1;
+      __builtin_unreachable ();
+    }
+  v = 1;
+  __builtin_unreachable ();
+}
+
+int
+baz (int x, long *y)
+{
+  if (x)
+    {
+      fn (y[0]);
+      v = 1;
+      __builtin_unreachable ();
+    }
+  v = 1;
+  int w = 1;
+  __builtin_unreachable ();
+}
diff --git a/gcc/testsuite/gcc.dg/pr55110.c b/gcc/testsuite/gcc.dg/pr55110.c
new file mode 100644 (file)
index 0000000..2a031a5
--- /dev/null
@@ -0,0 +1,13 @@
+/* PR tree-optimization/55110 */
+/* { dg-do compile } */
+/* { dg-options "-O1 -ftree-vectorize" } */
+
+int
+foo (int x)
+{
+  int a, b;
+  for (b = 0; b < 8; b++)
+    for (a = 0; a < 2; a++)
+      x /= 3;
+  return x;
+}
diff --git a/gcc/testsuite/gcc.dg/pr55236.c b/gcc/testsuite/gcc.dg/pr55236.c
new file mode 100644 (file)
index 0000000..dc66c04
--- /dev/null
@@ -0,0 +1,31 @@
+/* PR tree-optimization/55236 */
+/* { dg-do run } */
+/* { dg-options "-O2 -fwrapv" } */
+
+extern void abort ();
+
+__attribute__((noinline, noclone)) void
+foo (int i)
+{
+  if (i > 0)
+    abort ();
+  i = -i;
+  if (i < 0)
+    return;
+  abort ();
+}
+
+__attribute__((noinline, noclone)) void
+bar (int i)
+{
+  if (i > 0 || (-i) >= 0)
+    abort ();
+}
+
+int
+main ()
+{
+  foo (-__INT_MAX__ - 1);
+  bar (-__INT_MAX__ - 1);
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr55570.c b/gcc/testsuite/gcc.dg/pr55570.c
new file mode 100644 (file)
index 0000000..903bb03
--- /dev/null
@@ -0,0 +1,4 @@
+/* PR c/55570 */
+/* { dg-do compile } */
+
+char array[16] __attribute__((aligned (SOME_NOT_DEFINED_MACRO))); /* { dg-error "requested alignment is not an integer constant" } */
diff --git a/gcc/testsuite/gcc.dg/pr55838.c b/gcc/testsuite/gcc.dg/pr55838.c
new file mode 100644 (file)
index 0000000..d2d6e14
--- /dev/null
@@ -0,0 +1,13 @@
+/* PR rtl-optimization/55838 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -funroll-loops" } */
+
+int a;
+unsigned char c;
+
+void
+f (void)
+{
+  while (c++ < 2)
+    c = a += 129;
+}
diff --git a/gcc/testsuite/gcc.dg/pr55940.c b/gcc/testsuite/gcc.dg/pr55940.c
new file mode 100644 (file)
index 0000000..d046d0b
--- /dev/null
@@ -0,0 +1,54 @@
+/* PR target/55940 */
+/* { dg-do run } */
+/* { dg-options "-Os" } */
+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
+
+struct S { int s; unsigned long t; };
+
+__attribute__ ((noinline, noclone)) unsigned long long
+bar (struct S *x, unsigned long y)
+{
+  asm volatile ("" : : "r" (x), "r" (y) : "memory");
+  return x->s + y;
+}
+
+__attribute__ ((noinline, noclone)) unsigned long long
+foo (struct S *x, unsigned long y)
+{
+  unsigned long a;
+  if (__builtin_expect (((__UINTPTR_TYPE__) (x) + 0x1000U < 0x2000U), 0))
+    return ~0ULL;
+  if (__builtin_expect (x->s <= 0 || x->s > 9, 0))
+    return ~0ULL;
+  a = x->t >> 12;
+  if (y == a)
+    return ~0ULL;
+  if (x->s == 3)
+    return x->t + y * 4096;
+  return bar (x, y);
+}
+
+int va, vb, vc, vd;
+
+int
+main ()
+{
+  struct S s;
+  asm volatile ("" : : : "memory");
+  int a = va, b = vb, c = vc, d = vd;
+  asm volatile ("" : : : "memory");
+  int i;
+  for (i = 0; i < 64; i++)
+    if (foo ((struct S *) 0, 0) != ~0ULL)
+      __builtin_abort ();
+  s.s = 3;
+  s.t = 2 << 12;
+  if (foo (&s, 2) != ~0ULL)
+    __builtin_abort ();
+  if (foo (&s, 3) != (2 << 12) + 3 * 4096)
+    __builtin_abort ();
+  asm volatile ("" : : : "memory");
+  va = a; vb = b; vc = c; vd = d;
+  asm volatile ("" : : : "memory");
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr56023.c b/gcc/testsuite/gcc.dg/pr56023.c
new file mode 100644 (file)
index 0000000..f1942ac
--- /dev/null
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fcompare-debug" } */
+
+void
+foo (char *c)
+{
+  unsigned int x = 0;
+  unsigned int i;
+
+  for (i = 0; c[i]; i++)
+    {
+      if (i >= 5 && x != 1)
+       break;
+      else if (c[i] == ' ')
+       x = i;
+      else if (c[i] == '/' && c[i + 1] != ' ' && i)
+       x = i + 1;
+    }
+}
diff --git a/gcc/testsuite/gcc.dg/pr56098-1.c b/gcc/testsuite/gcc.dg/pr56098-1.c
new file mode 100644 (file)
index 0000000..c3b081a
--- /dev/null
@@ -0,0 +1,16 @@
+/* PR tree-optimization/56098 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+volatile int *p;
+
+void
+foo (int x)
+{
+  *p = 1;
+  if (x)
+    *p = 2;
+}
+
+/* { dg-final { scan-tree-dump-not "=\[^\n\r]*\\*p" "optimized" } } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/pr56125.c b/gcc/testsuite/gcc.dg/pr56125.c
new file mode 100644 (file)
index 0000000..d1840a9
--- /dev/null
@@ -0,0 +1,21 @@
+/* PR tree-optimization/56125 */
+/* { dg-do run } */
+/* { dg-options "-O2 -ffast-math" } */
+
+extern void abort (void);
+extern double fabs (double);
+
+__attribute__((cold)) double
+foo (double x, double n)
+{
+  double u = x / (n * n);
+  return u;
+}
+
+int
+main ()
+{
+  if (fabs (foo (29, 2) - 7.25) > 0.001)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
new file mode 100644 (file)
index 0000000..b901bb2
--- /dev/null
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
+
+typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
+
+void tiger_block_v2 (long long in1, v2tw *res)
+{
+  v2tw i1 = { in1, in1 };
+
+  *res = i1 << 1;
+}
diff --git a/gcc/testsuite/gcc.dg/pr56350.c b/gcc/testsuite/gcc.dg/pr56350.c
new file mode 100644 (file)
index 0000000..899a507
--- /dev/null
@@ -0,0 +1,13 @@
+/* PR tree-optimization/56350 */
+/* { dg-do compile } */
+/* { dg-options "-O -ftree-vectorize" } */
+
+int a, b, c;
+
+void
+f (void)
+{
+  for (; c; c++)
+    for (b = 0; b < 2; b++)
+      a /= 8;
+}
diff --git a/gcc/testsuite/gcc.dg/pr56510.c b/gcc/testsuite/gcc.dg/pr56510.c
new file mode 100644 (file)
index 0000000..1f8e21a
--- /dev/null
@@ -0,0 +1,37 @@
+/* PR debug/56510 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -g" } */
+
+struct S { unsigned long s1; void **s2[0]; };
+void **a, **b, **c, **d, **e, **f;
+
+static void **
+baz (long x, long y)
+{
+  void **s = f;
+  *f = (void **) (y << 8 | (x & 0xff));
+  f += y + 1;
+  return s;
+}
+
+void bar (void);
+void
+foo (void)
+{
+  void **g = b[4];
+  a = b[2];
+  b = b[1];
+  g[2] = e;
+  void **h
+    = ((void **************************)
+       a)[1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][66];
+  void **i = ((struct S *) h)->s2[4];
+  d = baz (4, 3);
+  d[1] = b;
+  d[2] = a;
+  d[3] = bar;
+  b = d;
+  g[1] = i[2];
+  a = g;
+  ((void (*) (void)) (i[1])) ();
+}
index d3649fb..a46485f 100644 (file)
@@ -4,7 +4,7 @@
 /* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target mips-sgi-irix6.5 *-*-solaris2.[89] } } */
 /* { dg-options "-std=gnu99" { target *-*-hpux* } } */
 /* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */
-/* { dg-xfail-if "no C99 snprintf function" { *-*-hpux10* } } */
+/* { dg-xfail-run-if "no C99 snprintf function" { *-*-hpux10* } } */
 /* { dg-xfail-run-if "non-conforming C99 snprintf" { *-*-hpux11.[012]* } } */
 
 /* PR middle-end/47917 */
diff --git a/gcc/testsuite/gcc.dg/torture/pr53663-1.c b/gcc/testsuite/gcc.dg/torture/pr53663-1.c
new file mode 100644 (file)
index 0000000..3392dde
--- /dev/null
@@ -0,0 +1,30 @@
+/* { dg-do run } */
+
+extern void abort (void);
+
+union u
+{
+  int i;
+  _Bool b;
+};
+
+void f(union u * vp, union u v)
+{
+  *vp = v;
+}
+
+int main()
+{
+  union u v;
+  union u v1;
+  union u v2;
+
+  v.i = 10;
+  f(&v1, v);
+
+  v.b = 0;
+  f(&v2, v);
+  if (v2.b != 0)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr53663-2.c b/gcc/testsuite/gcc.dg/torture/pr53663-2.c
new file mode 100644 (file)
index 0000000..9589a9e
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do run } */
+
+extern void abort (void);
+
+union u
+{
+  int i;
+  short f;
+} v;
+
+short foo (short *f)
+{
+  *f = 1;
+  v.i = 0;
+  v.f = 0;
+  return *f;
+}
+
+int main()
+{
+  if (foo (&v.f) != 0)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr53663-3.c b/gcc/testsuite/gcc.dg/torture/pr53663-3.c
new file mode 100644 (file)
index 0000000..96af5db
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do run } */
+
+extern void abort (void);
+
+union u
+{
+  int i;
+  float f;
+} v;
+
+float foo (float *f)
+{
+  *f = 1;
+  v.i = 0;
+  v.f = 0.;
+  return *f;
+}
+
+int main()
+{
+  if (foo (&v.f) != 0.)
+    abort ();
+  return 0;
+}
index e42d1c7..57011e4 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-weak "" } */
+/* { dg-skip-if "No undefined weak" { hppa*-*-hpux* && { ! lp64 } } { "*" } { "" } } */
 
 int x(int a)
 {
diff --git a/gcc/testsuite/gcc.dg/torture/pr54127.c b/gcc/testsuite/gcc.dg/torture/pr54127.c
new file mode 100644 (file)
index 0000000..4f64998
--- /dev/null
@@ -0,0 +1,16 @@
+/* PR rtl-optimization/54127 */
+/* { dg-do compile } */
+
+extern void foo (void) __attribute__ ((__noreturn__));
+
+void
+bar (int x)
+{
+  if (x < 0)
+    foo ();
+  if (x == 0)
+    return;
+  __asm goto ("# %l[lab] %l[lab2]" : : : : lab, lab2);
+lab:;
+lab2:;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr54877.c b/gcc/testsuite/gcc.dg/torture/pr54877.c
new file mode 100644 (file)
index 0000000..cee406e
--- /dev/null
@@ -0,0 +1,23 @@
+/* PR tree-optimization/54877 */
+/* { dg-do run } */
+/* { dg-options "-ffast-math" } */
+
+extern void abort (void);
+
+int
+foo (void)
+{
+  double d;
+  int i;
+  for (i = 0, d = 0; i < 64; i++)
+    d--;
+  return (int) d;
+}
+
+int
+main ()
+{
+  if (foo () != -64)
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr54894.c b/gcc/testsuite/gcc.dg/torture/pr54894.c
new file mode 100644 (file)
index 0000000..277e371
--- /dev/null
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+
+typedef unsigned long long uint64_t;
+
+#define n 4096
+double A[n][n] __attribute__((aligned(16)));
+double B[n][n] __attribute__((aligned(16)));
+double C[n][n] __attribute__((aligned(16)));
+
+#define tilesize 128
+
+typedef double adouble __attribute__((__aligned__(16)));
+
+void foo ()
+{
+  int ih, jh, kh, il, kl, jl;
+  for (ih = 0; ih < n; ih += tilesize) 
+    for (jh = 0; jh < n; jh += tilesize)                 
+      for (kh = 0; kh < n; kh += tilesize)                      
+       for (il = 0; il < tilesize; ++il)
+         {
+           adouble *Ap = (adouble *)&A[ih+il][kh];
+           for (kl = 0; kl < tilesize; ++kl)
+             for (jl = 0; jl < tilesize; ++jl)
+               C[ih+il][jh+jl] += Ap[kl] * B[kh+kl][jh+jl];
+         }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr54920.c b/gcc/testsuite/gcc.dg/torture/pr54920.c
new file mode 100644 (file)
index 0000000..6b99e9e
--- /dev/null
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-fno-common" { target { hppa*-*-hpux* } } } */
+
+typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+int a;
+__m128i b;
+
+void
+fn1 ()
+{
+  while (1)
+    b = (__m128i) (__v8hi) { a, 0, 0, 0, 0, 0 };
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55107.c b/gcc/testsuite/gcc.dg/torture/pr55107.c
new file mode 100644 (file)
index 0000000..2402716
--- /dev/null
@@ -0,0 +1,34 @@
+/* { dg-do compile } */
+
+typedef unsigned short uint16_t;
+
+uint16_t a, b;
+
+uint16_t f(void)
+{
+  int c, **p;
+  short d = 2, e = 4;
+
+  for (;; b++)
+    {
+      int *j, k = 0;
+
+      for (; *j; j++)
+       {
+         for(; c; c++)
+           for(; k < 1; k++)
+             {
+               short *f = &d;
+
+               if(b)
+                 return *f;
+             }
+       }
+
+      if(!c)
+       d *= e;
+
+      ((a = d) ? b = 0 : (**p ? : 1) != (d != 1 ? : (a = 0))) != (k ? a : 0)
+         < (a *= c = k) && (**p = 0);
+    }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55481.c b/gcc/testsuite/gcc.dg/torture/pr55481.c
new file mode 100644 (file)
index 0000000..26ba9ff
--- /dev/null
@@ -0,0 +1,16 @@
+/* { dg-do run } */
+
+int main()
+{
+  signed char result = 0;
+  int n;
+  for (n = 0; n < 13; ++n)
+    {
+      int tem = result;
+      tem = tem + 31;
+      result = tem;
+    }
+  if (result != -109)
+    __builtin_abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55755.c b/gcc/testsuite/gcc.dg/torture/pr55755.c
new file mode 100644 (file)
index 0000000..3c8bb6b
--- /dev/null
@@ -0,0 +1,43 @@
+/* { dg-do run } */
+/* { dg-require-effective-target int32plus } */
+
+struct S4
+{
+  unsigned f0:24;
+} __attribute__((__packed__));
+
+struct S4 g_10 = {
+  6210831
+};
+
+struct S5
+{
+  int i;
+  struct S4 l_8[2];
+}  __attribute__((__packed__));
+
+int a, b;
+
+struct S4 func_2 (int x)
+{
+  struct S5 l = {
+    0,
+    {{0}, {0}}
+  };
+  l.i = a;
+  g_10 = l.l_8[1];
+  for (; x<2; x++) {
+    struct S4 tmp = {
+      11936567
+    };
+    l.l_8[x] = tmp;
+  }
+  b = l.i;
+  return g_10;
+}
+
+int main (void)
+{
+  func_2 (0);
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55882.c b/gcc/testsuite/gcc.dg/torture/pr55882.c
new file mode 100644 (file)
index 0000000..fd2276e
--- /dev/null
@@ -0,0 +1,94 @@
+/* { dg-do run } */
+
+typedef enum
+{
+  PVT_A = 0,
+  PVT_B = 1,
+  PVT_CONFIG = 2,
+  PVT_RESERVED3 = 3,
+} T_CR_SELECT;
+
+typedef enum
+{
+  STD_ULOGIC_0 = 0,
+  STD_ULOGIC_1 = 1,
+} STD_ULOGIC;
+
+typedef struct
+{
+  unsigned char rtp : 3;
+  unsigned char rtn : 3;
+} C;
+
+typedef struct
+{
+  unsigned char nd;
+  unsigned char pd;
+  unsigned char rtn;
+  unsigned char rtp;
+} A;
+
+typedef struct
+{
+  unsigned short reserved : 14;
+  unsigned char Z_rx_enable : 2;
+  A pvt;
+} B;
+
+typedef struct
+{
+  B cr_dsclk_q3;
+  B cr_data_q3;
+  B cr_addr_q3;
+  B cr_cmd_q3;
+  B cr_pres_q3;
+  C cr_vref_q3[6];
+  unsigned char pres_disable;
+  unsigned char pres_drive_high;
+  unsigned char c_enab_120;
+  STD_ULOGIC clk_tximp;
+  STD_ULOGIC dqs_tximp;
+  STD_ULOGIC cmd_tximp;
+  STD_ULOGIC data_tximp;
+  STD_ULOGIC dqs_rxterm;
+  STD_ULOGIC data_rxterm;
+  T_CR_SELECT cr_clk_sel;
+  unsigned char cr_clk : 5;
+  T_CR_SELECT cr_dsclk_odd_sel;
+  unsigned char cr_dsclk_odd : 5;
+  T_CR_SELECT cr_dsclk_even_sel;
+  unsigned char cr_dsclk_even : 5;
+  T_CR_SELECT cr_data_sel;
+  unsigned char cr_data : 5;
+  T_CR_SELECT cr_vref_sel;
+  unsigned char cr_vref : 5;
+  T_CR_SELECT cr_others_sel;
+  unsigned char cr_others : 5;
+} CONFIG;
+
+typedef struct
+{
+  unsigned char enable_monitor;
+  unsigned short step_out_pointer : 12;
+  unsigned short hold_out_pointer : 12;
+  unsigned short enable_wr_dqs : 12;
+  unsigned short use_alt_rd_dqs : 12;
+  CONFIG io_buf;
+} mystruct;
+
+unsigned short __attribute__((noinline,noclone))
+testfunction(unsigned i)
+{
+  mystruct dmfe[8];
+  dmfe[0].use_alt_rd_dqs = 1;
+  dmfe[i].use_alt_rd_dqs = 0;
+  return dmfe[0].use_alt_rd_dqs;
+}
+
+extern void abort (void);
+int main ()
+{
+  if (testfunction(0) != 0) 
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55890-1.c b/gcc/testsuite/gcc.dg/torture/pr55890-1.c
new file mode 100644 (file)
index 0000000..9fd558e
--- /dev/null
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+
+extern void *memmove(void *, void *, __SIZE_TYPE__);
+typedef int (*_TEST_fun_) ();
+static _TEST_fun_ i = (_TEST_fun_) memmove;
+main() { i(); }
diff --git a/gcc/testsuite/gcc.dg/torture/pr55890-2.c b/gcc/testsuite/gcc.dg/torture/pr55890-2.c
new file mode 100644 (file)
index 0000000..a753e57
--- /dev/null
@@ -0,0 +1,4 @@
+/* { dg-do compile } */\r
+\r
+extern void *memcpy();\r
+main() { memcpy(); }\r
diff --git a/gcc/testsuite/gcc.dg/torture/pr55890-3.c b/gcc/testsuite/gcc.dg/torture/pr55890-3.c
new file mode 100644 (file)
index 0000000..c7f77be
--- /dev/null
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+
+void *memmove ();
+
+void *
+bar ()
+{
+  return memmove ();
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr56443.c b/gcc/testsuite/gcc.dg/torture/pr56443.c
new file mode 100644 (file)
index 0000000..ed60e05
--- /dev/null
@@ -0,0 +1,29 @@
+/* PR tree-optimization/56443 */
+/* { dg-do run } */
+/* { dg-options "-ftree-vectorize" } */
+
+extern void abort (void);
+typedef int myint __attribute__ ((__aligned__ (16)));
+
+int a1[1024] __attribute__ ((__aligned__ (16)));
+int a2[1024] __attribute__ ((__aligned__ (16)));
+
+__attribute__((noinline, noclone)) void
+test (int n, myint * __restrict__ p1, myint * __restrict__ p2)
+{
+  while (n--)
+    *p1++ = *p2++ + 1;
+}
+
+int
+main ()
+{
+  int n;
+  for (n = 0; n < 1024; n++)
+    a2[n] = n;
+  test (1024, a1, a2);
+  for (n = 0; n < 1024; n++)
+    if (a1[n] != a2[n] + 1)
+      abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr56488.c b/gcc/testsuite/gcc.dg/torture/pr56488.c
new file mode 100644 (file)
index 0000000..78bac7b
--- /dev/null
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+
+int a, c, d = 1;
+struct S { int s; } b, f;
+short e;
+
+static void
+foo (int x)
+{
+  int g[] = { };
+  for (e = 0; e != 1; e = e + 5)
+    {
+      int *h[1] = { &g[0] };
+      if (!x)
+       return;
+      f = b;
+    }
+}
+
+int
+main ()
+{
+  int i, j;
+  for (i = 0; i < 6; i++)
+    for (j = 8; j; j--)
+      a = 0;
+  foo (d);
+  while (c)
+    ;
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr56501.c b/gcc/testsuite/gcc.dg/torture/pr56501.c
new file mode 100644 (file)
index 0000000..d6fc29d
--- /dev/null
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-w" } */
+
+int a;
+void try_help () __attribute__ ((__noreturn__));
+void try_help ()
+{
+}
+
+int main ()
+{
+  switch (a)
+    {
+      case '1':
+      case '2':
+      case '3':
+      case '4':
+      case '5':
+      case '6':
+      case '7':
+      case '8':
+      case '9':
+         break;
+      default:
+         try_help ();
+    }
+}
index 85b2b15..af23fb5 100644 (file)
@@ -43,5 +43,5 @@ bar (unsigned orig, unsigned *new)
   *new = foo (&a);
 }
 
-/* { dg-final { scan-tree-dump " = VIEW_CONVERT_EXPR<unsigned int>\\(a\\);" "optimized"} } */
+/* { dg-final { scan-tree-dump-not "unnamed-unsigned:19" "optimized"} } */
 /* { dg-final { cleanup-tree-dump "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sra-13.c b/gcc/testsuite/gcc.dg/tree-ssa/sra-13.c
new file mode 100644 (file)
index 0000000..12b77fe
--- /dev/null
@@ -0,0 +1,114 @@
+/* Test that SRA replacement can deal with assignments that have
+   sub-replacements on one side and a single scalar replacement on another.  */
+/* { dg-do run } */
+/* { dg-options "-O1" } */
+
+struct A
+{
+  int i1, i2;
+};
+
+struct B
+{
+  long long int l;
+};
+
+union U
+{
+  struct A a;
+  struct B b;
+};
+
+int b, gi;
+long gl;
+union U gu1, gu2;
+
+int __attribute__ ((noinline, noclone))
+foo (void)
+{
+  union U x, y;
+  int r;
+
+  y = gu1;
+  if (b)
+    y.b.l = gl;
+
+  x = y;
+
+  if (!b)
+    r = x.a.i1;
+  else
+    r = 0;
+
+  gu2 = x;
+  return r;
+}
+
+long long int __attribute__ ((noinline, noclone))
+bar (void)
+{
+  union U x, y;
+  int r;
+
+  y = gu1;
+  if (b)
+    y.a.i1 = gi;
+
+  x = y;
+
+  if (!b)
+    r = x.b.l;
+  else
+    r = 0;
+
+  gu2 = x;
+  return r;
+}
+
+
+int
+main (void)
+{
+  int r;
+  long long int s;
+
+  b = 0;
+  gu1.a.i1 = 123;
+  gu1.a.i2 = 234;
+  r = foo ();
+  if (r != 123)
+    __builtin_abort ();
+  if (gu2.a.i1 != 123)
+    __builtin_abort ();
+  if (gu2.a.i2 != 234)
+    __builtin_abort ();
+
+  b = 1;
+  gl = 10000001;
+  gu1.b.l = 10000000;
+  r = foo ();
+  if (r != 0)
+    __builtin_abort ();
+  if (gu2.b.l != 10000001)
+    __builtin_abort ();
+
+  b = 0;
+  gu1.b.l = 20000000;
+  s = bar ();
+  if (s != 20000000)
+    __builtin_abort ();
+  if (gu2.b.l != 20000000)
+    __builtin_abort ();
+
+  b = 1;
+  gi = 456;
+  gu1.a.i1 = 123;
+  gu1.a.i2 = 234;
+  s = bar ();
+  if (s != 0)
+    __builtin_abort ();
+  if (gu2.a.i1 != 456)
+    __builtin_abort ();
+
+  return 0;
+}
index 8756944..d0e985f 100644 (file)
@@ -12,5 +12,6 @@ foo (int i)
 }
 /* We should detect that a+b is the same along both edges, and replace it with
    5  */
-/* { dg-final { scan-tree-dump-times "Constified: 1" 1 "pre"} } */
+/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre"} } */
+/* { dg-final { scan-tree-dump-times "Insertions" 0 "pre"} } */
 /* { dg-final { cleanup-tree-dump "pre" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c b/gcc/testsuite/gcc.dg/vect/fast-math-bb-slp-call-3.c
new file mode 100644 (file)
index 0000000..5878d41
--- /dev/null
@@ -0,0 +1,68 @@
+#include <stdlib.h>
+#include <math.h>
+
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+typedef struct {
+    int initialHeight, initialWidth;
+    int rotatedHeight, rotatedWidth;
+    int autoCropHeight, autoCropWidth;
+} ufraw_data;
+
+void __attribute__((noinline,noclone))
+ufraw_test(ufraw_data *uf)
+{
+  int iWidth = uf->initialWidth;
+  int iHeight = uf->initialHeight;
+  double aspectRatio = ((double)iWidth) / iHeight;
+  double midX = iWidth / 2.0 - 0.5;
+  double midY = iHeight / 2.0 - 0.5;
+  double maxX = 0, maxY = 0;
+  double minX = 999999, minY = 999999;
+  double lastX = 0, lastY = 0, area = 0;
+  double scale;
+  int i;
+  for (i = 0; i < iWidth + iHeight - 1; i++)
+    {
+      int x, y;
+      if (i < iWidth) { // Trace the left border of the image
+         x = i;
+         y = 0;
+      } else { // Trace the bottom border of the image
+         x = iWidth - 1;
+         y = i - iWidth + 1;
+      }
+      double srcX = x - midX;
+      double srcY = y - midY;
+      // A digital planimeter:
+      area += srcY * lastX - srcX * lastY;
+      lastX = srcX;
+      lastY = srcY;
+      maxX = MAX(maxX, fabs(srcX));
+      maxY = MAX(maxY, fabs(srcY));
+      if (fabs(srcX / srcY) > aspectRatio)
+       minX = MIN(minX, fabs(srcX));
+      else
+       minY = MIN(minY, fabs(srcY));
+    }
+  scale = sqrt((iWidth - 1) * (iHeight - 1) / area);
+  uf->rotatedWidth = MIN(ceil(2 * maxX + 1.0) * scale, 2 * iWidth);
+  uf->rotatedHeight = MIN(ceil(2 * maxY + 1.0) * scale, 2 * iHeight);
+  uf->autoCropWidth = MIN(floor(2 * minX) * scale, 2 * iWidth);
+  uf->autoCropHeight = MIN(floor(2 * minY) * scale, 2 * iHeight);
+  if (uf->autoCropWidth != 3)
+    abort ();
+}
+
+int main()
+{
+  ufraw_data uf_data;
+  ufraw_data *uf = &uf_data;
+  uf->initialWidth = 4;
+  uf->initialHeight = 5;
+  ufraw_test(uf);
+  return 0;
+}
+
+/* { dg-final { cleanup-tree-dump "slp" } } */
index 1da8e7b..5b83456 100644 (file)
@@ -21,5 +21,5 @@ float method2_int16 (struct mem *mem)
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_extract_even_odd || vect_strided2 } } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { xfail { vect_extract_even_odd || vect_strided2 } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target { ! { vect_extract_even_odd || vect_strided2 } } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 3a54a75..6372aab 100644 (file)
@@ -45,7 +45,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
index a8d3b04..2221049 100644 (file)
@@ -53,7 +53,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
index 41bbbc1..d7b68e5 100644 (file)
@@ -53,7 +53,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
index c8cf2ca..dff14ff 100644 (file)
@@ -58,6 +58,6 @@ int main (void)
    If/when the aliasing problems are resolved, unalignment may
    prevent vectorization on some targets.  */
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 3c5ce4b..1653f3d 100644 (file)
@@ -46,6 +46,6 @@ int main (void)
   If/when the aliasing problems are resolved, unalignment may
   prevent vectorization on some targets.  */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index c240160..453d7c8 100644 (file)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-options "-O1 -ftree-vectorize -fno-tree-pre -fno-tree-loop-im" } */
 
 extern void abort (void);
diff --git a/gcc/testsuite/gcc.dg/vect/slp-38.c b/gcc/testsuite/gcc.dg/vect/slp-38.c
new file mode 100644 (file)
index 0000000..a387f5d
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+
+typedef struct {
+    float l, h;
+} tFPinterval;
+
+tFPinterval X[1024];
+tFPinterval Y[1024];
+tFPinterval Z[1024];
+
+void Compute(void)
+{
+  int d;
+  for (d= 0; d < 1024; d++)
+    {
+      Y[d].l= X[d].l + X[d].h;
+      Y[d].h= Y[d].l;
+      Z[d].l= X[d].l;
+      Z[d].h= X[d].h;
+    }
+}
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 1 "vect" { target { vect_float && vect_perm } } } } */
+/* { dg-final { cleanup-tree-dump "vect" } } */
index 2b56ddf..107f5a7 100644 (file)
@@ -64,7 +64,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
-/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
index 804c386..e277ab2 100644 (file)
@@ -22,6 +22,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 2ce8f8e..cc22fa4 100644 (file)
@@ -22,6 +22,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 9b418fa..c4150ee 100644 (file)
@@ -20,6 +20,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index a9b786e..fdf8e1a 100644 (file)
@@ -20,6 +20,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 48b7180..82579b7 100644 (file)
@@ -22,6 +22,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 815758c..7efc4fa 100644 (file)
@@ -22,6 +22,6 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index cb62881..12f44ba 100644 (file)
@@ -37,6 +37,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 9768a1e..c6486db 100644 (file)
@@ -49,6 +49,6 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 1759ee3..3d6e107 100644 (file)
@@ -49,6 +49,6 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */
-/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index fda8727..1c20f20 100644 (file)
@@ -49,6 +49,6 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "strided access in outer loop" 4 "vect" { target vect_multiple_sizes } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index dc9eb61..2ecb225 100644 (file)
@@ -58,7 +58,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { xfail vect_multiple_sizes } } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { target { ! vect_multiple_sizes } } } } */
 /* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_multiple_sizes } } } */
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
index 1898aad..f3d6924 100644 (file)
@@ -1,8 +1,8 @@
 /* Test gcov weak ellision.  */
 
-/* { dg-options "-fprofile-arcs -ftest-coverage" } */
-/* { dg-require-weak "" } */
 /* { dg-do run { target native } } */
+/* { dg-require-weak "" } */
+/* { dg-options "-fprofile-arcs -ftest-coverage" } */
 
 int __attribute__ ((weak)) weak ()
 {
index 0838d37..dc6c16a 100644 (file)
@@ -30,6 +30,11 @@ if ![info exists DEFAULT_CFLAGS] then {
     set DEFAULT_CFLAGS " -ansi -pedantic-errors"
 }
 
+# This variable should only apply to tests called in this exp file.
+global dg_runtest_extra_prunes
+set dg_runtest_extra_prunes ""
+lappend dg_runtest_extra_prunes "warning: switch -m(cpu|arch)=.* conflicts with -m(cpu|arch)=.* switch"
+
 # Initialize `dg'.
 dg-init
 
@@ -39,3 +44,5 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
 
 # All done.
 dg-finish
+
+set dg_runtest_extra_prunes ""
index 4209a33..e9fd6cb 100644 (file)
@@ -9,4 +9,5 @@ void foo (unsigned long r[], unsigned int d)
     r[i] = 0;
 }
 
-/* { dg-final { scan-assembler "movs\tr\[0-9\]" } } */
+/* { dg-final { scan-assembler "lsrs\tr\[0-9\]" { target arm_thumb2 } } } */
+/* { dg-final { scan-assembler "movs\tr\[0-9\]" { target { ! arm_thumb2 } } } } */
index e87102e..51d38fd 100644 (file)
@@ -9,11 +9,14 @@
 #include <stdlib.h>
 #include <string.h>
 
-int8x8_t x = { 1, 2, 3, 4, 5, 6, 7, 8 };
-int8x8_t y = { 1, 2, 3, 16, 5, 6, 7, 8 };
+int8_t x_init[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
+int8_t y_init[8] = { 1, 2, 3, 16, 5, 6, 7, 8 };
 
 int main (void)
 {
+  int8x8_t x = vld1_s8 (x_init);
+  int8x8_t y = vld1_s8 (y_init);
+
   x = vset_lane_s8 (16, x, 3);
   if (memcmp (&x, &y, sizeof (x)) != 0)
     abort();
index 9961a83..9fcdad6 100644 (file)
@@ -4,6 +4,9 @@
 
 struct A
 {
+#ifdef __ARMEB__
+  int dummy:31;
+#endif
   int v:1;
 };
 
index 858b72f..6d462d9 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -mfloat-abi=hard -mfpu=fpv4-sp-d16" }  */
-/* { dg-require-effective-target arm_thumb2_ok } */
+/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
+/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "avoid conflicting -mfpu" { *-*-* } { "-mfpu=*" } { "-mfpu=fpv4-sp-d16" "-mfpu=vfpv3xd" "-mfpu=vfpv3xd-fp16" } } */
+/* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=fpv4-sp-d16" }  */
 
 int func1 (double d)
 {
@@ -11,4 +13,5 @@ unsigned int func2 (double d)
   return (unsigned int)d;
 }
 
-/* { dg-final { scan-assembler-times "fmrrd\[\\t \]+r0,\[\\t \]*r1,\[\\t \]*d0" 2 } } */
+/* { dg-final { scan-assembler-times "fmrrd\[\\t \]+r0,\[\\t \]*r1,\[\\t \]*d0" 2 { target { arm_little_endian } } } } */
+/* { dg-final { scan-assembler-times "fmrrd\[\\t \]+r1,\[\\t \]*r0,\[\\t \]*d0" 2 { target { ! arm_little_endian } } } } */
index 81bc4eb..144d522 100644 (file)
@@ -1,5 +1,7 @@
 /* PR target/51915 */
 /* { dg-do compile } */
+/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
+/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
 /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2" } */
 
 struct S { int s1; void *s2; };
index 249470a..c274449 100644 (file)
@@ -1,5 +1,7 @@
 /* PR target/52006 */
 /* { dg-do compile } */
+/* { dg-skip-if "avoid conflicts with multilib flags" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
 /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2 -fPIC" } */
 
 unsigned long a;
index 648a06d..b40dbbb 100644 (file)
@@ -1,5 +1,7 @@
 /* PR target/53187 */
 /* { dg-do compile } */
+/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
+/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
 /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2" } */
 
 void bar (int);
diff --git a/gcc/testsuite/gcc.target/arm/pr54892.c b/gcc/testsuite/gcc.target/arm/pr54892.c
new file mode 100644 (file)
index 0000000..a7fe1bc
--- /dev/null
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+
+int set_role(unsigned char role_id, short m_role)
+{
+  return __sync_bool_compare_and_swap(&m_role, -1, role_id);
+}
+
index 8626d8e..cf5dcdf 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi } } } */
+/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi* } } } */
 
 void *foo (void)
 {
diff --git a/gcc/testsuite/gcc.target/arm/thumb-find-work-register.c b/gcc/testsuite/gcc.target/arm/thumb-find-work-register.c
new file mode 100644 (file)
index 0000000..f2c0225
--- /dev/null
@@ -0,0 +1,40 @@
+/* Wrong method to get number of arg reg will cause argument corruption.  */
+/* { dg-do run } */
+/* { dg-require-effective-target arm_eabi } */
+/* { dg-options "-mthumb -O1" } */
+
+extern void abort (void);
+
+int foo (int, int, int, int) __attribute__((noinline));
+
+int
+foo (int a, int b, int c, int d)
+{
+  register int m asm ("r8");
+
+  m = a;
+  m += b;
+  m += c;
+  m += d;
+
+  asm ("" : "=r" (m) : "0" (m));
+
+  return m;
+}
+
+int
+main ()
+{
+  volatile int a = 10;
+  volatile int b = 20;
+  volatile int c = 30;
+  volatile int d = 40;
+  volatile int sum = 0;
+
+  sum = foo (a, b, c, d);
+
+  if (sum != 100)
+    abort ();
+
+  return 0;
+}
index 6c55561..3b4ab04 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=armv6" } */
+/* { dg-options "-O2" } */
 
 unsigned char foo (unsigned char c)
 {
index c2511c6..e7eef6d 100644 (file)
@@ -14,6 +14,6 @@ avx_test (void)
     c[i] = a[i] * b[i+3];
 }
 
-/* { dg-final { scan-assembler-not "avx_movups256/1" } } */
-/* { dg-final { scan-assembler "sse_movups/1" } } */
+/* { dg-final { scan-assembler-not "avx_loadups256" } } */
+/* { dg-final { scan-assembler "sse_loadups" } } */
 /* { dg-final { scan-assembler "vinsertf128" } } */
index 9d71673..3f4fbf7 100644 (file)
@@ -24,6 +24,6 @@ avx_test (void)
     }
 }
 
-/* { dg-final { scan-assembler-not "avx_movdqu256/1" } } */
-/* { dg-final { scan-assembler "sse2_movdqu/1" } } */
+/* { dg-final { scan-assembler-not "avx_loaddqu256" } } */
+/* { dg-final { scan-assembler "sse2_loaddqu" } } */
 /* { dg-final { scan-assembler "vinsert.128" } } */
index efb5f57..b0e0e79 100644 (file)
@@ -14,6 +14,6 @@ avx_test (void)
     c[i] = a[i] * b[i+3];
 }
 
-/* { dg-final { scan-assembler-not "avx_movupd256/1" } } */
-/* { dg-final { scan-assembler "sse2_movupd/1" } } */
+/* { dg-final { scan-assembler-not "avx_loadupd256" } } */
+/* { dg-final { scan-assembler "sse2_loadupd" } } */
 /* { dg-final { scan-assembler "vinsertf128" } } */
index 7c015a8..b3927be 100644 (file)
@@ -14,6 +14,6 @@ avx_test (void)
     b[i] = a[i+3] * 2;
 }
 
-/* { dg-final { scan-assembler "avx_movups256/1" } } */
-/* { dg-final { scan-assembler-not "avx_movups/1" } } */
+/* { dg-final { scan-assembler "avx_loadups256" } } */
+/* { dg-final { scan-assembler-not "sse_loadups" } } */
 /* { dg-final { scan-assembler-not "vinsertf128" } } */
index 0b58396..1a53ba1 100644 (file)
@@ -17,6 +17,6 @@ avx_test (void)
     d[i] = c[i] * 20.0;
 }
 
-/* { dg-final { scan-assembler-not "avx_movups256/2" } } */
+/* { dg-final { scan-assembler-not "avx_storeups256" } } */
 /* { dg-final { scan-assembler "vmovups.*\\*movv4sf_internal/3" } } */
 /* { dg-final { scan-assembler "vextractf128" } } */
index eac460f..e98d1b6 100644 (file)
@@ -24,6 +24,6 @@ avx_test (void)
     }
 }
 
-/* { dg-final { scan-assembler-not "avx_movdqu256/2" } } */
+/* { dg-final { scan-assembler-not "avx_storedqu256" } } */
 /* { dg-final { scan-assembler "vmovdqu.*\\*movv16qi_internal/3" } } */
 /* { dg-final { scan-assembler "vextract.128" } } */
index 7536258..26c993b 100644 (file)
@@ -17,6 +17,6 @@ avx_test (void)
     d[i] = c[i] * 20.0;
 }
 
-/* { dg-final { scan-assembler-not "avx_movupd256/2" } } */
+/* { dg-final { scan-assembler-not "avx_storeupd256" } } */
 /* { dg-final { scan-assembler "vmovupd.*\\*movv2df_internal/3" } } */
 /* { dg-final { scan-assembler "vextractf128" } } */
index 39b6f3b..6d734fa 100644 (file)
@@ -14,7 +14,7 @@ avx_test (void)
     b[i+3] = a[i] * c[i];
 }
 
-/* { dg-final { scan-assembler "avx_movups256/2" } } */
-/* { dg-final { scan-assembler-not "avx_movups/2" } } */
+/* { dg-final { scan-assembler "avx_storeups256" } } */
+/* { dg-final { scan-assembler-not "sse_storeups" } } */
 /* { dg-final { scan-assembler-not "\\*avx_movv4sf_internal/3" } } */
 /* { dg-final { scan-assembler-not "vextractf128" } } */
diff --git a/gcc/testsuite/gcc.target/i386/clearcapv2.map b/gcc/testsuite/gcc.target/i386/clearcapv2.map
new file mode 100644 (file)
index 0000000..95cb14c
--- /dev/null
@@ -0,0 +1,7 @@
+# clear all hardware capabilities emitted by Sun as: the tests here
+# guard against execution at runtime
+# uses mapfile v2 syntax which is the only way to clear AT_SUN_CAP_HW2 flags
+$mapfile_version 2
+CAPABILITY {
+  HW = ;
+};
index 75bea9b..b8bbe1c 100644 (file)
@@ -245,12 +245,23 @@ proc check_effective_target_bmi2 { } {
 
 # If the linker used understands -M <mapfile>, pass it to clear hardware
 # capabilities set by the Sun assembler.
-set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcap.map"
+# Try mapfile syntax v2 first which is the only way to clear hwcap_2 flags.
+set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcapv2.map"
 
-if [check_no_compiler_messages mapfile executable {
+if ![check_no_compiler_messages mapfilev2 executable {
+    int main (void) { return 0; }
+} $clearcap_ldflags ] {
+    # If this doesn't work, fall back to the less capable v1 syntax.
+    set clearcap_ldflags "-Wl,-M,$srcdir/$subdir/clearcap.map"
+
+    if ![check_no_compiler_messages mapfile executable {
        int main (void) { return 0; }
-  } $clearcap_ldflags ] {
+    } $clearcap_ldflags ] {
+       unset clearcap_ldflags
+    }
+}
 
+if [info exists clearcap_ldflags] {
   if { [info procs gcc_target_compile] != [list] \
        && [info procs saved_gcc_target_compile] == [list] } {
     rename gcc_target_compile saved_gcc_target_compile
diff --git a/gcc/testsuite/gcc.target/i386/movsd.c b/gcc/testsuite/gcc.target/i386/movsd.c
new file mode 100644 (file)
index 0000000..32a19e7
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -msse2 -mfpmath=sse" } */
+
+volatile double y;
+
+void
+test ()
+{
+  int z;
+
+  for (z = 0; z < 1000; z++)
+    y = 1.23;
+}
+
+/* { dg-final { scan-assembler-not "(fld|fst)" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr54703.c b/gcc/testsuite/gcc.target/i386/pr54703.c
new file mode 100644 (file)
index 0000000..e30c293
--- /dev/null
@@ -0,0 +1,36 @@
+/* PR target/54703 */
+/* { dg-do run { target sse2_runtime } } */
+/* { dg-options "-O -msse2" } */
+/* { dg-additional-options "-mavx -mtune=bdver1" { target avx_runtime } } */
+
+extern void abort (void);
+typedef double V __attribute__((vector_size(16)));
+
+union {
+  unsigned long long m[2];
+  V v;
+} u = { { 0xffffffffff000000ULL, 0xffffffffff000000ULL } };
+
+static inline V
+foo (V x)
+{
+  V y = __builtin_ia32_andpd (x, u.v);
+  V z = __builtin_ia32_subpd (x, y);
+  return __builtin_ia32_mulpd (y, z);
+}
+
+void
+test (V *x)
+{
+  V a = { 2.1, 2.1 };
+  *x = foo (foo (a));
+}
+
+int
+main ()
+{
+  test (&u.v);
+  if (u.m[0] != 0x3acbf487f0a30550ULL || u.m[1] != u.m[0])
+    abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr55142-1.c b/gcc/testsuite/gcc.target/i386/pr55142-1.c
new file mode 100644 (file)
index 0000000..28375b5
--- /dev/null
@@ -0,0 +1,34 @@
+/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-O2 -mx32 -fpic" } */
+
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef int32_t Elf32_Sword;
+typedef struct
+{
+  Elf32_Sword d_tag;
+} Elf32_Dyn;
+struct link_map
+{
+  Elf32_Dyn *l_ld;
+  Elf32_Dyn *l_info[34];
+};
+extern struct link_map _dl_rtld_map __attribute__ ((visibility ("hidden")));
+static void elf_get_dynamic_info (struct link_map *l)
+{
+  Elf32_Dyn *dyn = l->l_ld;
+  Elf32_Dyn **info;
+  info = l->l_info;
+  while (dyn->d_tag != 0)
+    {
+      if ((uint32_t) (0x6ffffeff - dyn->d_tag) < 11)
+       info[0x6ffffeff - dyn->d_tag + 12] = dyn;
+      ++dyn;
+    }
+}
+void
+foo (void)
+{
+  elf_get_dynamic_info (&_dl_rtld_map);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr55142-2.c b/gcc/testsuite/gcc.target/i386/pr55142-2.c
new file mode 100644 (file)
index 0000000..9daae9d
--- /dev/null
@@ -0,0 +1,33 @@
+/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-O3 -mx32 -fpic" } */
+/* { dg-final { scan-assembler-not "movl\[\\t \]*%.*,\[\\t \]*-1073742592\\(%r(.x|.i|.p|\[1-9\]*)\\)" } } */
+
+typedef int int32_t;
+typedef unsigned int uint32_t;
+typedef uint32_t Elf32_Word;
+typedef int32_t Elf32_Sword;
+typedef uint32_t Elf32_Addr;
+typedef struct {
+  Elf32_Sword d_tag;
+  union {
+    Elf32_Word d_val;
+    Elf32_Addr d_ptr;
+  } d_un;
+} Elf32_Dyn;
+struct link_map {
+  Elf32_Dyn *l_ld;
+  Elf32_Dyn *l_info[34 + 16 + 3 + 12 + 11];
+};
+void
+elf_get_dynamic_info (struct link_map *l)
+{
+  Elf32_Dyn *dyn = l->l_ld;
+  Elf32_Dyn **info = l->l_info;
+  typedef Elf32_Word d_tag_utype;
+  while (dyn->d_tag != 0) {
+    if ((d_tag_utype) (0x6ffffeff - dyn->d_tag) < 11)
+      info[(0x6ffffeff - dyn->d_tag) + 34 + 16 + 3 + 12] = dyn;
+    ++dyn;
+  }
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr55597.c b/gcc/testsuite/gcc.target/i386/pr55597.c
new file mode 100644 (file)
index 0000000..cafe194
--- /dev/null
@@ -0,0 +1,18 @@
+/* { dg-do compile { target { ! { ia32 } } } } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-O2 -fPIC -mx32" } */
+
+struct initial_sp
+{
+  void *sp;
+  int mask;
+};
+
+__thread struct initial_sp __morestack_initial_sp;
+
+void foo (int *);
+
+void __morestack_release_segments (void)
+{
+  foo (&__morestack_initial_sp.mask);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr56028.c b/gcc/testsuite/gcc.target/i386/pr56028.c
new file mode 100644 (file)
index 0000000..18ae253
--- /dev/null
@@ -0,0 +1,54 @@
+/* { dg-do compile  { target { ! { ia32 } } } } */
+/* { dg-options "-O2" } */
+
+volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
+
+volatile long long y;
+
+void
+test ()
+{
+  int a_ = a;
+  int b_ = b;
+  int c_ = c;
+  int d_ = d;
+  int e_ = e;
+  int f_ = f;
+  int g_ = g;
+  int h_ = h;
+  int i_ = i;
+  int j_ = j;
+  int k_ = k;
+  int l_ = l;
+  int m_ = m;
+  int n_ = n;
+  int o_ = o;
+  int p_ = p;
+
+  int z;
+
+  for (z = 0; z < 1000; z++)
+    {
+      y = 0x100000002ll;
+      y = 0x300000004ll;
+    }
+
+  a = a_;
+  b = b_;
+  c = c_;
+  d = d_;
+  e = e_;
+  f = f_;
+  g = g_;
+  h = h_;
+  i = i_;
+  j = j_;
+  k = k_;
+  l = l_;
+  m = m_;
+  n = n_;
+  o = o_;
+  p = p_;
+}
+
+/* { dg-final { scan-assembler-times "movabs" 2 } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr56560.c b/gcc/testsuite/gcc.target/i386/pr56560.c
new file mode 100644 (file)
index 0000000..5417cbd
--- /dev/null
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx -mvzeroupper -dp" } */
+
+extern void abort (void);
+
+typedef double vec_t __attribute__((vector_size(32)));
+
+struct S { int i1; int i2; int i3; };
+
+extern int bar (vec_t, int, int, int, int, int, struct S);
+
+void foo (vec_t v, struct S s)
+{
+  int i = bar (v, 1, 2, 3, 4, 5, s);
+  if (i == 0)
+    abort ();
+}
+
+/* { dg-final { scan-assembler-not "avx_vzeroupper" } } */
index 445dc19..8f4062b 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-do compile { target { powerpc*-*-linux* } } } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
 /* { dg-require-effective-target powerpc_vsx_ok } */
 /* { dg-options "-O3 -ftree-vectorize -mcpu=power7 -ffast-math -mveclibabi=mass" } */
diff --git a/gcc/testsuite/gcc.target/pr55981.c b/gcc/testsuite/gcc.target/pr55981.c
new file mode 100644 (file)
index 0000000..36498d6
--- /dev/null
@@ -0,0 +1,54 @@
+/* { dg-do compile  { target { ! { ia32 } } } } */
+/* { dg-options "-O2" } */
+
+volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
+
+volatile long long y;
+
+void
+test ()
+{
+  int a_ = a;
+  int b_ = b;
+  int c_ = c;
+  int d_ = d;
+  int e_ = e;
+  int f_ = f;
+  int g_ = g;
+  int h_ = h;
+  int i_ = i;
+  int j_ = j;
+  int k_ = k;
+  int l_ = l;
+  int m_ = m;
+  int n_ = n;
+  int o_ = o;
+  int p_ = p;
+
+  int z;
+
+  for (z = 0; z < 1000; z++)
+    {
+      __atomic_store_n (&y, 0x100000002ll, __ATOMIC_SEQ_CST);
+      __atomic_store_n (&y, 0x300000004ll, __ATOMIC_SEQ_CST);
+    }
+
+  a = a_;
+  b = b_;
+  c = c_;
+  d = d_;
+  e = e_;
+  f = f_;
+  g = g_;
+  h = h_;
+  i = i_;
+  j = j_;
+  k = k_;
+  l = l_;
+  m = m_;
+  n = n_;
+  o = o_;
+  p = p_;
+}
+
+/* { dg-final { scan-assembler-times "movabs" 2 } } */
diff --git a/gcc/testsuite/gcc.target/sh/pr49880-1.c b/gcc/testsuite/gcc.target/sh/pr49880-1.c
new file mode 100644 (file)
index 0000000..e19f1bf
--- /dev/null
@@ -0,0 +1,22 @@
+/* Check that the option -mdiv=call-div1 works.  */
+/* { dg-do link { target "sh*-*-*" } } */
+/* { dg-options "-mdiv=call-div1" }  */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m5*"} { "" } }  */
+
+int
+test00 (int a, int b)
+{
+  return a / b;
+}
+
+unsigned int
+test01 (unsigned int a, unsigned b)
+{
+  return a / b;
+}
+
+int
+main (int argc, char** argv)
+{
+  return test00 (argc, 123) + test01 (argc, 123);
+}
diff --git a/gcc/testsuite/gcc.target/sh/pr49880-2.c b/gcc/testsuite/gcc.target/sh/pr49880-2.c
new file mode 100644 (file)
index 0000000..eef832e
--- /dev/null
@@ -0,0 +1,22 @@
+/* Check that the option -mdiv=call-fp works.  */
+/* { dg-do link { target "sh*-*-*" } } */
+/* { dg-options "-mdiv=call-fp" }  */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m5*"} { "" } }  */
+
+int
+test00 (int a, int b)
+{
+  return a / b;
+}
+
+unsigned int
+test01 (unsigned int a, unsigned b)
+{
+  return a / b;
+}
+
+int
+main (int argc, char** argv)
+{
+  return test00 (argc, 123) + test01 (argc, 123);
+}
diff --git a/gcc/testsuite/gcc.target/sh/pr49880-3.c b/gcc/testsuite/gcc.target/sh/pr49880-3.c
new file mode 100644 (file)
index 0000000..80a7df5
--- /dev/null
@@ -0,0 +1,22 @@
+/* Check that the option -mdiv=call-table works.  */
+/* { dg-do link { target "sh*-*-*" } } */
+/* { dg-options "-mdiv=call-table" }  */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m5*"} { "" } }  */
+
+int
+test00 (int a, int b)
+{
+  return a / b;
+}
+
+unsigned int
+test01 (unsigned int a, unsigned b)
+{
+  return a / b;
+}
+
+int
+main (int argc, char** argv)
+{
+  return test00 (argc, 123) + test01 (argc, 123);
+}
diff --git a/gcc/testsuite/gcc.target/sh/pr49880-4.c b/gcc/testsuite/gcc.target/sh/pr49880-4.c
new file mode 100644 (file)
index 0000000..998a8b6
--- /dev/null
@@ -0,0 +1,19 @@
+/* Check that the option -mdiv=call-fp does not produce calls to the
+   library function that uses FPU to implement integer division if FPU insns
+   are not supported or are disabled.  */
+/* { dg-do compile { target "sh*-*-*" } }  */
+/* { dg-options "-mdiv=call-fp" }  */
+/* { dg-skip-if "" { "sh*-*-*" } { "*"} { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" } }  */
+/* { dg-final { scan-assembler-not "sdivsi3_i4\n|udivsi3_i4\n" } }  */
+
+int
+test00 (int a, int b)
+{
+  return a / b;
+}
+
+unsigned int
+test01 (unsigned int a, unsigned b)
+{
+  return a / b;
+}
diff --git a/gcc/testsuite/gcc.target/sh/pr49880-5.c b/gcc/testsuite/gcc.target/sh/pr49880-5.c
new file mode 100644 (file)
index 0000000..09e99a8
--- /dev/null
@@ -0,0 +1,19 @@
+/* Check that the option -mdiv=call-fp results in the corresponding library
+   function calls on targets that have a double precision FPU.  */
+/* { dg-do compile { target "sh*-*-*" } }  */
+/* { dg-options "-mdiv=call-fp" }  */
+/* { dg-skip-if "" { "sh*-*-*" } { "*"} { "-m2a" "-m4" "-m4a" "*single-only" } }  */
+/* { dg-final { scan-assembler "sdivsi3_i4\n" } }  */
+/* { dg-final { scan-assembler "udivsi3_i4\n" } }  */
+
+int
+test00 (int a, int b)
+{
+  return a / b;
+}
+
+unsigned int
+test01 (unsigned int a, unsigned b)
+{
+  return a / b;
+}
diff --git a/gcc/testsuite/gfortran.dg/allocate_error_4.f90 b/gcc/testsuite/gfortran.dg/allocate_error_4.f90
new file mode 100644 (file)
index 0000000..6652b47
--- /dev/null
@@ -0,0 +1,16 @@
+! { dg-do compile }
+! PR fortran/55314 - the second allocate statement was rejected.
+
+program main
+  implicit none
+  integer :: max_nb
+  type comm_mask
+    integer(4), pointer :: mask(:)
+  end type comm_mask
+  type (comm_mask), allocatable, save :: encode(:,:)
+  max_nb=2
+  allocate( encode(1:1,1:max_nb))
+  allocate( encode(1,1)%mask(1),encode(1,2)%mask(1))
+  deallocate( encode(1,1)%mask,encode(1,2)%mask)
+  allocate( encode(1,1)%mask(1),encode(1,1)%mask(1))  ! { dg-error "also appears at" }
+end program main
diff --git a/gcc/testsuite/gfortran.dg/block_12.f90 b/gcc/testsuite/gfortran.dg/block_12.f90
new file mode 100644 (file)
index 0000000..a7e9c10
--- /dev/null
@@ -0,0 +1,6 @@
+! { dg-do compile }
+! PR 50627 - this used to free a namespace twice.
+program main
+  block
+end program main ! { dg-error "END BLOCK" }
+! { dg-prune-output "Unexpected end of file" }
diff --git a/gcc/testsuite/gfortran.dg/class_55.f90 b/gcc/testsuite/gfortran.dg/class_55.f90
new file mode 100644 (file)
index 0000000..b47989f
--- /dev/null
@@ -0,0 +1,12 @@
+! { dg-do compile }
+!
+! PR 55983: [4.7/4.8 Regression] ICE in find_typebound_proc_uop, at fortran/class.c:2711
+!
+! Contributed by Sylwester Arabas <slayoo@staszic.waw.pl>
+
+  type :: mpdata_t
+    class(bcd_t), pointer :: bcx, bcy   ! { dg-error "is a type that has not been declared" }
+  end type
+  type(mpdata_t) :: this
+  call this%bcx%fill_halos()            ! { dg-error "is being used before it is defined" }
+end
diff --git a/gcc/testsuite/gfortran.dg/class_56.f90 b/gcc/testsuite/gfortran.dg/class_56.f90
new file mode 100644 (file)
index 0000000..7ec4bda
--- /dev/null
@@ -0,0 +1,21 @@
+! { dg-do compile }
+! Test fix for PR56575.
+!
+! Contributed by A Kasahara  <latlon90180+gcc_bugzilla@gmail.com>
+!
+module lib_container
+  implicit none
+
+  type:: Object
+  end type Object
+
+  type:: Container
+    class(Object):: v ! { dg-error "must be allocatable or pointer" }
+  end type Container
+
+contains
+
+  subroutine proc(self)
+    class(Container), intent(inout):: self
+  end subroutine proc
+end module lib_container
diff --git a/gcc/testsuite/gfortran.dg/class_allocate_13.f90 b/gcc/testsuite/gfortran.dg/class_allocate_13.f90
new file mode 100644 (file)
index 0000000..64f37dc
--- /dev/null
@@ -0,0 +1,31 @@
+! { dg-do run }
+!
+! PR 54784: [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
+!
+! Contributed by Jeremy Kozdon <jkozdon@gmail.com>
+
+program bug
+  implicit none
+
+  type :: block
+    real, allocatable :: fields
+  end type
+
+  type :: list
+    class(block),allocatable :: B
+  end type
+
+  type :: domain
+    type(list),dimension(2) :: L
+  end type
+
+  type(domain) :: d
+  type(block) :: b1
+
+  allocate(b1%fields,source=5.)
+  
+  allocate(d%L(2)%B,source=b1)           ! wrong code
+  
+  if (d%L(2)%B%fields/=5.) call abort()
+
+end program
diff --git a/gcc/testsuite/gfortran.dg/elemental_scalar_args_2.f90 b/gcc/testsuite/gfortran.dg/elemental_scalar_args_2.f90
new file mode 100644 (file)
index 0000000..c2b5df8
--- /dev/null
@@ -0,0 +1,36 @@
+! { dg-do run }
+! Test the fix for PR55618, in which character scalar function arguments to
+! elemental functions would gain an extra indirect reference thus causing
+! failures in Vst17.f95, Vst 30.f95 and Vst31.f95 in the iso_varying_string
+! testsuite, where elemental tests are done.
+!
+! Reported by Tobias Burnus  <burnus@gcc.gnu.org>
+!
+  integer, dimension (2) :: i = [1,2]
+  integer :: j = 64
+  character (len = 2) :: chr1 = "lm"
+  character (len = 1), dimension (2) :: chr2 = ["r", "s"]
+  if (any (foo (i, bar()) .ne. ["a", "b"])) call abort    ! This would fail
+  if (any (foo (i, "xy") .ne. ["x", "y"])) call abort     ! OK - not a function
+  if (any (foo (i, chr1) .ne. ["l", "m"])) call abort     ! ditto
+  if (any (foo (i, char (j)) .ne. ["A", "B"])) call abort ! This would fail
+  if (any (foo (i, chr2) .ne. ["s", "u"])) call abort     ! OK - not a scalar
+  if (any (foo (i, bar2()) .ne. ["e", "g"])) call abort   ! OK - not a scalar function
+contains
+  elemental character(len = 1) function foo (arg1, arg2)
+    integer, intent (in) :: arg1
+    character(len = *), intent (in) :: arg2
+    if (len (arg2) > 1) then
+      foo = arg2(arg1:arg1)
+    else
+      foo = char (ichar (arg2) + arg1)
+    end if
+  end function
+  character(len = 2) function bar ()
+    bar = "ab"
+  end function
+  function bar2 () result(res)
+    character (len = 1), dimension(2) :: res
+    res = ["d", "e"]
+  end function
+end
index 99a1690..1889766 100644 (file)
@@ -1,7 +1,7 @@
 ! { dg-do run }
 ! { dg-additional-sources enum_10.c }
 ! { dg-options "-fshort-enums -w" }
-! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 ! Make sure short enums are indeed interoperable with the
 ! corresponding C type.
 
index 8a5c60a..fec5d92 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do run }
 ! { dg-options "-fshort-enums" }
-! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 ! Program to test enumerations when option -fshort-enums is given
 
 program main
diff --git a/gcc/testsuite/gfortran.dg/fmt_cache_3.f90 b/gcc/testsuite/gfortran.dg/fmt_cache_3.f90
new file mode 100644 (file)
index 0000000..ec8e1b3
--- /dev/null
@@ -0,0 +1,80 @@
+! { dg-do run }
+!
+! PR fortran/56737
+!
+! Contributed by Jonathan Hogg
+!
+module hsl_mc73_single
+   implicit none
+   integer, parameter, private :: wp = kind(0.0)
+contains
+   subroutine mc73_fiedler(n,lirn,irn,ip,list)
+      integer,  intent (in) :: n
+      integer,  intent (in) :: lirn
+      integer,  intent (in) :: irn(*)
+      integer,  intent (in) :: ip(*)
+      integer, intent (out) :: list(*)
+
+      integer :: icntl(10)
+
+      call fiedler_graph(icntl)
+   end subroutine mc73_fiedler
+
+   subroutine mc73_order
+      integer :: icntl(10)
+
+      call fiedler_graph(icntl)
+   end subroutine mc73_order
+
+   subroutine fiedler_graph(icntl)
+      integer,  intent (in) :: icntl(10)
+
+      real (kind = wp)  :: tol
+      real (kind = wp)  :: tol1
+      real (kind = wp)  :: rtol
+
+      call multilevel_eig(tol,tol1,rtol,icntl)
+   end subroutine fiedler_graph
+
+   subroutine multilevel_eig(tol,tol1,rtol,icntl)
+      real (kind = wp), intent (in) :: tol,tol1,rtol
+      integer,  intent(in) :: icntl(10)
+
+      call level_print(6,'end of level ',1)
+   end subroutine multilevel_eig
+
+   subroutine level_print(mp,title1,level)
+      character (len = *), intent(in) :: title1
+      integer,  intent(in) :: mp,level
+      character(len=80) fmt
+      integer :: char_len1,char_len2
+
+      char_len1=len_trim(title1)
+
+      write (fmt,"('(',i4,'(1H ),6h===== ,a',i4,',i4,6h =====)')") &
+           level*3, char_len1
+!      print *, "fmt = ", fmt
+!      print *, "title1= ", title1
+!      print *, "level = ", level
+      write (66,fmt) title1,level
+   end subroutine level_print
+end module hsl_mc73_single
+
+program test
+   use hsl_mc73_single
+   implicit none
+   character(len=200) :: str(2)
+   integer, parameter :: wp = kind(0.0)
+
+   integer :: n, lirn
+   integer :: irn(1), ip(1), list(1)
+
+   str = ""
+   open (66, status='scratch')
+   call mc73_order
+   call mc73_fiedler(n,lirn,irn,ip,list)
+   rewind (66)
+   read (66, '(a)') str
+   close (66)
+   if (any (str /= "   ===== end of level   1 =====")) call abort()
+end program test
diff --git a/gcc/testsuite/gfortran.dg/gomp/pr56052.f90 b/gcc/testsuite/gfortran.dg/gomp/pr56052.f90
new file mode 100644 (file)
index 0000000..dc3de71
--- /dev/null
@@ -0,0 +1,16 @@
+! PR fortran/56052
+! { dg-do compile }
+! { dg-options "-fopenmp" }
+
+subroutine middle(args)
+  type args_t
+  end type
+  type, extends(args_t) :: scan_args_t
+  end type
+  class(args_t),intent(inout) :: args
+  !$omp single
+    select type (args)
+      type is (scan_args_t)
+    end select
+  !$omp end single
+end subroutine middle
diff --git a/gcc/testsuite/gfortran.dg/import10.f90 b/gcc/testsuite/gfortran.dg/import10.f90
new file mode 100644 (file)
index 0000000..dbe630a
--- /dev/null
@@ -0,0 +1,24 @@
+! { dg-do compile }
+!
+! PR fortran/53537
+! The use of WP in the ODE_DERIVATIVE interface used to be rejected because
+! the symbol was imported under the original name DP.
+!
+! Original test case from Arjen Markus <arjen.markus@deltares.nl>
+
+module select_precision
+    integer, parameter :: dp = kind(1.0)
+end module select_precision
+
+module ode_types
+    use select_precision, only: wp => dp
+    implicit none
+    interface
+        subroutine ode_derivative(x)
+            import   :: wp
+            real(wp) :: x
+        end subroutine ode_derivative
+    end interface
+end module ode_types
+
+
diff --git a/gcc/testsuite/gfortran.dg/import11.f90 b/gcc/testsuite/gfortran.dg/import11.f90
new file mode 100644 (file)
index 0000000..f2ac514
--- /dev/null
@@ -0,0 +1,28 @@
+! { dg-do compile }
+!
+! PR fortran/53537
+! The definition of T1 in the interface used to be rejected because T3
+! was imported under the original name T1.
+
+       MODULE MOD
+         TYPE T1
+           SEQUENCE
+           integer :: j
+         END TYPE t1
+       END
+       PROGRAM MAIN
+         USE MOD, T3 => T1
+         INTERFACE SUBR
+           SUBROUTINE SUBR1(X,y)
+             IMPORT :: T3
+             type t1
+!               sequence
+!               integer :: i
+             end type t1
+             TYPE(T3) X
+!             TYPE(T1) X
+           END SUBROUTINE
+         END INTERFACE SUBR
+       END PROGRAM MAIN
+
+
index 4a0128a..0f380b7 100644 (file)
@@ -37,7 +37,7 @@ module testmod
   interface
     subroutine other(x,y)
       import ! { dg-error "Fortran 2003: IMPORT statement" }
-      type(modType) :: y ! { dg-error "not been declared within the interface" }
+      type(modType) :: y ! { dg-error "is being used before it is defined" }
       real(kind)    :: x ! { dg-error "has not been declared" }
     end subroutine
   end interface
@@ -56,13 +56,13 @@ program foo
   interface
     subroutine bar(x,y)
       import ! { dg-error "Fortran 2003: IMPORT statement" }
-      type(myType) :: x ! { dg-error "not been declared within the interface" }
+      type(myType) :: x ! { dg-error "is being used before it is defined" }
       integer(dp)  :: y ! { dg-error "has not been declared" }
     end subroutine bar
     subroutine test(x)
       import :: myType3 ! { dg-error "Fortran 2003: IMPORT statement" }
       import myType3 ! { dg-error "Fortran 2003: IMPORT statement" }
-      type(myType3) :: x ! { dg-error "not been declared within the interface" }
+      type(myType3) :: x ! { dg-error "is being used before it is defined" }
     end subroutine test
   end interface
 
index 0d88e62..543b0a1 100644 (file)
@@ -12,7 +12,7 @@ end type Connection
 abstract interface
     subroutine generic_desc(self)
         ! <<< missing IMPORT 
-        class(Connection) :: self ! { dg-error "has not been declared within the interface" }
+        class(Connection) :: self ! { dg-error "is being used before it is defined" }
     end subroutine generic_desc
 end interface
 end
index a2c4d02..710fcff 100644 (file)
@@ -13,7 +13,7 @@ contains
   subroutine sim_1(func1,params)
     interface
       function func1(fparams)
-        type(fcnparms) :: fparams ! { dg-error "not been declared within the interface" }
+        type(fcnparms) :: fparams ! { dg-error "is being used before it is defined" }
         real :: func1
       end function func1
     end interface
diff --git a/gcc/testsuite/gfortran.dg/internal_pack_13.f90 b/gcc/testsuite/gfortran.dg/internal_pack_13.f90
new file mode 100644 (file)
index 0000000..21fdc54
--- /dev/null
@@ -0,0 +1,34 @@
+! { dg-do run }
+!
+! PR 55072: [4.6/4.7/4.8 Regression] Missing internal_pack leads to wrong code with derived type
+!
+! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
+
+implicit none
+type t
+integer :: i
+end type t
+type(t), target :: tgt(4,4)
+type(t), pointer :: p(:,:)
+integer :: i,j,k
+
+k = 1
+do i = 1, 4
+  do j = 1, 4
+    tgt(i,j)%i = k
+    k = k+1
+  end do
+end do
+
+p => tgt(::2,::2)
+print *,p%i
+call bar(p)
+
+contains
+
+  subroutine bar(x)
+    type(t) :: x(*)
+    print *,x(1:4)%i
+    if (any (x(1:4)%i /= [1, 9, 3, 11])) call abort()
+  end subroutine
+end
diff --git a/gcc/testsuite/gfortran.dg/internal_pack_14.f90 b/gcc/testsuite/gfortran.dg/internal_pack_14.f90
new file mode 100644 (file)
index 0000000..1a4b372
--- /dev/null
@@ -0,0 +1,34 @@
+! { dg-do run }
+!
+! PR 55072: [4.6/4.7/4.8 Regression] Missing internal_pack leads to wrong code with derived type
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+
+program GiBUU_neutrino_bug
+
+  Type particle
+    integer :: ID
+  End Type
+
+  type(particle), dimension(1:2,1:2) :: OutPart
+
+  OutPart(1,:)%ID = 1
+  OutPart(2,:)%ID = 2
+
+  call s1(OutPart(1,:))
+
+contains
+
+  subroutine s1(j)
+    type(particle) :: j(:)
+    print *,j(:)%ID
+    call s2(j)
+  end subroutine
+
+  subroutine s2(k)
+    type(particle) :: k(1:2)
+    print *,k(:)%ID
+    if (any (k(1:2)%ID /= [1, 1])) call abort()
+  end subroutine
+
+end
diff --git a/gcc/testsuite/gfortran.dg/intrinsic_size_3.f90 b/gcc/testsuite/gfortran.dg/intrinsic_size_3.f90
new file mode 100644 (file)
index 0000000..5856509
--- /dev/null
@@ -0,0 +1,26 @@
+! { dg-do compile }
+! { dg-options "-fdump-tree-original" }
+!
+! PR fortran/55852
+!
+! Contributed by A. Kasahara
+!
+program bug
+  implicit none
+
+  Real, allocatable:: a(:)
+  integer(2) :: iszs
+
+  allocate(a(1:3))
+
+  iszs = ubound((a), 1)! Was ICEing
+!  print*, ubound((a), 1) ! Was ICEing
+! print*, ubound(a, 1)   ! OK
+! print*, lbound((a), 1) ! OK
+! print*, lbound(a, 1)   ! OK
+
+  stop
+end program bug
+
+! { dg-final { scan-tree-dump-times "iszs = \\(integer\\(kind=2\\)\\) MAX_EXPR <\\(D.\[0-9\]+->dim.0..ubound - D.\[0-9\]+->dim.0..lbound\\) \\+ 1, 0>;" 1 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
diff --git a/gcc/testsuite/gfortran.dg/intrinsic_size_4.f90 b/gcc/testsuite/gfortran.dg/intrinsic_size_4.f90
new file mode 100644 (file)
index 0000000..6d8e1c0
--- /dev/null
@@ -0,0 +1,18 @@
+! { dg-do compile }
+! Test the fix for PR55362; the error below was missed and an ICE ensued.
+!
+! ! Contributed by Dominique d'Humieres  <dominiq@lps.ens.fr>
+!
+program ice_test
+  implicit none
+  write(*,*) 'message: ', &
+             size(Error_Msg),Error_Msg()     ! { dg-error "must be an array" }
+  write(*,*) 'message: ', &
+             size(Error_Msg ()),Error_Msg()  ! OK of course
+contains
+  function Error_Msg() result(ErrorMsg)
+    character, dimension(:), pointer :: ErrorMsg
+    character, dimension(1), target :: str = '!'
+    ErrorMsg => str
+  end function Error_Msg
+end program ice_test
diff --git a/gcc/testsuite/gfortran.dg/matmul_9.f90 b/gcc/testsuite/gfortran.dg/matmul_9.f90
new file mode 100644 (file)
index 0000000..bf2a299
--- /dev/null
@@ -0,0 +1,47 @@
+! { dg-do run }
+! { dg-options "-fdump-tree-original" }
+!
+! PR fortran/56318
+!
+! Contributed by Alberto Luaces
+!
+SUBROUTINE mass_matrix        
+  DOUBLE PRECISION,PARAMETER::m1=1.d0
+  DOUBLE PRECISION,DIMENSION(3,2),PARAMETER::A1=reshape([1.d0,0.d0, 0.d0, &
+       0.d0,1.d0, 0.d0],[3,2])
+  DOUBLE PRECISION,DIMENSION(2,2),PARAMETER::Mel=reshape([1.d0/3.d0, 0.d0, &
+       0.d0, 1.d0/3.d0],[2,2])
+
+  DOUBLE PRECISION,DIMENSION(3,3)::MM1
+
+  MM1=m1*matmul(A1,matmul(Mel,transpose(A1)))
+  !print '(3f8.3)', MM1
+  if (any (abs (MM1 &
+                - reshape ([1.d0/3.d0, 0.d0,      0.d0,  &
+                            0.d0,      1.d0/3.d0, 0.d0,  &
+                            0.d0,      0.d0,      0.d0], &
+                           [3,3])) > epsilon(1.0d0))) &
+    call abort ()
+END SUBROUTINE mass_matrix
+
+program name
+  implicit none
+  integer, parameter :: A(3,2) = reshape([1,2,3,4,5,6],[3,2])
+  integer, parameter :: B(2,3) = reshape([3,17,23,31,43,71],[2,3])
+  integer, parameter :: C(3)   = [-5,-7,-21]
+  integer, parameter :: m1 = 1
+
+!  print *, matmul(B,C)
+   if (any (matmul(B,C) /= [-1079, -1793])) call abort()
+!  print *, matmul(C,A)
+   if (any (matmul(C,A) /= [-82, -181])) call abort()
+!  print '(3i5)', m1*matmul(A,B)
+  if (any (m1*matmul(A,B) /= reshape([71,91,111, 147,201,255, 327,441,555],&
+                                     [3,3]))) &
+     call abort()
+  call mass_matrix
+end program name
+
+! { dg-final { scan-tree-dump-times "matmul" 0 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
+
diff --git a/gcc/testsuite/gfortran.dg/module_error_1.f90 b/gcc/testsuite/gfortran.dg/module_error_1.f90
new file mode 100644 (file)
index 0000000..84decc0
--- /dev/null
@@ -0,0 +1,5 @@
+! { dg-do compile }
+! PR fortran/50627
+module kernels
+      select type (args) ! { dg-error "Unexpected SELECT TYPE" }
+end module kernels
diff --git a/gcc/testsuite/gfortran.dg/namelist_76.f90 b/gcc/testsuite/gfortran.dg/namelist_76.f90
new file mode 100644 (file)
index 0000000..acb3b2f
--- /dev/null
@@ -0,0 +1,28 @@
+! { dg-do compile }
+!
+! PR 55352: [4.7/4.8 Regression] Erroneous gfortran warning of unused module variable when variable is only used in namelist
+!
+! Contributed by <AstroFloyd@gmail.com>
+
+module data
+  implicit none
+  integer :: a
+end module data
+
+program test
+  use data, only: a
+  implicit none
+  a = 1
+  call write_data()
+end program test
+
+subroutine write_data()
+  use data, only: a
+  implicit none
+  namelist /write_data_list/ a
+  open(unit=10,form='formatted',status='replace',action='write',file='test.dat')
+  write(10, nml=write_data_list)
+  close(10)
+end subroutine write_data
+
+! { dg-final { cleanup-modules "data" } }
diff --git a/gcc/testsuite/gfortran.dg/namelist_80.f90 b/gcc/testsuite/gfortran.dg/namelist_80.f90
new file mode 100644 (file)
index 0000000..1961b11
--- /dev/null
@@ -0,0 +1,27 @@
+! { dg-do run }
+!
+! PR fortran/56735
+!
+! Contributed by Adam Williams
+!
+        PROGRAM TEST
+        INTEGER int1,int2,int3
+        NAMELIST /temp/ int1,int2,int3
+
+        int1 = -1; int2 = -2; int3 = -3
+
+        OPEN (53, STATUS='scratch')
+        WRITE (53, '(a)') ' ?'
+        WRITE (53, '(a)')
+        WRITE (53, '(a)') '$temp'
+        WRITE (53, '(a)') ' int1=1'
+        WRITE (53, '(a)') ' int2=2'
+        WRITE (53, '(a)') ' int3=3'
+        WRITE (53, '(a)') '$END'
+        REWIND(53)
+
+        READ (53, temp)
+        CLOSE (53)
+
+        if (int1 /= 1 .or. int2 /= 2 .or. int3 /= 3) call abort()
+        END PROGRAM
diff --git a/gcc/testsuite/gfortran.dg/pr56015.f90 b/gcc/testsuite/gfortran.dg/pr56015.f90
new file mode 100644 (file)
index 0000000..21d9d64
--- /dev/null
@@ -0,0 +1,16 @@
+! PR middle-end/56015
+! { dg-do run }
+! { dg-options "-Ofast -fno-inline" }
+
+program pr56015
+  implicit none
+  complex*16 p(10)
+  p(:) = (0.1d0, 0.2d0)
+  p(:) = (0.0d0, 1.0d0) * p(:)
+  call foo (p)
+contains
+  subroutine foo (p)
+    complex*16 p(10)
+    if (any (p .ne. (-0.2d0, 0.1d0))) call abort
+  end subroutine
+end program pr56015
diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90
new file mode 100644 (file)
index 0000000..9695b96
--- /dev/null
@@ -0,0 +1,25 @@
+! { dg-do compile }
+!
+! PR 56385: [4.6/4.7/4.8 Regression] [OOP] ICE with allocatable function result in a procedure-pointer component
+!
+! Contributed by Vladimir Fuka <vladimir.fuka@gmail.com>
+
+  implicit none
+  
+  type :: TGeometricShape
+  end type
+
+  type :: TVolumeSourceBody
+    class(TGeometricShape), allocatable :: GeometricShape
+    procedure(scalar_flux_interface), pointer :: get_scalar_flux
+  end type
+
+  abstract interface
+    function scalar_flux_interface(self) result(res)
+      import
+      real, allocatable :: res(:)
+      class(TVolumeSourceBody), intent(in) :: self
+    end function
+  end interface
+
+end
diff --git a/gcc/testsuite/gfortran.dg/select_8.f90 b/gcc/testsuite/gfortran.dg/select_8.f90
new file mode 100644 (file)
index 0000000..910d393
--- /dev/null
@@ -0,0 +1,12 @@
+! { dg-do compile }
+!
+! PR 56081: [4.7/4.8 Regression] Segfault ICE on select with bad case
+!
+! Contributed by Richard L Lozes <richard@lozestech.com>
+
+  implicit none
+  integer :: a(4)
+  select case(a)   ! { dg-error "must be a scalar expression" }
+  case (0)
+  end select
+end
diff --git a/gcc/testsuite/gfortran.dg/transfer_class_1.f90 b/gcc/testsuite/gfortran.dg/transfer_class_1.f90
new file mode 100644 (file)
index 0000000..00b3a24
--- /dev/null
@@ -0,0 +1,16 @@
+! { dg-do compile }
+! { dg-options "-Wsurprising" }
+!
+! PR 54917: [4.7/4.8 Regression] [OOP] TRANSFER on polymorphic variable causes ICE
+!
+! Contributed by Sean Santos <quantheory@gmail.com>
+
+subroutine test_routine1(arg)
+  implicit none
+  type test_type
+    integer :: test_comp
+  end type
+  class(test_type) :: arg
+  integer :: i
+  i = transfer(arg, 1)
+end subroutine
diff --git a/gcc/testsuite/gfortran.dg/transfer_intrinsic_4.f b/gcc/testsuite/gfortran.dg/transfer_intrinsic_4.f
new file mode 100644 (file)
index 0000000..4173afd
--- /dev/null
@@ -0,0 +1,27 @@
+! { dg-do compile }
+!
+! PR fortran/54818
+!
+! Contributed by  Scott Pakin
+!
+      subroutine broken ( name1, name2, bmix )
+
+      implicit none
+
+      integer, parameter :: i_knd  = kind( 1 )
+      integer, parameter :: r_knd  = selected_real_kind( 13 )
+
+      character(len=8) :: dum
+      character(len=8) :: blk
+      real(r_knd), dimension(*) :: bmix, name1, name2
+      integer(i_knd) :: j, idx1, n, i
+      integer(i_knd), external :: nafix
+
+      write (*, 99002) name1(j),
+     &     ( adjustl(
+     &     transfer(name2(nafix(bmix(idx1+i),1)),dum)//blk
+     &     //blk), bmix(idx1+i+1), i = 1, n, 2 )
+
+99002 format (' *', 10x, a8, 8x, 3(a24,1pe12.5,',',6x))
+
+      end subroutine broken
diff --git a/gcc/testsuite/gfortran.dg/transfer_intrinsic_5.f90 b/gcc/testsuite/gfortran.dg/transfer_intrinsic_5.f90
new file mode 100644 (file)
index 0000000..47be585
--- /dev/null
@@ -0,0 +1,50 @@
+! { dg-do run }
+!
+! PR fortran/56615
+!
+! Contributed by  Harald Anlauf
+!
+!
+program gfcbug
+  implicit none
+  integer, parameter             :: n = 8
+  integer                        :: i
+  character(len=1), dimension(n) :: a, b
+  character(len=n)               :: s, t
+  character(len=n/2)             :: u
+
+  do i = 1, n
+     a(i) = achar (i-1 + iachar("a"))
+  end do
+!  print *, "# Forward:"
+!  print *, "a=", a
+  s = transfer (a, s)
+!  print *, "s=", s
+  call cmp (a, s)
+!  print *, "  stride = +2:"
+  do i = 1, n/2
+     u(i:i) = a(2*i-1)
+  end do
+!  print *, "u=", u
+  call cmp (a(1:n:2), u)
+!  print *
+!  print *, "# Backward:"
+  b = a(n:1:-1)
+!  print *, "b=", b
+  t = transfer (b, t)
+!  print *, "t=", t
+  call cmp (b, t)
+!  print *, "  stride = -1:"
+  call cmp (a(n:1:-1), t)
+contains
+  subroutine cmp (b, s)
+    character(len=1), dimension(:), intent(in) :: b
+    character(len=*),               intent(in) :: s
+    character(len=size(b))                     :: c
+    c = transfer (b, c)
+    if (c /= s) then
+      print *, "c=", c, "    ", merge ("  ok","BUG!", c == s)
+      call abort ()
+    end if
+  end subroutine cmp
+end program gfcbug
diff --git a/gcc/testsuite/gfortran.dg/use_22.f90 b/gcc/testsuite/gfortran.dg/use_22.f90
new file mode 100644 (file)
index 0000000..d61df67
--- /dev/null
@@ -0,0 +1,35 @@
+! { dg-do compile }
+!
+! PR fortran/55827
+! gfortran used to ICE with the call to `tostring' depending on how the
+! `tostring' symbol was USE-associated.
+!
+! Contributed by Lorenz Hüdepohl <bugs@stellardeath.org>
+
+module stringutils
+  interface
+    pure function strlen(handle) result(len)
+      integer, intent(in) :: handle
+      integer :: len
+    end function
+  end interface
+end module
+module intermediate ! does not die if this module is merged with stringutils
+  contains
+  function tostring(handle) result(string)
+    use stringutils
+    integer, intent(in) :: handle
+    character(len=strlen(handle)) :: string
+  end function
+end module
+module usage
+  contains
+  subroutine dies_here(handle)
+    use stringutils ! does not die if this unnecessary line is omitted or placed after "use intermediate"
+    use intermediate
+    integer :: handle
+    write(*,*) tostring(handle) ! ICE
+  end subroutine
+end module
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_23.f90 b/gcc/testsuite/gfortran.dg/use_23.f90
new file mode 100644 (file)
index 0000000..da05e1a
--- /dev/null
@@ -0,0 +1,42 @@
+! { dg-do compile }
+!
+! PR fortran/42769
+! This test used to ICE in resolve_typebound_procedure because T1's GET
+! procedure was wrongly associated to MOD2's MY_GET (instead of the original
+! MOD1's MY_GET) in MOD3's SUB.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+  type :: t1
+  contains
+    procedure, nopass :: get => my_get
+  end type
+contains 
+  logical function my_get()
+  end function
+end module
+
+module mod2
+contains 
+  logical function my_get()
+  end function
+end module
+
+module mod3
+contains
+  subroutine sub(a)
+    use mod2, only: my_get
+    use mod1, only: t1
+    type(t1) :: a
+  end subroutine
+end module
+
+
+use mod2, only: my_get
+use mod3, only: sub
+end 
+
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_24.f90 b/gcc/testsuite/gfortran.dg/use_24.f90
new file mode 100644 (file)
index 0000000..b709347
--- /dev/null
@@ -0,0 +1,53 @@
+! { dg-do run }
+!
+! PR fortran/42769
+! The static resolution of A%GET used to be incorrectly simplified to MOD2's
+! MY_GET instead of the original MOD1's MY_GET, depending on the order in which
+! MOD1 and MOD2 were use-associated.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+  type :: t1
+  contains
+    procedure, nopass :: get => my_get
+  end type
+contains 
+  subroutine my_get(i)
+    i = 2
+  end subroutine
+end module
+
+module mod2
+contains 
+  subroutine my_get(i)    ! must have the same name as the function in mod1
+    i = 5
+  end subroutine
+end module
+
+
+ call test1()
+ call test2()
+
+contains
+
+ subroutine test1()
+  use mod2
+  use mod1
+  type(t1) :: a
+  call a%get(j)
+  if (j /= 2) call abort
+ end subroutine test1
+
+ subroutine test2()
+  use mod1
+  use mod2
+  type(t1) :: a
+  call a%get(j)
+  if (j /= 2) call abort
+ end subroutine test2
+end
+
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_25.f90 b/gcc/testsuite/gfortran.dg/use_25.f90
new file mode 100644 (file)
index 0000000..b79297f
--- /dev/null
@@ -0,0 +1,39 @@
+! { dg-do compile }
+!
+! PR fortran/42769
+! This test used to be rejected because the typebound call A%GET was
+! simplified to MY_GET which is an ambiguous name in the main program
+! namespace.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+  type :: t1
+  contains
+    procedure, nopass :: get => my_get
+  end type
+contains 
+  subroutine my_get()
+    print *,"my_get (mod1)"
+  end subroutine
+end module
+
+module mod2
+contains 
+  subroutine my_get()    ! must have the same name as the function in mod1
+    print *,"my_get (mod2)"
+  end subroutine
+end module
+
+  use mod2
+  use mod1
+  type(t1) :: a
+  call call_get
+  contains
+  subroutine call_get
+    call a%get()
+  end subroutine call_get
+end
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_26.f90 b/gcc/testsuite/gfortran.dg/use_26.f90
new file mode 100644 (file)
index 0000000..2e66401
--- /dev/null
@@ -0,0 +1,76 @@
+! { dg-do compile }
+!
+! PR fortran/45836
+! The B_TYPE_INSTANCE%SIZERETURN() typebound function used to be rejected on a
+! type mismatch because the function was resolved to A's SIZERETURN instead of
+! B's because of the ambiguity of the SIZERETURN name in the MAIN namespace.
+!
+! Original testcase by someone <ortp21@gmail.com>
+
+module A
+implicit none
+    type :: a_type
+    private
+        integer :: size = 1
+    contains
+        procedure :: sizeReturn
+    end type a_type
+    contains
+        function sizeReturn( a_type_ )
+            implicit none
+            integer :: sizeReturn
+            class(a_type) :: a_type_
+
+            sizeReturn = a_type_%size
+        end function sizeReturn
+end module A
+
+module B
+implicit none
+    type :: b_type
+    private
+        integer :: size = 2
+    contains
+        procedure :: sizeReturn
+    end type b_type
+    contains
+        function sizeReturn( b_type_ )
+            implicit none
+            integer :: sizeReturn
+            class(b_type) :: b_type_
+
+            sizeReturn = b_type_%size
+        end function sizeReturn
+end module B
+
+program main
+
+  call test1
+  call test2
+
+contains
+
+  subroutine test1
+    use A
+    use B
+    implicit none
+    type(a_type) :: a_type_instance
+    type(b_type) :: b_type_instance
+
+    print *, a_type_instance%sizeReturn()
+    print *, b_type_instance%sizeReturn()
+  end subroutine test1
+
+  subroutine test2
+    use B
+    use A
+    implicit none
+    type(a_type) :: a_type_instance
+    type(b_type) :: b_type_instance
+
+    print *, a_type_instance%sizeReturn()
+    print *, b_type_instance%sizeReturn()
+  end subroutine test2
+end program main
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_27.f90 b/gcc/testsuite/gfortran.dg/use_27.f90
new file mode 100644 (file)
index 0000000..71d77cc
--- /dev/null
@@ -0,0 +1,103 @@
+! { dg-do run }
+!
+! PR fortran/45900
+! The BTYPEINSTANCE%CALLBACK() typebound call was resolved incorrectly to
+! A's CALLBACK procedure instead of B's because the CALLBACK name is ambiguous
+! in the MAIN namespace.
+!
+! Original testcase by someone <ortp21@gmail.com>
+
+module A
+implicit none
+    type :: aType
+    contains
+        procedure :: callback
+    end type aType
+    contains
+        subroutine callback( callback_, i )
+            implicit none
+            class(aType) :: callback_
+            integer :: i
+
+            i = 3
+        end subroutine callback
+
+        subroutine solver( callback_, i )
+            implicit none
+            class(aType) :: callback_
+            integer :: i
+
+            call callback_%callback(i)
+        end subroutine solver
+end module A
+
+module B
+use A, only: aType
+implicit none
+    type, extends(aType) :: bType
+        integer :: i
+    contains
+        procedure :: callback
+    end type bType
+    contains
+        subroutine callback( callback_, i )
+            implicit none
+            class(bType) :: callback_
+            integer :: i
+
+            i = 7
+        end subroutine callback
+end module B
+
+program main
+  call test1()
+  call test2()
+
+contains
+
+  subroutine test1
+    use A
+    use B
+    implicit none
+    type(aType) :: aTypeInstance
+    type(bType) :: bTypeInstance
+    integer :: iflag
+
+    bTypeInstance%i = 4
+
+    iflag = 0
+    call bTypeInstance%callback(iflag)
+    if (iflag /= 7) call abort
+    iflag = 1
+    call solver( bTypeInstance, iflag )
+    if (iflag /= 7) call abort
+
+    iflag = 2
+    call aTypeInstance%callback(iflag)
+    if (iflag /= 3) call abort
+  end subroutine test1
+
+  subroutine test2
+    use B
+    use A
+    implicit none
+    type(aType) :: aTypeInstance
+    type(bType) :: bTypeInstance
+    integer :: iflag
+
+    bTypeInstance%i = 4
+
+    iflag = 0
+    call bTypeInstance%callback(iflag)
+    if (iflag /= 7) call abort
+    iflag = 1
+    call solver( bTypeInstance, iflag )
+    if (iflag /= 7) call abort
+
+    iflag = 2
+    call aTypeInstance%callback(iflag)
+    if (iflag /= 3) call abort
+  end subroutine test2
+end program main
+
+
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/pr54767.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/pr54767.f90
new file mode 100644 (file)
index 0000000..f95bff1
--- /dev/null
@@ -0,0 +1,31 @@
+SUBROUTINE XXX (IL, IU)
+  implicit none
+  integer, INTENT(IN) :: IL, IU
+
+  integer :: NXX (14) = (/ 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14 /)
+  integer :: ivvv, ia, ja, iaii
+  logical :: qop
+
+  QOP=.FALSE.
+
+  DO IA=IL,IU
+    JA=NXX(IA)
+    IF (.NOT. QOP .and. JA.GT.0) THEN
+      IAII=IA
+      QOP=.TRUE.
+    ENDIF
+
+    IF (QOP) THEN
+      ivvv=IA-IAII+1       ! mis-compiled
+    ENDIF
+  ENDDO
+
+  IF (ivvv.NE.2) THEN
+    call abort
+  ENDIF
+END subroutine
+
+program p
+  implicit none
+  CALL XXX (1, 3)
+end
index 521d049..5f5ff53 100644 (file)
@@ -1,3 +1,5 @@
+--  { dg-do compile }
+
 with System;
 package body addr1 is
    task type T is
index 51061fd..99496cd 100644 (file)
@@ -1,5 +1,3 @@
---  { dg-do compile }
-
 package addr1 is
    pragma Elaborate_Body;
 end;
diff --git a/gcc/testsuite/gnat.dg/alignment10.adb b/gcc/testsuite/gnat.dg/alignment10.adb
new file mode 100644 (file)
index 0000000..61779f1
--- /dev/null
@@ -0,0 +1,20 @@
+-- { dg-do run }\r
+\r
+procedure Alignment10 is\r
+\r
+   type Short_T is mod 2 ** 16;\r
+   for Short_T'Size use 16;\r
+   for Short_T'Alignment use 1;\r
+\r
+   subtype Short_Sub_T is Short_T range 1000 .. 1005;\r
+\r
+   A : aliased Short_T := 1000;\r
+   B : Short_Sub_T;\r
+   for B'Address use A'Address;\r
+   pragma Import (Ada, B);\r
+\r
+begin\r
+  if B /= 1000 then\r
+    raise Program_Error;\r
+  end if;\r
+end;\r
index 18abf8f..be61cb9 100644 (file)
@@ -1,3 +1,6 @@
+-- { dg-do compile }
+-- { dg-options "-O -gnatn -fdump-tree-optimized" }
+
 package body Array16 is
 
   function F1 (A : access My_T1) return My_T1 is
@@ -20,3 +23,6 @@ package body Array16 is
   end;
 
 end Array16;
+
+-- { dg-final { scan-tree-dump-not "secondary_stack" "optimized" } }
+-- { dg-final { cleanup-tree-dump "optimized" } }
index 69452c9..a54a2df 100644 (file)
@@ -1,6 +1,3 @@
--- { dg-do compile }
--- { dg-options "-O -gnatn -fdump-tree-optimized" }
-
 with Array16_Pkg;
 
 package Array16 is
@@ -26,6 +23,3 @@ package Array16 is
   procedure Proc (A : access My_T1; B : access My_T2);
 
 end Array16;
-
--- { dg-final { scan-tree-dump-not "secondary_stack" "optimized" } }
--- { dg-final { cleanup-tree-dump "optimized" } }
index efbed4e..d17e6ff 100644 (file)
@@ -1,3 +1,5 @@
+-- { dg-do compile }
+
 package body Atomic5 is
 
   function Create return R is
index 3f653fa..ce702ba 100644 (file)
@@ -1,5 +1,3 @@
--- { dg-do compile }
-
 with Unchecked_Conversion;
 
 package Atomic5 is
index 221c4a3..a642d26 100644 (file)
@@ -1,3 +1,6 @@
+-- { dg-do compile }
+-- { dg-options "-O" }
+
 with Text_IO; use Text_IO;
 
 package body Concat2 is
@@ -15,4 +18,3 @@ package body Concat2 is
    end;
 
 end Concat2;
-
index 01e620b..9f90cbb 100644 (file)
@@ -1,6 +1,3 @@
--- { dg-do compile }
--- { dg-options "-O" }
-
 package Concat2 is
 
    procedure Browse;
diff --git a/gcc/testsuite/gnat.dg/controlled7.adb b/gcc/testsuite/gnat.dg/controlled7.adb
new file mode 100644 (file)
index 0000000..bdcf67a
--- /dev/null
@@ -0,0 +1,18 @@
+-- PR ada/53766
+-- Reported by Duncan Sands <baldrick@gcc.gnu.org>
+
+-- { dg-do compile }
+-- { dg-options "-gnatp" }
+
+with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
+
+package body Controlled7 is
+
+   procedure Proc (Offset : Storage_Offset) is
+   begin
+      if Offset + Unbounded_String'Max_Size_In_Storage_Elements >= 16 then
+         raise Program_Error;
+      end if;
+   end;
+
+end Controlled7;
diff --git a/gcc/testsuite/gnat.dg/controlled7.ads b/gcc/testsuite/gnat.dg/controlled7.ads
new file mode 100644 (file)
index 0000000..672a8e7
--- /dev/null
@@ -0,0 +1,7 @@
+with System.Storage_Elements; use System.Storage_Elements;
+
+package Controlled7 is
+
+  procedure Proc (Offset : Storage_Offset);
+
+end Controlled7;
index 8e673b3..960dcda 100644 (file)
@@ -1,5 +1,3 @@
--- { dg-do compile }
-
 package Discr23 is
 
   procedure Dummy;
index 56047c9..834437f 100644 (file)
@@ -1,3 +1,5 @@
+-- { dg-do compile }
+
 package body Discr29 is
 
    procedure Proc (R : out Rec3) is
index a205bc1..6bbf167 100644 (file)
@@ -1,5 +1,3 @@
--- { dg-do compile }
-
 package Discr29 is
 
    type Rec1 is record
index d81db7a..22038a6 100644 (file)
@@ -1,5 +1,6 @@
 -- { dg-do link }
 -- { dg-options "-largs -f -margs -flto" { target lto } }
+-- { dg-skip-if "missing linker support" { *-*-solaris2.* } }
 
 procedure Lto14 is
 begin
index b1bc251..be5b008 100644 (file)
@@ -1,5 +1,6 @@
 -- { dg-do compile }
 -- { dg-options "-O -flto -g" }
+-- { dg-require-effective-target lto }
 
 package body Lto15 is
 
diff --git a/gcc/testsuite/gnat.dg/modular4.adb b/gcc/testsuite/gnat.dg/modular4.adb
new file mode 100644 (file)
index 0000000..e8e8f29
--- /dev/null
@@ -0,0 +1,11 @@
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+with Modular4_Pkg; use Modular4_Pkg;
+
+procedure Modular4 is
+begin
+  for I in Zero .. F mod 8 loop
+    raise Program_Error;
+  end loop;
+end;
diff --git a/gcc/testsuite/gnat.dg/modular4_pkg.ads b/gcc/testsuite/gnat.dg/modular4_pkg.ads
new file mode 100644 (file)
index 0000000..b380262
--- /dev/null
@@ -0,0 +1,9 @@
+package Modular4_Pkg is
+
+   type Word is mod 2**48;
+
+   Zero : constant Word := 0;
+
+   function F return Word;
+
+end Modular4_Pkg;
index ae7f523..46b9e80 100644 (file)
@@ -1,5 +1,3 @@
--- { dg-do compile }
-
 package Nested_Float_Packed is
 
    type Float_Type is record
@@ -20,5 +18,3 @@ package Nested_Float_Packed is
    Data_Block : array (Range_Type)
      of Data_Type := (others => Default_Data);
 end;
-
-
index 6d3e240..00e41b4 100644 (file)
@@ -1,3 +1,6 @@
+-- { dg-do compile }
+-- { dg-options "-O2 -gnatpn" }
+
 with Ada.Characters.Handling; use Ada.Characters.Handling;
 
 package body Opt20 is
index 58833bf..ec547ee 100644 (file)
@@ -1,6 +1,3 @@
--- { dg-do compile }
--- { dg-options "-O2 -gnatpn" }
-
 with Opt20_Pkg; use Opt20_Pkg;
 
 package Opt20 is
diff --git a/gcc/testsuite/gnat.dg/opt26.adb b/gcc/testsuite/gnat.dg/opt26.adb
new file mode 100644 (file)
index 0000000..61f8b5b
--- /dev/null
@@ -0,0 +1,37 @@
+-- { dg-do run }
+-- { dg-options "-gnato -O" }
+
+with Interfaces; use Interfaces;
+
+procedure Opt26 is
+
+   procedure Shift_Left_Bool
+     (Bool : in Boolean;
+      U8 : out Interfaces.Unsigned_8)
+   is
+   begin
+      U8 := Shift_Left (Boolean'Pos (Bool), 6);
+   end Shift_Left_Bool;
+
+   procedure Shift_Left_Not_Bool
+     (Bool : in Boolean;
+      U8 : out Interfaces.Unsigned_8)
+   is
+   begin
+      U8 := Shift_Left (Boolean'Pos (not Bool), 6);
+   end Shift_Left_Not_Bool;
+
+   Bool         : constant Boolean := True;
+   Byte1, Byte2 : Interfaces.Unsigned_8;
+
+begin
+
+   Shift_Left_Bool (Bool, Byte1);
+
+   Shift_Left_Not_Bool (Bool, Byte2);
+
+   if Byte1 + Byte2 /= 64 then
+     raise Program_Error;
+   end if;
+
+end;
index ed048f6..bcb833b 100644 (file)
@@ -18,18 +18,18 @@ package Addr1 is
   A: Arr (1 .. 4);
 
   Obj1: Rec1;
-  for Obj1'Address use A'Address; -- { dg-bogus "alignment" }
+  for Obj1'Address use A'Address; -- { dg-bogus "(alignment|erroneous)" }
 
   Obj2: Rec2;
-  for Obj2'Address use A'Address; -- { dg-bogus "alignment" }
+  for Obj2'Address use A'Address; -- { dg-bogus "(alignment|erroneous)" "" { xfail mips*-*-* } }
 
   Obj3: Rec1;
-  for Obj3'Address use A(1)'Address; -- { dg-bogus "alignment" }
+  for Obj3'Address use A(1)'Address; -- { dg-bogus "(alignment|erroneous)" }
 
   Obj4: Rec1;
   for Obj4'Address use A(2)'Address; -- { dg-warning "(alignment|erroneous)" }
 
   Obj5: Rec1;
-  for Obj5'Address use A(3)'Address; -- { dg-bogus "alignment" }
+  for Obj5'Address use A(3)'Address; -- { dg-bogus "(alignment|erroneous)" }
 
 end Addr1;
index 500cad7..02e98b6 100644 (file)
@@ -6,11 +6,11 @@ package Atomic1 is
   type UA is access all Arr;
 
   U : UA;
-  pragma Atomic (U);  -- { dg-error "atomic access" }
+  pragma Atomic (U);  -- { dg-error "atomic access" "" { xfail mips*-*-* } }
 
   type R is record
     U : UA;
-    pragma Atomic (U);  -- { dg-error "atomic access" }
+    pragma Atomic (U);  -- { dg-error "atomic access" "" { xfail mips*-*-* } }
   end record;
 
 end Atomic1;
diff --git a/gcc/testsuite/gnat.dg/stack_check3.adb b/gcc/testsuite/gnat.dg/stack_check3.adb
new file mode 100644 (file)
index 0000000..734ed42
--- /dev/null
@@ -0,0 +1,36 @@
+-- { dg-do compile }
+-- { dg-options "-O -fstack-check" }
+
+package body Stack_Check3 is
+
+  type Int_Arr is array (1 .. 34) of Integer;
+
+  type Rec (D : Boolean := False) is
+    record
+      case D is
+        when True  => IA : Int_Arr;
+        when False => null;
+      end case;
+    end record;
+
+  type Rec_Arr is array (1 .. 256) of Rec;
+
+  protected Prot_Arr is
+    procedure Reset;
+  private
+    A : Rec_Arr;
+  end Prot_Arr;
+
+  protected body Prot_Arr is
+    procedure Reset is
+    begin
+      A := (others => (D => False));
+    end Reset;
+  end Prot_Arr;
+
+  procedure Reset is
+  begin
+    Prot_Arr.Reset;
+  end Reset;
+
+end Stack_Check3;
diff --git a/gcc/testsuite/gnat.dg/stack_check3.ads b/gcc/testsuite/gnat.dg/stack_check3.ads
new file mode 100644 (file)
index 0000000..869c418
--- /dev/null
@@ -0,0 +1,5 @@
+package Stack_Check3 is
+
+  procedure Reset;
+
+end Stack_Check3;
index b13555a..7b1cecf 100644 (file)
@@ -1,3 +1,6 @@
+-- { dg-do compile }
+-- { dg-options "-w" }
+
 package body Vect8 is
 
    function Foo (V : Vec) return Vec is
index 5406c70..c926cd5 100644 (file)
@@ -1,5 +1,3 @@
--- { dg-do compile }
-
 package Vect8 is
 
    type Vec is array (1 .. 2) of Long_Float;
index 3bff8b4..8d8c538 100644 (file)
@@ -211,9 +211,13 @@ proc gcc-dg-test { prog do_what extra_tool_flags } {
 proc gcc-dg-prune { system text } {
     global additional_prunes
 
+    # Extra prune rules that will apply to tests defined in a .exp file.
+    # Always remember to clear it in .exp file after executed all tests.
+    global dg_runtest_extra_prunes
+
     set text [prune_gcc_output $text]
 
-    foreach p $additional_prunes {
+    foreach p "$additional_prunes $dg_runtest_extra_prunes" {
        if { [string length $p] > 0 } {
            # Following regexp matches a complete line containing $p.
            regsub -all "(^|\n)\[^\n\]*$p\[^\n\]*" $text "" text
@@ -672,6 +676,7 @@ if { [info procs saved-dg-test] == [list] } {
            set additional_files ""
            set additional_sources ""
            set additional_prunes ""
+           set dg_runtest_extra_prunes ""
            set shouldfail 0
            if [info exists compiler_conditional_xfail_data] {
                unset compiler_conditional_xfail_data
@@ -745,7 +750,7 @@ proc process-message { msgproc msgprefix dgargs } {
     # Process the dg- directive, including adding the regular expression
     # to the new message entry in dg-messages.
     set msgcnt [llength ${dg-messages}]
-    catch { eval $msgproc $dgargs }
+    eval $msgproc $dgargs
 
     # If the target expression wasn't satisfied there is no new message.
     if { [llength ${dg-messages}] == $msgcnt } {
@@ -809,3 +814,4 @@ proc gdb-exists { args } {
 }
 
 set additional_prunes ""
+set dg_runtest_extra_prunes ""
index 63dc0be..d3898d6 100644 (file)
@@ -2061,7 +2061,8 @@ proc check_effective_target_arm_vfp_ok { } {
 # options.
 
 proc check_effective_target_arm_hard_vfp_ok { } {
-    if { [check_effective_target_arm32] } {
+    if { [check_effective_target_arm32]
+        && ! [check-flags [list "" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" }]] } {
        return [check_no_compiler_messages arm_hard_vfp_ok executable {
            int main() { return 0;}
        } "-mfpu=vfp -mfloat-abi=hard"]
@@ -2993,7 +2994,7 @@ proc check_effective_target_vect_widen_mult_qi_to_hi { } {
            set et_vect_widen_mult_qi_to_hi_saved 0
        }
         if { [istarget powerpc*-*-*]
-              || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
+              || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
             set et_vect_widen_mult_qi_to_hi_saved 1
         }
     }
@@ -3027,7 +3028,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si { } {
              || [istarget ia64-*-*]
              || [istarget i?86-*-*]
              || [istarget x86_64-*-*]
-              || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
+              || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
             set et_vect_widen_mult_hi_to_si_saved 1
         }
     }
@@ -3048,7 +3049,7 @@ proc check_effective_target_vect_widen_mult_qi_to_hi_pattern { } {
     } else {
         set et_vect_widen_mult_qi_to_hi_pattern_saved 0
         if { [istarget powerpc*-*-*]
-              || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
+              || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
             set et_vect_widen_mult_qi_to_hi_pattern_saved 1
         }
     }
@@ -3073,7 +3074,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si_pattern { } {
               || [istarget ia64-*-*]
               || [istarget i?86-*-*]
               || [istarget x86_64-*-*]
-              || ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
+              || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
             set et_vect_widen_mult_hi_to_si_pattern_saved 1
         }
     }
@@ -3203,7 +3204,7 @@ proc check_effective_target_vect_pack_trunc { } {
              || [istarget i?86-*-*]
              || [istarget x86_64-*-*]
              || [istarget spu-*-*]
-             || ([istarget arm*-*-*] && [check_effective_target_arm_neon]
+             || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]
                 && [check_effective_target_arm_little_endian]) } {
             set et_vect_pack_trunc_saved 1
         }
@@ -3229,7 +3230,7 @@ proc check_effective_target_vect_unpack { } {
              || [istarget x86_64-*-*] 
              || [istarget spu-*-*]
              || [istarget ia64-*-*]
-             || ([istarget arm*-*-*] && [check_effective_target_arm_neon]
+             || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]
                 && [check_effective_target_arm_little_endian]) } {
             set et_vect_unpack_saved 1
         }
@@ -3646,7 +3647,7 @@ proc check_effective_target_vect_multiple_sizes { } {
     global et_vect_multiple_sizes_saved
 
     set et_vect_multiple_sizes_saved 0
-    if { ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
+    if { ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
        set et_vect_multiple_sizes_saved 1
     }
     if { ([istarget x86_64-*-*] || [istarget i?86-*-*]) } {
@@ -3818,7 +3819,7 @@ proc check_effective_target_sync_long_long_runtime { } {
                }
            } ""
        }]
-    } elseif { [istarget arm*-*-linux-gnueabi] } {
+    } elseif { [istarget arm*-*-linux-gnueabi*] } {
        return [check_runtime sync_longlong_runtime {
            #include <stdlib.h>
            int main ()
@@ -3860,7 +3861,7 @@ proc check_effective_target_sync_int_long { } {
             || [istarget i?86-*-*]
             || [istarget x86_64-*-*]
             || [istarget alpha*-*-*] 
-            || [istarget arm*-*-linux-gnueabi] 
+            || [istarget arm*-*-linux-gnueabi*
             || [istarget bfin*-*linux*]
             || [istarget hppa*-*linux*]
             || [istarget s390*-*-*] 
@@ -3890,7 +3891,7 @@ proc check_effective_target_sync_char_short { } {
             || [istarget i?86-*-*]
             || [istarget x86_64-*-*]
             || [istarget alpha*-*-*] 
-            || [istarget arm*-*-linux-gnueabi] 
+            || [istarget arm*-*-linux-gnueabi*
             || [istarget hppa*-*linux*]
             || [istarget s390*-*-*] 
             || [istarget powerpc*-*-*]
index c145af4..6bf1736 100644 (file)
@@ -1494,12 +1494,15 @@ process_options (void)
   /* If the user specifically requested variable tracking with tagging
      uninitialized variables, we need to turn on variable tracking.
      (We already determined above that variable tracking is feasible.)  */
-  if (flag_var_tracking_uninit)
+  if (flag_var_tracking_uninit == 1)
     flag_var_tracking = 1;
 
   if (flag_var_tracking == AUTODETECT_VALUE)
     flag_var_tracking = optimize >= 1;
 
+  if (flag_var_tracking_uninit == AUTODETECT_VALUE)
+    flag_var_tracking_uninit = flag_var_tracking;
+
   if (flag_var_tracking_assignments == AUTODETECT_VALUE)
     flag_var_tracking_assignments = flag_var_tracking
       && !(flag_selective_scheduling || flag_selective_scheduling2);
@@ -1602,18 +1605,6 @@ process_options (void)
   if (!flag_stack_protect)
     warn_stack_protect = 0;
 
-  /* ??? Unwind info is not correct around the CFG unless either a frame
-     pointer is present or A_O_A is set.  Fixing this requires rewriting
-     unwind info generation to be aware of the CFG and propagating states
-     around edges.  */
-  if (flag_unwind_tables && !ACCUMULATE_OUTGOING_ARGS
-      && flag_omit_frame_pointer)
-    {
-      warning (0, "unwind tables currently require a frame pointer "
-              "for correctness");
-      flag_omit_frame_pointer = 0;
-    }
-
   /* Enable -Werror=coverage-mismatch when -Werror and -Wno-error
      have not been set.  */
   if (!global_options_set.x_warnings_are_errors
index 0547fcf..c45ba19 100644 (file)
@@ -1400,6 +1400,36 @@ expand_complex_comparison (gimple_stmt_iterator *gsi, tree ar, tree ai,
   update_stmt (stmt);
 }
 
+/* Expand inline asm that sets some complex SSA_NAMEs.  */
+
+static void
+expand_complex_asm (gimple_stmt_iterator *gsi)
+{
+  gimple stmt = gsi_stmt (*gsi);
+  unsigned int i;
+
+  for (i = 0; i < gimple_asm_noutputs (stmt); ++i)
+    {
+      tree link = gimple_asm_output_op (stmt, i);
+      tree op = TREE_VALUE (link);
+      if (TREE_CODE (op) == SSA_NAME
+         && TREE_CODE (TREE_TYPE (op)) == COMPLEX_TYPE)
+       {
+         tree type = TREE_TYPE (op);
+         tree inner_type = TREE_TYPE (type);
+         tree r = build1 (REALPART_EXPR, inner_type, op);
+         tree i = build1 (IMAGPART_EXPR, inner_type, op);
+         gimple_seq list = set_component_ssa_name (op, false, r);
+
+         if (list)
+           gsi_insert_seq_after (gsi, list, GSI_CONTINUE_LINKING);
+
+         list = set_component_ssa_name (op, true, i);
+         if (list)
+           gsi_insert_seq_after (gsi, list, GSI_CONTINUE_LINKING);
+       }
+    }
+}
 
 /* Process one statement.  If we identify a complex operation, expand it.  */
 
@@ -1412,6 +1442,12 @@ expand_complex_operations_1 (gimple_stmt_iterator *gsi)
   complex_lattice_t al, bl;
   enum tree_code code;
 
+  if (gimple_code (stmt) == GIMPLE_ASM)
+    {
+      expand_complex_asm (gsi);
+      return;
+    }
+
   lhs = gimple_get_lhs (stmt);
   if (!lhs && gimple_code (stmt) != GIMPLE_COND)
     return;
index 3e89cdf..2882611 100644 (file)
@@ -169,7 +169,8 @@ void
 dump_pointer (dump_info_p di, const char *field, void *ptr)
 {
   dump_maybe_newline (di);
-  fprintf (di->stream, "%-4s: %-8lx ", field, (unsigned long) ptr);
+  fprintf (di->stream, "%-4s: %-8" HOST_WIDE_INT_PRINT "x ", field,
+          (unsigned HOST_WIDE_INT) (uintptr_t) ptr);
   di->column += 15;
 }
 
index 349e0b0..b869364 100644 (file)
@@ -2983,10 +2983,15 @@ declare_return_variable (copy_body_data *id, tree return_slot, tree modify_dest,
       if (gimple_in_ssa_p (id->src_cfun))
        add_referenced_var (temp);
       insert_decl_map (id, result, temp);
-      /* When RESULT_DECL is in SSA form, we need to use it's default_def
-        SSA_NAME.  */
-      if (gimple_in_ssa_p (id->src_cfun) && gimple_default_def (id->src_cfun, result))
-        temp = remap_ssa_name (gimple_default_def (id->src_cfun, result), id);
+      /* When RESULT_DECL is in SSA form, we need to remap and initialize
+        it's default_def SSA_NAME.  */
+      if (gimple_in_ssa_p (id->src_cfun)
+         && is_gimple_reg (result))
+       {
+         temp = make_ssa_name (temp, NULL);
+         insert_decl_map (id, gimple_default_def (id->src_cfun, result),
+                          temp);
+       }
       insert_init_stmt (id, entry_bb, gimple_build_assign (temp, var));
     }
   else
@@ -3836,6 +3841,12 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id)
        goto egress;
 
       if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
+          /* For extern inline functions that get redefined we always
+            silently ignored always_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. */
          && cgraph_global_info_ready
          /* PR 20090218-1_0.c. Body can be provided by another module. */
index 8848e25..681f3b7 100644 (file)
@@ -701,7 +701,12 @@ type_internals_preclude_sra_p (tree type, const char **msg)
              {
                *msg = "structure field size not fixed";
                return true;
-             }       
+             }
+           if (!host_integerp (bit_position (fld), 0))
+             {
+               *msg = "structure field size too big";
+               return true;
+             }
            if (AGGREGATE_TYPE_P (ft)
                    && int_bit_position (fld) % BITS_PER_UNIT != 0)
              {
@@ -3039,15 +3044,13 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
             ???  This should move to fold_stmt which we simply should
             call after building a VIEW_CONVERT_EXPR here.  */
          if (AGGREGATE_TYPE_P (TREE_TYPE (lhs))
-             && !contains_bitfld_comp_ref_p (lhs)
-             && !access_has_children_p (lacc))
+             && !contains_bitfld_comp_ref_p (lhs))
            {
              lhs = build_ref_for_model (loc, lhs, 0, racc, gsi, false);
              gimple_assign_set_lhs (*stmt, lhs);
            }
          else if (AGGREGATE_TYPE_P (TREE_TYPE (rhs))
-                  && !contains_vce_or_bfcref_p (rhs)
-                  && !access_has_children_p (racc))
+                  && !contains_vce_or_bfcref_p (rhs))
            rhs = build_ref_for_model (loc, rhs, 0, lacc, gsi, false);
 
          if (!useless_type_conversion_p (TREE_TYPE (lhs), TREE_TYPE (rhs)))
index abe50dd..105c360 100644 (file)
@@ -1,6 +1,6 @@
 /* Conditional constant propagation pass for the GNU compiler.
    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-   2010, 2011, 2012 Free Software Foundation, Inc.
+   2010, 2011, 2012, 2013 Free Software Foundation, Inc.
    Adapted from original RTL SSA-CCP by Daniel Berlin <dberlin@dberlin.org>
    Adapted to GIMPLE trees by Diego Novillo <dnovillo@redhat.com>
 
@@ -1588,7 +1588,6 @@ evaluate_stmt (gimple stmt)
       && !is_constant)
     {
       enum gimple_code code = gimple_code (stmt);
-      tree fndecl;
       val.lattice_val = VARYING;
       val.value = NULL_TREE;
       val.mask = double_int_minus_one;
@@ -1635,10 +1634,9 @@ evaluate_stmt (gimple stmt)
              || POINTER_TYPE_P (TREE_TYPE (rhs1)))
            val = bit_value_binop (code, TREE_TYPE (rhs1), rhs1, rhs2);
        }
-      else if (code == GIMPLE_CALL
-              && (fndecl = gimple_call_fndecl (stmt))
-              && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL)
+      else if (gimple_call_builtin_class_p (stmt, BUILT_IN_NORMAL))
        {
+         tree fndecl = gimple_call_fndecl (stmt);
          switch (DECL_FUNCTION_CODE (fndecl))
            {
            case BUILT_IN_MALLOC:
index 10c9352..7556f53 100644 (file)
@@ -6170,35 +6170,24 @@ rewrite_use_nonlinear_expr (struct ivopts_data *data,
   if (cand->pos == IP_ORIGINAL
       && cand->incremented_at == use->stmt)
     {
-      tree step, ctype, utype;
-      enum tree_code incr_code = PLUS_EXPR, old_code;
+      enum tree_code stmt_code;
 
       gcc_assert (is_gimple_assign (use->stmt));
       gcc_assert (gimple_assign_lhs (use->stmt) == cand->var_after);
 
-      step = cand->iv->step;
-      ctype = TREE_TYPE (step);
-      utype = TREE_TYPE (cand->var_after);
-      if (TREE_CODE (step) == NEGATE_EXPR)
-       {
-         incr_code = MINUS_EXPR;
-         step = TREE_OPERAND (step, 0);
-       }
-
       /* Check whether we may leave the computation unchanged.
         This is the case only if it does not rely on other
         computations in the loop -- otherwise, the computation
         we rely upon may be removed in remove_unused_ivs,
         thus leading to ICE.  */
-      old_code = gimple_assign_rhs_code (use->stmt);
-      if (old_code == PLUS_EXPR
-         || old_code == MINUS_EXPR
-         || old_code == POINTER_PLUS_EXPR)
+      stmt_code = gimple_assign_rhs_code (use->stmt);
+      if (stmt_code == PLUS_EXPR
+         || stmt_code == MINUS_EXPR
+         || stmt_code == POINTER_PLUS_EXPR)
        {
          if (gimple_assign_rhs1 (use->stmt) == cand->var_before)
            op = gimple_assign_rhs2 (use->stmt);
-         else if (old_code != MINUS_EXPR
-                  && gimple_assign_rhs2 (use->stmt) == cand->var_before)
+         else if (gimple_assign_rhs2 (use->stmt) == cand->var_before)
            op = gimple_assign_rhs1 (use->stmt);
          else
            op = NULL_TREE;
@@ -6206,24 +6195,13 @@ rewrite_use_nonlinear_expr (struct ivopts_data *data,
       else
        op = NULL_TREE;
 
-      if (op
-         && (TREE_CODE (op) == INTEGER_CST
-             || operand_equal_p (op, step, 0)))
+      if (op && expr_invariant_in_loop_p (data->current_loop, op))
        return;
-
-      /* Otherwise, add the necessary computations to express
-        the iv.  */
-      op = fold_convert (ctype, cand->var_before);
-      comp = fold_convert (utype,
-                          build2 (incr_code, ctype, op,
-                                  unshare_expr (step)));
-    }
-  else
-    {
-      comp = get_computation (data->current_loop, use, cand);
-      gcc_assert (comp != NULL_TREE);
     }
 
+  comp = get_computation (data->current_loop, use, cand);
+  gcc_assert (comp != NULL_TREE);
+
   switch (gimple_code (use->stmt))
     {
     case GIMPLE_PHI:
index a00541f..e79db06 100644 (file)
@@ -1,5 +1,5 @@
 /* Global, SSA-based optimizations using mathematical identities.
-   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1113,7 +1113,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
   tree type, sqrtfn, cbrtfn, sqrt_arg0, sqrt_sqrt, result, cbrt_x, powi_cbrt_x;
   tree target = NULL_TREE;
   enum machine_mode mode;
-  bool hw_sqrt_exists;
+  bool hw_sqrt_exists, c_is_int, c2_is_int;
 
   /* If the exponent isn't a constant, there's nothing of interest
      to be done.  */
@@ -1125,8 +1125,9 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
   c = TREE_REAL_CST (arg1);
   n = real_to_integer (&c);
   real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0);
+  c_is_int = real_identical (&c, &cint);
 
-  if (real_identical (&c, &cint)
+  if (c_is_int
       && ((n >= -1 && n <= 2)
          || (flag_unsafe_math_optimizations
              && optimize_insn_for_speed_p ()
@@ -1224,7 +1225,8 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
       return build_and_insert_call (gsi, loc, &target, cbrtfn, sqrt_arg0);
     }
 
-  /* Optimize pow(x,c), where n = 2c for some nonzero integer n, into
+  /* Optimize pow(x,c), where n = 2c for some nonzero integer n
+     and c not an integer, into
 
        sqrt(x) * powi(x, n/2),                n > 0;
        1.0 / (sqrt(x) * powi(x, abs(n/2))),   n < 0.
@@ -1233,10 +1235,13 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
   real_arithmetic (&c2, MULT_EXPR, &c, &dconst2);
   n = real_to_integer (&c2);
   real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0);
+  c2_is_int = real_identical (&c2, &cint);
 
   if (flag_unsafe_math_optimizations
       && sqrtfn
-      && real_identical (&c2, &cint))
+      && c2_is_int
+      && !c_is_int
+      && optimize_function_for_speed_p (cfun))
     {
       tree powi_x_ndiv2 = NULL_TREE;
 
@@ -1289,6 +1294,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
       && cbrtfn
       && (gimple_val_nonnegative_real_p (arg0) || !HONOR_NANS (mode))
       && real_identical (&c2, &c)
+      && !c2_is_int
       && optimize_function_for_speed_p (cfun)
       && powi_cost (n / 3) <= POWI_MAX_MULTS)
     {
@@ -1387,12 +1393,18 @@ execute_cse_sincos (void)
   FOR_EACH_BB (bb)
     {
       gimple_stmt_iterator gsi;
+      bool cleanup_eh = false;
 
       for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi))
         {
          gimple stmt = gsi_stmt (gsi);
          tree fndecl;
 
+         /* Only the last stmt in a bb could throw, no need to call
+            gimple_purge_dead_eh_edges if we change something in the middle
+            of a basic block.  */
+         cleanup_eh = false;
+
          if (is_gimple_call (stmt)
              && gimple_call_lhs (stmt)
              && (fndecl = gimple_call_fndecl (stmt))
@@ -1430,6 +1442,7 @@ execute_cse_sincos (void)
                      gimple_set_location (new_stmt, loc);
                      unlink_stmt_vdef (stmt);
                      gsi_replace (&gsi, new_stmt, true);
+                     cleanup_eh = true;
                    }
                  break;
 
@@ -1450,6 +1463,7 @@ execute_cse_sincos (void)
                      gimple_set_location (new_stmt, loc);
                      unlink_stmt_vdef (stmt);
                      gsi_replace (&gsi, new_stmt, true);
+                     cleanup_eh = true;
                    }
                  break;
 
@@ -1465,6 +1479,7 @@ execute_cse_sincos (void)
                      gimple_set_location (new_stmt, loc);
                      unlink_stmt_vdef (stmt);
                      gsi_replace (&gsi, new_stmt, true);
+                     cleanup_eh = true;
                    }
                  break;
 
@@ -1472,6 +1487,8 @@ execute_cse_sincos (void)
                }
            }
        }
+      if (cleanup_eh)
+       cfg_changed |= gimple_purge_dead_eh_edges (bb);
     }
 
   statistics_counter_event (cfun, "sincos statements inserted",
index d4019c0..8b90469 100644 (file)
@@ -1232,7 +1232,7 @@ nt_init_block (struct dom_walk_data *data ATTRIBUTE_UNUSED, basic_block bb)
     {
       gimple stmt = gsi_stmt (gsi);
 
-      if (gimple_assign_single_p (stmt))
+      if (gimple_assign_single_p (stmt) && !gimple_has_volatile_ops (stmt))
        {
          add_or_mark_expr (bb, gimple_assign_lhs (stmt), nontrap_set, true);
          add_or_mark_expr (bb, gimple_assign_rhs1 (stmt), nontrap_set, false);
@@ -1309,7 +1309,8 @@ cond_store_replacement (basic_block middle_bb, basic_block join_bb,
 
   /* Check if middle_bb contains of only one store.  */
   if (!assign
-      || !gimple_assign_single_p (assign))
+      || !gimple_assign_single_p (assign)
+      || gimple_has_volatile_ops (assign))
     return false;
 
   locus = gimple_location (assign);
@@ -1386,9 +1387,11 @@ cond_if_else_store_replacement_1 (basic_block then_bb, basic_block else_bb,
   if (then_assign == NULL
       || !gimple_assign_single_p (then_assign)
       || gimple_clobber_p (then_assign)
+      || gimple_has_volatile_ops (then_assign)
       || else_assign == NULL
       || !gimple_assign_single_p (else_assign)
-      || gimple_clobber_p (else_assign))
+      || gimple_clobber_p (else_assign)
+      || gimple_has_volatile_ops (else_assign))
     return false;
 
   lhs = gimple_assign_lhs (then_assign);
index 9ece2aa..727614a 100644 (file)
@@ -448,10 +448,6 @@ static struct
 
   /* The number of new PHI nodes added by PRE.  */
   int phis;
-
-  /* The number of values found constant.  */
-  int constified;
-
 } pre_stats;
 
 static bool do_partial_partial;
@@ -862,6 +858,8 @@ bitmap_set_replace_value (bitmap_set_t set, unsigned int lookfor,
          return;
        }
     }
+
+  gcc_unreachable ();
 }
 
 /* Return true if two bitmap sets are equal.  */
@@ -3063,7 +3061,7 @@ create_expression_by_pieces (basic_block block, pre_expr expr,
     case NARY:
       {
        vn_nary_op_t nary = PRE_EXPR_NARY (expr);
-       tree genop[4];
+       tree *genop = XALLOCAVEC (tree, nary->length);
        unsigned i;
        for (i = 0; i < nary->length; ++i)
          {
@@ -3105,7 +3103,7 @@ create_expression_by_pieces (basic_block block, pre_expr expr,
                break;
              case 3:
                folded = fold_build3 (nary->opcode, nary->type,
-                                     genop[0], genop[1], genop[3]);
+                                     genop[0], genop[1], genop[2]);
                break;
              default:
                gcc_unreachable ();
@@ -3511,7 +3509,8 @@ do_regular_insertion (basic_block block, basic_block dom)
 
   FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
-      if (expr->kind != NAME)
+      if (expr->kind == NARY
+         || expr->kind == REFERENCE)
        {
          pre_expr *avail;
          unsigned int val;
@@ -3612,36 +3611,36 @@ do_regular_insertion (basic_block block, basic_block dom)
          /* If all edges produce the same value and that value is
             an invariant, then the PHI has the same value on all
             edges.  Note this.  */
-         else if (!cant_insert && all_same && eprime
-                  && (edoubleprime->kind == CONSTANT
-                      || edoubleprime->kind == NAME)
-                  && !value_id_constant_p (val))
+         else if (!cant_insert && all_same)
            {
-             unsigned int j;
-             bitmap_iterator bi;
-             bitmap_set_t exprset = VEC_index (bitmap_set_t,
-                                               value_expressions, val);
+             tree exprtype = get_expr_type (expr);
+             tree temp;
+             gimple assign;
+             pre_expr newe;
+             gimple_stmt_iterator gsi;
 
-             unsigned int new_val = get_expr_value_id (edoubleprime);
-             FOR_EACH_EXPR_ID_IN_SET (exprset, j, bi)
-               {
-                 pre_expr expr = expression_for_id (j);
+             gcc_assert (edoubleprime->kind == CONSTANT
+                         || edoubleprime->kind == NAME);
 
-                 if (expr->kind == NAME)
-                   {
-                     vn_ssa_aux_t info = VN_INFO (PRE_EXPR_NAME (expr));
-                     /* Just reset the value id and valnum so it is
-                        the same as the constant we have discovered.  */
-                     if (edoubleprime->kind == CONSTANT)
-                       {
-                         info->valnum = PRE_EXPR_CONSTANT (edoubleprime);
-                         pre_stats.constified++;
-                       }
-                     else
-                       info->valnum = VN_INFO (PRE_EXPR_NAME (edoubleprime))->valnum;
-                     info->value_id = new_val;
-                   }
+             if (!pretemp || TREE_TYPE (pretemp) != exprtype)
+               {
+                 pretemp = create_tmp_reg (exprtype, "pretmp");
+                 add_referenced_var (pretemp);
                }
+             temp = make_ssa_name (pretemp, NULL);
+             assign = gimple_build_assign (temp,
+                                           edoubleprime->kind == CONSTANT ? PRE_EXPR_CONSTANT (edoubleprime) : PRE_EXPR_NAME (edoubleprime));
+             gsi = gsi_after_labels (block);
+             gsi_insert_before (&gsi, assign, GSI_NEW_STMT);
+
+             gimple_set_plf (assign, NECESSARY, false);
+             VN_INFO_GET (temp)->value_id = val;
+             VN_INFO (temp)->valnum = temp;
+             bitmap_set_bit (inserted_exprs, SSA_NAME_VERSION (temp));
+             newe = get_or_alloc_expr_for_name (temp);
+             add_to_value (val, newe);
+             bitmap_value_replace_in_set (AVAIL_OUT (block), newe);
+             bitmap_insert_into_set (NEW_SETS (block), newe);
            }
          free (avail);
        }
@@ -3669,7 +3668,8 @@ do_partial_partial_insertion (basic_block block, basic_block dom)
 
   FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
-      if (expr->kind != NAME)
+      if (expr->kind == NARY
+         || expr->kind == REFERENCE)
        {
          pre_expr *avail;
          unsigned int val;
@@ -4820,11 +4820,12 @@ init_pre (bool do_fre)
 
 /* Deallocate data structures used by PRE.  */
 
-static void
+static unsigned 
 fini_pre (bool do_fre)
 {
   bool do_eh_cleanup = !bitmap_empty_p (need_eh_cleanup);
   bool do_ab_cleanup = !bitmap_empty_p (need_ab_cleanup);
+  unsigned todo = 0;
 
   free (postorder);
   VEC_free (bitmap_set_t, heap, value_expressions);
@@ -4851,10 +4852,12 @@ fini_pre (bool do_fre)
   BITMAP_FREE (need_ab_cleanup);
 
   if (do_eh_cleanup || do_ab_cleanup)
-    cleanup_tree_cfg ();
+    todo = TODO_cleanup_cfg;
 
   if (!do_fre)
     loop_optimizer_finalize ();
+
+  return todo;
 }
 
 /* Main entry point to the SSA-PRE pass.  DO_FRE is true if the caller
@@ -4923,7 +4926,6 @@ execute_pre (bool do_fre)
   statistics_counter_event (cfun, "PA inserted", pre_stats.pa_insert);
   statistics_counter_event (cfun, "New PHIs", pre_stats.phis);
   statistics_counter_event (cfun, "Eliminated", pre_stats.eliminations);
-  statistics_counter_event (cfun, "Constified", pre_stats.constified);
 
   clear_expression_ids ();
   if (!do_fre)
@@ -4933,7 +4935,7 @@ execute_pre (bool do_fre)
     }
 
   scev_finalize ();
-  fini_pre (do_fre);
+  todo |= fini_pre (do_fre);
 
   if (!do_fre)
     /* TODO: tail_merge_optimize may merge all predecessors of a block, in which
@@ -4946,6 +4948,13 @@ execute_pre (bool do_fre)
     todo |= tail_merge_optimize (todo);
   free_scc_vn ();
 
+  /* Tail merging invalidates the virtual SSA web, together with
+     cfg-cleanup opportunities exposed by PRE this will wreck the
+     SSA updating machinery.  So make sure to run update-ssa
+     manually, before eventually scheduling cfg-cleanup as part of
+     the todo.  */
+  update_ssa (TODO_update_ssa_only_virtuals);
+
   return todo;
 }
 
@@ -4979,8 +4988,7 @@ struct gimple_opt_pass pass_pre =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   TODO_rebuild_alias,                  /* todo_flags_start */
-  TODO_update_ssa_only_virtuals  | TODO_ggc_collect
-  | TODO_verify_ssa /* todo_flags_finish */
+  TODO_ggc_collect | TODO_verify_ssa   /* todo_flags_finish */
  }
 };
 
index f7a0b53..c2bd59d 100644 (file)
@@ -1484,7 +1484,8 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_)
 
   /* 3) Assignment from a constant.  We can use folds native encode/interpret
      routines to extract the assigned bits.  */
-  else if (CHAR_BIT == 8 && BITS_PER_UNIT == 8
+  else if (vn_walk_kind == VN_WALKREWRITE
+          && CHAR_BIT == 8 && BITS_PER_UNIT == 8
           && ref->size == maxsize
           && maxsize % BITS_PER_UNIT == 0
           && offset % BITS_PER_UNIT == 0
index a37633a..304c294 100644 (file)
@@ -812,10 +812,10 @@ adjust_last_stmt (strinfo si, gimple stmt, bool is_strcat)
 
   if (!is_gimple_call (last.stmt))
     return;
-  callee = gimple_call_fndecl (last.stmt);
-  if (callee == NULL_TREE || DECL_BUILT_IN_CLASS (callee) != BUILT_IN_NORMAL)
+  if (!gimple_call_builtin_class_p (last.stmt, BUILT_IN_NORMAL))
     return;
 
+  callee = gimple_call_fndecl (last.stmt);
   switch (DECL_FUNCTION_CODE (callee))
     {
     case BUILT_IN_MEMCPY:
@@ -1753,7 +1753,7 @@ strlen_optimize_stmt (gimple_stmt_iterator *gsi)
   if (is_gimple_call (stmt))
     {
       tree callee = gimple_call_fndecl (stmt);
-      if (callee && DECL_BUILT_IN_CLASS (callee) == BUILT_IN_NORMAL)
+      if (gimple_call_builtin_class_p (stmt, BUILT_IN_NORMAL))
        switch (DECL_FUNCTION_CODE (callee))
          {
          case BUILT_IN_STRLEN:
index f8532f5..0d4258d 100644 (file)
@@ -1916,10 +1916,10 @@ equiv_class_label_eq (const void *p1, const void *p2)
 }
 
 /* Lookup a equivalence class in TABLE by the bitmap of LABELS it
-   contains.  */
+   contains.  Sets *REF_LABELS to the bitmap LABELS is equivalent to.  */
 
 static unsigned int
-equiv_class_lookup (htab_t table, bitmap labels)
+equiv_class_lookup (htab_t table, bitmap labels, bitmap *ref_labels)
 {
   void **slot;
   struct equiv_class_label ecl;
@@ -1930,9 +1930,18 @@ equiv_class_lookup (htab_t table, bitmap labels)
   slot = htab_find_slot_with_hash (table, &ecl,
                                   ecl.hashcode, NO_INSERT);
   if (!slot)
-    return 0;
+    {
+      if (ref_labels)
+       *ref_labels = NULL;
+      return 0;
+    }
   else
-    return ((equiv_class_label_t) *slot)->equivalence_class;
+    {
+      equiv_class_label_t ec = (equiv_class_label_t) *slot;
+      if (ref_labels)
+       *ref_labels = ec->labels;
+      return ec->equivalence_class;
+    }
 }
 
 
@@ -2132,14 +2141,21 @@ label_visit (constraint_graph_t graph, struct scc_info *si, unsigned int n)
 
   if (!bitmap_empty_p (graph->points_to[n]))
     {
+      bitmap ref_points_to;
       unsigned int label = equiv_class_lookup (pointer_equiv_class_table,
-                                              graph->points_to[n]);
+                                              graph->points_to[n],
+                                              &ref_points_to);
       if (!label)
        {
          label = pointer_equiv_class++;
          equiv_class_add (pointer_equiv_class_table,
                           label, graph->points_to[n]);
        }
+      else
+       {
+         BITMAP_FREE (graph->points_to[n]);
+         graph->points_to[n] = ref_points_to;
+       }
       graph->pointer_label[n] = label;
     }
 }
@@ -2199,7 +2215,7 @@ perform_var_substitution (constraint_graph_t graph)
       /* Look up the location equivalence label if one exists, or make
         one otherwise.  */
       label = equiv_class_lookup (location_equiv_class_table,
-                                 pointed_by);
+                                 pointed_by, NULL);
       if (label == 0)
        {
          label = location_equiv_class++;
@@ -4013,8 +4029,7 @@ find_func_aliases_for_builtin_call (gimple t)
   VEC(ce_s, heap) *rhsc = NULL;
   varinfo_t fi;
 
-  if (fndecl != NULL_TREE
-      && DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL)
+  if (gimple_call_builtin_class_p (t, BUILT_IN_NORMAL))
     /* ???  All builtins that are handled here need to be handled
        in the alias-oracle query functions explicitly!  */
     switch (DECL_FUNCTION_CODE (fndecl))
@@ -4755,8 +4770,7 @@ find_func_clobbers (gimple origt)
 
       /* For builtins we do not have separate function info.  For those
         we do not generate escapes for we have to generate clobbers/uses.  */
-      if (decl
-         && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL)
+      if (gimple_call_builtin_class_p (t, BUILT_IN_NORMAL))
        switch (DECL_FUNCTION_CODE (decl))
          {
          /* The following functions use and clobber memory pointed to
index 25ec43e..4be35f6 100644 (file)
@@ -1559,7 +1559,12 @@ tail_merge_optimize (unsigned int todo)
 
   timevar_push (TV_TREE_TAIL_MERGE);
 
-  calculate_dominance_info (CDI_DOMINATORS);
+  if (!dom_info_available_p (CDI_DOMINATORS))
+    {
+      /* PRE can leave us with unreachable blocks, remove them now.  */
+      delete_unreachable_blocks ();
+      calculate_dominance_info (CDI_DOMINATORS);
+    }
   init_worklist ();
 
   while (!VEC_empty (same_succ, worklist))
index 707c8df..a2860f6 100644 (file)
@@ -574,6 +574,44 @@ simplify_control_stmt_condition (edge e,
   return cached_lhs;
 }
 
+/* Return TRUE if the statement at the end of e->dest depends on
+   the output of any statement in BB.   Otherwise return FALSE.
+
+   This is used when we are threading a backedge and need to ensure
+   that temporary equivalences from BB do not affect the condition
+   in e->dest.  */
+
+static bool
+cond_arg_set_in_bb (edge e, basic_block bb)
+{
+  ssa_op_iter iter;
+  use_operand_p use_p;
+  gimple last = last_stmt (e->dest);
+
+  /* E->dest does not have to end with a control transferring
+     instruction.  This can occurr when we try to extend a jump
+     threading opportunity deeper into the CFG.  In that case
+     it is safe for this check to return false.  */
+  if (!last)
+    return false;
+
+  if (gimple_code (last) != GIMPLE_COND
+      && gimple_code (last) != GIMPLE_GOTO
+      && gimple_code (last) != GIMPLE_SWITCH)
+    return false;
+
+  FOR_EACH_SSA_USE_OPERAND (use_p, last, iter, SSA_OP_USE | SSA_OP_VUSE)
+    {
+      tree use = USE_FROM_PTR (use_p);
+
+      if (TREE_CODE (use) == SSA_NAME
+         && gimple_code (SSA_NAME_DEF_STMT (use)) != GIMPLE_PHI
+         && gimple_bb (SSA_NAME_DEF_STMT (use)) == bb)
+       return true;
+    }
+  return false;
+}
+
 /* TAKEN_EDGE represents the an edge taken as a result of jump threading.
    See if we can thread around TAKEN_EDGE->dest as well.  If so, return
    the edge out of TAKEN_EDGE->dest that we can statically compute will be
@@ -707,19 +745,8 @@ thread_across_edge (gimple dummy_cond,
      safe to thread this edge.  */
   if (e->flags & EDGE_DFS_BACK)
     {
-      ssa_op_iter iter;
-      use_operand_p use_p;
-      gimple last = gsi_stmt (gsi_last_bb (e->dest));
-
-      FOR_EACH_SSA_USE_OPERAND (use_p, last, iter, SSA_OP_USE | SSA_OP_VUSE)
-       {
-         tree use = USE_FROM_PTR (use_p);
-
-          if (TREE_CODE (use) == SSA_NAME
-             && gimple_code (SSA_NAME_DEF_STMT (use)) != GIMPLE_PHI
-             && gimple_bb (SSA_NAME_DEF_STMT (use)) == e->dest)
-           goto fail;
-       }
+      if (cond_arg_set_in_bb (e, e->dest))
+       goto fail;
     }
 
   stmt_count = 0;
@@ -760,7 +787,9 @@ thread_across_edge (gimple dummy_cond,
             address.  If DEST is not null, then see if we can thread
             through it as well, this helps capture secondary effects
             of threading without having to re-run DOM or VRP.  */
-         if (dest)
+         if (dest
+             && ((e->flags & EDGE_DFS_BACK) == 0
+                 || ! cond_arg_set_in_bb (taken_edge, e->dest)))
            {
              /* We don't want to thread back to a block we have already
                 visited.  This may be overly conservative.  */
@@ -818,11 +847,16 @@ thread_across_edge (gimple dummy_cond,
        e3 = taken_edge;
        do
          {
-           e2 = thread_around_empty_block (e3,
-                                           dummy_cond,
-                                           handle_dominating_asserts,
-                                           simplify,
-                                           visited);
+           if ((e->flags & EDGE_DFS_BACK) == 0
+               || ! cond_arg_set_in_bb (e3, e->dest))
+             e2 = thread_around_empty_block (e3,
+                                             dummy_cond,
+                                             handle_dominating_asserts,
+                                             simplify,
+                                             visited);
+           else
+             e2 = NULL;
+
            if (e2)
              {
                e3 = e2;
index cb940aa..840f4c2 100644 (file)
@@ -335,6 +335,8 @@ unpack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
   TYPE_NEEDS_CONSTRUCTING (expr) = (unsigned) bp_unpack_value (bp, 1);
   if (RECORD_OR_UNION_TYPE_P (expr))
     TYPE_TRANSPARENT_AGGR (expr) = (unsigned) bp_unpack_value (bp, 1);
+  else if (TREE_CODE (expr) == ARRAY_TYPE)
+    TYPE_NONALIASED_COMPONENT (expr) = (unsigned) bp_unpack_value (bp, 1);
   TYPE_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1);
   TYPE_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1);
   TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr)
index c792fc2..bb1b9ae 100644 (file)
@@ -279,6 +279,8 @@ pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
   bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1);
   if (RECORD_OR_UNION_TYPE_P (expr))
     bp_pack_value (bp, TYPE_TRANSPARENT_AGGR (expr), 1);
+  else if (TREE_CODE (expr) == ARRAY_TYPE)
+    bp_pack_value (bp, TYPE_NONALIASED_COMPONENT (expr), 1);
   bp_pack_value (bp, TYPE_PACKED (expr), 1);
   bp_pack_value (bp, TYPE_RESTRICT (expr), 1);
   bp_pack_value (bp, TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr), 2);
index 94d540b..8e0a917 100644 (file)
@@ -251,6 +251,16 @@ streamer_tree_cache_get (struct streamer_tree_cache_d *cache, unsigned ix)
 static void
 record_common_node (struct streamer_tree_cache_d *cache, tree node)
 {
+  /* If we recursively end up at nodes we do not want to preload simply don't.
+     ???  We'd want to verify that this doesn't happen, or alternatively
+     do not recurse at all.  */
+  if (node == char_type_node)
+    return;
+
+  gcc_checking_assert (node != boolean_type_node
+                      && node != boolean_true_node
+                      && node != boolean_false_node);
+
   /* We have to make sure to fill exactly the same number of
      elements for all frontends.  That can include NULL trees.
      As our hash table can't deal with zero entries we'll simply stream
index 4fb3e8a..20888d2 100644 (file)
@@ -283,7 +283,12 @@ check_process_case (tree cs)
          return false;
        }
 
-      e = single_succ_edge (label_bb);
+      if (!single_succ_p (label_bb))
+       {
+         info.reason
+           = "  Bad case - a non-final BB without a single successor\n";
+         return false;
+       }
       following_bb = single_succ (label_bb);
     }
 
index 02e1113..66fb892 100644 (file)
@@ -601,8 +601,8 @@ add_successor_phi_arg (edge e, tree var, tree phi_arg)
 }
 
 /* Creates a GIMPLE statement which computes the operation specified by
-   CODE, OP0 and OP1 to a new variable with name LABEL and inserts the
-   statement in the position specified by GSI and UPDATE.  Returns the
+   CODE, ACC and OP1 to a new variable with name LABEL and inserts the
+   statement in the position specified by GSI.  Returns the
    tree node of the statement's result.  */
 
 static tree
@@ -627,7 +627,7 @@ adjust_return_value_with_ops (enum tree_code code, const char *label,
                                            fold_convert (TREE_TYPE (op1), acc),
                                            op1));
       rhs = force_gimple_operand_gsi (&gsi, rhs,
-                                     false, NULL, true, GSI_CONTINUE_LINKING);
+                                     false, NULL, true, GSI_SAME_STMT);
       stmt = gimple_build_assign (NULL_TREE, rhs);
     }
 
index 79c0f1d..0faf1a9 100644 (file)
@@ -1296,7 +1296,7 @@ vect_peeling_hash_get_lowest_cost (void **slot, void *data)
     }
 
   outside_cost += vect_get_known_peeling_cost (loop_vinfo, elem->npeel, &dummy,
-                         vect_get_single_scalar_iteraion_cost (loop_vinfo));
+                         vect_get_single_scalar_iteration_cost (loop_vinfo));
 
   if (inside_cost < min->inside_cost
       || (inside_cost == min->inside_cost && outside_cost < min->outside_cost))
@@ -4574,6 +4574,13 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment)
   if (TREE_ASM_WRITTEN (decl))
     return false;
 
+  /* Do not override explicit alignment set by the user when an explicit
+     section name is also used.  This is a common idiom used by many
+     software projects.  */
+  if (DECL_SECTION_NAME (decl) != NULL_TREE
+      && !DECL_HAS_IMPLICIT_SECTION_NAME_P (decl))
+    return false;
+
   if (TREE_STATIC (decl))
     return (alignment <= MAX_OFILE_ALIGNMENT);
   else
index 978442d..b6f85d8 100644 (file)
@@ -2257,7 +2257,10 @@ vect_is_simple_reduction_1 (loop_vec_info loop_info, gimple phi,
   if (orig_code == MINUS_EXPR)
     {
       tree rhs = gimple_assign_rhs2 (def_stmt);
-      tree negrhs = make_ssa_name (SSA_NAME_VAR (rhs), NULL);
+      tree var = TREE_CODE (rhs) == SSA_NAME
+                ? SSA_NAME_VAR (rhs)
+                : create_tmp_reg (TREE_TYPE (rhs), NULL);
+      tree negrhs = make_ssa_name (var, NULL);
       gimple negate_stmt = gimple_build_assign_with_ops (NEGATE_EXPR, negrhs,
                                                         rhs, NULL);
       gimple_stmt_iterator gsi = gsi_for_stmt (def_stmt);
@@ -2383,7 +2386,7 @@ vect_force_simple_reduction (loop_vec_info loop_info, gimple phi,
 
 /* Calculate the cost of one scalar iteration of the loop.  */
 int
-vect_get_single_scalar_iteraion_cost (loop_vec_info loop_vinfo)
+vect_get_single_scalar_iteration_cost (loop_vec_info loop_vinfo)
 {
   struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
   basic_block *bbs = LOOP_VINFO_BBS (loop_vinfo);
@@ -2616,7 +2619,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo)
        }
     }
 
-  scalar_single_iter_cost = vect_get_single_scalar_iteraion_cost (loop_vinfo);
+  scalar_single_iter_cost = vect_get_single_scalar_iteration_cost (loop_vinfo);
 
   /* Add additional cost for the peeled instructions in prologue and epilogue
      loop.
@@ -4450,7 +4453,6 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi,
   if (orig_stmt)
     {
       orig_stmt_info = vinfo_for_stmt (orig_stmt);
-      gcc_assert (STMT_VINFO_RELATED_STMT (orig_stmt_info) == stmt);
       gcc_assert (STMT_VINFO_IN_PATTERN_P (orig_stmt_info));
       gcc_assert (!STMT_VINFO_IN_PATTERN_P (stmt_info));
     }
@@ -4520,7 +4522,7 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi,
      The last use is the reduction variable.  In case of nested cycle this
      assumption is not true: we use reduc_index to record the index of the
      reduction variable.  */
-  for (i = 0; i < op_type-1; i++)
+  for (i = 0; i < op_type - 1; i++)
     {
       /* The condition of COND_EXPR is checked in vectorizable_condition().  */
       if (i == 0 && code == COND_EXPR)
@@ -4552,11 +4554,18 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi,
   if (!vectype_in)
     vectype_in = tem;
   gcc_assert (is_simple_use);
-  gcc_assert (dt == vect_reduction_def
-              || dt == vect_nested_cycle
-              || ((dt == vect_internal_def || dt == vect_external_def
-                   || dt == vect_constant_def || dt == vect_induction_def)
-                   && nested_cycle && found_nested_cycle_def));
+  if (!(dt == vect_reduction_def
+       || dt == vect_nested_cycle
+       || ((dt == vect_internal_def || dt == vect_external_def
+            || dt == vect_constant_def || dt == vect_induction_def)
+           && nested_cycle && found_nested_cycle_def)))
+    {
+      /* For pattern recognized stmts, orig_stmt might be a reduction,
+        but some helper statements for the pattern might not, or
+        might be COND_EXPRs with reduction uses in the condition.  */
+      gcc_assert (orig_stmt);
+      return false;
+    }
   if (!found_nested_cycle_def)
     reduc_def_stmt = def_stmt;
 
index 49a4440..b74f5eb 100644 (file)
@@ -2981,7 +2981,8 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
 {
   VEC (slp_instance, heap) *slp_instances;
   slp_instance instance;
-  unsigned int i, vf;
+  slp_tree loads_node;
+  unsigned int i, j, vf;
   bool is_store = false;
 
   if (loop_vinfo)
@@ -3000,6 +3001,15 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
       /* Schedule the tree of INSTANCE.  */
       is_store = vect_schedule_slp_instance (SLP_INSTANCE_TREE (instance),
                                              instance, vf);
+
+      /* Clear STMT_VINFO_VEC_STMT of all loads.  With shared loads
+        between SLP instances we fail to properly initialize the
+        vectorized SLP stmts and confuse different load permutations.  */
+      FOR_EACH_VEC_ELT (slp_tree, SLP_INSTANCE_LOADS (instance), j, loads_node)
+       STMT_VINFO_VEC_STMT
+         (vinfo_for_stmt
+           (VEC_index (gimple, SLP_TREE_SCALAR_STMTS (loads_node), 0))) = NULL;
+
       if (vect_print_dump_info (REPORT_VECTORIZED_LOCATIONS)
          || vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
        fprintf (vect_dump, "vectorizing stmts using SLP.");
@@ -3012,7 +3022,15 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
       unsigned int j;
       gimple_stmt_iterator gsi;
 
-      vect_remove_slp_scalar_calls (root);
+      /* Remove scalar call stmts.  Do not do this for basic-block
+        vectorization as not all uses may be vectorized.
+        ???  Why should this be necessary?  DCE should be able to
+        remove the stmts itself.
+        ???  For BB vectorization we can as well remove scalar
+        stmts starting from the SLP tree root if they have no
+        uses.  */
+      if (loop_vinfo)
+       vect_remove_slp_scalar_calls (root);
 
       for (j = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (root), j, store)
                   && j < SLP_INSTANCE_GROUP_SIZE (instance); j++)
index f77f91a..7deaffc 100644 (file)
@@ -5773,11 +5773,6 @@ get_vectype_for_scalar_type_and_size (tree scalar_type, unsigned size)
       && GET_MODE_CLASS (inner_mode) != MODE_FLOAT)
     return NULL_TREE;
 
-  /* We can't build a vector type of elements with alignment bigger than
-     their size.  */
-  if (nbytes < TYPE_ALIGN_UNIT (scalar_type))
-    return NULL_TREE;
-
   /* For vector types of elements whose mode precision doesn't
      match their types precision we use a element type of mode
      precision.  The vectorization routines will have to make sure
@@ -5794,11 +5789,22 @@ get_vectype_for_scalar_type_and_size (tree scalar_type, unsigned size)
      When the component mode passes the above test simply use a type
      corresponding to that mode.  The theory is that any use that
      would cause problems with this will disable vectorization anyway.  */
-  if (!SCALAR_FLOAT_TYPE_P (scalar_type)
-      && !INTEGRAL_TYPE_P (scalar_type)
-      && !POINTER_TYPE_P (scalar_type))
+  else if (!SCALAR_FLOAT_TYPE_P (scalar_type)
+          && !INTEGRAL_TYPE_P (scalar_type)
+          && !POINTER_TYPE_P (scalar_type))
     scalar_type = lang_hooks.types.type_for_mode (inner_mode, 1);
 
+  /* We can't build a vector type of elements with alignment bigger than
+     their size.  */
+  else if (nbytes < TYPE_ALIGN_UNIT (scalar_type))
+    scalar_type = lang_hooks.types.type_for_mode (inner_mode, 
+                                                 TYPE_UNSIGNED (scalar_type));
+
+  /* If we felt back to using the mode fail if there was
+     no scalar type for it.  */
+  if (scalar_type == NULL_TREE)
+    return NULL_TREE;
+
   /* If no size was supplied use the mode the target prefers.   Otherwise
      lookup a vector mode of the specified size.  */
   if (size == 0)
index aa58f60..6c10ec2 100644 (file)
@@ -916,7 +916,7 @@ extern int vect_estimate_min_profitable_iters (loop_vec_info);
 extern tree get_initial_def_for_reduction (gimple, tree, tree *);
 extern int vect_min_worthwhile_factor (enum tree_code);
 extern int vect_get_known_peeling_cost (loop_vec_info, int, int *, int);
-extern int vect_get_single_scalar_iteraion_cost (loop_vec_info);
+extern int vect_get_single_scalar_iteration_cost (loop_vec_info);
 
 /* In tree-vect-slp.c.  */
 extern void vect_free_slp_instance (slp_instance);
index 43f661c..a65266c 100644 (file)
@@ -3268,8 +3268,20 @@ extract_range_basic (value_range_t *vr, gimple stmt)
   bool sop = false;
   tree type = gimple_expr_type (stmt);
 
-  if (INTEGRAL_TYPE_P (type)
-      && gimple_stmt_nonnegative_warnv_p (stmt, &sop))
+  /* If the call is __builtin_constant_p and the argument is a
+     function parameter resolve it to false.  This avoids bogus
+     array bound warnings.
+     ???  We could do this as early as inlining is finished.  */
+  if (gimple_call_builtin_p (stmt, BUILT_IN_CONSTANT_P))
+    {
+      tree arg = gimple_call_arg (stmt, 0);
+      if (TREE_CODE (arg) == SSA_NAME
+         && SSA_NAME_IS_DEFAULT_DEF (arg)
+         && TREE_CODE (SSA_NAME_VAR (arg)) == PARM_DECL)
+       set_value_range_to_null (vr, type);
+    }
+  else if (INTEGRAL_TYPE_P (type)
+          && gimple_stmt_nonnegative_warnv_p (stmt, &sop))
     set_value_range_to_nonnegative (vr, type,
                                    sop || stmt_overflow_infinity (stmt));
   else if (vrp_stmt_computes_nonzero (stmt, &sop)
@@ -6608,6 +6620,20 @@ vrp_visit_phi_node (gimple phi)
          if (TREE_CODE (arg) == SSA_NAME)
            {
              vr_arg = *(get_value_range (arg));
+             /* Do not allow equivalences or symbolic ranges to leak in from
+                backedges.  That creates invalid equivalencies.  */
+             if (e->flags & EDGE_DFS_BACK
+                 && (vr_arg.type == VR_RANGE
+                     || vr_arg.type == VR_ANTI_RANGE))
+               {
+                 vr_arg.equiv = NULL;
+                 if (symbolic_range_p (&vr_arg))
+                   {
+                     vr_arg.type = VR_VARYING;
+                     vr_arg.min = NULL_TREE;
+                     vr_arg.max = NULL_TREE;
+                   }
+               }
            }
          else
            {
@@ -7859,6 +7885,9 @@ execute_vrp (void)
   rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
   scev_initialize ();
 
+  /* ???  This ends up using stale EDGE_DFS_BACK for liveness computation.
+     Inserting assertions may split edges which will invalidate
+     EDGE_DFS_BACK.  */
   insert_range_assertions ();
 
   /* Estimate number of iterations - but do not use undefined behavior
@@ -7871,6 +7900,9 @@ execute_vrp (void)
   to_update_switch_stmts = VEC_alloc (switch_update, heap, 5);
   threadedge_initialize_values ();
 
+  /* For visiting PHI nodes we need EDGE_DFS_BACK computed.  */
+  mark_dfs_back_edges ();
+
   vrp_initialize ();
   ssa_propagate (vrp_visit_stmt, vrp_visit_phi_node);
   vrp_finalize ();
index 72a284c..155bbf2 100644 (file)
@@ -8445,14 +8445,19 @@ variably_modified_type_p (tree type, tree fn)
   tree t;
 
 /* Test if T is either variable (if FN is zero) or an expression containing
-   a variable in FN.  */
+   a variable in FN.  If TYPE isn't gimplified, return true also if
+   gimplify_one_sizepos would gimplify the expression into a local
+   variable.  */
 #define RETURN_TRUE_IF_VAR(T)                                          \
   do { tree _t = (T);                                                  \
     if (_t != NULL_TREE                                                        \
        && _t != error_mark_node                                        \
        && TREE_CODE (_t) != INTEGER_CST                                \
        && TREE_CODE (_t) != PLACEHOLDER_EXPR                           \
-       && (!fn || walk_tree (&_t, find_var_from_fn, fn, NULL)))        \
+       && (!fn                                                         \
+           || (!TYPE_SIZES_GIMPLIFIED (type)                           \
+               && !is_gimple_sizepos (_t))                             \
+           || walk_tree (&_t, find_var_from_fn, fn, NULL)))            \
       return true;  } while (0)
 
   if (type == error_mark_node)
index 7162dab..dbffe96 100644 (file)
@@ -490,9 +490,10 @@ struct GTY(()) tree_common {
 
        TREE_ADDRESSABLE in
            VAR_DECL, PARM_DECL, RESULT_DECL, FUNCTION_DECL, LABEL_DECL
+           SSA_NAME
            all types
            CONSTRUCTOR, IDENTIFIER_NODE
-           STMT_EXPR, it means we want the result of the enclosed expression
+           STMT_EXPR
 
        CALL_EXPR_TAILCALL in
            CALL_EXPR
@@ -1181,15 +1182,18 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
 /* In VAR_DECL, PARM_DECL and RESULT_DECL nodes, nonzero means address
    of this is needed.  So it cannot be in a register.
    In a FUNCTION_DECL it has no meaning.
-   In CONSTRUCTOR nodes, it means object constructed must be in memory.
    In LABEL_DECL nodes, it means a goto for this label has been seen
    from a place outside all binding contours that restore stack levels.
+   In an artificial SSA_NAME that points to a stack partition with at least
+   two variables, it means that at least one variable has TREE_ADDRESSABLE.
    In ..._TYPE nodes, it means that objects of this type must be fully
    addressable.  This means that pieces of this object cannot go into
    register parameters, for example.  If this a function type, this
    means that the value must be returned in memory.
+   In CONSTRUCTOR nodes, it means object constructed must be in memory.
    In IDENTIFIER_NODEs, this means that some extern decl for this name
-   had its address taken.  That matters for inline functions.  */
+   had its address taken.  That matters for inline functions.
+   In a STMT_EXPR, it means we want the result of the enclosed expression.  */
 #define TREE_ADDRESSABLE(NODE) ((NODE)->base.addressable_flag)
 
 /* Set on a CALL_EXPR if the call is in a tail position, ie. just before the
index c6280e2..d797c40 100644 (file)
@@ -555,7 +555,7 @@ static void dump_vars (htab_t);
 static void dump_dataflow_set (dataflow_set *);
 static void dump_dataflow_sets (void);
 
-static void set_dv_changed (decl_or_value, bool);
+static inline void set_dv_changed (decl_or_value, bool);
 static void variable_was_changed (variable, dataflow_set *);
 static void **set_slot_part (dataflow_set *, rtx, void **,
                             decl_or_value, HOST_WIDE_INT,
@@ -8980,31 +8980,34 @@ vt_add_function_parameter (tree parm)
   /* DECL_INCOMING_RTL uses the INCOMING_REGNO of parameter registers.
      If the target machine has an explicit window save instruction, the
      actual entry value is the corresponding OUTGOING_REGNO instead.  */
-  if (REG_P (incoming)
-      && HARD_REGISTER_P (incoming)
-      && OUTGOING_REGNO (REGNO (incoming)) != REGNO (incoming))
+  if (HAVE_window_save && !current_function_uses_only_leaf_regs)
     {
-      parm_reg_t *p
-       = VEC_safe_push (parm_reg_t, gc, windowed_parm_regs, NULL);
-      p->incoming = incoming;
-      incoming
-       = gen_rtx_REG_offset (incoming, GET_MODE (incoming),
-                             OUTGOING_REGNO (REGNO (incoming)), 0);
-      p->outgoing = incoming;
-    }
-  else if (MEM_P (incoming)
-          && REG_P (XEXP (incoming, 0))
-          && HARD_REGISTER_P (XEXP (incoming, 0)))
-    {
-      rtx reg = XEXP (incoming, 0);
-      if (OUTGOING_REGNO (REGNO (reg)) != REGNO (reg))
+      if (REG_P (incoming)
+         && HARD_REGISTER_P (incoming)
+         && OUTGOING_REGNO (REGNO (incoming)) != REGNO (incoming))
        {
          parm_reg_t *p
            = VEC_safe_push (parm_reg_t, gc, windowed_parm_regs, NULL);
-         p->incoming = reg;
-         reg = gen_raw_REG (GET_MODE (reg), OUTGOING_REGNO (REGNO (reg)));
-         p->outgoing = reg;
-         incoming = replace_equiv_address_nv (incoming, reg);
+         p->incoming = incoming;
+         incoming
+           = gen_rtx_REG_offset (incoming, GET_MODE (incoming),
+                                 OUTGOING_REGNO (REGNO (incoming)), 0);
+         p->outgoing = incoming;
+       }
+      else if (MEM_P (incoming)
+              && REG_P (XEXP (incoming, 0))
+              && HARD_REGISTER_P (XEXP (incoming, 0)))
+       {
+         rtx reg = XEXP (incoming, 0);
+         if (OUTGOING_REGNO (REGNO (reg)) != REGNO (reg))
+           {
+             parm_reg_t *p
+               = VEC_safe_push (parm_reg_t, gc, windowed_parm_regs, NULL);
+             p->incoming = reg;
+             reg = gen_raw_REG (GET_MODE (reg), OUTGOING_REGNO (REGNO (reg)));
+             p->outgoing = reg;
+             incoming = replace_equiv_address_nv (incoming, reg);
+           }
        }
     }
 #endif
index 7359515..133cd35 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index c04529b..10d3818 100644 (file)
@@ -1,3 +1,17 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-01-30  Kai Tietz  <ktietz@redhat.com>
+
+       Merged from trunk.
+
+       PR other/54620
+       PR target/39064
+       * md5.h (md5_uintptr, md5_uint32): Define as uintptr_t/uint32_t if
+       stdint.h and sys/types.h headers are present.
+       * sha1.h (sha1_uintptr, sha1_uint32): Likewise.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index b3ff4e1..6da2fef 100644 (file)
 # include <sys/types.h>
 typedef u_int32_t md5_uint32;
 typedef uintptr_t md5_uintptr;
+#elif defined (HAVE_SYS_TYPES_H) && defined (HAVE_STDINT_H)
+#include <stdint.h>
+#include <sys/types.h>
+typedef uint32_t md5_uint32;
+typedef uintptr_t md5_uintptr;
 #else
 #  define INT_MAX_32_BITS 2147483647
 
index 5473f91..4da5c37 100644 (file)
 # include <sys/types.h>
 typedef u_int32_t sha1_uint32;
 typedef uintptr_t sha1_uintptr;
+#elif defined (HAVE_SYS_TYPES_H) && defined (HAVE_STDINT_H)
+#include <stdint.h>
+#include <sys/types.h>
+typedef uint32_t sha1_uint32;
+typedef uintptr_t sha1_uintptr;
 #else
 #  define INT_MAX_32_BITS 2147483647
 
index 11854e1..139a944 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 6fec965..b46401c 100644 (file)
@@ -1,3 +1,13 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-13  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/52122
+       * Makefile.in (LN_S_RECURSIVE): New.
+       (adainclude, adalib): Use LN_S_RECURSIVE for copy.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 389a2fb..68c846f 100644 (file)
@@ -43,6 +43,12 @@ enable_shared = @enable_shared@
 LN_S=@LN_S@
 AWK=@AWK@
 
+ifeq (cp -p,$(LN_S))
+LN_S_RECURSIVE = cp -pR
+else
+LN_S_RECURSIVE = $(LN_S)
+endif
+
 # Variables for the user (or the top level) to override.
 objext=.o
 THREAD_KIND=native
@@ -100,8 +106,8 @@ gnatlib-plain: osconstool $(GCC_DIR)/ada/Makefile
        && touch stamp-libada
        -rm -rf adainclude
        -rm -rf adalib
-       $(LN_S) $(ADA_RTS_DIR) adainclude
-       $(LN_S) $(ADA_RTS_DIR) adalib
+       $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude
+       $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib
 
 gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile
        test -f stamp-libada || \
@@ -109,8 +115,8 @@ gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile
        && touch stamp-libada
        -rm -rf adainclude
        -rm -rf adalib
-       $(LN_S) $(ADA_RTS_DIR) adainclude
-       $(LN_S) $(ADA_RTS_DIR) adalib
+       $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude
+       $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib
 
 osconstool:
        $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons
index 450e811..bfb1e19 100644 (file)
@@ -1,3 +1,13 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       PR target/56771
+       * configure.ac: Require 64-bit int for arm*-*-rtems[.0-9]*.
+       * configure: Regenerate.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index fb5654d..1e351fa 100755 (executable)
@@ -7370,6 +7370,7 @@ fi
 case $target in
        alpha*-*-* | \
        arm*-*-*eabi* | \
+       arm*-*-rtems[.0-9]* | \
        arm*-*-symbianelf* | \
        x86_64-*-* | \
        ia64-*-* | \
index 070ab63..6d525ec 100644 (file)
@@ -150,6 +150,7 @@ m4_changequote(,)
 case $target in
        alpha*-*-* | \
        arm*-*-*eabi* | \
+       arm*-*-rtems[.0-9]* | \
        arm*-*-symbianelf* | \
        x86_64-*-* | \
        ia64-*-* | \
index f9bead4..59908dc 100644 (file)
@@ -1,3 +1,19 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * eo.po: New.
+
+2012-09-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * sv.po: Update.
+
+2012-09-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * vi.po: Update.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
diff --git a/libcpp/po/eo.gmo b/libcpp/po/eo.gmo
new file mode 100644 (file)
index 0000000..339540f
Binary files /dev/null and b/libcpp/po/eo.gmo differ
diff --git a/libcpp/po/eo.po b/libcpp/po/eo.po
new file mode 100644 (file)
index 0000000..601ff2d
--- /dev/null
@@ -0,0 +1,955 @@
+# Translation of cpplib to Esperanto
+# Copyright (C) 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gcc package.
+# Felipe Castro <fefcas@gmail.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cpplib 4.7.2\n"
+"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+"POT-Creation-Date: 2012-01-27 16:12+0000\n"
+"PO-Revision-Date: 2013-02-05 16:18-0300\n"
+"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
+"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: charset.c:674
+#, c-format
+msgid "conversion from %s to %s not supported by iconv"
+msgstr "Konverto de %s al %s ne estas subtenata de iconv"
+
+#: charset.c:677
+msgid "iconv_open"
+msgstr "iconv_open"
+
+#: charset.c:685
+#, c-format
+msgid "no iconv implementation, cannot convert from %s to %s"
+msgstr "neniu realigo de iconv, ne eblas konverti de %s al %s"
+
+#: charset.c:781
+#, c-format
+msgid "character 0x%lx is not in the basic source character set\n"
+msgstr "la signo 0x%lx ne estas en la baza fonta signaro\n"
+
+#: charset.c:798 charset.c:1444
+msgid "converting to execution character set"
+msgstr "konverto al plenumiga signaro"
+
+#: charset.c:804
+#, c-format
+msgid "character 0x%lx is not unibyte in execution character set"
+msgstr "la signo 0x%lx ne estas unubajta en plenumiga signaro"
+
+#: charset.c:928
+#, c-format
+msgid "Character %x might not be NFKC"
+msgstr "La signo %x povas ne esti NFKC"
+
+#: charset.c:994
+msgid "universal character names are only valid in C++ and C99"
+msgstr "universalaj signo-nomoj nur validas en C++ kaj C99"
+
+#: charset.c:997
+#, c-format
+msgid "the meaning of '\\%c' is different in traditional C"
+msgstr "la signifo de '\\%c' estas malsama en tradicia C"
+
+#: charset.c:1006
+msgid "In _cpp_valid_ucn but not a UCN"
+msgstr "En _cpp_valid_ucn sed ne estas UCN"
+
+#: charset.c:1031
+#, c-format
+msgid "incomplete universal character name %.*s"
+msgstr "nekompleta universala signo-nomo %.*s"
+
+#: charset.c:1046
+#, c-format
+msgid "%.*s is not a valid universal character"
+msgstr "%.*s ne estas valida universala signo"
+
+#: charset.c:1056 lex.c:1052
+msgid "'$' in identifier or number"
+msgstr "'$' en identiganto aŭ numero"
+
+#: charset.c:1066
+#, c-format
+msgid "universal character %.*s is not valid in an identifier"
+msgstr "la universala signo %.*s ne estas valida en identiganto"
+
+#: charset.c:1070
+#, c-format
+msgid "universal character %.*s is not valid at the start of an identifier"
+msgstr "la universala signo %.*s ne estas valida en komenco de identiganto"
+
+#: charset.c:1102 charset.c:1674
+msgid "converting UCN to source character set"
+msgstr "konverto de UCN al la fonta signaro"
+
+#: charset.c:1106
+msgid "converting UCN to execution character set"
+msgstr "konverto de UCN al la plenumiga signaro"
+
+#: charset.c:1178
+msgid "the meaning of '\\x' is different in traditional C"
+msgstr "la signifo de '\\x' estas malsama en tradicia C"
+
+#: charset.c:1195
+msgid "\\x used with no following hex digits"
+msgstr "\\x estis uzata kun la jenaj deksesumaj ciferoj"
+
+#: charset.c:1202
+msgid "hex escape sequence out of range"
+msgstr "deksesuma eskapa sekvo estas for de intervalo"
+
+#: charset.c:1240
+msgid "octal escape sequence out of range"
+msgstr "okuma eskapa sekvo estas for de intervalo"
+
+#: charset.c:1306
+msgid "the meaning of '\\a' is different in traditional C"
+msgstr "la signifo de '\\a' estas malsama en tradicia C"
+
+#: charset.c:1313
+#, c-format
+msgid "non-ISO-standard escape sequence, '\\%c'"
+msgstr "ne-ISO-norma eskapa sekvo, '\\%c'"
+
+#: charset.c:1321
+#, c-format
+msgid "unknown escape sequence: '\\%c'"
+msgstr "nekonata eskapa sekvo: '\\%c'"
+
+#: charset.c:1329
+#, c-format
+msgid "unknown escape sequence: '\\%s'"
+msgstr "nekonata eskapa sekvo: '\\%s'"
+
+#: charset.c:1336
+msgid "converting escape sequence to execution character set"
+msgstr "konverto de eskapa sekvo al plenumiga signaro"
+
+#: charset.c:1509 charset.c:1573
+msgid "character constant too long for its type"
+msgstr "signa konstanto tro longas por ties tipo"
+
+#: charset.c:1512
+msgid "multi-character character constant"
+msgstr "plursigna signa konstanto"
+
+#: charset.c:1612
+msgid "empty character constant"
+msgstr "malplena signa konstanto"
+
+#: charset.c:1721
+#, c-format
+msgid "failure to convert %s to %s"
+msgstr "problemo por konverti %s al %s"
+
+#: directives.c:223 directives.c:249
+#, c-format
+msgid "extra tokens at end of #%s directive"
+msgstr "kromaj ĵetonoj ĉe la fino de la instrukcio #%s"
+
+#: directives.c:356
+#, c-format
+msgid "#%s is a GCC extension"
+msgstr "#%s estas aldono de GCC"
+
+#: directives.c:361
+#, c-format
+msgid "#%s is a deprecated GCC extension"
+msgstr "#%s estas evitinda aldono de GCC"
+
+#: directives.c:374
+msgid "suggest not using #elif in traditional C"
+msgstr "sugesti ne uzi #elif en tradicia C"
+
+#: directives.c:377
+#, c-format
+msgid "traditional C ignores #%s with the # indented"
+msgstr "tradicia C preteratentas #%s kun la # krommarĝenita"
+
+#: directives.c:381
+#, c-format
+msgid "suggest hiding #%s from traditional C with an indented #"
+msgstr "sugesti kaŝi #%s el tradicia C per krommarĝenigo de #"
+
+#: directives.c:407
+msgid "embedding a directive within macro arguments is not portable"
+msgstr "enkorpigi instrukcion ene de makroaj argumentoj ne estas portebla"
+
+#: directives.c:427
+msgid "style of line directive is a GCC extension"
+msgstr "stilo de lini-instrukcioj estas aldono de GCC"
+
+#: directives.c:482
+#, c-format
+msgid "invalid preprocessing directive #%s"
+msgstr "malvalida antaŭproceza instrukcio #%s"
+
+#: directives.c:550
+msgid "\"defined\" cannot be used as a macro name"
+msgstr "\"defined\" ne povas estis uzata kiel makroa nomo"
+
+#: directives.c:556
+#, c-format
+msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+msgstr "\"%s\" ne povas esti uzata kiel makroa nomo ĉar ĝi estas operatoro en C++"
+
+#: directives.c:559
+#, c-format
+msgid "no macro name given in #%s directive"
+msgstr "neniu makroa nomo estas indikita en la instrukcio #%s"
+
+#: directives.c:562
+msgid "macro names must be identifiers"
+msgstr "makroaj nomoj devas esti identigantoj"
+
+#: directives.c:611
+#, c-format
+msgid "undefining \"%s\""
+msgstr "ni maldifinas \"%s\""
+
+#: directives.c:666
+msgid "missing terminating > character"
+msgstr "mankas finiganta signo >"
+
+#: directives.c:725
+#, c-format
+msgid "#%s expects \"FILENAME\" or <FILENAME>"
+msgstr "#%s atendas \"DOSIERNOMO\" aŭ <DOSIERNOMO>"
+
+#: directives.c:771
+#, c-format
+msgid "empty filename in #%s"
+msgstr "malplena dosiernomo en #%s"
+
+#: directives.c:781
+msgid "#include nested too deeply"
+msgstr "#include estas ingita tro profunde"
+
+#: directives.c:822
+msgid "#include_next in primary source file"
+msgstr "#include_next en ĉefa fonta dosiero"
+
+#: directives.c:848
+#, c-format
+msgid "invalid flag \"%s\" in line directive"
+msgstr "malvalida flago \"%s\" en lini-instrukcio"
+
+#: directives.c:908
+msgid "unexpected end of file after #line"
+msgstr "neatendita dosierfino post #line"
+
+#: directives.c:911
+#, c-format
+msgid "\"%s\" after #line is not a positive integer"
+msgstr "\"%s\" post #line ne estas pozitiva entjero"
+
+#: directives.c:917 directives.c:919
+msgid "line number out of range"
+msgstr "lininumero estas for de intervalo"
+
+#: directives.c:932 directives.c:1012
+#, c-format
+msgid "\"%s\" is not a valid filename"
+msgstr "\"%s\" ne estas valida dosiernomo"
+
+#: directives.c:972
+#, c-format
+msgid "\"%s\" after # is not a positive integer"
+msgstr "\"%s\" post # ne estas pozitiva entjero"
+
+#: directives.c:1067 directives.c:1069 directives.c:1071
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: directives.c:1095
+#, c-format
+msgid "invalid #%s directive"
+msgstr "malvalida instrukcio #%s"
+
+#: directives.c:1158
+#, c-format
+msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+msgstr "registro de pragma en nomspaco \"%s\" kun nekongrua nom-etendigo"
+
+#: directives.c:1167
+#, c-format
+msgid "registering pragma \"%s\" with name expansion and no namespace"
+msgstr "registro de pragma \"%s\" kun nom-etendigo kaj sen nomspaco"
+
+#: directives.c:1185
+#, c-format
+msgid "registering \"%s\" as both a pragma and a pragma namespace"
+msgstr "registro de \"%s\" kaj kiel pragma kaj kiel pragma-nomspaco"
+
+#: directives.c:1188
+#, c-format
+msgid "#pragma %s %s is already registered"
+msgstr "#pragma %s %s jam estas registrita"
+
+#: directives.c:1191
+#, c-format
+msgid "#pragma %s is already registered"
+msgstr "#pragma %s jam estas registrita"
+
+#: directives.c:1221
+msgid "registering pragma with NULL handler"
+msgstr "registro de pragma kun traktilo de NULL"
+
+#: directives.c:1462
+msgid "#pragma once in main file"
+msgstr "#pragma unufoje en ĉefdosiero"
+
+#: directives.c:1485
+msgid "invalid #pragma push_macro directive"
+msgstr "malvalida instrukcio #pragma push_macro"
+
+#: directives.c:1540
+msgid "invalid #pragma pop_macro directive"
+msgstr "malvalida instrukcio #pragma pop_macro"
+
+#: directives.c:1595
+msgid "invalid #pragma GCC poison directive"
+msgstr "malvalida instrukcio #pragma GCC poison"
+
+#: directives.c:1604
+#, c-format
+msgid "poisoning existing macro \"%s\""
+msgstr "venenigo de ekzistanta makroo \"%s\""
+
+#: directives.c:1623
+msgid "#pragma system_header ignored outside include file"
+msgstr "#pragma system_header estis preteratentata for de inkluziv-dosiero"
+
+#: directives.c:1648
+#, c-format
+msgid "cannot find source file %s"
+msgstr "ne eblas trovi la fontan dosieron %s"
+
+#: directives.c:1652
+#, c-format
+msgid "current file is older than %s"
+msgstr "nuna dosiero estas pli malnova ol %s"
+
+#: directives.c:1837
+msgid "_Pragma takes a parenthesized string literal"
+msgstr "_Pragma prenas kurbkrampitan ĉenan literaĵon"
+
+#: directives.c:1958
+msgid "#else without #if"
+msgstr "#else sen #if"
+
+#: directives.c:1963
+msgid "#else after #else"
+msgstr "#else post #else"
+
+#: directives.c:1965 directives.c:1998
+msgid "the conditional began here"
+msgstr "la kondiĉo komencis ĉi tie"
+
+#: directives.c:1991
+msgid "#elif without #if"
+msgstr "#elif sen #if"
+
+#: directives.c:1996
+msgid "#elif after #else"
+msgstr "#elif post #else"
+
+#: directives.c:2034
+msgid "#endif without #if"
+msgstr "#endif sen #if"
+
+#: directives.c:2114
+msgid "missing '(' after predicate"
+msgstr "mankas '(' post predikato"
+
+#: directives.c:2129
+msgid "missing ')' to complete answer"
+msgstr "mankas ')' por kompletigi respondon"
+
+#: directives.c:2149
+msgid "predicate's answer is empty"
+msgstr "respondo de predikato estas malplena"
+
+#: directives.c:2176
+msgid "assertion without predicate"
+msgstr "aserto sen predikato"
+
+#: directives.c:2179
+msgid "predicate must be an identifier"
+msgstr "predikato devas esti identiganto"
+
+#: directives.c:2265
+#, c-format
+msgid "\"%s\" re-asserted"
+msgstr "\"%s\" estas re-asertita"
+
+#: directives.c:2556
+#, c-format
+msgid "unterminated #%s"
+msgstr "nefinigita #%s"
+
+#: directives-only.c:222 lex.c:2133 traditional.c:163
+msgid "unterminated comment"
+msgstr "nefinigita komento"
+
+#: errors.c:235
+msgid "stdout"
+msgstr "ĉefeligujo"
+
+#: errors.c:237
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: expr.c:424
+msgid "too many decimal points in number"
+msgstr "tro multaj frakciaj ciferoj en numero"
+
+#: expr.c:453 expr.c:547
+msgid "fixed-point constants are a GCC extension"
+msgstr "fisk-komaj konstantoj estas aldono de GCC"
+
+#: expr.c:466
+#, c-format
+msgid "invalid digit \"%c\" in binary constant"
+msgstr "malvalida cifero \"%c\" en duuma konstanto"
+
+#: expr.c:468
+#, c-format
+msgid "invalid digit \"%c\" in octal constant"
+msgstr "malvalida cifero \"%c\" en okuma konstanto"
+
+#: expr.c:476
+msgid "invalid prefix \"0b\" for floating constant"
+msgstr "malvalida prefikso \"0b\" por glitkoma konstanto"
+
+#: expr.c:481
+msgid "no digits in hexadecimal floating constant"
+msgstr "neniu cifero en deksesuma glitkoma konstanto"
+
+#: expr.c:485
+msgid "use of C99 hexadecimal floating constant"
+msgstr "uzo de deksesuma glitkoma konstanto laŭ C99"
+
+#: expr.c:494
+msgid "exponent has no digits"
+msgstr "eksponento ne havas ciferojn"
+
+#: expr.c:501
+msgid "hexadecimal floating constants require an exponent"
+msgstr "deksesumaj glitkomaj konstantoj postulas eksponenton"
+
+#: expr.c:515
+#, c-format
+msgid "invalid suffix \"%.*s\" on floating constant"
+msgstr "malvalida sufikso \"%.*s\" en glitkoma konstanto"
+
+#: expr.c:526 expr.c:585
+#, c-format
+msgid "traditional C rejects the \"%.*s\" suffix"
+msgstr "tradicia C rifuzas la sufikson \"%.*s\""
+
+#: expr.c:534
+msgid "suffix for double constant is a GCC extension"
+msgstr "sufikso por duobla konstanto estas aldono de GCC"
+
+#: expr.c:540
+#, c-format
+msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
+msgstr "malvalida sufikso \"%.*s\" kun deksesuma glitkoma konstanto"
+
+#: expr.c:551
+msgid "decimal float constants are a GCC extension"
+msgstr "dekumaj glitkomaj konstantoj estas aldono de GCC"
+
+#: expr.c:569
+#, c-format
+msgid "invalid suffix \"%.*s\" on integer constant"
+msgstr "malvalida sufikso \"%.*s\" en entjera konstanto"
+
+#: expr.c:593
+msgid "use of C++0x long long integer constant"
+msgstr "uzo de konstanto C++0x long long integer"
+
+#: expr.c:594
+msgid "use of C99 long long integer constant"
+msgstr "uzo de konstanto de C99 long long integer"
+
+#: expr.c:608
+msgid "imaginary constants are a GCC extension"
+msgstr "imaginaraj konstantoj estas aldono de GCC"
+
+#: expr.c:611
+msgid "binary constants are a GCC extension"
+msgstr "duumaj konstantoj estas aldono de GCC"
+
+#: expr.c:704
+msgid "integer constant is too large for its type"
+msgstr "entjera konstanto tro larĝas pro ties tipo"
+
+#: expr.c:735
+msgid "integer constant is so large that it is unsigned"
+msgstr "entjera konstanto estas tiom larĝa ke ĝi estas sen-signuma"
+
+#: expr.c:830
+msgid "missing ')' after \"defined\""
+msgstr "mankas ')' post \"defined\""
+
+#: expr.c:837
+msgid "operator \"defined\" requires an identifier"
+msgstr "la operatoro \"defined\" postulas identiganton"
+
+#: expr.c:845
+#, c-format
+msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+msgstr "(\"%s\" estas alternativa ĵetono por \"%s\" en C++)"
+
+#: expr.c:855
+msgid "this use of \"defined\" may not be portable"
+msgstr "tiu ĉi uzo de \"defined\" eble ne estas portebla"
+
+#: expr.c:914
+msgid "user-defined literal in preprocessor expression"
+msgstr "uzant-difinita literaĵo en antaŭproceza esprimo"
+
+#: expr.c:919
+msgid "floating constant in preprocessor expression"
+msgstr "glitkoma konstanto en antaŭproceza esprimo"
+
+#: expr.c:925
+msgid "imaginary number in preprocessor expression"
+msgstr "imaginara numero en antaŭproceza esprimo"
+
+#: expr.c:972
+#, c-format
+msgid "\"%s\" is not defined"
+msgstr "\"%s\" ne estas difinita"
+
+#: expr.c:984
+msgid "assertions are a GCC extension"
+msgstr "asertoj estas aldono de GCC"
+
+#: expr.c:987
+msgid "assertions are a deprecated extension"
+msgstr "asertoj estas evitinda aldono"
+
+#: expr.c:1120 expr.c:1149
+#, c-format
+msgid "missing binary operator before token \"%s\""
+msgstr "mankas duuma operatoro antaŭ la ĵetono \"%s\""
+
+#: expr.c:1140
+#, c-format
+msgid "token \"%s\" is not valid in preprocessor expressions"
+msgstr "la ĵetono \"%s\" ne estas valida en antaŭprocezaj esprimoj"
+
+#: expr.c:1157
+msgid "missing expression between '(' and ')'"
+msgstr "mankas esprimo inter '(' kaj ')'"
+
+#: expr.c:1160
+#, c-format
+msgid "%s with no expression"
+msgstr "%s sen iu ajn esprimo"
+
+#: expr.c:1163
+#, c-format
+msgid "operator '%s' has no right operand"
+msgstr "la operatoro '%s' havas neniun desktran operaciaton"
+
+#: expr.c:1168
+#, c-format
+msgid "operator '%s' has no left operand"
+msgstr "la operatoro '%s' havas neniun maldesktran operaciaton"
+
+#: expr.c:1194
+msgid " ':' without preceding '?'"
+msgstr " ':' sen antaŭanta '?'"
+
+#: expr.c:1222
+#, c-format
+msgid "unbalanced stack in %s"
+msgstr "neekvilibrita stako en %s"
+
+#: expr.c:1242
+#, c-format
+msgid "impossible operator '%u'"
+msgstr "neebla operatoro '%u'"
+
+#: expr.c:1343
+msgid "missing ')' in expression"
+msgstr "mankas ')' en esprimo"
+
+#: expr.c:1372
+msgid "'?' without following ':'"
+msgstr "'?' sen sekvanta ':'"
+
+#: expr.c:1382
+msgid "integer overflow in preprocessor expression"
+msgstr "entjera troigo en antaŭproceza esprimo"
+
+#: expr.c:1387
+msgid "missing '(' in expression"
+msgstr "mankas '(' en esprimo"
+
+#: expr.c:1419
+#, c-format
+msgid "the left operand of \"%s\" changes sign when promoted"
+msgstr "la maldekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
+
+#: expr.c:1424
+#, c-format
+msgid "the right operand of \"%s\" changes sign when promoted"
+msgstr "la dekstra operaciato de \"%s\" ŝanĝas signumon kiam promociita"
+
+#: expr.c:1683
+msgid "traditional C rejects the unary plus operator"
+msgstr "tradicia C rifuzas la unuloka plusan operatoron"
+
+#: expr.c:1766
+msgid "comma operator in operand of #if"
+msgstr "koma operatoro en operaciado de #if"
+
+#: expr.c:1902
+msgid "division by zero in #if"
+msgstr "divido per nulo en #if"
+
+#: files.c:463
+msgid "NULL directory in find_file"
+msgstr "NULL-dosierujo en find_file"
+
+#: files.c:500
+msgid "one or more PCH files were found, but they were invalid"
+msgstr "unu aŭ pli dosieroj PCH estis trovataj, sed ili estas malvalidaj"
+
+#: files.c:503
+msgid "use -Winvalid-pch for more information"
+msgstr "uzu -Winvalid-pch por pli da informo"
+
+#: files.c:594
+#, c-format
+msgid "%s is a block device"
+msgstr "%s estas blok-aparato"
+
+#: files.c:611
+#, c-format
+msgid "%s is too large"
+msgstr "%s tro larĝas"
+
+#: files.c:646
+#, c-format
+msgid "%s is shorter than expected"
+msgstr "%s estas pli mallonga ol atendite"
+
+#: files.c:881
+#, c-format
+msgid "no include path in which to search for %s"
+msgstr "estas neniu inkluziva vojo por serĉi %s"
+
+#: files.c:1305
+msgid "Multiple include guards may be useful for:\n"
+msgstr "Multoblaj inkluzivaj gardnodoj povas esti utilaj por:\n"
+
+#: init.c:512
+msgid "cppchar_t must be an unsigned type"
+msgstr "cppchar_t devas esti sensignuma tipo"
+
+#: init.c:516
+#, c-format
+msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+msgstr "antaŭproceza aritmetiko havas maksimuman precizecon de %lu bitoj; la celo postulas %lu bitojn"
+
+#: init.c:523
+msgid "CPP arithmetic must be at least as precise as a target int"
+msgstr "Aritmetiko de CPP devas esti minimue tiel preciza kiel la celata int"
+
+#: init.c:526
+msgid "target char is less than 8 bits wide"
+msgstr "la celata char estas pli eta ol 8 bitoj"
+
+#: init.c:530
+msgid "target wchar_t is narrower than target char"
+msgstr "la celata wchar_t estas pli mallarĝa ol la celata char"
+
+#: init.c:534
+msgid "target int is narrower than target char"
+msgstr "la celata int estas pli mallarĝa ol la celata char"
+
+#: init.c:539
+msgid "CPP half-integer narrower than CPP character"
+msgstr "duon-entjero de CPP estas pli mallarĝa ol la signo de CPP"
+
+#: init.c:543
+#, c-format
+msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
+msgstr "CPP en tiu ĉi komputilo ne povas trakti larĝ-signajn konstantoj plilarĝaj ol %lu bitoj, sed la celato postulas %lu bitojn"
+
+#: lex.c:846
+msgid "backslash and newline separated by space"
+msgstr "retroklino kaj novlinio apartitaj de spaco"
+
+#: lex.c:851
+msgid "backslash-newline at end of file"
+msgstr "retroklino-novlinio ĉe dosierfino"
+
+#: lex.c:867
+#, c-format
+msgid "trigraph ??%c converted to %c"
+msgstr "trigrafikaĵo ??%c konvertita al %c"
+
+#: lex.c:875
+#, c-format
+msgid "trigraph ??%c ignored, use -trigraphs to enable"
+msgstr "trigrafikaĵo ??%c preteratentita, uzu -trigraphs por ebligi"
+
+#: lex.c:924
+msgid "\"/*\" within comment"
+msgstr "\"/*\" ene de komento"
+
+#: lex.c:982
+#, c-format
+msgid "%s in preprocessing directive"
+msgstr "%s en antaŭproceza instrukcio"
+
+#: lex.c:991
+msgid "null character(s) ignored"
+msgstr "nul-signo(j) estas preteratentitaj"
+
+#: lex.c:1028
+#, c-format
+msgid "`%.*s' is not in NFKC"
+msgstr "'%.*s' ne estas en NFKC"
+
+#: lex.c:1031
+#, c-format
+msgid "`%.*s' is not in NFC"
+msgstr "'%.*s' ne estas en NFC"
+
+#: lex.c:1099 lex.c:1176
+#, c-format
+msgid "attempt to use poisoned \"%s\""
+msgstr "provo uzi venenitan \"%s\""
+
+#: lex.c:1107 lex.c:1184
+msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+msgstr "__VA_ARGS__ nur povas aperi en la etendigo de variebl-argumenta makroo de C99"
+
+#: lex.c:1113 lex.c:1190
+#, c-format
+msgid "identifier \"%s\" is a special operator name in C++"
+msgstr "la identiganto \"%s\" estas speciala operator-nomo en C++"
+
+#: lex.c:1334
+msgid "raw string delimiter longer than 16 characters"
+msgstr "kruda ĉen-apartigilo pli longas ol 16 signoj"
+
+#: lex.c:1337
+#, c-format
+msgid "invalid character '%c' in raw string delimiter"
+msgstr "malvalida signo '%c' en kruda ĉen-apartigilo"
+
+#: lex.c:1460 lex.c:1482
+msgid "unterminated raw string"
+msgstr "nefinigita kruda ĉeno"
+
+#: lex.c:1601
+msgid "null character(s) preserved in literal"
+msgstr "nul-signo(j) tenitaj en literaĵo"
+
+#: lex.c:1604
+#, c-format
+msgid "missing terminating %c character"
+msgstr "mankas finigantan signon %c"
+
+#: lex.c:2144
+msgid "C++ style comments are not allowed in ISO C90"
+msgstr "Komentojn laŭ la estilo de C++ ne estas permesataj en ISO C90"
+
+#: lex.c:2146
+msgid "(this will be reported only once per input file)"
+msgstr "(tio ĉi estos raportata nur po unu foje por ĉiu enigdosiero)"
+
+#: lex.c:2151
+msgid "multi-line comment"
+msgstr "plurlinia komento"
+
+#: lex.c:2471
+#, c-format
+msgid "unspellable token %s"
+msgstr "neliterumebla ĵetono %s"
+
+#: macro.c:188
+#, c-format
+msgid "macro \"%s\" is not used"
+msgstr "makroo \"%s\" ne estas uzata"
+
+#: macro.c:226 macro.c:423
+#, c-format
+msgid "invalid built-in macro \"%s\""
+msgstr "malvalida enkonstruita makroo \"%s\""
+
+#: macro.c:260
+msgid "could not determine file timestamp"
+msgstr "ne eblis determini la dosieran tempomarkon"
+
+#: macro.c:358
+msgid "could not determine date and time"
+msgstr "ne eblis determini la daton kaj horon"
+
+#: macro.c:374
+msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+msgstr "__COUNTER__ estas etendigata interne de instrukcio per -fdirectives-only"
+
+#: macro.c:532
+msgid "invalid string literal, ignoring final '\\'"
+msgstr "malvalida ĉena literaĵo, ni preterpasas finan '\\'"
+
+#: macro.c:592
+#, c-format
+msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+msgstr "algluo de \"%s\" kaj \"%s\" ne rezultas en valida antaŭproceza ĵetono"
+
+#: macro.c:682
+msgid "ISO C99 requires rest arguments to be used"
+msgstr "ISO C99 postulas ke restantaj argumentoj estu uzataj"
+
+#: macro.c:687
+#, c-format
+msgid "macro \"%s\" requires %u arguments, but only %u given"
+msgstr "la makroo \"%s\" postulas %u argumentojn, sed nur %u estis indikataj"
+
+#: macro.c:692
+#, c-format
+msgid "macro \"%s\" passed %u arguments, but takes just %u"
+msgstr "la makroo \"%s\" pasis %u argumentojn, sed ĝi prenas nur %u"
+
+#: macro.c:886 traditional.c:681
+#, c-format
+msgid "unterminated argument list invoking macro \"%s\""
+msgstr "nefinigita argumentlisto alvokanta la makroon \"%s\""
+
+#: macro.c:1026
+#, c-format
+msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+msgstr "funkci-simila makroo \"%s\" devas esti uzata kun argumentoj laŭ tradicia C"
+
+#: macro.c:1694
+#, c-format
+msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90 and ISO C++98"
+msgstr "alvoko de makroo %s, argumento %d: malplenaj makro-argumentoj estas nedifinitaj en ISO C90 kaj ISO C++98"
+
+#: macro.c:2596
+#, c-format
+msgid "duplicate macro parameter \"%s\""
+msgstr "duobligata makro-parametro \"%s\""
+
+#: macro.c:2642
+#, c-format
+msgid "\"%s\" may not appear in macro parameter list"
+msgstr "\"%s\" ne povas aperi en makroa parametro-listo"
+
+#: macro.c:2650
+msgid "macro parameters must be comma-separated"
+msgstr "makro-parametroj devas esti apartitaj per komoj"
+
+#: macro.c:2667
+msgid "parameter name missing"
+msgstr "mankas parametra nomo"
+
+#: macro.c:2685
+msgid "anonymous variadic macros were introduced in C99"
+msgstr "sennomaj variebl-argumentaj makrooj estis enkondukataj en C99"
+
+#: macro.c:2690
+msgid "ISO C does not permit named variadic macros"
+msgstr "ISO C ne permesas nomitajn variebl-argumentajn makroojn"
+
+#: macro.c:2699
+msgid "missing ')' in macro parameter list"
+msgstr "mankas ')' en makroa parametro-listo"
+
+#: macro.c:2748
+msgid "'##' cannot appear at either end of a macro expansion"
+msgstr "'##' ne povas aperi ĉe iu ajn fino de makroa etendigo"
+
+#: macro.c:2783
+msgid "ISO C99 requires whitespace after the macro name"
+msgstr "ISO C99 postulas blankspacon post la makroa nomo"
+
+#: macro.c:2807
+msgid "missing whitespace after the macro name"
+msgstr "mankas blankspacon post la makroa nomo"
+
+#: macro.c:2841
+msgid "'#' is not followed by a macro parameter"
+msgstr "'#' ne estas sekvata de makroa parametro"
+
+#: macro.c:2999
+#, c-format
+msgid "\"%s\" redefined"
+msgstr "\"%s\" estas redifinita"
+
+#: macro.c:3005
+msgid "this is the location of the previous definition"
+msgstr "tiu ĉi estas la loko de la antaŭa difino"
+
+#: macro.c:3066
+#, c-format
+msgid "macro argument \"%s\" would be stringified in traditional C"
+msgstr "makroa argumento \"%s\" devus esti ĉenigita laŭ tradicia C"
+
+#: macro.c:3093
+#, c-format
+msgid "invalid hash type %d in cpp_macro_definition"
+msgstr "malvalida haketa tipo %d en cpp_macro_definition"
+
+#: pch.c:88 pch.c:336 pch.c:348 pch.c:366 pch.c:372 pch.c:381 pch.c:388
+msgid "while writing precompiled header"
+msgstr "dum skribo de antaŭkompilita kapo"
+
+#: pch.c:608
+#, c-format
+msgid "%s: not used because `%.*s' is poisoned"
+msgstr "%s: ne uzata ĉar '%.*s' estas venenita"
+
+#: pch.c:630
+#, c-format
+msgid "%s: not used because `%.*s' not defined"
+msgstr "%s: ne uzata ĉar '%.*s' ne estas difinita"
+
+#: pch.c:642
+#, c-format
+msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
+msgstr "%s: ne uzata ĉar '%.*s' estas difinita kiel '%s', ne '%.*s'"
+
+#: pch.c:683
+#, c-format
+msgid "%s: not used because `%s' is defined"
+msgstr "%s: ne uzata ĉar '%s' estas difinita"
+
+#: pch.c:703
+#, c-format
+msgid "%s: not used because `__COUNTER__' is invalid"
+msgstr "%s: ne uzata ĉar '__COUNTER__' estas malvalida"
+
+#: pch.c:712 pch.c:888
+msgid "while reading precompiled header"
+msgstr "dum lego de antaŭkompilita kapo"
+
+#: traditional.c:751
+#, c-format
+msgid "detected recursion whilst expanding macro \"%s\""
+msgstr "estis detektata rekursigo dum etendigo de la makroo \"%s\""
+
+#: traditional.c:969
+msgid "syntax error in macro parameter list"
+msgstr "sintaksa eraro en makroa parametro-listo"
index 4fa1c37..226f45a 100644 (file)
Binary files a/libcpp/po/sv.gmo and b/libcpp/po/sv.gmo differ
index 30fb059..f1c717c 100644 (file)
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cpplib 4.7-b20120128\n"
+"Project-Id-Version: cpplib 4.7.2\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 "POT-Creation-Date: 2012-01-27 16:12+0000\n"
-"PO-Revision-Date: 2012-01-30 12:11+0100\n"
+"PO-Revision-Date: 2012-09-26 23:17+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
index c017f4d..a43184e 100644 (file)
Binary files a/libcpp/po/vi.gmo and b/libcpp/po/vi.gmo differ
index d393636..7440b0b 100644 (file)
@@ -6,21 +6,19 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: cpplib-4.7.0\n"
+"Project-Id-Version: cpplib-4.7.2\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 "POT-Creation-Date: 2012-01-27 16:12+0000\n"
-"PO-Revision-Date: 2012-04-18 07:46+0700\n"
+"PO-Revision-Date: 2012-09-25 07:45+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\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.8\n"
-"X-Poedit-Language: Vietnamese\n"
-"X-Poedit-Country: VIET NAM\n"
-"X-Poedit-SourceCharset: utf-8\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 
 #: charset.c:674
 #, c-format
@@ -62,11 +60,11 @@ msgstr "tên ký tự chung là hợp lệ chỉ trong ngôn ngữ C++ và C99"
 #: charset.c:997
 #, 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"
+msgstr "`\\%c' có nghĩa khác trong ngôn ngữ C truyền thống"
 
 #: charset.c:1006
 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"
+msgstr "Trong `_cpp_valid_ucn' nhưng mà không phải lả một UCN"
 
 #: charset.c:1031
 #, c-format
@@ -80,7 +78,7 @@ msgstr "%.*s không phải là ký tự chung hợp lệ"
 
 #: charset.c:1056 lex.c:1052
 msgid "'$' in identifier or number"
-msgstr "gặp « $ » trong bộ nhận hiện hay con số"
+msgstr "gặp `$' trong bộ nhận hiện hay con số"
 
 #: charset.c:1066
 #, c-format
@@ -102,11 +100,11 @@ msgstr "đang chuyển đổi UCN sang bộ ký tự thi hành"
 
 #: charset.c:1178
 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"
+msgstr "`\\x' có nghĩa khác trong ngôn ngữ C truyền thống"
 
 #: charset.c:1195
 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"
+msgstr "\\x được dùng mà không có chữ số thập lục theo sau"
 
 #: charset.c:1202
 msgid "hex escape sequence out of range"
@@ -118,12 +116,12 @@ msgstr "dãy thoát bát phân ở ngoài phạm vi"
 
 #: charset.c:1306
 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"
+msgstr "`\\a' có nghĩa khác trong ngôn ngữ C truyền thống"
 
 #: charset.c:1313
 #, c-format
 msgid "non-ISO-standard escape sequence, '\\%c'"
-msgstr "dãy thoát khác chuẩn ISO: « \\%c »"
+msgstr "dãy thoát khác chuẩn ISO: `\\%c'"
 
 #: charset.c:1321
 #, c-format
@@ -133,7 +131,7 @@ msgstr "không rõ dãy thoát: '\\%c'"
 #: charset.c:1329
 #, c-format
 msgid "unknown escape sequence: '\\%s'"
-msgstr "không biết dãy thoát « \\%s »"
+msgstr "không biết dãy thoát `\\%s'"
 
 #: charset.c:1336
 msgid "converting escape sequence to execution character set"
@@ -200,12 +198,12 @@ msgstr "chỉ thị tiền xử lý không hợp lệ #%s"
 
 #: directives.c:550
 msgid "\"defined\" cannot be used as a macro name"
-msgstr "không thể dùng « defined » (đã định nghĩa) như là tên vĩ lệnh"
+msgstr "không thể dùng `defined' (đã định nghĩa) như là tên vĩ lệnh"
 
 #: directives.c:556
 #, c-format
 msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
-msgstr "không thể dùng « %s » như là tên vĩ lệnh vì nó là toán tử trong ngôn ngữ C++"
+msgstr "không thể dùng `%s' như là tên vĩ lệnh vì nó là toán tử trong ngôn ngữ C++"
 
 #: directives.c:559
 #, c-format
@@ -214,21 +212,21 @@ msgstr "chỉ thị #%s không chứa tên vĩ lệnh"
 
 #: directives.c:562
 msgid "macro names must be identifiers"
-msgstr "mọi tên vĩ lệnh phải là bộ nhận diện"
+msgstr "mọi tên vĩ lệnh phải là một định danh"
 
 #: directives.c:611
 #, c-format
 msgid "undefining \"%s\""
-msgstr "đang hủy định nghĩa « %s »"
+msgstr "đang hủy định nghĩa `%s'"
 
 #: directives.c:666
 msgid "missing terminating > character"
-msgstr "thiếu ký tự « > » chấm dứt"
+msgstr "thiếu ký tự `>' chấm dứt"
 
 #: directives.c:725
 #, c-format
 msgid "#%s expects \"FILENAME\" or <FILENAME>"
-msgstr "#%s ngờ \"TÊN_TẬP_TIN\" hoặc <TÊN_TẬP_TIN>"
+msgstr "#%s cần \"TÊN_TẬP_TIN\" hoặc <TÊN_TẬP_TIN>"
 
 #: directives.c:771
 #, c-format
@@ -237,16 +235,16 @@ msgstr "#%s chứa tên tập tin trống"
 
 #: directives.c:781
 msgid "#include nested too deeply"
-msgstr "« #include » (bao gồm) lồng nhau quá sâu"
+msgstr "`#include' (bao gồm) lồng nhau quá sâu"
 
 #: directives.c:822
 msgid "#include_next in primary source file"
-msgstr "gặp « #include_next » (bao gồm kế tiếp) nằm trong tập tin nguồn chính"
+msgstr "gặp `#include_next' (bao gồm kế tiếp) nằm trong tập tin nguồn chính"
 
 #: directives.c:848
 #, c-format
 msgid "invalid flag \"%s\" in line directive"
-msgstr "gặp cờ không hợp lệ « %s »  nằm trong chỉ thị dòng"
+msgstr "gặp cờ không hợp lệ `%s' nằm trong chỉ thị dòng"
 
 #: directives.c:908
 msgid "unexpected end of file after #line"
@@ -255,7 +253,7 @@ msgstr "gặp kết thúc tập tin bất thường đằng sau #line"
 #: directives.c:911
 #, 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"
+msgstr "`%s' nằm sau `#line' (dòng) không phải là số nguyên dương"
 
 #: directives.c:917 directives.c:919
 msgid "line number out of range"
@@ -264,12 +262,12 @@ msgstr "số hiệu dòng ở ngoài phạm vi"
 #: directives.c:932 directives.c:1012
 #, c-format
 msgid "\"%s\" is not a valid filename"
-msgstr "« %s » không phải là tên tập tin hợp lệ"
+msgstr "`%s' không phải là tên tập tin hợp lệ"
 
 #: directives.c:972
 #, 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"
+msgstr "`%s' nằm sau `#' không phải là số nguyên dương"
 
 #: directives.c:1067 directives.c:1069 directives.c:1071
 #, c-format
@@ -284,27 +282,27 @@ msgstr "chỉ thị #%s không hợp lệ"
 #: directives.c:1158
 #, 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 "
+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:1167
 #, 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"
+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:1185
 #, 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."
+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:1188
 #, c-format
 msgid "#pragma %s %s is already registered"
-msgstr "« #pragma %s %s » đã được đăng ký"
+msgstr "`#pragma %s %s' đã được đăng ký"
 
 #: directives.c:1191
 #, c-format
 msgid "#pragma %s is already registered"
-msgstr "« #pragma %s » đã được đăng ký"
+msgstr "`#pragma %s' đã được đăng ký"
 
 #: directives.c:1221
 msgid "registering pragma with NULL handler"
@@ -312,7 +310,7 @@ msgstr "việc đăng ký lệnh mã nguồn điều khiển trình biên dịch
 
 #: directives.c:1462
 msgid "#pragma once in main file"
-msgstr "Có « #pragma » một lần trong tập tin chính"
+msgstr "Có `#pragma' một lần trong tập tin chính"
 
 #: directives.c:1485
 msgid "invalid #pragma push_macro directive"
@@ -324,16 +322,16 @@ msgstr "gặp chỉ thị #pragma pop_macro sai"
 
 #: directives.c:1595
 msgid "invalid #pragma GCC poison directive"
-msgstr "gặp chỉ thị vô hiệu hóa (poison) GCC « #pragma » không hợp lệ"
+msgstr "gặp chỉ thị vô hiệu hóa (poison) GCC `#pragma' không hợp lệ"
 
 #: directives.c:1604
 #, c-format
 msgid "poisoning existing macro \"%s\""
-msgstr "đang vô hiệu hóa vĩ lệnh tồn tại « %s »"
+msgstr "đang vô hiệu hóa vĩ lệnh tồn tại `%s'"
 
 #: directives.c:1623
 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"
+msgstr "`#pragma system_header' (đầu trang hệ thống) bị bỏ qua ở ngoài tập tin bao gồm"
 
 #: directives.c:1648
 #, c-format
@@ -347,7 +345,7 @@ msgstr "tập tin hiện thời là cũ hơn %s"
 
 #: directives.c:1837
 msgid "_Pragma takes a parenthesized string literal"
-msgstr "« _Pragma » nhận một hằng chuỗi được đặt trong ngoặc đơn"
+msgstr "`_Pragma' nhận một hằng chuỗi được đặt trong ngoặc đơn"
 
 #: directives.c:1958
 msgid "#else without #if"
@@ -375,11 +373,11 @@ msgstr "#endif (thôi nếu) không có #if (nếu)"
 
 #: directives.c:2114
 msgid "missing '(' after predicate"
-msgstr "thiếu « ( » nằm sau vị ngữ"
+msgstr "thiếu `(' nằm sau vị ngữ"
 
 #: directives.c:2129
 msgid "missing ')' to complete answer"
-msgstr "thiếu « ) » để xong trả lời"
+msgstr "thiếu `)' để xong trả lời"
 
 #: directives.c:2149
 msgid "predicate's answer is empty"
@@ -396,7 +394,7 @@ msgstr "vị ngữ phải là bộ nhận diện"
 #: directives.c:2265
 #, c-format
 msgid "\"%s\" re-asserted"
-msgstr "« %s » được khẳng định lại"
+msgstr "`%s' được khẳng định lại"
 
 #: directives.c:2556
 #, c-format
@@ -427,42 +425,42 @@ msgstr "hằng định điểm là phần mở rộng GCC"
 #: expr.c:466
 #, c-format
 msgid "invalid digit \"%c\" in binary constant"
-msgstr "gặp chữ số không hợp lệ « %c » trong hằng nhị phân"
+msgstr "gặp chữ số không hợp lệ `%c' trong hằng nhị phân"
 
 #: expr.c:468
 #, c-format
 msgid "invalid digit \"%c\" in octal constant"
-msgstr "gặp chữ số không hợp lệ « %c » trong hằng bát phân"
+msgstr "gặp chữ số không hợp lệ `%c' trong hằng bát phân"
 
 #: expr.c:476
 msgid "invalid prefix \"0b\" for floating constant"
-msgstr "gặp tiền tố không hợp lệ « 0b » cho hằng trôi nổi"
+msgstr "gặp tiền tố không hợp lệ `0b' cho hằng dấu chấm động"
 
 #: expr.c:481
 msgid "no digits in hexadecimal floating constant"
-msgstr "hằng trôi nổi thập lục không chứa chữ số"
+msgstr "hằng dấu chấm động thập lục không chứa chữ số"
 
 #: expr.c:485
 msgid "use of C99 hexadecimal floating constant"
-msgstr "dùng hằng trôi nổi thập lục C99"
+msgstr "dùng hằng dấu chấm động thập lục C99"
 
 #: expr.c:494
 msgid "exponent has no digits"
-msgstr "số mũ không co chữ số nào"
+msgstr "số mũ không có chữ số nào"
 
 #: expr.c:501
 msgid "hexadecimal floating constants require an exponent"
-msgstr "mỗi hằng trôi nổi thập lục cần đến một số mũ"
+msgstr "mỗi hằng dấu chấm động thập lục cần đến một số mũ"
 
 #: expr.c:515
 #, c-format
 msgid "invalid suffix \"%.*s\" on floating constant"
-msgstr "gặp hậu tố không hợp lệ « %.*s »  nằm trên hằng trôi nổi"
+msgstr "gặp hậu tố không hợp lệ `%.*s'  nằm trên hằng dấu chấm động"
 
 #: expr.c:526 expr.c:585
 #, c-format
 msgid "traditional C rejects the \"%.*s\" suffix"
-msgstr "ngôn ngữ C truyền thống từ chối hậu tố « %.*s »"
+msgstr "ngôn ngữ C truyền thống từ chối hậu tố `%.*s'"
 
 #: expr.c:534
 msgid "suffix for double constant is a GCC extension"
@@ -471,16 +469,16 @@ msgstr "hậu tố cho hằng số đôi là một phần mở rộng GCC"
 #: expr.c:540
 #, c-format
 msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
-msgstr "gặp hậu tố không hợp lệ « %.*s »  có hằng trôi nổi thập lục"
+msgstr "gặp hậu tố không hợp lệ `%.*s'  có hằng dấu chấm động thập lục"
 
 #: expr.c:551
 msgid "decimal float constants are a GCC extension"
-msgstr "hằng trôi nổi thập lục là phần mở rộng GCC"
+msgstr "hằng dấu chấm động thập lục là phần mở rộng GCC"
 
 #: expr.c:569
 #, c-format
 msgid "invalid suffix \"%.*s\" on integer constant"
-msgstr "gặp hậu tố không hợp lệ « %.*s » nằm trên hằng số nguyên"
+msgstr "gặp hậu tố không hợp lệ `%.*s' nằm trên hằng số nguyên"
 
 #: expr.c:593
 msgid "use of C++0x long long integer constant"
@@ -508,20 +506,20 @@ msgstr "hằng số nguyên quá lớn thì không có dấu"
 
 #: expr.c:830
 msgid "missing ')' after \"defined\""
-msgstr "thiếu « ) » nằm sau « defined » (đã định nghĩa)"
+msgstr "thiếu `)' nằm sau `defined' (đã định nghĩa)"
 
 #: expr.c:837
 msgid "operator \"defined\" requires an identifier"
-msgstr "toán tử « defined » (đã định nghĩa) cần đến bộ nhận diện"
+msgstr "toán tử `defined' (đã định nghĩa) cần đến bộ nhận diện"
 
 #: expr.c:845
 #, c-format
 msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
-msgstr "(« %s » là một hiệu bài thay thế cho « %s » trong ngôn ngữ C++)"
+msgstr "(`%s' là một hiệu bài thay thế cho `%s' trong ngôn ngữ C++)"
 
 #: expr.c:855
 msgid "this use of \"defined\" may not be portable"
-msgstr "khả năng dùng « defined » (đã định nghĩa) có lẽ không thể mạng theo"
+msgstr "khả năng dùng `defined' (đã định nghĩa) có lẽ không thể mạng theo"
 
 #: expr.c:914
 msgid "user-defined literal in preprocessor expression"
@@ -529,7 +527,7 @@ msgstr "kiểu do người dùng định nghĩa trong biểu thức tiền xử
 
 #: expr.c:919
 msgid "floating constant in preprocessor expression"
-msgstr "gặp hằng trôi nổi nằm trong biểu thức tiền xử lý"
+msgstr "gặp hằng dấu chấm động nằm trong biểu thức tiền xử lý"
 
 #: expr.c:925
 msgid "imaginary number in preprocessor expression"
@@ -538,7 +536,7 @@ msgstr "gặp số ảo nằm trong biểu thức tiền xử lý"
 #: expr.c:972
 #, c-format
 msgid "\"%s\" is not defined"
-msgstr "chưa định nghĩa « %s »"
+msgstr "chưa định nghĩa `%s'"
 
 #: expr.c:984
 msgid "assertions are a GCC extension"
@@ -551,35 +549,35 @@ msgstr "khẳng định là một phần mở rộng GCC bị phản đối"
 #: expr.c:1120 expr.c:1149
 #, c-format
 msgid "missing binary operator before token \"%s\""
-msgstr "thiếu toán tử nhị phân nằm trước thẻ bài « %s »"
+msgstr "thiếu toán tử nhị phân nằm trước thẻ bài `%s'"
 
 #: expr.c:1140
 #, c-format
 msgid "token \"%s\" is not valid in preprocessor expressions"
-msgstr "thẻ bài « %s » không hợp lệ trong biểu thức tiền xử lý"
+msgstr "thẻ bài `%s' không hợp lệ trong biểu thức tiền xử lý"
 
 #: expr.c:1157
 msgid "missing expression between '(' and ')'"
-msgstr "thiếu biểu thức nằm giữa « ( » và « ) »"
+msgstr "thiếu biểu thức nằm giữa `(' và `)'"
 
 #: expr.c:1160
 #, c-format
 msgid "%s with no expression"
-msgstr "%s không có biểu thức"
+msgstr "%s mà không có biểu thức"
 
 #: expr.c:1163
 #, c-format
 msgid "operator '%s' has no right operand"
-msgstr "toán tử « %s » không có tác tử bên phải"
+msgstr "toán tử `%s' không có toán hạng bên phải"
 
 #: expr.c:1168
 #, c-format
 msgid "operator '%s' has no left operand"
-msgstr "toán tử « %s » không có tác từ bên trái"
+msgstr "toán tử `%s' không có tác từ bên trái"
 
 #: expr.c:1194
 msgid " ':' without preceding '?'"
-msgstr " Dấu hai chấm « : » không có dấu hỏi « ? » đi trước"
+msgstr " Dấu hai chấm `:' mà không có dấu hỏi `?' đi trước"
 
 #: expr.c:1222
 #, c-format
@@ -589,15 +587,15 @@ msgstr "có đống không cân bằng trong %s"
 #: expr.c:1242
 #, c-format
 msgid "impossible operator '%u'"
-msgstr "toán từ không thể « %u »"
+msgstr "toán từ không thể `%u'"
 
 #: expr.c:1343
 msgid "missing ')' in expression"
-msgstr "thiếu « ) » nằm trong biểu thức"
+msgstr "thiếu `)' trong biểu thức"
 
 #: expr.c:1372
 msgid "'?' without following ':'"
-msgstr "Dấu hỏi « ? » không có dấu hai chấm « : » đi sau"
+msgstr "Dấu hỏi `?' không có dấu hai chấm `:' đi sau"
 
 #: expr.c:1382
 msgid "integer overflow in preprocessor expression"
@@ -605,25 +603,25 @@ msgstr "tràn số nguyên trong biểu thức tiền xử lý"
 
 #: expr.c:1387
 msgid "missing '(' in expression"
-msgstr "thiếu « ( » nằm trong biểu thức"
+msgstr "thiếu `(' trong biểu thức"
 
 #: expr.c:1419
 #, c-format
 msgid "the left operand of \"%s\" changes sign when promoted"
-msgstr "tác tử bên trái của « %s » thay đổi dấu (dương/âm) khi được tăng cấp"
+msgstr "toán hạng bên trái của `%s' thay đổi dấu (dương/âm) khi được tăng cấp"
 
 #: expr.c:1424
 #, c-format
 msgid "the right operand of \"%s\" changes sign when promoted"
-msgstr "tác tử bên phai của « %s » thay đổi dấu (dương/âm) khi đươc tăng cấp"
+msgstr "toán hạng bên phải của `%s' thay đổi dấu (dương/âm) khi đươc tăng cấp"
 
 #: expr.c:1683
 msgid "traditional C rejects the unary plus operator"
-msgstr "ngôn ngữ C truyền thống từ chối toán tử cộng chỉ có một tác tử"
+msgstr "ngôn ngữ C truyền thống từ chối toán tử cộng chỉ có một toán hạng"
 
 #: expr.c:1766
 msgid "comma operator in operand of #if"
-msgstr "toán tử dấu phẩy nằm trong tác tử của #if (nếu)"
+msgstr "toán tử dấu phẩy nằm trong toán hạng của #if (nếu)"
 
 #: expr.c:1902
 msgid "division by zero in #if"
@@ -631,7 +629,7 @@ msgstr "chia số không trong #if (nếu)"
 
 #: files.c:463
 msgid "NULL directory in find_file"
-msgstr "thư mục RỖNG trong « find_file »  (tìm tập tin)"
+msgstr "thư mục RỖNG trong `find_file'  (tìm tập tin)"
 
 #: files.c:500
 msgid "one or more PCH files were found, but they were invalid"
@@ -639,7 +637,7 @@ msgstr "tìm thấy một hay nhiều tập tin PCH, nhưng chúng không hợp
 
 #: files.c:503
 msgid "use -Winvalid-pch for more information"
-msgstr "hãy thử lệnh « -Winvalid-pch » để tìm thấy thông tin thêm"
+msgstr "hãy thử lệnh `-Winvalid-pch' để tìm thấy thông tin thêm"
 
 #: files.c:594
 #, c-format
@@ -654,12 +652,12 @@ msgstr "%s quá lớn"
 #: files.c:646
 #, c-format
 msgid "%s is shorter than expected"
-msgstr "ngờ %s dài hơn"
+msgstr "%s ngắn hơn mong đợi"
 
 #: files.c:881
 #, 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"
+msgstr "không có đường dẫn bao gồm trong đó có thể tìm kiếm %s"
 
 #: files.c:1305
 msgid "Multiple include guards may be useful for:\n"
@@ -667,7 +665,7 @@ msgstr "Nhiều điều bảo vệ bao gồm có lẽ hiệu ích cho :\n"
 
 #: init.c:512
 msgid "cppchar_t must be an unsigned type"
-msgstr "« cppchar_t » phải là kiểu không có dấu dương/âm"
+msgstr "`cppchar_t' phải là kiểu không dấu"
 
 #: init.c:516
 #, c-format
@@ -676,19 +674,19 @@ msgstr "toán thuật của trình tiền xử lý có độ chính xác tối 
 
 #: init.c:523
 msgid "CPP arithmetic must be at least as precise as a target int"
-msgstr "toán thuật CPP phải là ít nhất cùng chính xác với « int » đích"
+msgstr "toán thuật CPP phải là ít nhất cùng chính xác với `int' đích"
 
 #: init.c:526
 msgid "target char is less than 8 bits wide"
-msgstr "« char » đích có độ rộng ít hơn 8 bit"
+msgstr "`char' đích có độ rộng ít hơn 8 bit"
 
 #: init.c:530
 msgid "target wchar_t is narrower than target char"
-msgstr "« wchar_t » đích có độ rộng ít hơn « char » đích"
+msgstr "`wchar_t' đích có độ rộng ít hơn `char' đích"
 
 #: init.c:534
 msgid "target int is narrower than target char"
-msgstr "« int » đích có độ rộng ít hơn « char » đích"
+msgstr "`int' đích có độ rộng ít hơn `char' đích"
 
 #: init.c:539
 msgid "CPP half-integer narrower than CPP character"
@@ -710,16 +708,16 @@ msgstr "gặp xuyệc ngược-ký tự dòng mới tại kết thúc của tậ
 #: lex.c:867
 #, c-format
 msgid "trigraph ??%c converted to %c"
-msgstr "chữ ba « ??%c » đã được chuyển đổi thành « %c »"
+msgstr "chữ ba `??%c' đã được chuyển đổi thành `%c'"
 
 #: lex.c:875
 #, c-format
 msgid "trigraph ??%c ignored, use -trigraphs to enable"
-msgstr "chữ ba « ??%c » bị bỏ qua nên hãy sư dụng tùy chon « -trigraphs » (chữ ba) để hiệu lực nó"
+msgstr "chữ ba `??%c' bị bỏ qua nên hãy sư dụng tùy chon `-trigraphs' (chữ ba) để hiệu lực nó"
 
 #: lex.c:924
 msgid "\"/*\" within comment"
-msgstr "gặp « /* » nằm trong chú thích"
+msgstr "gặp `/*' nằm trong chú thích"
 
 #: lex.c:982
 #, c-format
@@ -728,31 +726,31 @@ msgstr "gặp %s nằm trong chỉ thị tiền xử lý"
 
 #: lex.c:991
 msgid "null character(s) ignored"
-msgstr "(mọi) ký tự rỗng bị bỏ qua"
+msgstr "(mọi) ký tự null bị bỏ qua"
 
 #: lex.c:1028
 #, c-format
 msgid "`%.*s' is not in NFKC"
-msgstr "« %.*s »  không phải nằm trong NFKC"
+msgstr "`%.*s' không phải nằm trong NFKC"
 
 #: lex.c:1031
 #, c-format
 msgid "`%.*s' is not in NFC"
-msgstr "« %.*s » không phải nằm trong NFC"
+msgstr "`%.*s' không nằm trong NFC"
 
 #: lex.c:1099 lex.c:1176
 #, c-format
 msgid "attempt to use poisoned \"%s\""
-msgstr "đã cố gắng dùng « %s » bị vô hiệu hóa"
+msgstr "đã cố gắng dùng `%s' bị vô hiệu hóa"
 
 #: lex.c:1107 lex.c:1184
 msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
-msgstr "« __VA_ARGS__ » chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C99"
+msgstr "`__VA_ARGS__' chỉ có thể xuất hiện trong sự mở rộng của vĩ lệnh biến thiên C99"
 
 #: lex.c:1113 lex.c:1190
 #, c-format
 msgid "identifier \"%s\" is a special operator name in C++"
-msgstr "dấu nhận diện « %s » là một tên toán tử đặc biệt trong C++"
+msgstr "định danh `%s' là một tên toán tử đặc biệt trong C++"
 
 #: lex.c:1334
 msgid "raw string delimiter longer than 16 characters"
@@ -761,7 +759,7 @@ msgstr "gặp dấu giới hạn chuỗi thô dài hơn 16 ký tự"
 #: lex.c:1337
 #, c-format
 msgid "invalid character '%c' in raw string delimiter"
-msgstr "gặp ký tự sai « %c » trong dấu giới hạn chuỗi thô"
+msgstr "gặp ký tự sai `%c' trong dấu giới hạn chuỗi thô"
 
 #: lex.c:1460 lex.c:1482
 msgid "unterminated raw string"
@@ -769,12 +767,12 @@ msgstr "chuỗi thô chưa chấm dứt"
 
 #: lex.c:1601
 msgid "null character(s) preserved in literal"
-msgstr "(các) ký tự rỗng được giữ lại trong điều nghĩa chữ"
+msgstr "(các) ký tự rỗng được giữ lại trong chuỗi văn học"
 
 #: lex.c:1604
 #, c-format
 msgid "missing terminating %c character"
-msgstr "thiếu ký tự « %c » chấm dứt"
+msgstr "thiếu ký tự `%c' chấm dứt"
 
 #: lex.c:2144
 msgid "C++ style comments are not allowed in ISO C90"
@@ -796,12 +794,12 @@ msgstr "gặp thẻ bài không thể chính tả %s"
 #: macro.c:188
 #, c-format
 msgid "macro \"%s\" is not used"
-msgstr "bộ đối số « %s » không được dùng"
+msgstr "vĩ lệnh `%s' không được dùng"
 
 #: macro.c:226 macro.c:423
 #, c-format
 msgid "invalid built-in macro \"%s\""
-msgstr "vĩ lệnh có sẳn không hợp lệ « %s »"
+msgstr "vĩ lệnh dựng-sẵn không hợp lệ `%s'"
 
 #: macro.c:260
 msgid "could not determine file timestamp"
@@ -813,16 +811,16 @@ msgstr "không thể quyết định ngày và giờ"
 
 #: macro.c:374
 msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
-msgstr "__COUNTER__ đã mở rộng bên trong chỉ thị với « -fdirectives-only »"
+msgstr "__COUNTER__ đã mở rộng bên trong chỉ thị với `-fdirectives-only'"
 
 #: macro.c:532
 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"
+msgstr "chuỗi văn học chuỗi không hợp lệ nên bỏ qua `\\' cuối cùng"
 
 #: macro.c:592
 #, 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 thẻ bài tiền xử lý hợp lệ"
+msgstr "việc dán `%s' và `%s' không đưa ra thẻ bài tiền xử lý hợp lệ"
 
 #: macro.c:682
 msgid "ISO C99 requires rest arguments to be used"
@@ -831,22 +829,22 @@ msgstr "ISO C99 cần đến đối số còn lại trong khối được dùng"
 #: macro.c:687
 #, 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"
+msgstr "vĩ lệnh `%s' cần đến %u đối số, nhưng chỉ đưa ra %u thôi"
 
 #: macro.c:692
 #, 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"
+msgstr "vĩ lệnh `%s' đã gửi %u đối số, nhưng nhận chỉ %u thôi"
 
 #: macro.c:886 traditional.c:681
 #, 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 »"
+msgstr "danh sách đối số không được chấm dứt có gọi vĩ lệnh `%s'"
 
 #: macro.c:1026
 #, 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"
+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:1694
 #, c-format
@@ -856,12 +854,12 @@ msgstr "đang gọi vĩ lệnh %s đối số %d: đối số vĩ lệnh còn r
 #: macro.c:2596
 #, c-format
 msgid "duplicate macro parameter \"%s\""
-msgstr "tham số vĩ lệnh trùng « %s »"
+msgstr "tham số vĩ lệnh trùng lặp `%s'"
 
 #: macro.c:2642
 #, 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"
+msgstr "không cho phép `%s' xuất hiện trong danh sách tham số vĩ lệnh"
 
 #: macro.c:2650
 msgid "macro parameters must be comma-separated"
@@ -881,11 +879,11 @@ msgstr "ISO C không cho phép vĩ lệnh biến thiên có tên"
 
 #: macro.c:2699
 msgid "missing ')' in macro parameter list"
-msgstr "thiếu « ) » trong danh sách tham số bộ đối số"
+msgstr "thiếu `)' trong danh sách tham số bộ đối số"
 
 #: macro.c:2748
 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"
+msgstr "không cho phép `##' nằm hoặc trước hoặc sau sự mở rộng vĩ lệnh"
 
 #: macro.c:2783
 msgid "ISO C99 requires whitespace after the macro name"
@@ -897,12 +895,12 @@ msgstr "thiếu khoảng trắng nằm sau tên vĩ lệnh"
 
 #: macro.c:2841
 msgid "'#' is not followed by a macro parameter"
-msgstr "« # » không cho phép đi theo sau một tham số vĩ lệnh"
+msgstr "`#' không cho phép đi theo sau một tham số vĩ lệnh"
 
 #: macro.c:2999
 #, c-format
 msgid "\"%s\" redefined"
-msgstr "« %s » bị định nghĩa lại"
+msgstr "`%s' bị định nghĩa lại"
 
 #: macro.c:3005
 msgid "this is the location of the previous definition"
@@ -911,12 +909,12 @@ msgstr "đây là vị trí của lời định nghĩa trước"
 #: macro.c:3066
 #, 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"
+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:3093
 #, 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 định nghĩa vĩ lệnh)"
+msgstr "gặp kiểu băm không hợp lệ %d trong `cpp_macro_definition' (lời định nghĩa vĩ lệnh)"
 
 #: pch.c:88 pch.c:336 pch.c:348 pch.c:366 pch.c:372 pch.c:381 pch.c:388
 msgid "while writing precompiled header"
@@ -925,27 +923,27 @@ msgstr "trong khi ghi đầu trang biên dịch sẵn"
 #: pch.c:608
 #, c-format
 msgid "%s: not used because `%.*s' is poisoned"
-msgstr "%s: không được dùng vì « %.*s » không còn tin cậy lại (bị dữ liệu sai thay thế)"
+msgstr "%s: không được dùng vì `%.*s' không còn tin cậy lại (bị dữ liệu sai thay thế)"
 
 #: pch.c:630
 #, c-format
 msgid "%s: not used because `%.*s' not defined"
-msgstr "%s: không được dùng vì chưa định nghĩa « %.*s »"
+msgstr "%s: không được dùng vì chưa định nghĩa `%.*s'"
 
 #: pch.c:642
 #, c-format
 msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
-msgstr "%s: không được dùng vì « %.*s » đã được định nghĩa là « %s » không phải « %.*s »"
+msgstr "%s: không được dùng vì `%.*s' đã được định nghĩa là `%s' không phải `%.*s'"
 
 #: pch.c:683
 #, c-format
 msgid "%s: not used because `%s' is defined"
-msgstr "%s: không được dùng vì « %s » đã được định nghĩa"
+msgstr "%s: không được dùng vì `%s' đã được định nghĩa"
 
 #: pch.c:703
 #, c-format
 msgid "%s: not used because `__COUNTER__' is invalid"
-msgstr "%s: không được dùng vì « __COUNTER__ » không hợp lệ"
+msgstr "%s: không được dùng vì `__COUNTER__' không hợp lệ"
 
 #: pch.c:712 pch.c:888
 msgid "while reading precompiled header"
@@ -954,7 +952,7 @@ msgstr "trong khi đọc đầu trang biên dịch sẵn"
 #: traditional.c:751
 #, c-format
 msgid "detected recursion whilst expanding macro \"%s\""
-msgstr "đã phát hiện sự đệ qui trong khi mở rộng vĩ lệnh « %s »"
+msgstr "đã phát hiện sự đệ qui trong khi mở rộng vĩ lệnh `%s'"
 
 #: traditional.c:969
 msgid "syntax error in macro parameter list"
index 5efe055..9fb29a8 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index dd44f1e..5077968 100644 (file)
@@ -1,3 +1,16 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/43620
+       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
+       * Makefile.in: Regenerated.
+       * include/Makefile.in: Regenerated.
+       * man/Makefile.in: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 74ee537..7b438cb 100644 (file)
@@ -61,15 +61,13 @@ target_triplet = @target@
 @PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
 @PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
-       $(srcdir)/../config.guess $(srcdir)/../config.sub \
-       $(srcdir)/../depcomp $(srcdir)/../install-sh \
-       $(srcdir)/../ltmain.sh $(srcdir)/../missing \
-       $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
-       $(top_srcdir)/configure ChangeLog
+DIST_COMMON = README ChangeLog $(srcdir)/Makefile.in \
+       $(srcdir)/Makefile.am $(top_srcdir)/configure \
+       $(am__configure_deps) $(srcdir)/fficonfig.h.in \
+       $(srcdir)/../mkinstalldirs $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/asmcfi.m4 \
+       $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -201,7 +199,6 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
        $(libffi_convenience_la_SOURCES) \
        $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -218,47 +215,10 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
@@ -1187,182 +1147,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
@@ -1513,18 +1297,15 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES
        all all-am all-multi am--refresh check check-am clean \
        clean-generic clean-libtool clean-multi \
        clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
-       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
-       dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
-       distclean-compile distclean-generic distclean-hdr \
-       distclean-libtool distclean-multi distclean-tags \
-       distcleancheck distdir distuninstallcheck dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-multi install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       install-toolexeclibLTLIBRARIES installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
+       ctags-recursive distclean distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-multi distclean-tags \
+       dvi dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-multi \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip install-toolexeclibLTLIBRARIES installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic maintainer-clean-multi mostlyclean \
        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
        mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
index 5036e25..c810b85 100644 (file)
@@ -12,7 +12,7 @@ target_alias=${target_alias-$host_alias}
 
 . ${srcdir}/configure.host
 
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([no-dist])
 
 # The same as in boehm-gc and libstdc++. Have to borrow it from there.
 # We must force CC to /not/ be precious variables; otherwise
index 781b9a8..b76694b 100644 (file)
@@ -36,10 +36,11 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/asmcfi.m4 \
+       $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -54,7 +55,6 @@ CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES = ffi.h ffitarget.h
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -80,7 +80,6 @@ am__installdirs = "$(DESTDIR)$(toollibffidir)"
 HEADERS = $(toollibffi_HEADERS)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
@@ -329,37 +328,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(HEADERS)
@@ -463,17 +431,16 @@ uninstall-am: uninstall-toollibffiHEADERS
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool ctags distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip \
-       install-toollibffiHEADERS installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-       ps ps-am tags uninstall uninstall-am \
-       uninstall-toollibffiHEADERS
+       distclean-libtool distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip install-toollibffiHEADERS \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+       uninstall-am uninstall-toollibffiHEADERS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 79466b3..5af7ce4 100644 (file)
@@ -35,9 +35,10 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = man
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/asmcfi.m4 \
+       $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -52,7 +53,6 @@ CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -78,7 +78,6 @@ man3dir = $(mandir)/man3
 am__installdirs = "$(DESTDIR)$(man3dir)"
 NROFF = nroff
 MANS = $(man_MANS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
@@ -292,50 +291,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(MANS)
@@ -439,16 +394,16 @@ uninstall-man: uninstall-man3
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-man3 \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-man uninstall-man3
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man3 install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+       uninstall-man uninstall-man3
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index fae969b..ea0bdcd 100644 (file)
@@ -35,9 +35,10 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/asmcfi.m4 \
+       $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
        $(top_srcdir)/../config/multi.m4 \
        $(top_srcdir)/../config/override.m4 \
@@ -52,10 +53,8 @@ CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 DEJATOOL = $(PACKAGE)
 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
@@ -278,37 +277,6 @@ distclean-DEJAGNU:
        -l='$(DEJATOOL)'; for tool in $$l; do \
          rm -f $$tool.sum $$tool.log; \
        done
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
 check: check-am
@@ -410,8 +378,8 @@ uninstall-am:
 
 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
        clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-libtool dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 1e8640a..3aaf442 100644 (file)
@@ -1,3 +1,97 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR other/55274
+       * config/t-slibgcc-hpux (SHLIB_MAPFILES): Define.
+
+2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline:
+       2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/49880
+       * config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
+       (sdivsi3, udivsi3): Remove SH4 check and always compile these functions.
+
+2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline.
+       2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/56529
+       * config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to
+       inclusion list.
+
+2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * config.host (arm*-*-rtemself*): New.
+       (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
+       "arm*-*-rtemseabi*" to "arm*-*-rtems*".
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org
+
+       Backport from mainline.
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * config.host: Match arm*-*-linux-* for ARM Linux/GNU.
+
+2012-12-17  Matthias Klose  <doko@ubuntu.com>
+
+       * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
+       as unused.
+       (_Unwind_decode_typeinfo_ptr): Mark base as unused.
+
+2012-12-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55344
+       * config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.
+
+2012-12-04  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/55571
+       * Makefile.in (libgcc_s.so): Depend on and link with libgcc.a.
+
+2012-11-28  Richard Henderson  <rth@redhat.com>
+
+       PR libgcc/48076
+       * emutls.c (__emutls_get_address): Avoid race condition between
+       obj->loc.offset read and emutls_key initialization.
+
+2012-11-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/55175
+       * config/i386/32/sfp-machine.h: Guard exception handling and
+       rounding handling code with _SOFT_FLOAT.
+       * config/i386/64/sfp-machine.h: Ditto.
+
+2012-10-31  Joel Sherrill  <joel.sherrill@oarcorp.com>
+
+       * config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
+       as extra_parts.
+
+2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * config.host (sparc64-*-rtems*): Remove sparc/t-elf.
+
+2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
+
+2012-10-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to
+       tmake_file.
+
+2012-10-06  Mark Kettenis  <kettenis@openbsd.org>
+
+       * config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
+       * unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
+       (USE_PT_GNU_EH_FRAME): Define for OpenBSD.
+       (ElfW): Likewise.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
@@ -5,7 +99,7 @@
 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
 
        Backport from 2012-09-05 mainline r190697.
-       
+
        PR target/54461
        * config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
        configured --with-avrlibc.
index f38d5b4..e1cac49 100644 (file)
@@ -918,7 +918,7 @@ libgcc-std.ver: $(srcdir)/libgcc-std.ver.in
        sed -e 's/__PFX__/$(LIBGCC_VER_GNU_PREFIX)/g' \
            -e 's/__FIXPTPFX__/$(LIBGCC_VER_FIXEDPOINT_GNU_PREFIX)/g' < $< > $@
 
-libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts)
+libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts) libgcc.a
        # @multilib_flags@ is still needed because this may use
        # $(GCC_FOR_TARGET) and $(LIBGCC2_CFLAGS) directly.
        # @multilib_dir@ is not really necessary, but sometimes it has
@@ -926,7 +926,7 @@ libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts)
        $(mkinstalldirs) $(MULTIDIR)
        $(subst @multilib_flags@,$(CFLAGS) -B./,$(subst \
                @multilib_dir@,$(MULTIDIR),$(subst \
-               @shlib_objs@,$(objects),$(subst \
+               @shlib_objs@,$(objects) libgcc.a,$(subst \
                @shlib_base_name@,libgcc_s,$(subst \
                @shlib_map_file@,$(mapfile),$(subst \
                @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
index ef9791b..66b4724 100644 (file)
@@ -213,7 +213,7 @@ case ${host} in
   esac
   ;;
 *-*-openbsd*)
-  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic"
+  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
   case ${target_thread_file} in
     posix)
       tmake_file="$tmake_file t-openbsd-thread"
@@ -327,7 +327,7 @@ arm*-*-netbsdelf*)
 arm*-*-linux*)                 # ARM GNU/Linux with ELF
        tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
        case ${host} in
-       arm*-*-linux-*eabi)
+       arm*-*-linux-*eabi*)
          tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
          tm_file="$tm_file arm/bpabi-lib.h"
          unwind_header=config/arm/unwind-arm.h
@@ -354,11 +354,15 @@ arm*-*-ecos-elf)
        tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
        extra_parts="$extra_parts crti.o crtn.o"
        ;;
-arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
+arm*-*-rtemself*)
+       tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
+       extra_parts="$extra_parts crti.o crtn.o"
+       ;;
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
        tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
        tm_file="$tm_file arm/bpabi-lib.h"
        case ${host} in
-       arm*-*-eabi* | arm*-*-rtemseabi*)
+       arm*-*-eabi* | arm*-*-rtems*)
          tmake_file="${tmake_file} arm/t-bpabi"
          extra_parts="crtbegin.o crtend.o crti.o crtn.o"
          ;;
@@ -371,10 +375,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*)
        tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
        unwind_header=config/arm/unwind-arm.h
        ;;
-arm*-*-rtems*)
-       tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
-       extra_parts="$extra_parts crti.o crtn.o"
-       ;;
 arm*-*-elf)
        tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
        extra_parts="$extra_parts crti.o crtn.o"
@@ -693,6 +693,7 @@ m32r-*-elf*)
        ;;
 m32r-*-rtems*)
        tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
+       extra_parts="$extra_parts crtinit.o crtfini.o"
        ;;
 m32rle-*-elf*)
        tmake_file=t-fdpbit
@@ -891,7 +892,7 @@ powerpc-*-eabi*)
        extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
        ;;
 powerpc-*-rtems*)
-       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
+       tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
        extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
        ;;
 powerpc-*-linux* | powerpc64-*-linux*)
@@ -995,7 +996,10 @@ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
 sh-*-rtems*)
        tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
        extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
-               $sh_ic_extra_parts $sh_opt_extra_parts"
+               libic_invalidate_array_4-100.a \
+               libic_invalidate_array_4-200.a \
+               libic_invalidate_array_4a.a \
+               libgcc-Os-4-200.a libgcc-4-300.a"
        ;;
 sh-wrs-vxworks)
        tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
@@ -1054,7 +1058,7 @@ sparc64-*-elf*)
        extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
        ;;
 sparc64-*-rtems*)
-       tmake_file="$tmake_file sparc/t-elf t-crtfm"
+       tmake_file="$tmake_file t-crtfm"
        extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
        ;;
 sparc-wrs-vxworks)
index 8c04b3b..6c2f028 100644 (file)
@@ -22,6 +22,7 @@ a copy of the GCC Runtime Library Exception along with this program;
 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
+#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.  */
 
@@ -97,3 +98,4 @@ alpha_frob_update_context (struct _Unwind_Context *context,
          || pc[1] == 0x201f015f))      /* lda $0,NR_rt_sigreturn */
     _Unwind_SetSignalFrame (context, 1);
 }
+#endif
index 4300c8e..74f72b0 100644 (file)
@@ -39,7 +39,8 @@ extern "C" {
 #endif
   /* Decode an R_ARM_TARGET2 relocation.  */
   static inline _Unwind_Word
-  _Unwind_decode_typeinfo_ptr (_Unwind_Word base, _Unwind_Word ptr)
+  _Unwind_decode_typeinfo_ptr (_Unwind_Word base __attribute__ ((unused)),
+                               _Unwind_Word ptr)
     {
       _Unwind_Word tmp;
 
@@ -65,7 +66,9 @@ extern "C" {
     }
 
   static inline _Unwind_Reason_Code
-  __gnu_unwind_24bit (_Unwind_Context * context, _uw data, int compact)
+  __gnu_unwind_24bit (_Unwind_Context * context __attribute__ ((unused)),
+                      _uw data __attribute__ ((unused)),
+                      int compact __attribute__ ((unused)))
     {
       return _URC_FAILURE;
     }
index 1600a7f..131b2c4 100644 (file)
@@ -107,6 +107,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
     R##_c = FP_CLS_NAN;                                                \
   } while (0)
 
+#ifndef _SOFT_FLOAT
 #define FP_EX_INVALID          0x01
 #define FP_EX_DENORM           0x02
 #define FP_EX_DIVZERO          0x04
@@ -187,6 +188,7 @@ struct fenv
   } while (0)
 
 #define FP_ROUNDMODE           (_fcw & 0xc00)
+#endif
 
 #define        __LITTLE_ENDIAN 1234
 #define        __BIG_ENDIAN    4321
index 7a2a4be..f90305a 100644 (file)
@@ -49,6 +49,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
     R##_c = FP_CLS_NAN;                                                \
   } while (0)
 
+#ifndef _SOFT_FLOAT
 #define FP_EX_INVALID          0x01
 #define FP_EX_DENORM           0x02
 #define FP_EX_DIVZERO          0x04
@@ -133,6 +134,7 @@ struct fenv
   } while (0)
 
 #define FP_ROUNDMODE           (_fcw & 0xc00)
+#endif
 
 #define        __LITTLE_ENDIAN 1234
 #define        __BIG_ENDIAN    4321
index cb0421c..4d10c69 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 2f0ca16..76e14df 100644 (file)
@@ -973,7 +973,7 @@ hiset:      sts     macl,r0         ! r0 = bb*dd
 #ifdef L_sdivsi3_i4
        .title "SH DIVIDE"
 !! 4 byte integer Divide code for the Renesas SH
-#ifdef __SH4__
+#if defined (__SH4__) || defined (__SH2A__)
 !! args in r4 and r5, result in fpul, clobber dr0, dr2
 
        .global GLOBAL(sdivsi3_i4)
@@ -988,7 +988,7 @@ GLOBAL(sdivsi3_i4):
        ftrc dr0,fpul
 
        ENDFUNC(GLOBAL(sdivsi3_i4))
-#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
+#elif defined (__SH2A_SINGLE__) || defined (__SH2A_SINGLE_ONLY__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
 !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
 
 #if ! __SH5__ || __SH5__ == 32
@@ -1013,13 +1013,12 @@ GLOBAL(sdivsi3_i4):
 
        ENDFUNC(GLOBAL(sdivsi3_i4))
 #endif /* ! __SH5__ || __SH5__ == 32 */
-#endif /* ! __SH4__ */
+#endif /* ! __SH4__ || __SH2A__  */
 #endif
 
 #ifdef L_sdivsi3
 /* __SH4_SINGLE_ONLY__ keeps this part for link compatibility with
    sh2e/sh3e code.  */
-#if (! defined(__SH4__) && ! defined (__SH4_SINGLE__)) || defined (__linux__)
 !!
 !! Steve Chamberlain
 !! sac@cygnus.com
@@ -1336,13 +1335,12 @@ div0:   rts
 
        ENDFUNC(GLOBAL(sdivsi3))
 #endif /* ! __SHMEDIA__ */
-#endif /* ! __SH4__ */
 #endif
 #ifdef L_udivsi3_i4
 
        .title "SH DIVIDE"
 !! 4 byte integer Divide code for the Renesas SH
-#ifdef __SH4__
+#if defined (__SH4__) || defined (__SH2A__)
 !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
 !! and t bit
 
@@ -1384,7 +1382,7 @@ L1:
        .double 2147483648
 
        ENDFUNC(GLOBAL(udivsi3_i4))
-#elif defined (__SH5__) && ! defined (__SH4_NOFPU__)
+#elif defined (__SH5__) && ! defined (__SH4_NOFPU__) && ! defined (__SH2A_NOFPU__)
 #if ! __SH5__ || __SH5__ == 32
 !! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33
        .mode   SHmedia
@@ -1405,7 +1403,7 @@ GLOBAL(udivsi3_i4):
 
        ENDFUNC(GLOBAL(udivsi3_i4))
 #endif /* ! __SH5__ || __SH5__ == 32 */
-#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
+#elif defined (__SH2A_SINGLE__) || defined (__SH2A_SINGLE_ONLY__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
 !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
 
        .global GLOBAL(udivsi3_i4)
@@ -1460,7 +1458,6 @@ L1:
 #ifdef L_udivsi3
 /* __SH4_SINGLE_ONLY__ keeps this part for link compatibility with
    sh2e/sh3e code.  */
-#if (! defined(__SH4__) && ! defined (__SH4_SINGLE__)) || defined (__linux__)
 
 !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
        .global GLOBAL(udivsi3)
@@ -1655,7 +1652,6 @@ LOCAL(large_divisor):
 
        ENDFUNC(GLOBAL(udivsi3))
 #endif /* ! __SHMEDIA__ */
-#endif /* __SH4__ */
 #endif /* L_udivsi3 */
 
 #ifdef L_udivdi3
@@ -3255,8 +3251,8 @@ GLOBAL(div_table):
        .word   17136
        .word   16639
 
-#elif defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__)
-/* This code used shld, thus is not suitable for SH1 / SH2.  */
+#elif defined (__SH2A__) || defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__)
+/* This code uses shld, thus is not suitable for SH1 / SH2.  */
 
 /* Signed / unsigned division without use of FPU, optimized for SH4.
    Uses a lookup table for divisors in the range -128 .. +128, and
index 866457f..b71e3c3 100644 (file)
@@ -5,3 +5,4 @@ SHLIB_LDFLAGS = -Wl,+h,$(SHLIB_SONAME)
 INSTALL_SHLIB = $(INSTALL_DATA) -m 555
 
 SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
+SHLIB_MAPFILES = libgcc-std.ver
index 22ea440..f1b653b 100644 (file)
@@ -136,7 +136,7 @@ __emutls_get_address (struct __emutls_object *obj)
 #ifndef __GTHREADS
   abort ();
 #else
-  pointer offset = obj->loc.offset;
+  pointer offset = __atomic_load_n (&obj->loc.offset, __ATOMIC_ACQUIRE);
 
   if (__builtin_expect (offset == 0, 0))
     {
@@ -147,7 +147,7 @@ __emutls_get_address (struct __emutls_object *obj)
       if (offset == 0)
        {
          offset = ++emutls_size;
-         obj->loc.offset = offset;
+         __atomic_store_n (&obj->loc.offset, offset, __ATOMIC_RELEASE);
        }
       __gthread_mutex_unlock (&emutls_mutex);
     }
index f57dc8c..a048495 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "tconfig.h"
 #include "tsystem.h"
-#ifndef inhibit_libc
+#if !defined(inhibit_libc) && !defined(__OpenBSD__)
 #include <elf.h>               /* Get DT_CONFIG.  */
 #endif
 #include "coretypes.h"
 #endif
 
 #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+    && defined(__OpenBSD__)
+# define ElfW(type) Elf_##type
+# define USE_PT_GNU_EH_FRAME
+#endif
+
+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
     && defined(TARGET_DL_ITERATE_PHDR) \
     && defined(__sun__) && defined(__svr4__)
 # define USE_PT_GNU_EH_FRAME
index cfddafe..d0e034d 100644 (file)
@@ -1,3 +1,56 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-04-03  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2013-03-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56737
+       * io/format.c (parse_format): With caching, copy
+       dtp->format string.
+       (save_parsed_format): Use dtp->format directly without
+       copying.
+
+       2012-03-29  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56737
+       * io/format.c (parse_format_list): Also cache FMT_STRING.
+       (parse_format): Update call.
+
+2013-04-03  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline:
+       2013-03-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/56735
+       * io/list_read.c (nml_query): Only abort when
+       an error occured.
+       (namelist_read): Add goto instead of falling through.
+
+2013-02-21  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/30162
+       * io/open.c (test_endfile): Call stell only if size != 0.
+       * io/unix.c (raw_tell): Revert r194694.
+       (raw_size): Return size field only for regular files, otherwise 0.
+
+2012-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/30162
+       Backport from trunk
+       * io/unix.c (raw_tell):  If the lseek is done on a
+       non-seekable file, return 0.
+
+2012-10-12  Thomas König  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/54736
+       Backport from trunk
+       * runtime/environ.c (search_unit):  Correct logic
+       for binary search.
+       (mark_single):  Fix index errors.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
@@ -12,9 +65,9 @@
 
 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
 
-        PR libstdc++/52007
-        * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
-        * configure: Regenerated.
+       PR libstdc++/52007
+       * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
+       * configure: Regenerated.
 
 2012-05-12  Tobias Burnus  <burnus@net-b.de>
 
index 1711a75..c46924e 100644 (file)
@@ -150,8 +150,7 @@ save_parsed_format (st_parameter_dt *dtp)
   u->format_hash_table[hash].hashed_fmt = NULL;
 
   free (u->format_hash_table[hash].key);
-  u->format_hash_table[hash].key = get_mem (dtp->format_len);
-  memcpy (u->format_hash_table[hash].key, dtp->format, dtp->format_len);
+  u->format_hash_table[hash].key = dtp->format;
 
   u->format_hash_table[hash].key_len = dtp->format_len;
   u->format_hash_table[hash].hashed_fmt = dtp->u.p.fmt;
@@ -589,16 +588,15 @@ format_lex (format_data *fmt)
  * parenthesis node which contains the rest of the list. */
 
 static fnode *
-parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
+parse_format_list (st_parameter_dt *dtp, bool *seen_dd)
 {
   fnode *head, *tail;
   format_token t, u, t2;
   int repeat;
   format_data *fmt = dtp->u.p.fmt;
-  bool saveit, seen_data_desc = false;
+  bool seen_data_desc = false;
 
   head = tail = NULL;
-  saveit = *save_ok;
 
   /* Get the next format item */
  format_item:
@@ -615,7 +613,7 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
        }
       get_fnode (fmt, &head, &tail, FMT_LPAREN);
       tail->repeat = -2;  /* Signifies unlimited format.  */
-      tail->u.child = parse_format_list (dtp, &saveit, &seen_data_desc);
+      tail->u.child = parse_format_list (dtp, &seen_data_desc);
       if (fmt->error != NULL)
        goto finished;
       if (!seen_data_desc)
@@ -634,7 +632,7 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
        case FMT_LPAREN:
          get_fnode (fmt, &head, &tail, FMT_LPAREN);
          tail->repeat = repeat;
-         tail->u.child = parse_format_list (dtp, &saveit, &seen_data_desc);
+         tail->u.child = parse_format_list (dtp, &seen_data_desc);
          *seen_dd = seen_data_desc;
          if (fmt->error != NULL)
            goto finished;
@@ -662,7 +660,7 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
     case FMT_LPAREN:
       get_fnode (fmt, &head, &tail, FMT_LPAREN);
       tail->repeat = 1;
-      tail->u.child = parse_format_list (dtp, &saveit, &seen_data_desc);
+      tail->u.child = parse_format_list (dtp, &seen_data_desc);
       *seen_dd = seen_data_desc;
       if (fmt->error != NULL)
        goto finished;
@@ -726,8 +724,6 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
       goto between_desc;
 
     case FMT_STRING:
-      /* TODO: Find out why it is necessary to turn off format caching.  */
-      saveit = false;
       get_fnode (fmt, &head, &tail, FMT_STRING);
       tail->u.string.p = fmt->string;
       tail->u.string.length = fmt->value;
@@ -1107,8 +1103,6 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok, bool *seen_dd)
 
  finished:
 
-  *save_ok = saveit;
-  
   return head;
 }
 
@@ -1225,6 +1219,13 @@ parse_format (st_parameter_dt *dtp)
 
   /* Not found so proceed as follows.  */
 
+  if (format_cache_ok)
+    {
+      char *fmt_string = get_mem (dtp->format_len);
+      memcpy (fmt_string, dtp->format, dtp->format_len);
+      dtp->format = fmt_string;
+    }
+
   dtp->u.p.fmt = fmt = get_mem (sizeof (format_data));
   fmt->format_string = dtp->format;
   fmt->format_string_len = dtp->format_len;
@@ -1251,14 +1252,15 @@ parse_format (st_parameter_dt *dtp)
   fmt->avail++;
 
   if (format_lex (fmt) == FMT_LPAREN)
-    fmt->array.array[0].u.child = parse_format_list (dtp, &format_cache_ok,
-                                                    &seen_data_desc);
+    fmt->array.array[0].u.child = parse_format_list (dtp, &seen_data_desc);
   else
     fmt->error = "Missing initial left parenthesis in format";
 
   if (fmt->error)
     {
       format_error (dtp, NULL, fmt->error);
+      if (format_cache_ok)
+       free (dtp->format);
       free_format_hash_table (dtp->u.p.current_unit);
       return;
     }
index 11a35c9..efb43f8 100644 (file)
@@ -2355,11 +2355,11 @@ nml_query (st_parameter_dt *dtp, char c)
   index_type len;
   char * p;
 #ifdef HAVE_CRLF
-  static const index_type endlen = 3;
+  static const index_type endlen = 2;
   static const char endl[] = "\r\n";
   static const char nmlend[] = "&end\r\n";
 #else
-  static const index_type endlen = 2;
+  static const index_type endlen = 1;
   static const char endl[] = "\n";
   static const char nmlend[] = "&end\n";
 #endif
@@ -2389,12 +2389,12 @@ nml_query (st_parameter_dt *dtp, char c)
          /* "&namelist_name\n"  */
 
          len = dtp->namelist_name_len;
-         p = write_block (dtp, len + endlen);
+         p = write_block (dtp, len - 1 + endlen);
           if (!p)
             goto query_return;
          memcpy (p, "&", 1);
          memcpy ((char*)(p + 1), dtp->namelist_name, len);
-         memcpy ((char*)(p + len + 1), &endl, endlen - 1);
+         memcpy ((char*)(p + len + 1), &endl, endlen);
          for (nl = dtp->u.p.ionml; nl; nl = nl->next)
            {
              /* " var_name\n"  */
@@ -2405,14 +2405,15 @@ nml_query (st_parameter_dt *dtp, char c)
                goto query_return;
              memcpy (p, " ", 1);
              memcpy ((char*)(p + 1), nl->var_name, len);
-             memcpy ((char*)(p + len + 1), &endl, endlen - 1);
+             memcpy ((char*)(p + len + 1), &endl, endlen);
            }
 
          /* "&end\n"  */
 
-          p = write_block (dtp, endlen + 3);
+          p = write_block (dtp, endlen + 4);
+         if (!p)
            goto query_return;
-          memcpy (p, &nmlend, endlen + 3);
+          memcpy (p, &nmlend, endlen + 4);
        }
 
       /* Flush the stream to force immediate output.  */
@@ -3047,6 +3048,7 @@ find_nml_name:
 
     case '?':
       nml_query (dtp, '?');
+      goto find_nml_name;
 
     case EOF:
       return;
index 8f969ed..044f480 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
    Contributed by Andy Vaught
    F2003 I/O support contributed by Jerry DeLisle
 
@@ -153,8 +152,12 @@ static const st_option async_opt[] =
 static void
 test_endfile (gfc_unit * u)
 {
-  if (u->endfile == NO_ENDFILE && ssize (u->s) == stell (u->s))
-    u->endfile = AT_ENDFILE;
+  if (u->endfile == NO_ENDFILE)
+    { 
+      gfc_offset sz = ssize (u->s);
+      if (sz == 0 || sz == stell (u->s))
+       u->endfile = AT_ENDFILE;
+    }
 }
 
 
index 6eef3f9..8421451 100644 (file)
@@ -1,6 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-   2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
    Contributed by Andy Vaught
    F2003 I/O support contributed by Jerry DeLisle
 
@@ -339,7 +337,10 @@ raw_size (unix_stream * s)
   int ret = fstat (s->fd, &statbuf);
   if (ret == -1)
     return ret;
-  return statbuf.st_size;
+  if (S_ISREG (statbuf.st_mode))
+    return statbuf.st_size;
+  else
+    return 0;
 }
 
 static int
index 6bd8886..a7bda45 100644 (file)
@@ -446,21 +446,35 @@ search_unit (int unit, int *ip)
 {
   int low, high, mid;
 
-  low = -1;
-  high = n_elist;
-  while (high - low > 1)
+  if (n_elist == 0)
+    {
+      *ip = 0;
+      return 0;
+    }
+
+  low = 0;
+  high = n_elist - 1;
+
+  do 
     {
       mid = (low + high) / 2;
-      if (unit <= elist[mid].unit)
-       high = mid;
+      if (unit == elist[mid].unit)
+       {
+         *ip = mid;
+         return 1;
+       }
+      else if (unit > elist[mid].unit)
+       low = mid + 1;
       else
-       low = mid;
-    }
-  *ip = high;
-  if (elist[high].unit == unit)
-    return 1;
+       high = mid - 1;
+    } while (low <= high);
+
+  if (unit > elist[mid].unit)
+    *ip = mid + 1;
   else
-    return 0;
+    *ip = mid;
+
+  return 0;
 }
 
 /* This matches a keyword.  If it is found, return the token supplied,
@@ -575,13 +589,13 @@ mark_single (int unit)
     }
   if (search_unit (unit, &i))
     {
-      elist[unit].conv = endian;
+      elist[i].conv = endian;
     }
   else
     {
-      for (j=n_elist; j>=i; j--)
+      for (j=n_elist-1; j>=i; j--)
        elist[j+1] = elist[j];
-    
+
       n_elist += 1;
       elist[i].unit = unit;
       elist[i].conv = endian;
index e3e47d3..89116d1 100644 (file)
@@ -1,4 +1,4 @@
-5e806355a9e1
+2d8bc3c94ecb
 
 The first line of this file holds the Mercurial revision number of the
 last merge done from the master library sources.
index f59b004..82587ca 100644 (file)
@@ -715,6 +715,7 @@ go_net_files = \
        go/net/lookup_unix.go \
        go/net/mac.go \
        go/net/net.go \
+       go/net/net_posix.go \
        go/net/parse.go \
        go/net/pipe.go \
        go/net/port.go \
index 18f1414..30f9274 100644 (file)
@@ -46,12 +46,10 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
-       $(srcdir)/../config.sub $(srcdir)/../depcomp \
-       $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
-       $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/config.h.in $(top_srcdir)/configure
+DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
+       $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
@@ -174,46 +172,6 @@ am__DEPENDENCIES_2 = bufio.lo bytes.lo bytes/index.lo crypto.lo \
 libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1)
-am__libgo_la_SOURCES_DIST = runtime/go-append.c runtime/go-assert.c \
-       runtime/go-assert-interface.c \
-       runtime/go-byte-array-to-string.c runtime/go-breakpoint.c \
-       runtime/go-caller.c runtime/go-callers.c \
-       runtime/go-can-convert-interface.c runtime/go-cgo.c \
-       runtime/go-check-interface.c runtime/go-construct-map.c \
-       runtime/go-convert-interface.c runtime/go-copy.c \
-       runtime/go-defer.c runtime/go-deferred-recover.c \
-       runtime/go-eface-compare.c runtime/go-eface-val-compare.c \
-       runtime/go-getgoroot.c runtime/go-int-array-to-string.c \
-       runtime/go-int-to-string.c runtime/go-interface-compare.c \
-       runtime/go-interface-eface-compare.c \
-       runtime/go-interface-val-compare.c runtime/go-make-slice.c \
-       runtime/go-map-delete.c runtime/go-map-index.c \
-       runtime/go-map-len.c runtime/go-map-range.c \
-       runtime/go-matherr.c runtime/go-nanotime.c runtime/go-now.c \
-       runtime/go-new-map.c runtime/go-new.c runtime/go-nosys.c \
-       runtime/go-panic.c runtime/go-print.c runtime/go-recover.c \
-       runtime/go-reflect-call.c runtime/go-reflect-map.c \
-       runtime/go-rune.c runtime/go-runtime-error.c \
-       runtime/go-setenv.c runtime/go-signal.c runtime/go-strcmp.c \
-       runtime/go-string-to-byte-array.c \
-       runtime/go-string-to-int-array.c runtime/go-strplus.c \
-       runtime/go-strslice.c runtime/go-traceback.c \
-       runtime/go-trampoline.c runtime/go-type-complex.c \
-       runtime/go-type-eface.c runtime/go-type-error.c \
-       runtime/go-type-float.c runtime/go-type-identity.c \
-       runtime/go-type-interface.c runtime/go-type-string.c \
-       runtime/go-typedesc-equal.c runtime/go-typestring.c \
-       runtime/go-unsafe-new.c runtime/go-unsafe-newarray.c \
-       runtime/go-unsafe-pointer.c runtime/go-unwind.c runtime/chan.c \
-       runtime/cpuprof.c runtime/lock_sema.c runtime/thread-sema.c \
-       runtime/lock_futex.c runtime/thread-linux.c runtime/mcache.c \
-       runtime/mcentral.c runtime/mem_posix_memalign.c runtime/mem.c \
-       runtime/mfinal.c runtime/mfixalloc.c runtime/mgc0.c \
-       runtime/mheap.c runtime/msize.c runtime/print.c runtime/proc.c \
-       runtime/runtime.c runtime/signal_unix.c runtime/thread.c \
-       runtime/yield.c runtime/rtems-task-variable-add.c iface.c \
-       malloc.c map.c mprof.c reflect.c runtime1.c sema.c sigqueue.c \
-       string.c time.c
 @LIBGO_IS_LINUX_FALSE@am__objects_1 = lock_sema.lo thread-sema.lo
 @LIBGO_IS_LINUX_TRUE@am__objects_1 = lock_futex.lo thread-linux.lo
 @HAVE_SYS_MMAN_H_FALSE@am__objects_2 = mem_posix_memalign.lo
@@ -264,7 +222,6 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgobegin_a_SOURCES) $(libgo_la_SOURCES)
-DIST_SOURCES = $(libgobegin_a_SOURCES) $(am__libgo_la_SOURCES_DIST)
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -298,47 +255,10 @@ DATA = $(toolexeclibgo_DATA) $(toolexeclibgoarchive_DATA) \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = testsuite
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AR = @AR@
@@ -1061,6 +981,7 @@ go_net_files = \
        go/net/lookup_unix.go \
        go/net/mac.go \
        go/net/net.go \
+       go/net/net_posix.go \
        go/net/parse.go \
        go/net/pipe.go \
        go/net/port.go \
@@ -3912,182 +3833,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) all-multi $(DATA) \
@@ -4258,18 +4003,16 @@ uninstall-am: uninstall-toolexeclibLIBRARIES \
        all all-am all-multi am--refresh check check-am clean \
        clean-generic clean-libtool clean-local clean-multi \
        clean-toolexeclibLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
-       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
-       dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
-       distclean-compile distclean-generic distclean-hdr \
-       distclean-libtool distclean-multi distclean-tags \
-       distcleancheck distdir distuninstallcheck dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-multi install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       install-toolexeclibLIBRARIES install-toolexeclibLTLIBRARIES \
-       install-toolexeclibgoDATA install-toolexeclibgoarchiveDATA \
+       ctags-recursive distclean distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-multi distclean-tags \
+       dvi dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-multi \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip install-toolexeclibLIBRARIES \
+       install-toolexeclibLTLIBRARIES install-toolexeclibgoDATA \
+       install-toolexeclibgoarchiveDATA \
        install-toolexeclibgocompressDATA \
        install-toolexeclibgocontainerDATA \
        install-toolexeclibgocryptoDATA \
index 0c0dbdd..a31acab 100644 (file)
@@ -19,7 +19,7 @@ AM_ENABLE_MULTILIB(, ..)
 AC_CANONICAL_SYSTEM
 target_alias=${target_alias-$host_alias}
 
-AM_INIT_AUTOMAKE([1.9.3 no-define foreign -Wall])
+AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dist -Wall -Wno-portability])
 AH_TEMPLATE(PACKAGE, [Name of package])
 AH_TEMPLATE(VERSION, [Version number of package])
 
index b44d0e7..0e28482 100644 (file)
@@ -272,6 +272,9 @@ func (b *Reader) ReadSlice(delim byte) (line []byte, err error) {
        panic("not reached")
 }
 
+// ReadLine is a low-level line-reading primitive. Most callers should use
+// ReadBytes('\n') or ReadString('\n') instead.
+//
 // ReadLine tries to return a single line, not including the end-of-line bytes.
 // If the line was too long for the buffer then isPrefix is set and the
 // beginning of the line is returned. The rest of the line will be returned
index e81616c..a30943b 100644 (file)
@@ -81,9 +81,8 @@ type uintptr uintptr
 // integer values.
 type byte byte
 
-// rune is an alias for int and is equivalent to int in all ways. It is
+// rune is an alias for int32 and is equivalent to int32 in all ways. It is
 // used, by convention, to distinguish character values from integer values.
-// In a future version of Go, it will change to an alias of int32.
 type rune rune
 
 // Type is here for the purposes of documentation only. It is a stand-in
index 7d1426f..09b3c1a 100644 (file)
@@ -415,7 +415,7 @@ func Repeat(b []byte, count int) []byte {
 // ToUpper returns a copy of the byte array s with all Unicode letters mapped to their upper case.
 func ToUpper(s []byte) []byte { return Map(unicode.ToUpper, s) }
 
-// ToUpper returns a copy of the byte array s with all Unicode letters mapped to their lower case.
+// ToLower returns a copy of the byte array s with all Unicode letters mapped to their lower case.
 func ToLower(s []byte) []byte { return Map(unicode.ToLower, s) }
 
 // ToTitle returns a copy of the byte array s with all Unicode letters mapped to their title case.
index 3f2042b..394c32f 100644 (file)
@@ -16,9 +16,10 @@ import (
 const (
        maxCodeLen = 16    // max length of Huffman code
        maxHist    = 32768 // max history required
-       maxLit     = 286
-       maxDist    = 32
-       numCodes   = 19 // number of codes in Huffman meta-code
+       // The next three numbers come from the RFC, section 3.2.7.
+       maxLit   = 286
+       maxDist  = 32
+       numCodes = 19 // number of codes in Huffman meta-code
 )
 
 // A CorruptInputError reports the presence of corrupt input at a given offset.
@@ -306,10 +307,15 @@ func (f *decompressor) readHuffman() error {
                }
        }
        nlit := int(f.b&0x1F) + 257
+       if nlit > maxLit {
+               return CorruptInputError(f.roffset)
+       }
        f.b >>= 5
        ndist := int(f.b&0x1F) + 1
+       // maxDist is 32, so ndist is always valid.
        f.b >>= 5
        nclen := int(f.b&0xF) + 4
+       // numCodes is 19, so nclen is always valid.
        f.b >>= 4
        f.nb -= 5 + 5 + 4
 
diff --git a/libgo/go/compress/flate/reader_test.go b/libgo/go/compress/flate/reader_test.go
new file mode 100644 (file)
index 0000000..54ed788
--- /dev/null
@@ -0,0 +1,95 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package flate
+
+import (
+       "bytes"
+       "io"
+       "io/ioutil"
+       "runtime"
+       "strings"
+       "testing"
+)
+
+func TestNlitOutOfRange(t *testing.T) {
+       // Trying to decode this bogus flate data, which has a Huffman table
+       // with nlit=288, should not panic.
+       io.Copy(ioutil.Discard, NewReader(strings.NewReader(
+               "\xfc\xfe\x36\xe7\x5e\x1c\xef\xb3\x55\x58\x77\xb6\x56\xb5\x43\xf4"+
+                       "\x6f\xf2\xd2\xe6\x3d\x99\xa0\x85\x8c\x48\xeb\xf8\xda\x83\x04\x2a"+
+                       "\x75\xc4\xf8\x0f\x12\x11\xb9\xb4\x4b\x09\xa0\xbe\x8b\x91\x4c")))
+}
+
+const (
+       digits = iota
+       twain
+)
+
+var testfiles = []string{
+       // Digits is the digits of the irrational number e. Its decimal representation
+       // does not repeat, but there are only 10 posible digits, so it should be
+       // reasonably compressible.
+       digits: "../testdata/e.txt",
+       // Twain is Project Gutenberg's edition of Mark Twain's classic English novel.
+       twain: "../testdata/Mark.Twain-Tom.Sawyer.txt",
+}
+
+func benchmarkDecode(b *testing.B, testfile, level, n int) {
+       b.StopTimer()
+       b.SetBytes(int64(n))
+       buf0, err := ioutil.ReadFile(testfiles[testfile])
+       if err != nil {
+               b.Fatal(err)
+       }
+       if len(buf0) == 0 {
+               b.Fatalf("test file %q has no data", testfiles[testfile])
+       }
+       compressed := new(bytes.Buffer)
+       w, err := NewWriter(compressed, level)
+       if err != nil {
+               b.Fatal(err)
+       }
+       for i := 0; i < n; i += len(buf0) {
+               if len(buf0) > n-i {
+                       buf0 = buf0[:n-i]
+               }
+               io.Copy(w, bytes.NewBuffer(buf0))
+       }
+       w.Close()
+       buf1 := compressed.Bytes()
+       buf0, compressed, w = nil, nil, nil
+       runtime.GC()
+       b.StartTimer()
+       for i := 0; i < b.N; i++ {
+               io.Copy(ioutil.Discard, NewReader(bytes.NewBuffer(buf1)))
+       }
+}
+
+// These short names are so that gofmt doesn't break the BenchmarkXxx function
+// bodies below over multiple lines.
+const (
+       speed    = BestSpeed
+       default_ = DefaultCompression
+       compress = BestCompression
+)
+
+func BenchmarkDecodeDigitsSpeed1e4(b *testing.B)    { benchmarkDecode(b, digits, speed, 1e4) }
+func BenchmarkDecodeDigitsSpeed1e5(b *testing.B)    { benchmarkDecode(b, digits, speed, 1e5) }
+func BenchmarkDecodeDigitsSpeed1e6(b *testing.B)    { benchmarkDecode(b, digits, speed, 1e6) }
+func BenchmarkDecodeDigitsDefault1e4(b *testing.B)  { benchmarkDecode(b, digits, default_, 1e4) }
+func BenchmarkDecodeDigitsDefault1e5(b *testing.B)  { benchmarkDecode(b, digits, default_, 1e5) }
+func BenchmarkDecodeDigitsDefault1e6(b *testing.B)  { benchmarkDecode(b, digits, default_, 1e6) }
+func BenchmarkDecodeDigitsCompress1e4(b *testing.B) { benchmarkDecode(b, digits, compress, 1e4) }
+func BenchmarkDecodeDigitsCompress1e5(b *testing.B) { benchmarkDecode(b, digits, compress, 1e5) }
+func BenchmarkDecodeDigitsCompress1e6(b *testing.B) { benchmarkDecode(b, digits, compress, 1e6) }
+func BenchmarkDecodeTwainSpeed1e4(b *testing.B)     { benchmarkDecode(b, twain, speed, 1e4) }
+func BenchmarkDecodeTwainSpeed1e5(b *testing.B)     { benchmarkDecode(b, twain, speed, 1e5) }
+func BenchmarkDecodeTwainSpeed1e6(b *testing.B)     { benchmarkDecode(b, twain, speed, 1e6) }
+func BenchmarkDecodeTwainDefault1e4(b *testing.B)   { benchmarkDecode(b, twain, default_, 1e4) }
+func BenchmarkDecodeTwainDefault1e5(b *testing.B)   { benchmarkDecode(b, twain, default_, 1e5) }
+func BenchmarkDecodeTwainDefault1e6(b *testing.B)   { benchmarkDecode(b, twain, default_, 1e6) }
+func BenchmarkDecodeTwainCompress1e4(b *testing.B)  { benchmarkDecode(b, twain, compress, 1e4) }
+func BenchmarkDecodeTwainCompress1e5(b *testing.B)  { benchmarkDecode(b, twain, compress, 1e5) }
+func BenchmarkDecodeTwainCompress1e6(b *testing.B)  { benchmarkDecode(b, twain, compress, 1e6) }
index 30835a9..a399089 100644 (file)
@@ -370,7 +370,7 @@ func P384() Curve {
        return p384
 }
 
-// P256 returns a Curve which implements P-521 (see FIPS 186-3, section D.2.5)
+// P521 returns a Curve which implements P-521 (see FIPS 186-3, section D.2.5)
 func P521() Curve {
        initonce.Do(initAll)
        return p521
index da091ba..e46e61d 100644 (file)
@@ -30,3 +30,14 @@ func TestRead(t *testing.T) {
                t.Fatalf("Compressed %d -> %d", len(b), z.Len())
        }
 }
+
+func TestReadEmpty(t *testing.T) {
+       n, err := Reader.Read(make([]byte, 0))
+       if n != 0 || err != nil {
+               t.Fatalf("Read(make([]byte, 0)) = %d, %v", n, err)
+       }
+       n, err = Reader.Read(nil)
+       if n != 0 || err != nil {
+               t.Fatalf("Read(nil) = %d, %v", n, err)
+       }
+}
index 2b2bd4b..82b39b6 100644 (file)
@@ -35,6 +35,10 @@ func (r *rngReader) Read(b []byte) (n int, err error) {
                }
        }
        r.mu.Unlock()
+
+       if len(b) == 0 {
+               return 0, nil
+       }
        err = syscall.CryptGenRandom(r.prov, uint32(len(b)), &b[0])
        if err != nil {
                return 0, os.NewSyscallError("CryptGenRandom", err)
index a32236e..f39a48a 100644 (file)
@@ -25,10 +25,10 @@ func EncryptPKCS1v15(rand io.Reader, pub *PublicKey, msg []byte) (out []byte, er
                return
        }
 
-       // EM = 0x02 || PS || 0x00 || M
-       em := make([]byte, k-1)
-       em[0] = 2
-       ps, mm := em[1:len(em)-len(msg)-1], em[len(em)-len(msg):]
+       // EM = 0x00 || 0x02 || PS || 0x00 || M
+       em := make([]byte, k)
+       em[1] = 2
+       ps, mm := em[2:len(em)-len(msg)-1], em[len(em)-len(msg):]
        err = nonZeroRandomBytes(ps, rand)
        if err != nil {
                return
@@ -38,7 +38,9 @@ func EncryptPKCS1v15(rand io.Reader, pub *PublicKey, msg []byte) (out []byte, er
 
        m := new(big.Int).SetBytes(em)
        c := encrypt(new(big.Int), pub, m)
-       out = c.Bytes()
+
+       copyWithLeftPad(em, c.Bytes())
+       out = em
        return
 }
 
@@ -185,9 +187,12 @@ func SignPKCS1v15(rand io.Reader, priv *PrivateKey, hash crypto.Hash, hashed []b
 
        m := new(big.Int).SetBytes(em)
        c, err := decrypt(rand, priv, m)
-       if err == nil {
-               s = c.Bytes()
+       if err != nil {
+               return
        }
+
+       copyWithLeftPad(em, c.Bytes())
+       s = em
        return
 }
 
@@ -241,3 +246,13 @@ func pkcs1v15HashInfo(hash crypto.Hash, inLen int) (hashLen int, prefix []byte,
        }
        return
 }
+
+// copyWithLeftPad copies src to the end of dest, padding with zero bytes as
+// needed.
+func copyWithLeftPad(dest, src []byte) {
+       numPaddingBytes := len(dest) - len(src)
+       for i := 0; i < numPaddingBytes; i++ {
+               dest[i] = 0
+       }
+       copy(dest[numPaddingBytes:], src)
+}
index 2a5115d..455910a 100644 (file)
@@ -487,6 +487,16 @@ Again:
                return err
        }
        typ := recordType(b.data[0])
+
+       // No valid TLS record has a type of 0x80, however SSLv2 handshakes
+       // start with a uint16 length where the MSB is set and the first record
+       // is always < 256 bytes long. Therefore typ == 0x80 strongly suggests
+       // an SSLv2 client.
+       if want == recordTypeHandshake && typ == 0x80 {
+               c.sendAlert(alertProtocolVersion)
+               return errors.New("tls: unsupported SSLv2 handshake received")
+       }
+
        vers := uint16(b.data[1])<<8 | uint16(b.data[2])
        n := int(b.data[3])<<8 | int(b.data[4])
        if c.haveVers && vers != c.vers {
index 307c5ef..2881453 100644 (file)
@@ -39,7 +39,7 @@ type CertificateInvalidError struct {
 func (e CertificateInvalidError) Error() string {
        switch e.Reason {
        case NotAuthorizedToSign:
-               return "x509: certificate is not authorized to sign other other certificates"
+               return "x509: certificate is not authorized to sign other certificates"
        case Expired:
                return "x509: certificate has expired or is not yet valid"
        case CANotAuthorizedForThisName:
index c4d85e6..e6b0c58 100644 (file)
@@ -344,6 +344,55 @@ func (c *Certificate) Equal(other *Certificate) bool {
        return bytes.Equal(c.Raw, other.Raw)
 }
 
+// Entrust have a broken root certificate (CN=Entrust.net Certification
+// Authority (2048)) which isn't marked as a CA certificate and is thus invalid
+// according to PKIX.
+// We recognise this certificate by its SubjectPublicKeyInfo and exempt it
+// from the Basic Constraints requirement.
+// See http://www.entrust.net/knowledge-base/technote.cfm?tn=7869
+//
+// TODO(agl): remove this hack once their reissued root is sufficiently
+// widespread.
+var entrustBrokenSPKI = []byte{
+       0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09,
+       0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+       0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00,
+       0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+       0x00, 0x97, 0xa3, 0x2d, 0x3c, 0x9e, 0xde, 0x05,
+       0xda, 0x13, 0xc2, 0x11, 0x8d, 0x9d, 0x8e, 0xe3,
+       0x7f, 0xc7, 0x4b, 0x7e, 0x5a, 0x9f, 0xb3, 0xff,
+       0x62, 0xab, 0x73, 0xc8, 0x28, 0x6b, 0xba, 0x10,
+       0x64, 0x82, 0x87, 0x13, 0xcd, 0x57, 0x18, 0xff,
+       0x28, 0xce, 0xc0, 0xe6, 0x0e, 0x06, 0x91, 0x50,
+       0x29, 0x83, 0xd1, 0xf2, 0xc3, 0x2a, 0xdb, 0xd8,
+       0xdb, 0x4e, 0x04, 0xcc, 0x00, 0xeb, 0x8b, 0xb6,
+       0x96, 0xdc, 0xbc, 0xaa, 0xfa, 0x52, 0x77, 0x04,
+       0xc1, 0xdb, 0x19, 0xe4, 0xae, 0x9c, 0xfd, 0x3c,
+       0x8b, 0x03, 0xef, 0x4d, 0xbc, 0x1a, 0x03, 0x65,
+       0xf9, 0xc1, 0xb1, 0x3f, 0x72, 0x86, 0xf2, 0x38,
+       0xaa, 0x19, 0xae, 0x10, 0x88, 0x78, 0x28, 0xda,
+       0x75, 0xc3, 0x3d, 0x02, 0x82, 0x02, 0x9c, 0xb9,
+       0xc1, 0x65, 0x77, 0x76, 0x24, 0x4c, 0x98, 0xf7,
+       0x6d, 0x31, 0x38, 0xfb, 0xdb, 0xfe, 0xdb, 0x37,
+       0x02, 0x76, 0xa1, 0x18, 0x97, 0xa6, 0xcc, 0xde,
+       0x20, 0x09, 0x49, 0x36, 0x24, 0x69, 0x42, 0xf6,
+       0xe4, 0x37, 0x62, 0xf1, 0x59, 0x6d, 0xa9, 0x3c,
+       0xed, 0x34, 0x9c, 0xa3, 0x8e, 0xdb, 0xdc, 0x3a,
+       0xd7, 0xf7, 0x0a, 0x6f, 0xef, 0x2e, 0xd8, 0xd5,
+       0x93, 0x5a, 0x7a, 0xed, 0x08, 0x49, 0x68, 0xe2,
+       0x41, 0xe3, 0x5a, 0x90, 0xc1, 0x86, 0x55, 0xfc,
+       0x51, 0x43, 0x9d, 0xe0, 0xb2, 0xc4, 0x67, 0xb4,
+       0xcb, 0x32, 0x31, 0x25, 0xf0, 0x54, 0x9f, 0x4b,
+       0xd1, 0x6f, 0xdb, 0xd4, 0xdd, 0xfc, 0xaf, 0x5e,
+       0x6c, 0x78, 0x90, 0x95, 0xde, 0xca, 0x3a, 0x48,
+       0xb9, 0x79, 0x3c, 0x9b, 0x19, 0xd6, 0x75, 0x05,
+       0xa0, 0xf9, 0x88, 0xd7, 0xc1, 0xe8, 0xa5, 0x09,
+       0xe4, 0x1a, 0x15, 0xdc, 0x87, 0x23, 0xaa, 0xb2,
+       0x75, 0x8c, 0x63, 0x25, 0x87, 0xd8, 0xf8, 0x3d,
+       0xa6, 0xc2, 0xcc, 0x66, 0xff, 0xa5, 0x66, 0x68,
+       0x55, 0x02, 0x03, 0x01, 0x00, 0x01,
+}
+
 // CheckSignatureFrom verifies that the signature on c is a valid signature
 // from parent.
 func (c *Certificate) CheckSignatureFrom(parent *Certificate) (err error) {
@@ -352,8 +401,10 @@ func (c *Certificate) CheckSignatureFrom(parent *Certificate) (err error) {
        // certificate, or the extension is present but the cA boolean is not
        // asserted, then the certified public key MUST NOT be used to verify
        // certificate signatures."
-       if parent.Version == 3 && !parent.BasicConstraintsValid ||
-               parent.BasicConstraintsValid && !parent.IsCA {
+       // (except for Entrust, see comment above entrustBrokenSPKI)
+       if (parent.Version == 3 && !parent.BasicConstraintsValid ||
+               parent.BasicConstraintsValid && !parent.IsCA) &&
+               !bytes.Equal(c.RawSubjectPublicKeyInfo, entrustBrokenSPKI) {
                return ConstraintViolationError{}
        }
 
index 184e775..a11fb78 100644 (file)
@@ -31,7 +31,7 @@ var _ = log.Printf
 //   INSERT|<tablename>|col=val,col2=val2,col3=?
 //   SELECT|<tablename>|projectcol1,projectcol2|filtercol=?,filtercol2=?
 //
-// When opening a fakeDriver's database, it starts empty with no
+// When opening a fakeDriver's database, it starts empty with no
 // tables.  All tables and data are stored in memory only.
 type fakeDriver struct {
        mu        sync.Mutex
@@ -234,7 +234,7 @@ func checkSubsetTypes(args []driver.Value) error {
 
 func (c *fakeConn) Exec(query string, args []driver.Value) (driver.Result, error) {
        // This is an optional interface, but it's implemented here
-       // just to check that all the args of of the proper types.
+       // just to check that all the args are of the proper types.
        // ErrSkip is returned so the caller acts as if we didn't
        // implement this at all.
        err := checkSubsetTypes(args)
@@ -249,7 +249,7 @@ func errf(msg string, args ...interface{}) error {
 }
 
 // parts are table|selectCol1,selectCol2|whereCol=?,whereCol2=?
-// (note that where where columns must always contain ? marks,
+// (note that where columns must always contain ? marks,
 //  just a limitation for fakedb)
 func (c *fakeConn) prepareSelect(stmt *fakeStmt, parts []string) (driver.Stmt, error) {
        if len(parts) != 3 {
index 89136ef..d557fc8 100644 (file)
@@ -311,7 +311,10 @@ func (db *DB) prepare(query string) (stmt *Stmt, err error) {
        if err != nil {
                return nil, err
        }
-       defer db.putConn(ci, err)
+       defer func() {
+               db.putConn(ci, err)
+       }()
+
        si, err := ci.Prepare(query)
        if err != nil {
                return nil, err
@@ -345,7 +348,9 @@ func (db *DB) exec(query string, sargs []driver.Value) (res Result, err error) {
        if err != nil {
                return nil, err
        }
-       defer db.putConn(ci, err)
+       defer func() {
+               db.putConn(ci, err)
+       }()
 
        if execer, ok := ci.(driver.Execer); ok {
                resi, err := execer.Exec(query, sargs)
index b756afd..719018b 100644 (file)
@@ -123,7 +123,7 @@ func ReadUvarint(r io.ByteReader) (uint64, error) {
        panic("unreachable")
 }
 
-// ReadVarint reads an encoded unsigned integer from r and returns it as a uint64.
+// ReadVarint reads an encoded unsigned integer from r and returns it as aint64.
 func ReadVarint(r io.ByteReader) (int64, error) {
        ux, err := ReadUvarint(r) // ok to continue in presence of error
        x := int64(ux >> 1)
index e32a178..8690b35 100644 (file)
@@ -562,6 +562,9 @@ func (dec *Decoder) ignoreSingle(engine *decEngine) {
 func (dec *Decoder) decodeArrayHelper(state *decoderState, p uintptr, elemOp decOp, elemWid uintptr, length, elemIndir int, ovfl error) {
        instr := &decInstr{elemOp, 0, elemIndir, 0, ovfl}
        for i := 0; i < length; i++ {
+               if state.b.Len() == 0 {
+                       errorf("decoding array or slice: length exceeds input size (%d elements)", length)
+               }
                up := unsafe.Pointer(p)
                if elemIndir > 1 {
                        up = decIndirect(up, elemIndir)
@@ -652,9 +655,6 @@ func (dec *Decoder) ignoreMap(state *decoderState, keyOp, elemOp decOp) {
 // Slices are encoded as an unsigned length followed by the elements.
 func (dec *Decoder) decodeSlice(atyp reflect.Type, state *decoderState, p uintptr, elemOp decOp, elemWid uintptr, indir, elemIndir int, ovfl error) {
        nr := state.decodeUint()
-       if nr > uint64(state.b.Len()) {
-               errorf("length of slice exceeds input size (%d elements)", nr)
-       }
        n := int(nr)
        if indir > 0 {
                up := unsafe.Pointer(p)
index 821d9a3..6d77c17 100644 (file)
@@ -118,7 +118,7 @@ elements using the standard gob encoding for their type, recursively.
 
 Maps are sent as an unsigned count followed by that many key, element
 pairs. Empty but non-nil maps are sent, so if the sender has allocated
-a map, the receiver will allocate a map even no elements are
+a map, the receiver will allocate a map even if no elements are
 transmitted.
 
 Structs are sent as a sequence of (field number, field value) pairs.  The field
index c4947cb..db824d9 100644 (file)
@@ -736,3 +736,32 @@ func TestPtrToMapOfMap(t *testing.T) {
                t.Fatalf("expected %v got %v", data, newData)
        }
 }
+
+// There was an error check comparing the length of the input with the
+// length of the slice being decoded. It was wrong because the next
+// thing in the input might be a type definition, which would lead to
+// an incorrect length check.  This test reproduces the corner case.
+
+type Z struct {
+}
+
+func Test29ElementSlice(t *testing.T) {
+       Register(Z{})
+       src := make([]interface{}, 100) // Size needs to be bigger than size of type definition.
+       for i := range src {
+               src[i] = Z{}
+       }
+       buf := new(bytes.Buffer)
+       err := NewEncoder(buf).Encode(src)
+       if err != nil {
+               t.Fatalf("encode: %v", err)
+               return
+       }
+
+       var dst []interface{}
+       err = NewDecoder(buf).Decode(&dst)
+       if err != nil {
+               t.Errorf("decode: %v", err)
+               return
+       }
+}
index 0dd7a0a..a8ee2fa 100644 (file)
@@ -749,12 +749,28 @@ func Register(value interface{}) {
        rt := reflect.TypeOf(value)
        name := rt.String()
 
-       // But for named types (or pointers to them), qualify with import path.
+       // But for named types (or pointers to them), qualify with import path (but see inner comment).
        // Dereference one pointer looking for a named type.
        star := ""
        if rt.Name() == "" {
                if pt := rt; pt.Kind() == reflect.Ptr {
                        star = "*"
+                       // NOTE: The following line should be rt = pt.Elem() to implement
+                       // what the comment above claims, but fixing it would break compatibility
+                       // with existing gobs.
+                       //
+                       // Given package p imported as "full/p" with these definitions:
+                       //     package p
+                       //     type T1 struct { ... }
+                       // this table shows the intended and actual strings used by gob to
+                       // name the types:
+                       //
+                       // Type      Correct string     Actual string
+                       //
+                       // T1        full/p.T1          full/p.T1
+                       // *T1       *full/p.T1         *p.T1
+                       //
+                       // The missing full path cannot be fixed without breaking existing gob decoders.
                        rt = pt
                }
        }
index b6e1cb1..d2c1c44 100644 (file)
@@ -55,7 +55,7 @@ import (
 // nil pointer or interface value, and any array, slice, map, or string of
 // length zero. The object's default key string is the struct field name
 // but can be specified in the struct field's tag value. The "json" key in
-// struct field's tag value is the key name, followed by an optional comma
+// the struct field's tag value is the key name, followed by an optional comma
 // and options. Examples:
 //
 //   // Field is ignored by this package.
index 5444ad1..bbabd88 100644 (file)
@@ -33,7 +33,7 @@
 
        After parsing, the arguments after the flag are available as the
        slice flag.Args() or individually as flag.Arg(i).
-       The arguments are indexed from 0 up to flag.NArg().
+       The arguments are indexed from 0 through flag.NArg()-1.
 
        Command line flag syntax:
                -flag
@@ -707,7 +707,7 @@ func (f *FlagSet) parseOne() (bool, error) {
        if fv, ok := flag.Value.(*boolValue); ok { // special case: doesn't need an arg
                if has_value {
                        if err := fv.Set(value); err != nil {
-                               f.failf("invalid boolean value %q for  -%s: %v", value, name, err)
+                               return false, f.failf("invalid boolean value %q for  -%s: %v", value, name, err)
                        }
                } else {
                        fv.Set("true")
index 500a459..98ebfb7 100644 (file)
@@ -844,3 +844,15 @@ func TestIsSpace(t *testing.T) {
                }
        }
 }
+
+func TestNilDoesNotBecomeTyped(t *testing.T) {
+       type A struct{}
+       type B struct{}
+       var a *A = nil
+       var b B = B{}
+       got := Sprintf("%s %s %s %s %s", nil, a, nil, b, nil)
+       const expect = "%!s(<nil>) %!s(*fmt_test.A=<nil>) %!s(<nil>) {} %!s(<nil>)"
+       if got != expect {
+               t.Errorf("expected:\n\t%q\ngot:\n\t%q", expect, got)
+       }
+}
index 1343824..f29e8c8 100644 (file)
@@ -712,6 +712,9 @@ func (p *pp) handleMethods(verb rune, plus, goSyntax bool, depth int) (wasString
 }
 
 func (p *pp) printField(field interface{}, verb rune, plus, goSyntax bool, depth int) (wasString bool) {
+       p.field = field
+       p.value = reflect.Value{}
+
        if field == nil {
                if verb == 'T' || verb == 'v' {
                        p.buf.Write(nilAngleBytes)
@@ -721,8 +724,6 @@ func (p *pp) printField(field interface{}, verb rune, plus, goSyntax bool, depth
                return false
        }
 
-       p.field = field
-       p.value = reflect.Value{}
        // Special processing considerations.
        // %T (the value's type) and %p (its address) are special; we always do them first.
        switch verb {
index 02cf9e0..2de9af2 100644 (file)
@@ -34,7 +34,8 @@ func NotNilFilter(_ string, v reflect.Value) bool {
 //
 // A non-nil FieldFilter f may be provided to control the output:
 // struct fields for which f(fieldname, fieldvalue) is true are
-// are printed; all others are filtered from the output.
+// are printed; all others are filtered from the output. Unexported
+// struct fields are never printed.
 //
 func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) (err error) {
        // setup printer
@@ -145,15 +146,18 @@ func (p *printer) print(x reflect.Value) {
                p.print(x.Elem())
 
        case reflect.Map:
-               p.printf("%s (len = %d) {\n", x.Type(), x.Len())
-               p.indent++
-               for _, key := range x.MapKeys() {
-                       p.print(key)
-                       p.printf(": ")
-                       p.print(x.MapIndex(key))
+               p.printf("%s (len = %d) {", x.Type(), x.Len())
+               if x.Len() > 0 {
+                       p.indent++
                        p.printf("\n")
+                       for _, key := range x.MapKeys() {
+                               p.print(key)
+                               p.printf(": ")
+                               p.print(x.MapIndex(key))
+                               p.printf("\n")
+                       }
+                       p.indent--
                }
-               p.indent--
                p.printf("}")
 
        case reflect.Ptr:
@@ -169,32 +173,57 @@ func (p *printer) print(x reflect.Value) {
                        p.print(x.Elem())
                }
 
+       case reflect.Array:
+               p.printf("%s {", x.Type())
+               if x.Len() > 0 {
+                       p.indent++
+                       p.printf("\n")
+                       for i, n := 0, x.Len(); i < n; i++ {
+                               p.printf("%d: ", i)
+                               p.print(x.Index(i))
+                               p.printf("\n")
+                       }
+                       p.indent--
+               }
+               p.printf("}")
+
        case reflect.Slice:
                if s, ok := x.Interface().([]byte); ok {
                        p.printf("%#q", s)
                        return
                }
-               p.printf("%s (len = %d) {\n", x.Type(), x.Len())
-               p.indent++
-               for i, n := 0, x.Len(); i < n; i++ {
-                       p.printf("%d: ", i)
-                       p.print(x.Index(i))
+               p.printf("%s (len = %d) {", x.Type(), x.Len())
+               if x.Len() > 0 {
+                       p.indent++
                        p.printf("\n")
+                       for i, n := 0, x.Len(); i < n; i++ {
+                               p.printf("%d: ", i)
+                               p.print(x.Index(i))
+                               p.printf("\n")
+                       }
+                       p.indent--
                }
-               p.indent--
                p.printf("}")
 
        case reflect.Struct:
-               p.printf("%s {\n", x.Type())
-               p.indent++
                t := x.Type()
+               p.printf("%s {", t)
+               p.indent++
+               first := true
                for i, n := 0, t.NumField(); i < n; i++ {
-                       name := t.Field(i).Name
-                       value := x.Field(i)
-                       if p.filter == nil || p.filter(name, value) {
-                               p.printf("%s: ", name)
-                               p.print(value)
-                               p.printf("\n")
+                       // exclude non-exported fields because their
+                       // values cannot be accessed via reflection
+                       if name := t.Field(i).Name; IsExported(name) {
+                               value := x.Field(i)
+                               if p.filter == nil || p.filter(name, value) {
+                                       if first {
+                                               p.printf("\n")
+                                               first = false
+                                       }
+                                       p.printf("%s: ", name)
+                                       p.print(value)
+                                       p.printf("\n")
+                               }
                        }
                }
                p.indent--
index 71c028e..210f164 100644 (file)
@@ -23,6 +23,7 @@ var tests = []struct {
        {"foobar", "0  \"foobar\""},
 
        // maps
+       {map[Expr]string{}, `0  map[ast.Expr]string (len = 0) {}`},
        {map[string]int{"a": 1},
                `0  map[string]int (len = 1) {
                1  .  "a": 1
@@ -31,7 +32,21 @@ var tests = []struct {
        // pointers
        {new(int), "0  *0"},
 
+       // arrays
+       {[0]int{}, `0  [0]int {}`},
+       {[3]int{1, 2, 3},
+               `0  [3]int {
+               1  .  0: 1
+               2  .  1: 2
+               3  .  2: 3
+               4  }`},
+       {[...]int{42},
+               `0  [1]int {
+               1  .  0: 42
+               2  }`},
+
        // slices
+       {[]int{}, `0  []int (len = 0) {}`},
        {[]int{1, 2, 3},
                `0  []int (len = 3) {
                1  .  0: 1
@@ -40,6 +55,12 @@ var tests = []struct {
                4  }`},
 
        // structs
+       {struct{}{}, `0  struct {} {}`},
+       {struct{ x int }{007}, `0  struct { x int } {}`},
+       {struct{ X, y int }{42, 991},
+               `0  struct { X int; y int } {
+               1  .  X: 42
+               2  }`},
        {struct{ X, Y int }{42, 991},
                `0  struct { X int; Y int } {
                1  .  X: 42
index 908e61c..54b5d73 100644 (file)
@@ -136,7 +136,7 @@ func NewPackage(fset *token.FileSet, files map[string]*File, importer Importer,
                                for _, obj := range pkg.Data.(*Scope).Objects {
                                        p.declare(fileScope, pkgScope, obj)
                                }
-                       } else {
+                       } else if name != "_" {
                                // declare imported package object in file scope
                                // (do not re-use pkg in the file scope but create
                                // a new object instead; the Decl field is different
index 181cfd1..66b1dc2 100644 (file)
@@ -344,9 +344,6 @@ func Walk(v Visitor, node Node) {
                }
                Walk(v, n.Name)
                walkDeclList(v, n.Decls)
-               for _, g := range n.Comments {
-                       Walk(v, g)
-               }
                // don't walk n.Comments - they have been
                // visited already through the individual
                // nodes
index 7a81d50..67e73c5 100644 (file)
@@ -536,7 +536,7 @@ Found:
                        return p, err
                }
 
-               pkg := string(pf.Name.Name)
+               pkg := pf.Name.Name
                if pkg == "documentation" {
                        continue
                }
@@ -570,7 +570,7 @@ Found:
                                if !ok {
                                        continue
                                }
-                               quoted := string(spec.Path.Value)
+                               quoted := spec.Path.Value
                                path, err := strconv.Unquote(quoted)
                                if err != nil {
                                        log.Panicf("%s: parser returned invalid quoted string: <%s>", filename, quoted)
@@ -678,7 +678,7 @@ func (ctxt *Context) shouldBuild(content []byte) bool {
                }
                line = bytes.TrimSpace(line)
                if len(line) == 0 { // Blank line
-                       end = cap(content) - cap(line) // &line[0] - &content[0]
+                       end = len(content) - len(p)
                        continue
                }
                if !bytes.HasPrefix(line, slashslash) { // Not comment line
index 560ebad..caa4f26 100644 (file)
@@ -75,3 +75,32 @@ func TestLocalDirectory(t *testing.T) {
                t.Fatalf("ImportPath=%q, want %q", p.ImportPath, "go/build")
        }
 }
+
+func TestShouldBuild(t *testing.T) {
+       const file1 = "// +build tag1\n\n" +
+               "package main\n"
+
+       const file2 = "// +build cgo\n\n" +
+               "// This package implements parsing of tags like\n" +
+               "// +build tag1\n" +
+               "package build"
+
+       const file3 = "// Copyright The Go Authors.\n\n" +
+               "package build\n\n" +
+               "// shouldBuild checks tags given by lines of the form\n" +
+               "// +build tag\n" +
+               "func shouldBuild(content []byte)\n"
+
+       ctx := &Context{BuildTags: []string{"tag1"}}
+       if !ctx.shouldBuild([]byte(file1)) {
+               t.Errorf("should not build file1, expected the contrary")
+       }
+       if ctx.shouldBuild([]byte(file2)) {
+               t.Errorf("should build file2, expected the contrary")
+       }
+
+       ctx = &Context{BuildTags: nil}
+       if !ctx.shouldBuild([]byte(file3)) {
+               t.Errorf("should not build file3, expected the contrary")
+       }
+}
index 67c26ac..9b7a946 100644 (file)
@@ -60,7 +60,7 @@
 // A build constraint is a line comment beginning with the directive +build
 // that lists the conditions under which a file should be included in the package.
 // Constraints may appear in any kind of source file (not just Go), but
-// they must be appear near the top of the file, preceded
+// they must appear near the top of the file, preceded
 // only by blank lines and other line comments.
 //
 // A build constraint is evaluated as the OR of space-separated options;
index 5eaae37..60b174f 100644 (file)
@@ -494,7 +494,7 @@ func (r *reader) readPackage(pkg *ast.Package, mode Mode) {
        r.funcs = make(methodSet)
 
        // sort package files before reading them so that the
-       // result result does not depend on map iteration order
+       // result does not depend on map iteration order
        i := 0
        for filename := range pkg.Files {
                r.filenames[i] = filename
index 776bd1b..dbcc1b0 100644 (file)
@@ -10,7 +10,7 @@ FILENAMES
 TYPES
        // 
        type I0 interface {
-               // When embedded, the the locally declared error interface
+               // When embedded, the locally-declared error interface
                // is only visible if all declarations are shown.
                error
        }
index 6cc36fe..6ee96c2 100644 (file)
@@ -5,7 +5,7 @@
 package error2
 
 type I0 interface {
-       // When embedded, the the locally declared error interface
+       // When embedded, the locally-declared error interface
        // is only visible if all declarations are shown.
        error
 }
index f13f9a5..e346b93 100644 (file)
@@ -325,9 +325,14 @@ func (p *printer) parameters(fields *ast.FieldList) {
 }
 
 func (p *printer) signature(params, result *ast.FieldList) {
-       p.parameters(params)
+       if params != nil {
+               p.parameters(params)
+       } else {
+               p.print(token.LPAREN, token.RPAREN)
+       }
        n := result.NumFields()
        if n > 0 {
+               // result != nil
                p.print(blank)
                if n == 1 && result.List[0].Names == nil {
                        // single anonymous result; no ()'s
index 497d671..ab9e9b2 100644 (file)
@@ -385,6 +385,35 @@ func (t *t) foo(a, b, c int) int {
        }
 }
 
+// TestFuncType tests that an ast.FuncType with a nil Params field
+// can be printed (per go/ast specification). Test case for issue 3870.
+func TestFuncType(t *testing.T) {
+       src := &ast.File{
+               Name: &ast.Ident{Name: "p"},
+               Decls: []ast.Decl{
+                       &ast.FuncDecl{
+                               Name: &ast.Ident{Name: "f"},
+                               Type: &ast.FuncType{},
+                       },
+               },
+       }
+
+       var buf bytes.Buffer
+       if err := Fprint(&buf, fset, src); err != nil {
+               t.Fatal(err)
+       }
+       got := buf.String()
+
+       const want = `package p
+
+func f()
+`
+
+       if got != want {
+               t.Fatalf("got:\n%s\nwant:\n%s\n", got, want)
+       }
+}
+
 // TextX is a skeleton test that can be filled in for debugging one-off cases.
 // Do not remove.
 func TestX(t *testing.T) {
index 8a75a96..22de69c 100644 (file)
@@ -120,7 +120,7 @@ func PrintError(w io.Writer, err error) {
                for _, e := range list {
                        fmt.Fprintf(w, "%s\n", e)
                }
-       } else {
+       } else if err != nil {
                fmt.Fprintf(w, "%s\n", err)
        }
 }
index da50874..6ef3e14 100644 (file)
@@ -81,7 +81,7 @@ func (s *Scanner) next() {
        }
 }
 
-// A mode value is set of flags (or 0).
+// A mode value is set of flags (or 0).
 // They control scanner behavior.
 //
 type Mode uint
index c1bd2e4..42ea793 100644 (file)
@@ -47,7 +47,7 @@ type (
        // JSStr("foo\\nbar") is fine, but JSStr("foo\\\nbar") is not.
        JSStr string
 
-       // URL encapsulates a known safe URL as defined in RFC 3896.
+       // URL encapsulates a known safe URL or URL substring (see RFC 3986).
        // A URL like `javascript:checkThatFormNotEditedBeforeLeavingPage()`
        // from a trusted source should go in the page, but by default dynamic
        // `javascript:` URLs are filtered out since they are a frequently
index 454c791..2ca76bf 100644 (file)
@@ -60,7 +60,7 @@ func urlProcessor(norm bool, args ...interface{}) string {
                c := s[i]
                switch c {
                // Single quote and parens are sub-delims in RFC 3986, but we
-               // escape them so the output can be embedded in in single
+               // escape them so the output can be embedded in single
                // quoted attributes and unquoted CSS url(...) constructs.
                // Single quotes are reserved in URLs, but are only used in
                // the obsolete "mark" rule in an appendix in RFC 3986
index d9adf6e..8da3611 100644 (file)
@@ -74,7 +74,9 @@ const (
        comMarker   = 0xfe // COMment.
 )
 
-// Maps from the zig-zag ordering to the natural ordering.
+// unzig maps from the zig-zag ordering to the natural ordering. For example,
+// unzig[3] is the column and row of the fourth element in zig-zag order. The
+// value is 16, which means first column (16%8 == 0) and third row (16/8 == 2).
 var unzig = [blockSize]int{
        0, 1, 8, 16, 9, 2, 3, 10,
        17, 24, 32, 25, 18, 11, 4, 5,
@@ -101,7 +103,7 @@ type decoder struct {
        nComp         int
        comp          [nColorComponent]component
        huff          [maxTc + 1][maxTh + 1]huffman
-       quant         [maxTq + 1]block
+       quant         [maxTq + 1]block // Quantization tables, in zig-zag order.
        b             bits
        tmp           [1024]byte
 }
@@ -264,6 +266,7 @@ func (d *decoder) processSOS(n int) error {
                                for j := 0; j < d.comp[i].h*d.comp[i].v; j++ {
                                        // TODO(nigeltao): make this a "var b block" once the compiler's escape
                                        // analysis is good enough to allocate it on the stack, not the heap.
+                                       // b is in natural (not zig-zag) order.
                                        b = block{}
 
                                        // Decode the DC coefficient, as specified in section F.2.2.1.
@@ -282,7 +285,7 @@ func (d *decoder) processSOS(n int) error {
                                        b[0] = dc[i] * qt[0]
 
                                        // Decode the AC coefficients, as specified in section F.2.2.2.
-                                       for k := 1; k < blockSize; k++ {
+                                       for zig := 1; zig < blockSize; zig++ {
                                                value, err := d.decodeHuffman(&d.huff[acTable][scan[i].ta])
                                                if err != nil {
                                                        return err
@@ -290,20 +293,20 @@ func (d *decoder) processSOS(n int) error {
                                                val0 := value >> 4
                                                val1 := value & 0x0f
                                                if val1 != 0 {
-                                                       k += int(val0)
-                                                       if k > blockSize {
+                                                       zig += int(val0)
+                                                       if zig > blockSize {
                                                                return FormatError("bad DCT index")
                                                        }
                                                        ac, err := d.receiveExtend(val1)
                                                        if err != nil {
                                                                return err
                                                        }
-                                                       b[unzig[k]] = ac * qt[k]
+                                                       b[unzig[zig]] = ac * qt[zig]
                                                } else {
                                                        if val0 != 0x0f {
                                                                break
                                                        }
-                                                       k += 0x0f
+                                                       zig += 0x0f
                                                }
                                        }
 
@@ -393,6 +396,15 @@ func (d *decoder) decode(r io.Reader, configOnly bool) (image.Image, error) {
                if marker == eoiMarker { // End Of Image.
                        break
                }
+               if rst0Marker <= marker && marker <= rst7Marker {
+                       // Figures B.2 and B.16 of the specification suggest that restart markers should
+                       // only occur between Entropy Coded Segments and not after the final ECS.
+                       // However, some encoders may generate incorrect JPEGs with a final restart
+                       // marker. That restart marker will be seen here instead of inside the processSOS
+                       // method, and is ignored as a harmless error. Restart markers have no extra data,
+                       // so we check for this before we read the 16-bit length of the segment.
+                       continue
+               }
 
                // Read the 16-bit length of the segment. The value includes the 2 bytes for the
                // length itself, so we subtract 2 to get the number of remaining bytes.
@@ -421,7 +433,7 @@ func (d *decoder) decode(r io.Reader, configOnly bool) (image.Image, error) {
                        err = d.processSOS(n)
                case marker == driMarker: // Define Restart Interval.
                        err = d.processDRI(n)
-               case marker >= app0Marker && marker <= app15Marker || marker == comMarker: // APPlication specific, or COMment.
+               case app0Marker <= marker && marker <= app15Marker || marker == comMarker: // APPlication specific, or COMment.
                        err = d.ignore(n)
                default:
                        err = UnsupportedError("unknown marker")
index 3322c09..099298e 100644 (file)
@@ -56,26 +56,28 @@ const (
        nQuantIndex
 )
 
-// unscaledQuant are the unscaled quantization tables. Each encoder copies and
-// scales the tables according to its quality parameter.
+// unscaledQuant are the unscaled quantization tables in zig-zag order. Each
+// encoder copies and scales the tables according to its quality parameter.
+// The values are derived from section K.1 after converting from natural to
+// zig-zag order.
 var unscaledQuant = [nQuantIndex][blockSize]byte{
        // Luminance.
        {
-               16, 11, 10, 16, 24, 40, 51, 61,
-               12, 12, 14, 19, 26, 58, 60, 55,
-               14, 13, 16, 24, 40, 57, 69, 56,
-               14, 17, 22, 29, 51, 87, 80, 62,
-               18, 22, 37, 56, 68, 109, 103, 77,
-               24, 35, 55, 64, 81, 104, 113, 92,
-               49, 64, 78, 87, 103, 121, 120, 101,
-               72, 92, 95, 98, 112, 100, 103, 99,
+               16, 11, 12, 14, 12, 10, 16, 14,
+               13, 14, 18, 17, 16, 19, 24, 40,
+               26, 24, 22, 22, 24, 49, 35, 37,
+               29, 40, 58, 51, 61, 60, 57, 51,
+               56, 55, 64, 72, 92, 78, 64, 68,
+               87, 69, 55, 56, 80, 109, 81, 87,
+               95, 98, 103, 104, 103, 62, 77, 113,
+               121, 112, 100, 120, 92, 101, 103, 99,
        },
        // Chrominance.
        {
-               17, 18, 24, 47, 99, 99, 99, 99,
-               18, 21, 26, 66, 99, 99, 99, 99,
-               24, 26, 56, 99, 99, 99, 99, 99,
-               47, 66, 99, 99, 99, 99, 99, 99,
+               17, 18, 18, 24, 21, 24, 47, 26,
+               26, 47, 99, 66, 56, 66, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
                99, 99, 99, 99, 99, 99, 99, 99,
                99, 99, 99, 99, 99, 99, 99, 99,
                99, 99, 99, 99, 99, 99, 99, 99,
@@ -222,7 +224,7 @@ type encoder struct {
        buf [16]byte
        // bits and nBits are accumulated bits to write to w.
        bits, nBits uint32
-       // quant is the scaled quantization tables.
+       // quant is the scaled quantization tables, in zig-zag order.
        quant [nQuantIndex][blockSize]byte
 }
 
@@ -301,7 +303,7 @@ func (e *encoder) writeMarkerHeader(marker uint8, markerlen int) {
 
 // writeDQT writes the Define Quantization Table marker.
 func (e *encoder) writeDQT() {
-       markerlen := 2 + int(nQuantIndex)*(1+blockSize)
+       const markerlen = 2 + int(nQuantIndex)*(1+blockSize)
        e.writeMarkerHeader(dqtMarker, markerlen)
        for i := range e.quant {
                e.writeByte(uint8(i))
@@ -311,7 +313,7 @@ func (e *encoder) writeDQT() {
 
 // writeSOF0 writes the Start Of Frame (Baseline) marker.
 func (e *encoder) writeSOF0(size image.Point) {
-       markerlen := 8 + 3*nColorComponent
+       const markerlen = 8 + 3*nColorComponent
        e.writeMarkerHeader(sof0Marker, markerlen)
        e.buf[0] = 8 // 8-bit color.
        e.buf[1] = uint8(size.Y >> 8)
@@ -344,6 +346,7 @@ func (e *encoder) writeDHT() {
 
 // writeBlock writes a block of pixel data using the given quantization table,
 // returning the post-quantized DC value of the DCT-transformed block.
+// b is in natural (not zig-zag) order.
 func (e *encoder) writeBlock(b *block, q quantIndex, prevDC int) int {
        fdct(b)
        // Emit the DC delta.
@@ -351,8 +354,8 @@ func (e *encoder) writeBlock(b *block, q quantIndex, prevDC int) int {
        e.emitHuffRLE(huffIndex(2*q+0), 0, dc-prevDC)
        // Emit the AC components.
        h, runLength := huffIndex(2*q+1), 0
-       for k := 1; k < blockSize; k++ {
-               ac := div(b[unzig[k]], (8 * int(e.quant[q][k])))
+       for zig := 1; zig < blockSize; zig++ {
+               ac := div(b[unzig[zig]], (8 * int(e.quant[q][zig])))
                if ac == 0 {
                        runLength++
                } else {
@@ -433,10 +436,12 @@ func scale(dst *block, src *[4]block) {
 //     - component 1 uses DC table 0 and AC table 0 "\x01\x00",
 //     - component 2 uses DC table 1 and AC table 1 "\x02\x11",
 //     - component 3 uses DC table 1 and AC table 1 "\x03\x11",
-//     - padding "\x00\x00\x00".
+//     - the bytes "\x00\x3f\x00". Section B.2.3 of the spec says that for
+//       sequential DCTs, those bytes (8-bit Ss, 8-bit Se, 4-bit Ah, 4-bit Al)
+//       should be 0x00, 0x3f, 0x00<<4 | 0x00.
 var sosHeader = []byte{
        0xff, 0xda, 0x00, 0x0c, 0x03, 0x01, 0x00, 0x02,
-       0x11, 0x03, 0x11, 0x00, 0x00, 0x00,
+       0x11, 0x03, 0x11, 0x00, 0x3f, 0x00,
 }
 
 // writeSOS writes the StartOfScan marker.
@@ -444,6 +449,7 @@ func (e *encoder) writeSOS(m image.Image) {
        e.write(sosHeader)
        var (
                // Scratch buffers to hold the YCbCr values.
+               // The blocks are in natural (not zig-zag) order.
                yBlock  block
                cbBlock [4]block
                crBlock [4]block
index b8e8fa3..8732df8 100644 (file)
@@ -6,6 +6,7 @@ package jpeg
 
 import (
        "bytes"
+       "fmt"
        "image"
        "image/color"
        "image/png"
@@ -15,6 +16,87 @@ import (
        "testing"
 )
 
+// zigzag maps from the natural ordering to the zig-zag ordering. For example,
+// zigzag[0*8 + 3] is the zig-zag sequence number of the element in the fourth
+// column and first row.
+var zigzag = [blockSize]int{
+       0, 1, 5, 6, 14, 15, 27, 28,
+       2, 4, 7, 13, 16, 26, 29, 42,
+       3, 8, 12, 17, 25, 30, 41, 43,
+       9, 11, 18, 24, 31, 40, 44, 53,
+       10, 19, 23, 32, 39, 45, 52, 54,
+       20, 22, 33, 38, 46, 51, 55, 60,
+       21, 34, 37, 47, 50, 56, 59, 61,
+       35, 36, 48, 49, 57, 58, 62, 63,
+}
+
+func TestZigUnzig(t *testing.T) {
+       for i := 0; i < blockSize; i++ {
+               if unzig[zigzag[i]] != i {
+                       t.Errorf("unzig[zigzag[%d]] == %d", i, unzig[zigzag[i]])
+               }
+               if zigzag[unzig[i]] != i {
+                       t.Errorf("zigzag[unzig[%d]] == %d", i, zigzag[unzig[i]])
+               }
+       }
+}
+
+// unscaledQuantInNaturalOrder are the unscaled quantization tables in
+// natural (not zig-zag) order, as specified in section K.1.
+var unscaledQuantInNaturalOrder = [nQuantIndex][blockSize]byte{
+       // Luminance.
+       {
+               16, 11, 10, 16, 24, 40, 51, 61,
+               12, 12, 14, 19, 26, 58, 60, 55,
+               14, 13, 16, 24, 40, 57, 69, 56,
+               14, 17, 22, 29, 51, 87, 80, 62,
+               18, 22, 37, 56, 68, 109, 103, 77,
+               24, 35, 55, 64, 81, 104, 113, 92,
+               49, 64, 78, 87, 103, 121, 120, 101,
+               72, 92, 95, 98, 112, 100, 103, 99,
+       },
+       // Chrominance.
+       {
+               17, 18, 24, 47, 99, 99, 99, 99,
+               18, 21, 26, 66, 99, 99, 99, 99,
+               24, 26, 56, 99, 99, 99, 99, 99,
+               47, 66, 99, 99, 99, 99, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
+               99, 99, 99, 99, 99, 99, 99, 99,
+       },
+}
+
+func TestUnscaledQuant(t *testing.T) {
+       bad := false
+       for i := quantIndex(0); i < nQuantIndex; i++ {
+               for zig := 0; zig < blockSize; zig++ {
+                       got := unscaledQuant[i][zig]
+                       want := unscaledQuantInNaturalOrder[i][unzig[zig]]
+                       if got != want {
+                               t.Errorf("i=%d, zig=%d: got %d, want %d", i, zig, got, want)
+                               bad = true
+                       }
+               }
+       }
+       if bad {
+               names := [nQuantIndex]string{"Luminance", "Chrominance"}
+               buf := &bytes.Buffer{}
+               for i, name := range names {
+                       fmt.Fprintf(buf, "// %s.\n{\n", name)
+                       for zig := 0; zig < blockSize; zig++ {
+                               fmt.Fprintf(buf, "%d, ", unscaledQuantInNaturalOrder[i][unzig[zig]])
+                               if zig%8 == 7 {
+                                       buf.WriteString("\n")
+                               }
+                       }
+                       buf.WriteString("},\n")
+               }
+               t.Logf("expected unscaledQuant values:\n%s", buf.String())
+       }
+}
+
 var testCase = []struct {
        filename  string
        quality   int
index 55f634c..04ee2cf 100644 (file)
@@ -20,7 +20,7 @@ var (
 )
 
 // Uniform is an infinite-sized Image of uniform color.
-// It implements the color.Color, color.ColorModel, and Image interfaces.
+// It implements the color.Color, color.Model, and Image interfaces.
 type Uniform struct {
        C color.Color
 }
index 54bf159..5187eff 100644 (file)
@@ -130,11 +130,23 @@ type ReadWriteSeeker interface {
 }
 
 // ReaderFrom is the interface that wraps the ReadFrom method.
+//
+// ReadFrom reads data from r until EOF or error.
+// The return value n is the number of bytes read.
+// Any error except io.EOF encountered during the read is also returned.
+//
+// The Copy function uses ReaderFrom if available.
 type ReaderFrom interface {
        ReadFrom(r Reader) (n int64, err error)
 }
 
 // WriterTo is the interface that wraps the WriteTo method.
+//
+// WriteTo writes data to w until there's no more data to write or
+// when an error occurs. The return value n is the number of bytes
+// written. Any error encountered during the write is also returned.
+//
+// The Copy function uses WriterTo if available.
 type WriterTo interface {
        WriteTo(w Writer) (n int64, err error)
 }
index f53310c..e5620e1 100644 (file)
@@ -138,7 +138,11 @@ func (w *Writer) Debug(m string) (err error) {
 }
 
 func (n netConn) writeBytes(p Priority, prefix string, b []byte) (int, error) {
-       _, err := fmt.Fprintf(n.conn, "<%d>%s: %s\n", p, prefix, b)
+       nl := ""
+       if len(b) == 0 || b[len(b)-1] != '\n' {
+               nl = "\n"
+       }
+       _, err := fmt.Fprintf(n.conn, "<%d>%s: %s%s", p, prefix, b, nl)
        if err != nil {
                return 0, err
        }
@@ -146,7 +150,11 @@ func (n netConn) writeBytes(p Priority, prefix string, b []byte) (int, error) {
 }
 
 func (n netConn) writeString(p Priority, prefix string, s string) (int, error) {
-       _, err := fmt.Fprintf(n.conn, "<%d>%s: %s\n", p, prefix, s)
+       nl := ""
+       if len(s) == 0 || s[len(s)-1] != '\n' {
+               nl = "\n"
+       }
+       _, err := fmt.Fprintf(n.conn, "<%d>%s: %s%s", p, prefix, s, nl)
        if err != nil {
                return 0, err
        }
index 0fd6239..b7579c3 100644 (file)
@@ -98,20 +98,32 @@ func TestUDPDial(t *testing.T) {
 }
 
 func TestWrite(t *testing.T) {
-       done := make(chan string)
-       startServer(done)
-       l, err := Dial("udp", serverAddr, LOG_ERR, "syslog_test")
-       if err != nil {
-               t.Fatalf("syslog.Dial() failed: %s", err)
+       tests := []struct {
+               pri Priority
+               pre string
+               msg string
+               exp string
+       }{
+               {LOG_ERR, "syslog_test", "", "<3>syslog_test: \n"},
+               {LOG_ERR, "syslog_test", "write test", "<3>syslog_test: write test\n"},
+               // Write should not add \n if there already is one
+               {LOG_ERR, "syslog_test", "write test 2\n", "<3>syslog_test: write test 2\n"},
        }
-       msg := "write test"
-       _, err = io.WriteString(l, msg)
-       if err != nil {
-               t.Fatalf("WriteString() failed: %s", err)
-       }
-       expected := "<3>syslog_test: write test\n"
-       rcvd := <-done
-       if rcvd != expected {
-               t.Fatalf("s.Info() = '%q', but wanted '%q'", rcvd, expected)
+
+       for _, test := range tests {
+               done := make(chan string)
+               startServer(done)
+               l, err := Dial("udp", serverAddr, test.pri, test.pre)
+               if err != nil {
+                       t.Fatalf("syslog.Dial() failed: %s", err)
+               }
+               _, err = io.WriteString(l, test.msg)
+               if err != nil {
+                       t.Fatalf("WriteString() failed: %s", err)
+               }
+               rcvd := <-done
+               if rcvd != test.exp {
+                       t.Fatalf("s.Info() = '%q', but wanted '%q'", rcvd, test.exp)
+               }
        }
 }
index ed66a42..35c33ce 100644 (file)
@@ -1693,6 +1693,17 @@ func alike(a, b float64) bool {
        return false
 }
 
+func TestNaN(t *testing.T) {
+       f64 := NaN()
+       if f64 == f64 {
+               t.Fatalf("NaN() returns %g, expected NaN", f64)
+       }
+       f32 := float32(f64)
+       if f32 == f32 {
+               t.Fatalf("float32(NaN()) is %g, expected NaN", f32)
+       }
+}
+
 func TestAcos(t *testing.T) {
        for i := 0; i < len(vf); i++ {
                a := vf[i] / 10
index eaa6ff0..6d81823 100644 (file)
@@ -396,7 +396,7 @@ func (z nat) mul(x, y nat) nat {
        }
 
        // use basic multiplication if the numbers are small
-       if n < karatsubaThreshold || n < 2 {
+       if n < karatsubaThreshold {
                z = z.make(m + n)
                basicMul(z, x, y)
                return z.norm()
index 1cf60ce..0df0b1c 100644 (file)
@@ -5,7 +5,7 @@
 package math
 
 const (
-       uvnan    = 0x7FF0000000000001
+       uvnan    = 0x7FF8000000000001
        uvinf    = 0x7FF0000000000000
        uvneginf = 0xFFF0000000000000
        mask     = 0x7FF
index a233e8e..98bb04d 100644 (file)
@@ -4,7 +4,7 @@
 
 package math
 
-// The original C code and the the comment below are from
+// The original C code and the comment below are from
 // FreeBSD's /usr/src/lib/msun/src/e_remainder.c and came
 // with this notice.  The go code is a simplified version of
 // the original C.
index 83cc411..09e941e 100644 (file)
@@ -22,7 +22,7 @@ func isTokenChar(r rune) bool {
        return r > 0x20 && r < 0x7f && !isTSpecial(r)
 }
 
-// isToken returns true if s is a 'token' as as defined by RFC 1521
+// isToken returns true if s is a 'token' as defined by RFC 1521
 // and RFC 2045.
 func isToken(s string) bool {
        if s == "" {
index e9e337b..fb07e1a 100644 (file)
@@ -71,7 +71,7 @@ func (p *Part) parseContentDisposition() {
        }
 }
 
-// NewReader creates a new multipart Reader reading from r using the
+// NewReader creates a new multipart Reader reading from reader using the
 // given MIME boundary.
 func NewReader(reader io.Reader, boundary string) *Reader {
        b := []byte("\r\n--" + boundary + "--")
index 10ca5fa..5191239 100644 (file)
@@ -173,7 +173,7 @@ func (a stringAddr) String() string  { return a.addr }
 
 // Listen announces on the local network address laddr.
 // The network string net must be a stream-oriented network:
-// "tcp", "tcp4", "tcp6", or "unix", or "unixpacket".
+// "tcp", "tcp4", "tcp6", "unix" or "unixpacket".
 func Listen(net, laddr string) (Listener, error) {
        afnet, a, err := resolveNetAddr("listen", net, laddr)
        if err != nil {
index 76c953b..ff4f4f8 100644 (file)
@@ -645,10 +645,14 @@ func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (netfd *netFD, err e
 }
 
 func (fd *netFD) dup() (f *os.File, err error) {
+       syscall.ForkLock.RLock()
        ns, err := syscall.Dup(fd.sysfd)
        if err != nil {
+               syscall.ForkLock.RUnlock()
                return nil, &OpError{"dup", fd.net, fd.laddr, err}
        }
+       syscall.CloseOnExec(ns)
+       syscall.ForkLock.RUnlock()
 
        // We want blocking mode for the new fd, hence the double negative.
        if err = syscall.SetNonblock(ns, false); err != nil {
index fc6c6fa..837326e 100644 (file)
@@ -12,13 +12,18 @@ import (
 )
 
 func newFileFD(f *os.File) (*netFD, error) {
+       syscall.ForkLock.RLock()
        fd, err := syscall.Dup(int(f.Fd()))
        if err != nil {
+               syscall.ForkLock.RUnlock()
                return nil, os.NewSyscallError("dup", err)
        }
+       syscall.CloseOnExec(fd)
+       syscall.ForkLock.RUnlock()
 
-       proto, err := syscall.GetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_TYPE)
+       sotype, err := syscall.GetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_TYPE)
        if err != nil {
+               closesocket(fd)
                return nil, os.NewSyscallError("getsockopt", err)
        }
 
@@ -31,24 +36,24 @@ func newFileFD(f *os.File) (*netFD, error) {
                return nil, syscall.EINVAL
        case *syscall.SockaddrInet4:
                family = syscall.AF_INET
-               if proto == syscall.SOCK_DGRAM {
+               if sotype == syscall.SOCK_DGRAM {
                        toAddr = sockaddrToUDP
-               } else if proto == syscall.SOCK_RAW {
+               } else if sotype == syscall.SOCK_RAW {
                        toAddr = sockaddrToIP
                }
        case *syscall.SockaddrInet6:
                family = syscall.AF_INET6
-               if proto == syscall.SOCK_DGRAM {
+               if sotype == syscall.SOCK_DGRAM {
                        toAddr = sockaddrToUDP
-               } else if proto == syscall.SOCK_RAW {
+               } else if sotype == syscall.SOCK_RAW {
                        toAddr = sockaddrToIP
                }
        case *syscall.SockaddrUnix:
                family = syscall.AF_UNIX
                toAddr = sockaddrToUnix
-               if proto == syscall.SOCK_DGRAM {
+               if sotype == syscall.SOCK_DGRAM {
                        toAddr = sockaddrToUnixgram
-               } else if proto == syscall.SOCK_SEQPACKET {
+               } else if sotype == syscall.SOCK_SEQPACKET {
                        toAddr = sockaddrToUnixpacket
                }
        }
@@ -56,8 +61,9 @@ func newFileFD(f *os.File) (*netFD, error) {
        sa, _ = syscall.Getpeername(fd)
        raddr := toAddr(sa)
 
-       netfd, err := newFD(fd, family, proto, laddr.Network())
+       netfd, err := newFD(fd, family, sotype, laddr.Network())
        if err != nil {
+               closesocket(fd)
                return nil, err
        }
        netfd.setAddr(laddr, raddr)
index 54564e0..8944142 100644 (file)
@@ -14,6 +14,7 @@ import (
        "errors"
        "fmt"
        "io"
+       "log"
        "net/url"
        "strings"
 )
@@ -35,7 +36,8 @@ type Client struct {
        // following an HTTP redirect. The arguments req and via
        // are the upcoming request and the requests made already,
        // oldest first. If CheckRedirect returns an error, the client
-       // returns that error instead of issue the Request req.
+       // returns that error (wrapped in a url.Error) instead of
+       // issuing the Request req.
        //
        // If CheckRedirect is nil, the Client uses its default policy,
        // which is to stop after 10 consecutive requests.
@@ -87,9 +89,13 @@ type readClose struct {
 // Do sends an HTTP request and returns an HTTP response, following
 // policy (e.g. redirects, cookies, auth) as configured on the client.
 //
-// A non-nil response always contains a non-nil resp.Body.
+// An error is returned if caused by client policy (such as
+// CheckRedirect), or if there was an HTTP protocol error.
+// A non-2xx response doesn't cause an error.
 //
-// Callers should close resp.Body when done reading from it. If
+// When err is nil, resp always contains a non-nil resp.Body.
+//
+// Callers should close res.Body when done reading from it. If
 // resp.Body is not closed, the Client's underlying RoundTripper
 // (typically Transport) may not be able to re-use a persistent TCP
 // connection to the server for a subsequent "keep-alive" request.
@@ -102,7 +108,8 @@ func (c *Client) Do(req *Request) (resp *Response, err error) {
        return send(req, c.Transport)
 }
 
-// send issues an HTTP request.  Caller should close resp.Body when done reading from it.
+// send issues an HTTP request.
+// Caller should close resp.Body when done reading from it.
 func send(req *Request, t RoundTripper) (resp *Response, err error) {
        if t == nil {
                t = DefaultTransport
@@ -130,7 +137,14 @@ func send(req *Request, t RoundTripper) (resp *Response, err error) {
        if u := req.URL.User; u != nil {
                req.Header.Set("Authorization", "Basic "+base64.URLEncoding.EncodeToString([]byte(u.String())))
        }
-       return t.RoundTrip(req)
+       resp, err = t.RoundTrip(req)
+       if err != nil {
+               if resp != nil {
+                       log.Printf("RoundTripper returned a response & error; ignoring response")
+               }
+               return nil, err
+       }
+       return resp, nil
 }
 
 // True if the specified HTTP status code is one for which the Get utility should
@@ -151,10 +165,15 @@ func shouldRedirect(statusCode int) bool {
 //    303 (See Other)
 //    307 (Temporary Redirect)
 //
-// Caller should close r.Body when done reading from it.
+// An error is returned if there were too many redirects or if there
+// was an HTTP protocol error. A non-2xx response doesn't cause an
+// error.
+//
+// When err is nil, resp always contains a non-nil resp.Body.
+// Caller should close resp.Body when done reading from it.
 //
 // Get is a wrapper around DefaultClient.Get.
-func Get(url string) (r *Response, err error) {
+func Get(url string) (resp *Response, err error) {
        return DefaultClient.Get(url)
 }
 
@@ -167,8 +186,13 @@ func Get(url string) (r *Response, err error) {
 //    303 (See Other)
 //    307 (Temporary Redirect)
 //
-// Caller should close r.Body when done reading from it.
-func (c *Client) Get(url string) (r *Response, err error) {
+// An error is returned if the Client's CheckRedirect function fails
+// or if there was an HTTP protocol error. A non-2xx response doesn't
+// cause an error.
+//
+// When err is nil, resp always contains a non-nil resp.Body.
+// Caller should close resp.Body when done reading from it.
+func (c *Client) Get(url string) (resp *Response, err error) {
        req, err := NewRequest("GET", url, nil)
        if err != nil {
                return nil, err
@@ -176,7 +200,7 @@ func (c *Client) Get(url string) (r *Response, err error) {
        return c.doFollowingRedirects(req)
 }
 
-func (c *Client) doFollowingRedirects(ireq *Request) (r *Response, err error) {
+func (c *Client) doFollowingRedirects(ireq *Request) (resp *Response, err error) {
        // TODO: if/when we add cookie support, the redirected request shouldn't
        // necessarily supply the same cookies as the original.
        var base *url.URL
@@ -224,17 +248,17 @@ func (c *Client) doFollowingRedirects(ireq *Request) (r *Response, err error) {
                        req.AddCookie(cookie)
                }
                urlStr = req.URL.String()
-               if r, err = send(req, c.Transport); err != nil {
+               if resp, err = send(req, c.Transport); err != nil {
                        break
                }
-               if c := r.Cookies(); len(c) > 0 {
+               if c := resp.Cookies(); len(c) > 0 {
                        jar.SetCookies(req.URL, c)
                }
 
-               if shouldRedirect(r.StatusCode) {
-                       r.Body.Close()
-                       if urlStr = r.Header.Get("Location"); urlStr == "" {
-                               err = errors.New(fmt.Sprintf("%d response missing Location header", r.StatusCode))
+               if shouldRedirect(resp.StatusCode) {
+                       resp.Body.Close()
+                       if urlStr = resp.Header.Get("Location"); urlStr == "" {
+                               err = errors.New(fmt.Sprintf("%d response missing Location header", resp.StatusCode))
                                break
                        }
                        base = req.URL
@@ -244,13 +268,16 @@ func (c *Client) doFollowingRedirects(ireq *Request) (r *Response, err error) {
                return
        }
 
+       if resp != nil {
+               resp.Body.Close()
+       }
+
        method := ireq.Method
-       err = &url.Error{
+       return nil, &url.Error{
                Op:  method[0:1] + strings.ToLower(method[1:]),
                URL: urlStr,
                Err: err,
        }
-       return
 }
 
 func defaultCheckRedirect(req *Request, via []*Request) error {
@@ -262,17 +289,17 @@ func defaultCheckRedirect(req *Request, via []*Request) error {
 
 // Post issues a POST to the specified URL.
 //
-// Caller should close r.Body when done reading from it.
+// Caller should close resp.Body when done reading from it.
 //
 // Post is a wrapper around DefaultClient.Post
-func Post(url string, bodyType string, body io.Reader) (r *Response, err error) {
+func Post(url string, bodyType string, body io.Reader) (resp *Response, err error) {
        return DefaultClient.Post(url, bodyType, body)
 }
 
 // Post issues a POST to the specified URL.
 //
-// Caller should close r.Body when done reading from it.
-func (c *Client) Post(url string, bodyType string, body io.Reader) (r *Response, err error) {
+// Caller should close resp.Body when done reading from it.
+func (c *Client) Post(url string, bodyType string, body io.Reader) (resp *Response, err error) {
        req, err := NewRequest("POST", url, body)
        if err != nil {
                return nil, err
@@ -283,28 +310,30 @@ func (c *Client) Post(url string, bodyType string, body io.Reader) (r *Response,
                        req.AddCookie(cookie)
                }
        }
-       r, err = send(req, c.Transport)
+       resp, err = send(req, c.Transport)
        if err == nil && c.Jar != nil {
-               c.Jar.SetCookies(req.URL, r.Cookies())
+               c.Jar.SetCookies(req.URL, resp.Cookies())
        }
-       return r, err
+       return
 }
 
-// PostForm issues a POST to the specified URL, 
-// with data's keys and values urlencoded as the request body.
+// PostForm issues a POST to the specified URL, with data's keys and
+// values URL-encoded as the request body.
 //
-// Caller should close r.Body when done reading from it.
+// When err is nil, resp always contains a non-nil resp.Body.
+// Caller should close resp.Body when done reading from it.
 //
 // PostForm is a wrapper around DefaultClient.PostForm
-func PostForm(url string, data url.Values) (r *Response, err error) {
+func PostForm(url string, data url.Values) (resp *Response, err error) {
        return DefaultClient.PostForm(url, data)
 }
 
 // PostForm issues a POST to the specified URL, 
 // with data's keys and values urlencoded as the request body.
 //
-// Caller should close r.Body when done reading from it.
-func (c *Client) PostForm(url string, data url.Values) (r *Response, err error) {
+// When err is nil, resp always contains a non-nil resp.Body.
+// Caller should close resp.Body when done reading from it.
+func (c *Client) PostForm(url string, data url.Values) (resp *Response, err error) {
        return c.Post(url, "application/x-www-form-urlencoded", strings.NewReader(data.Encode()))
 }
 
@@ -318,7 +347,7 @@ func (c *Client) PostForm(url string, data url.Values) (r *Response, err error)
 //    307 (Temporary Redirect)
 //
 // Head is a wrapper around DefaultClient.Head
-func Head(url string) (r *Response, err error) {
+func Head(url string) (resp *Response, err error) {
        return DefaultClient.Head(url)
 }
 
@@ -330,7 +359,7 @@ func Head(url string) (r *Response, err error) {
 //    302 (Found)
 //    303 (See Other)
 //    307 (Temporary Redirect)
-func (c *Client) Head(url string) (r *Response, err error) {
+func (c *Client) Head(url string) (resp *Response, err error) {
        req, err := NewRequest("HEAD", url, nil)
        if err != nil {
                return nil, err
index 9b4261b..09fcc1c 100644 (file)
@@ -8,6 +8,7 @@ package http_test
 
 import (
        "crypto/tls"
+       "crypto/x509"
        "errors"
        "fmt"
        "io"
@@ -231,9 +232,8 @@ func TestRedirects(t *testing.T) {
 
        checkErr = errors.New("no redirects allowed")
        res, err = c.Get(ts.URL)
-       finalUrl = res.Request.URL.String()
-       if e, g := "Get /?n=1: no redirects allowed", fmt.Sprintf("%v", err); e != g {
-               t.Errorf("with redirects forbidden, expected error %q, got %q", e, g)
+       if urlError, ok := err.(*url.Error); !ok || urlError.Err != checkErr {
+               t.Errorf("with redirects forbidden, expected a *url.Error with our 'no redirects allowed' error inside; got %#v (%q)", err, err)
        }
 }
 
@@ -465,3 +465,49 @@ func TestClientErrorWithRequestURI(t *testing.T) {
                t.Errorf("wanted error mentioning RequestURI; got error: %v", err)
        }
 }
+
+func newTLSTransport(t *testing.T, ts *httptest.Server) *Transport {
+       certs := x509.NewCertPool()
+       for _, c := range ts.TLS.Certificates {
+               roots, err := x509.ParseCertificates(c.Certificate[len(c.Certificate)-1])
+               if err != nil {
+                       t.Fatalf("error parsing server's root cert: %v", err)
+               }
+               for _, root := range roots {
+                       certs.AddCert(root)
+               }
+       }
+       return &Transport{
+               TLSClientConfig: &tls.Config{RootCAs: certs},
+       }
+}
+
+func TestClientWithCorrectTLSServerName(t *testing.T) {
+       ts := httptest.NewTLSServer(HandlerFunc(func(w ResponseWriter, r *Request) {
+               if r.TLS.ServerName != "127.0.0.1" {
+                       t.Errorf("expected client to set ServerName 127.0.0.1, got: %q", r.TLS.ServerName)
+               }
+       }))
+       defer ts.Close()
+
+       c := &Client{Transport: newTLSTransport(t, ts)}
+       if _, err := c.Get(ts.URL); err != nil {
+               t.Fatalf("expected successful TLS connection, got error: %v", err)
+       }
+}
+
+func TestClientWithIncorrectTLSServerName(t *testing.T) {
+       ts := httptest.NewTLSServer(HandlerFunc(func(w ResponseWriter, r *Request) {}))
+       defer ts.Close()
+
+       trans := newTLSTransport(t, ts)
+       trans.TLSClientConfig.ServerName = "badserver"
+       c := &Client{Transport: trans}
+       _, err := c.Get(ts.URL)
+       if err == nil {
+               t.Fatalf("expected an error")
+       }
+       if !strings.Contains(err.Error(), "127.0.0.1") || !strings.Contains(err.Error(), "badserver") {
+               t.Errorf("wanted error mentioning 127.0.0.1 and badserver; got error: %v", err)
+       }
+}
index ec81440..22073ea 100644 (file)
@@ -43,10 +43,10 @@ func ExampleGet() {
                log.Fatal(err)
        }
        robots, err := ioutil.ReadAll(res.Body)
+       res.Body.Close()
        if err != nil {
                log.Fatal(err)
        }
-       res.Body.Close()
        fmt.Printf("%s", robots)
 }
 
index 13640ca..313c6af 100644 (file)
@@ -11,8 +11,8 @@ import "time"
 
 func (t *Transport) IdleConnKeysForTesting() (keys []string) {
        keys = make([]string, 0)
-       t.lk.Lock()
-       defer t.lk.Unlock()
+       t.idleLk.Lock()
+       defer t.idleLk.Unlock()
        if t.idleConn == nil {
                return
        }
@@ -23,8 +23,8 @@ func (t *Transport) IdleConnKeysForTesting() (keys []string) {
 }
 
 func (t *Transport) IdleConnCountForTesting(cacheKey string) int {
-       t.lk.Lock()
-       defer t.lk.Unlock()
+       t.idleLk.Lock()
+       defer t.idleLk.Unlock()
        if t.idleConn == nil {
                return 0
        }
index f35dd32..208d6ca 100644 (file)
@@ -11,6 +11,8 @@ import (
        "fmt"
        "io"
        "mime"
+       "mime/multipart"
+       "net/textproto"
        "os"
        "path"
        "path/filepath"
@@ -26,7 +28,8 @@ import (
 type Dir string
 
 func (d Dir) Open(name string) (File, error) {
-       if filepath.Separator != '/' && strings.IndexRune(name, filepath.Separator) >= 0 {
+       if filepath.Separator != '/' && strings.IndexRune(name, filepath.Separator) >= 0 ||
+               strings.Contains(name, "\x00") {
                return nil, errors.New("http: invalid character in file path")
        }
        dir := string(d)
@@ -123,8 +126,9 @@ func serveContent(w ResponseWriter, r *Request, name string, modtime time.Time,
        code := StatusOK
 
        // If Content-Type isn't set, use the file's extension to find it.
-       if w.Header().Get("Content-Type") == "" {
-               ctype := mime.TypeByExtension(filepath.Ext(name))
+       ctype := w.Header().Get("Content-Type")
+       if ctype == "" {
+               ctype = mime.TypeByExtension(filepath.Ext(name))
                if ctype == "" {
                        // read a chunk to decide between utf-8 text and binary
                        var buf [1024]byte
@@ -141,18 +145,34 @@ func serveContent(w ResponseWriter, r *Request, name string, modtime time.Time,
        }
 
        // handle Content-Range header.
-       // TODO(adg): handle multiple ranges
        sendSize := size
+       var sendContent io.Reader = content
        if size >= 0 {
                ranges, err := parseRange(r.Header.Get("Range"), size)
-               if err == nil && len(ranges) > 1 {
-                       err = errors.New("multiple ranges not supported")
-               }
                if err != nil {
                        Error(w, err.Error(), StatusRequestedRangeNotSatisfiable)
                        return
                }
-               if len(ranges) == 1 {
+               if sumRangesSize(ranges) >= size {
+                       // The total number of bytes in all the ranges
+                       // is larger than the size of the file by
+                       // itself, so this is probably an attack, or a
+                       // dumb client.  Ignore the range request.
+                       ranges = nil
+               }
+               switch {
+               case len(ranges) == 1:
+                       // RFC 2616, Section 14.16:
+                       // "When an HTTP message includes the content of a single
+                       // range (for example, a response to a request for a
+                       // single range, or to a request for a set of ranges
+                       // that overlap without any holes), this content is
+                       // transmitted with a Content-Range header, and a
+                       // Content-Length header showing the number of bytes
+                       // actually transferred.
+                       // ...
+                       // A response to a request for a single range MUST NOT
+                       // be sent using the multipart/byteranges media type."
                        ra := ranges[0]
                        if _, err := content.Seek(ra.start, os.SEEK_SET); err != nil {
                                Error(w, err.Error(), StatusRequestedRangeNotSatisfiable)
@@ -160,7 +180,41 @@ func serveContent(w ResponseWriter, r *Request, name string, modtime time.Time,
                        }
                        sendSize = ra.length
                        code = StatusPartialContent
-                       w.Header().Set("Content-Range", fmt.Sprintf("bytes %d-%d/%d", ra.start, ra.start+ra.length-1, size))
+                       w.Header().Set("Content-Range", ra.contentRange(size))
+               case len(ranges) > 1:
+                       for _, ra := range ranges {
+                               if ra.start > size {
+                                       Error(w, err.Error(), StatusRequestedRangeNotSatisfiable)
+                                       return
+                               }
+                       }
+                       sendSize = rangesMIMESize(ranges, ctype, size)
+                       code = StatusPartialContent
+
+                       pr, pw := io.Pipe()
+                       mw := multipart.NewWriter(pw)
+                       w.Header().Set("Content-Type", "multipart/byteranges; boundary="+mw.Boundary())
+                       sendContent = pr
+                       defer pr.Close() // cause writing goroutine to fail and exit if CopyN doesn't finish.
+                       go func() {
+                               for _, ra := range ranges {
+                                       part, err := mw.CreatePart(ra.mimeHeader(ctype, size))
+                                       if err != nil {
+                                               pw.CloseWithError(err)
+                                               return
+                                       }
+                                       if _, err := content.Seek(ra.start, os.SEEK_SET); err != nil {
+                                               pw.CloseWithError(err)
+                                               return
+                                       }
+                                       if _, err := io.CopyN(part, content, ra.length); err != nil {
+                                               pw.CloseWithError(err)
+                                               return
+                                       }
+                               }
+                               mw.Close()
+                               pw.Close()
+                       }()
                }
 
                w.Header().Set("Accept-Ranges", "bytes")
@@ -172,11 +226,7 @@ func serveContent(w ResponseWriter, r *Request, name string, modtime time.Time,
        w.WriteHeader(code)
 
        if r.Method != "HEAD" {
-               if sendSize == -1 {
-                       io.Copy(w, content)
-               } else {
-                       io.CopyN(w, content, sendSize)
-               }
+               io.CopyN(w, sendContent, sendSize)
        }
 }
 
@@ -243,9 +293,6 @@ func serveFile(w ResponseWriter, r *Request, fs FileSystem, name string, redirec
 
        // use contents of index.html for directory, if present
        if d.IsDir() {
-               if checkLastModified(w, r, d.ModTime()) {
-                       return
-               }
                index := name + indexPage
                ff, err := fs.Open(index)
                if err == nil {
@@ -259,11 +306,16 @@ func serveFile(w ResponseWriter, r *Request, fs FileSystem, name string, redirec
                }
        }
 
+       // Still a directory? (we didn't find an index.html file)
        if d.IsDir() {
+               if checkLastModified(w, r, d.ModTime()) {
+                       return
+               }
                dirList(w, f)
                return
        }
 
+       // serverContent will check modification time
        serveContent(w, r, d.Name(), d.ModTime(), d.Size(), f)
 }
 
@@ -312,6 +364,17 @@ type httpRange struct {
        start, length int64
 }
 
+func (r httpRange) contentRange(size int64) string {
+       return fmt.Sprintf("bytes %d-%d/%d", r.start, r.start+r.length-1, size)
+}
+
+func (r httpRange) mimeHeader(contentType string, size int64) textproto.MIMEHeader {
+       return textproto.MIMEHeader{
+               "Content-Range": {r.contentRange(size)},
+               "Content-Type":  {contentType},
+       }
+}
+
 // parseRange parses a Range header string as per RFC 2616.
 func parseRange(s string, size int64) ([]httpRange, error) {
        if s == "" {
@@ -323,11 +386,15 @@ func parseRange(s string, size int64) ([]httpRange, error) {
        }
        var ranges []httpRange
        for _, ra := range strings.Split(s[len(b):], ",") {
+               ra = strings.TrimSpace(ra)
+               if ra == "" {
+                       continue
+               }
                i := strings.Index(ra, "-")
                if i < 0 {
                        return nil, errors.New("invalid range")
                }
-               start, end := ra[:i], ra[i+1:]
+               start, end := strings.TrimSpace(ra[:i]), strings.TrimSpace(ra[i+1:])
                var r httpRange
                if start == "" {
                        // If no start is specified, end specifies the
@@ -365,3 +432,32 @@ func parseRange(s string, size int64) ([]httpRange, error) {
        }
        return ranges, nil
 }
+
+// countingWriter counts how many bytes have been written to it.
+type countingWriter int64
+
+func (w *countingWriter) Write(p []byte) (n int, err error) {
+       *w += countingWriter(len(p))
+       return len(p), nil
+}
+
+// rangesMIMESize returns the nunber of bytes it takes to encode the
+// provided ranges as a multipart response.
+func rangesMIMESize(ranges []httpRange, contentType string, contentSize int64) (encSize int64) {
+       var w countingWriter
+       mw := multipart.NewWriter(&w)
+       for _, ra := range ranges {
+               mw.CreatePart(ra.mimeHeader(contentType, contentSize))
+               encSize += ra.length
+       }
+       mw.Close()
+       encSize += int64(w)
+       return
+}
+
+func sumRangesSize(ranges []httpRange) (size int64) {
+       for _, ra := range ranges {
+               size += ra.length
+       }
+       return
+}
index ffba6a7..17329fb 100644 (file)
@@ -10,12 +10,15 @@ import (
        "fmt"
        "io"
        "io/ioutil"
+       "mime"
+       "mime/multipart"
        "net"
        . "net/http"
        "net/http/httptest"
        "net/url"
        "os"
        "os/exec"
+       "path"
        "path/filepath"
        "regexp"
        "runtime"
@@ -25,21 +28,29 @@ import (
 )
 
 const (
-       testFile       = "testdata/file"
-       testFileLength = 11
+       testFile    = "testdata/file"
+       testFileLen = 11
 )
 
+type wantRange struct {
+       start, end int64 // range [start,end)
+}
+
 var ServeFileRangeTests = []struct {
-       start, end int
-       r          string
-       code       int
+       r      string
+       code   int
+       ranges []wantRange
 }{
-       {0, testFileLength, "", StatusOK},
-       {0, 5, "0-4", StatusPartialContent},
-       {2, testFileLength, "2-", StatusPartialContent},
-       {testFileLength - 5, testFileLength, "-5", StatusPartialContent},
-       {3, 8, "3-7", StatusPartialContent},
-       {0, 0, "20-", StatusRequestedRangeNotSatisfiable},
+       {r: "", code: StatusOK},
+       {r: "bytes=0-4", code: StatusPartialContent, ranges: []wantRange{{0, 5}}},
+       {r: "bytes=2-", code: StatusPartialContent, ranges: []wantRange{{2, testFileLen}}},
+       {r: "bytes=-5", code: StatusPartialContent, ranges: []wantRange{{testFileLen - 5, testFileLen}}},
+       {r: "bytes=3-7", code: StatusPartialContent, ranges: []wantRange{{3, 8}}},
+       {r: "bytes=20-", code: StatusRequestedRangeNotSatisfiable},
+       {r: "bytes=0-0,-2", code: StatusPartialContent, ranges: []wantRange{{0, 1}, {testFileLen - 2, testFileLen}}},
+       {r: "bytes=0-1,5-8", code: StatusPartialContent, ranges: []wantRange{{0, 2}, {5, 9}}},
+       {r: "bytes=0-1,5-", code: StatusPartialContent, ranges: []wantRange{{0, 2}, {5, testFileLen}}},
+       {r: "bytes=0-,1-,2-,3-,4-", code: StatusOK}, // ignore wasteful range request
 }
 
 func TestServeFile(t *testing.T) {
@@ -65,33 +76,81 @@ func TestServeFile(t *testing.T) {
 
        // straight GET
        _, body := getBody(t, "straight get", req)
-       if !equal(body, file) {
+       if !bytes.Equal(body, file) {
                t.Fatalf("body mismatch: got %q, want %q", body, file)
        }
 
        // Range tests
-       for i, rt := range ServeFileRangeTests {
-               req.Header.Set("Range", "bytes="+rt.r)
-               if rt.r == "" {
-                       req.Header["Range"] = nil
+       for _, rt := range ServeFileRangeTests {
+               if rt.r != "" {
+                       req.Header.Set("Range", rt.r)
                }
-               r, body := getBody(t, fmt.Sprintf("test %d", i), req)
-               if r.StatusCode != rt.code {
-                       t.Errorf("range=%q: StatusCode=%d, want %d", rt.r, r.StatusCode, rt.code)
+               resp, body := getBody(t, fmt.Sprintf("range test %q", rt.r), req)
+               if resp.StatusCode != rt.code {
+                       t.Errorf("range=%q: StatusCode=%d, want %d", rt.r, resp.StatusCode, rt.code)
                }
                if rt.code == StatusRequestedRangeNotSatisfiable {
                        continue
                }
-               h := fmt.Sprintf("bytes %d-%d/%d", rt.start, rt.end-1, testFileLength)
-               if rt.r == "" {
-                       h = ""
+               wantContentRange := ""
+               if len(rt.ranges) == 1 {
+                       rng := rt.ranges[0]
+                       wantContentRange = fmt.Sprintf("bytes %d-%d/%d", rng.start, rng.end-1, testFileLen)
+               }
+               cr := resp.Header.Get("Content-Range")
+               if cr != wantContentRange {
+                       t.Errorf("range=%q: Content-Range = %q, want %q", rt.r, cr, wantContentRange)
                }
-               cr := r.Header.Get("Content-Range")
-               if cr != h {
-                       t.Errorf("header mismatch: range=%q: got %q, want %q", rt.r, cr, h)
+               ct := resp.Header.Get("Content-Type")
+               if len(rt.ranges) == 1 {
+                       rng := rt.ranges[0]
+                       wantBody := file[rng.start:rng.end]
+                       if !bytes.Equal(body, wantBody) {
+                               t.Errorf("range=%q: body = %q, want %q", rt.r, body, wantBody)
+                       }
+                       if strings.HasPrefix(ct, "multipart/byteranges") {
+                               t.Errorf("range=%q content-type = %q; unexpected multipart/byteranges", rt.r)
+                       }
                }
-               if !equal(body, file[rt.start:rt.end]) {
-                       t.Errorf("body mismatch: range=%q: got %q, want %q", rt.r, body, file[rt.start:rt.end])
+               if len(rt.ranges) > 1 {
+                       typ, params, err := mime.ParseMediaType(ct)
+                       if err != nil {
+                               t.Errorf("range=%q content-type = %q; %v", rt.r, ct, err)
+                               continue
+                       }
+                       if typ != "multipart/byteranges" {
+                               t.Errorf("range=%q content-type = %q; want multipart/byteranges", rt.r)
+                               continue
+                       }
+                       if params["boundary"] == "" {
+                               t.Errorf("range=%q content-type = %q; lacks boundary", rt.r, ct)
+                       }
+                       if g, w := resp.ContentLength, int64(len(body)); g != w {
+                               t.Errorf("range=%q Content-Length = %d; want %d", rt.r, g, w)
+                       }
+                       mr := multipart.NewReader(bytes.NewReader(body), params["boundary"])
+                       for ri, rng := range rt.ranges {
+                               part, err := mr.NextPart()
+                               if err != nil {
+                                       t.Fatalf("range=%q, reading part index %d: %v", rt.r, ri, err)
+                               }
+                               body, err := ioutil.ReadAll(part)
+                               if err != nil {
+                                       t.Fatalf("range=%q, reading part index %d body: %v", rt.r, ri, err)
+                               }
+                               wantContentRange = fmt.Sprintf("bytes %d-%d/%d", rng.start, rng.end-1, testFileLen)
+                               wantBody := file[rng.start:rng.end]
+                               if !bytes.Equal(body, wantBody) {
+                                       t.Errorf("range=%q: body = %q, want %q", rt.r, body, wantBody)
+                               }
+                               if g, w := part.Header.Get("Content-Range"), wantContentRange; g != w {
+                                       t.Errorf("range=%q: part Content-Range = %q; want %q", rt.r, g, w)
+                               }
+                       }
+                       _, err = mr.NextPart()
+                       if err != io.EOF {
+                               t.Errorf("range=%q; expected final error io.EOF; got %v", err)
+                       }
                }
        }
 }
@@ -276,6 +335,11 @@ func TestServeFileMimeType(t *testing.T) {
 }
 
 func TestServeFileFromCWD(t *testing.T) {
+       if runtime.GOOS == "windows" {
+               // TODO(brainman): find out why this test is broken
+               t.Logf("Temporarily skipping test on Windows; see http://golang.org/issue/3917")
+               return
+       }
        ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
                ServeFile(w, r, "fs_test.go")
        }))
@@ -325,6 +389,139 @@ func TestServeIndexHtml(t *testing.T) {
        }
 }
 
+func TestFileServerZeroByte(t *testing.T) {
+       ts := httptest.NewServer(FileServer(Dir(".")))
+       defer ts.Close()
+
+       res, err := Get(ts.URL + "/..\x00")
+       if err != nil {
+               t.Fatal(err)
+       }
+       b, err := ioutil.ReadAll(res.Body)
+       if err != nil {
+               t.Fatal("reading Body:", err)
+       }
+       if res.StatusCode == 200 {
+               t.Errorf("got status 200; want an error. Body is:\n%s", string(b))
+       }
+}
+
+type fakeFileInfo struct {
+       dir      bool
+       basename string
+       modtime  time.Time
+       ents     []*fakeFileInfo
+       contents string
+}
+
+func (f *fakeFileInfo) Name() string       { return f.basename }
+func (f *fakeFileInfo) Sys() interface{}   { return nil }
+func (f *fakeFileInfo) ModTime() time.Time { return f.modtime }
+func (f *fakeFileInfo) IsDir() bool        { return f.dir }
+func (f *fakeFileInfo) Size() int64        { return int64(len(f.contents)) }
+func (f *fakeFileInfo) Mode() os.FileMode {
+       if f.dir {
+               return 0755 | os.ModeDir
+       }
+       return 0644
+}
+
+type fakeFile struct {
+       io.ReadSeeker
+       fi   *fakeFileInfo
+       path string // as opened
+}
+
+func (f *fakeFile) Close() error               { return nil }
+func (f *fakeFile) Stat() (os.FileInfo, error) { return f.fi, nil }
+func (f *fakeFile) Readdir(count int) ([]os.FileInfo, error) {
+       if !f.fi.dir {
+               return nil, os.ErrInvalid
+       }
+       var fis []os.FileInfo
+       for _, fi := range f.fi.ents {
+               fis = append(fis, fi)
+       }
+       return fis, nil
+}
+
+type fakeFS map[string]*fakeFileInfo
+
+func (fs fakeFS) Open(name string) (File, error) {
+       name = path.Clean(name)
+       f, ok := fs[name]
+       if !ok {
+               println("fake filesystem didn't find file", name)
+               return nil, os.ErrNotExist
+       }
+       return &fakeFile{ReadSeeker: strings.NewReader(f.contents), fi: f, path: name}, nil
+}
+
+func TestDirectoryIfNotModified(t *testing.T) {
+       const indexContents = "I am a fake index.html file"
+       fileMod := time.Unix(1000000000, 0).UTC()
+       fileModStr := fileMod.Format(TimeFormat)
+       dirMod := time.Unix(123, 0).UTC()
+       indexFile := &fakeFileInfo{
+               basename: "index.html",
+               modtime:  fileMod,
+               contents: indexContents,
+       }
+       fs := fakeFS{
+               "/": &fakeFileInfo{
+                       dir:     true,
+                       modtime: dirMod,
+                       ents:    []*fakeFileInfo{indexFile},
+               },
+               "/index.html": indexFile,
+       }
+
+       ts := httptest.NewServer(FileServer(fs))
+       defer ts.Close()
+
+       res, err := Get(ts.URL)
+       if err != nil {
+               t.Fatal(err)
+       }
+       b, err := ioutil.ReadAll(res.Body)
+       if err != nil {
+               t.Fatal(err)
+       }
+       if string(b) != indexContents {
+               t.Fatalf("Got body %q; want %q", b, indexContents)
+       }
+       res.Body.Close()
+
+       lastMod := res.Header.Get("Last-Modified")
+       if lastMod != fileModStr {
+               t.Fatalf("initial Last-Modified = %q; want %q", lastMod, fileModStr)
+       }
+
+       req, _ := NewRequest("GET", ts.URL, nil)
+       req.Header.Set("If-Modified-Since", lastMod)
+
+       res, err = DefaultClient.Do(req)
+       if err != nil {
+               t.Fatal(err)
+       }
+       if res.StatusCode != 304 {
+               t.Fatalf("Code after If-Modified-Since request = %v; want 304", res.StatusCode)
+       }
+       res.Body.Close()
+
+       // Advance the index.html file's modtime, but not the directory's.
+       indexFile.modtime = indexFile.modtime.Add(1 * time.Hour)
+
+       res, err = DefaultClient.Do(req)
+       if err != nil {
+               t.Fatal(err)
+       }
+       if res.StatusCode != 200 {
+               t.Fatalf("Code after second If-Modified-Since request = %v; want 200; res is %#v", res.StatusCode, res)
+       }
+       res.Body.Close()
+}
+
 func TestServeContent(t *testing.T) {
        type req struct {
                name    string
@@ -464,15 +661,3 @@ func TestLinuxSendfileChild(*testing.T) {
                panic(err)
        }
 }
-
-func equal(a, b []byte) bool {
-       if len(a) != len(b) {
-               return false
-       }
-       for i := range a {
-               if a[i] != b[i] {
-                       return false
-               }
-       }
-       return true
-}
index b107c31..6be94f9 100644 (file)
@@ -76,3 +76,43 @@ func (h Header) WriteSubset(w io.Writer, exclude map[string]bool) error {
 // the rest are converted to lowercase.  For example, the
 // canonical key for "accept-encoding" is "Accept-Encoding".
 func CanonicalHeaderKey(s string) string { return textproto.CanonicalMIMEHeaderKey(s) }
+
+// hasToken returns whether token appears with v, ASCII
+// case-insensitive, with space or comma boundaries.
+// token must be all lowercase.
+// v may contain mixed cased.
+func hasToken(v, token string) bool {
+       if len(token) > len(v) || token == "" {
+               return false
+       }
+       if v == token {
+               return true
+       }
+       for sp := 0; sp <= len(v)-len(token); sp++ {
+               // Check that first character is good.
+               // The token is ASCII, so checking only a single byte
+               // is sufficient.  We skip this potential starting
+               // position if both the first byte and its potential
+               // ASCII uppercase equivalent (b|0x20) don't match.
+               // False positives ('^' => '~') are caught by EqualFold.
+               if b := v[sp]; b != token[0] && b|0x20 != token[0] {
+                       continue
+               }
+               // Check that start pos is on a valid token boundary.
+               if sp > 0 && !isTokenBoundary(v[sp-1]) {
+                       continue
+               }
+               // Check that end pos is on a valid token boundary.
+               if endPos := sp + len(token); endPos != len(v) && !isTokenBoundary(v[endPos]) {
+                       continue
+               }
+               if strings.EqualFold(v[sp:sp+len(token)], token) {
+                       return true
+               }
+       }
+       return false
+}
+
+func isTokenBoundary(b byte) bool {
+       return b == ' ' || b == ',' || b == '\t'
+}
index 57cf0c9..165600e 100644 (file)
@@ -184,15 +184,15 @@ func (h *waitGroupHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 // "127.0.0.1" and "[::1]", expiring at the last second of 2049 (the end
 // of ASN.1 time).
 var localhostCert = []byte(`-----BEGIN CERTIFICATE-----
-MIIBOTCB5qADAgECAgEAMAsGCSqGSIb3DQEBBTAAMB4XDTcwMDEwMTAwMDAwMFoX
+MIIBTTCB+qADAgECAgEAMAsGCSqGSIb3DQEBBTAAMB4XDTcwMDEwMTAwMDAwMFoX
 DTQ5MTIzMTIzNTk1OVowADBaMAsGCSqGSIb3DQEBAQNLADBIAkEAsuA5mAFMj6Q7
 qoBzcvKzIq4kzuT5epSp2AkcQfyBHm7K13Ws7u+0b5Vb9gqTf5cAiIKcrtrXVqkL
-8i1UQF6AzwIDAQABo08wTTAOBgNVHQ8BAf8EBAMCACQwDQYDVR0OBAYEBAECAwQw
-DwYDVR0jBAgwBoAEAQIDBDAbBgNVHREEFDASggkxMjcuMC4wLjGCBVs6OjFdMAsG
-CSqGSIb3DQEBBQNBAJH30zjLWRztrWpOCgJL8RQWLaKzhK79pVhAx6q/3NrF16C7
-+l1BRZstTwIGdoGId8BRpErK1TXkniFb95ZMynM=
------END CERTIFICATE-----
-`)
+8i1UQF6AzwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCACQwEgYDVR0TAQH/BAgwBgEB
+/wIBATANBgNVHQ4EBgQEAQIDBDAPBgNVHSMECDAGgAQBAgMEMBsGA1UdEQQUMBKC
+CTEyNy4wLjAuMYIFWzo6MV0wCwYJKoZIhvcNAQEFA0EAj1Jsn/h2KHy7dgqutZNB
+nCGlNN+8vw263Bax9MklR85Ti6a0VWSvp/fDQZUADvmFTDkcXeA24pqmdUxeQDWw
+Pg==
+-----END CERTIFICATE-----`)
 
 // localhostKey is the private key for localhostCert.
 var localhostKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
index 892ef4e..0fb2eeb 100644 (file)
@@ -89,7 +89,7 @@ func DumpRequestOut(req *http.Request, body bool) ([]byte, error) {
 
        t := &http.Transport{
                Dial: func(net, addr string) (net.Conn, error) {
-                       return &dumpConn{io.MultiWriter(pw, &buf), dr}, nil
+                       return &dumpConn{io.MultiWriter(&buf, pw), dr}, nil
                },
        }
 
index b8874f3..f578725 100644 (file)
 // To use pprof, link this package into your program:
 //     import _ "net/http/pprof"
 //
+// If your application is not already running an http server, you
+// need to start one.  Add "net/http" and "log" to your imports and
+// the following code to your main function:
+//
+//     go func() {
+//             log.Println(http.ListenAndServe("localhost:6060", nil))
+//     }()
+//
 // Then use the pprof tool to look at the heap profile:
 //
 //     go tool pprof http://localhost:6060/debug/pprof/heap
index 5274a81..ef911af 100644 (file)
@@ -14,15 +14,34 @@ var ParseRangeTests = []struct {
        r      []httpRange
 }{
        {"", 0, nil},
+       {"", 1000, nil},
        {"foo", 0, nil},
        {"bytes=", 0, nil},
+       {"bytes=7", 10, nil},
+       {"bytes= 7 ", 10, nil},
+       {"bytes=1-", 0, nil},
        {"bytes=5-4", 10, nil},
        {"bytes=0-2,5-4", 10, nil},
+       {"bytes=2-5,4-3", 10, nil},
+       {"bytes=--5,4--3", 10, nil},
+       {"bytes=A-", 10, nil},
+       {"bytes=A- ", 10, nil},
+       {"bytes=A-Z", 10, nil},
+       {"bytes= -Z", 10, nil},
+       {"bytes=5-Z", 10, nil},
+       {"bytes=Ran-dom, garbage", 10, nil},
+       {"bytes=0x01-0x02", 10, nil},
+       {"bytes=         ", 10, nil},
+       {"bytes= , , ,   ", 10, nil},
+
        {"bytes=0-9", 10, []httpRange{{0, 10}}},
        {"bytes=0-", 10, []httpRange{{0, 10}}},
        {"bytes=5-", 10, []httpRange{{5, 5}}},
        {"bytes=0-20", 10, []httpRange{{0, 10}}},
        {"bytes=15-,0-5", 10, nil},
+       {"bytes=1-2,5-", 10, []httpRange{{1, 2}, {5, 5}}},
+       {"bytes=-2 , 7-", 11, []httpRange{{9, 2}, {7, 4}}},
+       {"bytes=0-0 ,2-2, 7-", 11, []httpRange{{0, 1}, {2, 1}, {7, 4}}},
        {"bytes=-5", 10, []httpRange{{5, 5}}},
        {"bytes=-15", 10, []httpRange{{0, 10}}},
        {"bytes=0-499", 10000, []httpRange{{0, 500}}},
@@ -32,6 +51,9 @@ var ParseRangeTests = []struct {
        {"bytes=0-0,-1", 10000, []httpRange{{0, 1}, {9999, 1}}},
        {"bytes=500-600,601-999", 10000, []httpRange{{500, 101}, {601, 399}}},
        {"bytes=500-700,601-999", 10000, []httpRange{{500, 201}, {601, 399}}},
+
+       // Match Apache laxity:
+       {"bytes=   1 -2   ,  4- 5, 7 - 8 , ,,", 11, []httpRange{{1, 2}, {4, 2}, {7, 2}}},
 }
 
 func TestParseRange(t *testing.T) {
index b6a6b4c..c9d7393 100644 (file)
@@ -386,17 +386,18 @@ func testTcpConnectionCloses(t *testing.T, req string, h Handler) {
        }
 
        r := bufio.NewReader(conn)
-       _, err = ReadResponse(r, &Request{Method: "GET"})
+       res, err := ReadResponse(r, &Request{Method: "GET"})
        if err != nil {
                t.Fatal("ReadResponse error:", err)
        }
 
-       success := make(chan bool)
+       didReadAll := make(chan bool, 1)
        go func() {
                select {
                case <-time.After(5 * time.Second):
-                       t.Fatal("body not closed after 5s")
-               case <-success:
+                       t.Error("body not closed after 5s")
+                       return
+               case <-didReadAll:
                }
        }()
 
@@ -404,8 +405,11 @@ func testTcpConnectionCloses(t *testing.T, req string, h Handler) {
        if err != nil {
                t.Fatal("read error:", err)
        }
+       didReadAll <- true
 
-       success <- true
+       if !res.Close {
+               t.Errorf("Response.Close = false; want true")
+       }
 }
 
 // TestServeHTTP10Close verifies that HTTP/1.0 requests won't be kept alive.
@@ -1108,6 +1112,38 @@ func TestServerBufferedChunking(t *testing.T) {
        }
 }
 
+// TestContentLengthZero tests that for both an HTTP/1.0 and HTTP/1.1
+// request (both keep-alive), when a Handler never writes any
+// response, the net/http package adds a "Content-Length: 0" response
+// header.
+func TestContentLengthZero(t *testing.T) {
+       ts := httptest.NewServer(HandlerFunc(func(rw ResponseWriter, req *Request) {}))
+       defer ts.Close()
+
+       for _, version := range []string{"HTTP/1.0", "HTTP/1.1"} {
+               conn, err := net.Dial("tcp", ts.Listener.Addr().String())
+               if err != nil {
+                       t.Fatalf("error dialing: %v", err)
+               }
+               _, err = fmt.Fprintf(conn, "GET / %v\r\nConnection: keep-alive\r\nHost: foo\r\n\r\n", version)
+               if err != nil {
+                       t.Fatalf("error writing: %v", err)
+               }
+               req, _ := NewRequest("GET", "/", nil)
+               res, err := ReadResponse(bufio.NewReader(conn), req)
+               if err != nil {
+                       t.Fatalf("error reading response: %v", err)
+               }
+               if te := res.TransferEncoding; len(te) > 0 {
+                       t.Errorf("For version %q, Transfer-Encoding = %q; want none", version, te)
+               }
+               if cl := res.ContentLength; cl != 0 {
+                       t.Errorf("For version %q, Content-Length = %v; want 0", version, cl)
+               }
+               conn.Close()
+       }
+}
+
 // goTimeout runs f, failing t if f takes more than ns to complete.
 func goTimeout(t *testing.T, d time.Duration, f func()) {
        ch := make(chan bool, 2)
index 0572b4a..b74b762 100644 (file)
@@ -390,6 +390,11 @@ func (w *response) WriteHeader(code int) {
        if !w.req.ProtoAtLeast(1, 0) {
                return
        }
+
+       if w.closeAfterReply && !hasToken(w.header.Get("Connection"), "close") {
+               w.header.Set("Connection", "close")
+       }
+
        proto := "HTTP/1.0"
        if w.req.ProtoAtLeast(1, 1) {
                proto = "HTTP/1.1"
@@ -508,8 +513,16 @@ func (w *response) Write(data []byte) (n int, err error) {
 }
 
 func (w *response) finishRequest() {
-       // If this was an HTTP/1.0 request with keep-alive and we sent a Content-Length
-       // back, we can make this a keep-alive response ...
+       // If the handler never wrote any bytes and never sent a Content-Length
+       // response header, set the length explicitly to zero. This helps
+       // HTTP/1.0 clients keep their "keep-alive" connections alive, and for
+       // HTTP/1.1 clients is just as good as the alternative: sending a
+       // chunked response and immediately sending the zero-length EOF chunk.
+       if w.written == 0 && w.header.Get("Content-Length") == "" {
+               w.header.Set("Content-Length", "0")
+       }
+       // If this was an HTTP/1.0 request with keep-alive and we sent a
+       // Content-Length back, we can make this a keep-alive response ...
        if w.req.wantsHttp10KeepAlive() {
                sentLength := w.header.Get("Content-Length") != ""
                if sentLength && w.header.Get("Connection") == "keep-alive" {
@@ -817,13 +830,13 @@ func RedirectHandler(url string, code int) Handler {
 // patterns and calls the handler for the pattern that
 // most closely matches the URL.
 //
-// Patterns named fixed, rooted paths, like "/favicon.ico",
+// Patterns name fixed, rooted paths, like "/favicon.ico",
 // or rooted subtrees, like "/images/" (note the trailing slash).
 // Longer patterns take precedence over shorter ones, so that
 // if there are handlers registered for both "/images/"
 // and "/images/thumbnails/", the latter handler will be
 // called for paths beginning "/images/thumbnails/" and the
-// former will receiver requests for any other paths in the
+// former will receive requests for any other paths in the
 // "/images/" subtree.
 //
 // Patterns may optionally begin with a host name, restricting matches to
@@ -917,11 +930,13 @@ func (mux *ServeMux) handler(r *Request) Handler {
 // ServeHTTP dispatches the request to the handler whose
 // pattern most closely matches the request URL.
 func (mux *ServeMux) ServeHTTP(w ResponseWriter, r *Request) {
-       // Clean path to canonical form and redirect.
-       if p := cleanPath(r.URL.Path); p != r.URL.Path {
-               w.Header().Set("Location", p)
-               w.WriteHeader(StatusMovedPermanently)
-               return
+       if r.Method != "CONNECT" {
+               // Clean path to canonical form and redirect.
+               if p := cleanPath(r.URL.Path); p != r.URL.Path {
+                       w.Header().Set("Location", p)
+                       w.WriteHeader(StatusMovedPermanently)
+                       return
+               }
        }
        mux.handler(r).ServeHTTP(w, r)
 }
index 6efe191..6131d0d 100644 (file)
@@ -41,8 +41,9 @@ const DefaultMaxIdleConnsPerHost = 2
 // https, and http proxies (for either http or https with CONNECT).
 // Transport can also cache connections for future re-use.
 type Transport struct {
-       lk       sync.Mutex
+       idleLk   sync.Mutex
        idleConn map[string][]*persistConn
+       altLk    sync.RWMutex
        altProto map[string]RoundTripper // nil or map of URI scheme => RoundTripper
 
        // TODO: tunable on global max cached connections
@@ -131,12 +132,12 @@ func (t *Transport) RoundTrip(req *Request) (resp *Response, err error) {
                return nil, errors.New("http: nil Request.Header")
        }
        if req.URL.Scheme != "http" && req.URL.Scheme != "https" {
-               t.lk.Lock()
+               t.altLk.RLock()
                var rt RoundTripper
                if t.altProto != nil {
                        rt = t.altProto[req.URL.Scheme]
                }
-               t.lk.Unlock()
+               t.altLk.RUnlock()
                if rt == nil {
                        return nil, &badStringError{"unsupported protocol scheme", req.URL.Scheme}
                }
@@ -170,8 +171,8 @@ func (t *Transport) RegisterProtocol(scheme string, rt RoundTripper) {
        if scheme == "http" || scheme == "https" {
                panic("protocol " + scheme + " already registered")
        }
-       t.lk.Lock()
-       defer t.lk.Unlock()
+       t.altLk.Lock()
+       defer t.altLk.Unlock()
        if t.altProto == nil {
                t.altProto = make(map[string]RoundTripper)
        }
@@ -186,17 +187,18 @@ func (t *Transport) RegisterProtocol(scheme string, rt RoundTripper) {
 // a "keep-alive" state. It does not interrupt any connections currently
 // in use.
 func (t *Transport) CloseIdleConnections() {
-       t.lk.Lock()
-       defer t.lk.Unlock()
-       if t.idleConn == nil {
+       t.idleLk.Lock()
+       m := t.idleConn
+       t.idleConn = nil
+       t.idleLk.Unlock()
+       if m == nil {
                return
        }
-       for _, conns := range t.idleConn {
+       for _, conns := range m {
                for _, pconn := range conns {
                        pconn.close()
                }
        }
-       t.idleConn = make(map[string][]*persistConn)
 }
 
 //
@@ -242,8 +244,6 @@ func (cm *connectMethod) proxyAuth() string {
 // If pconn is no longer needed or not in a good state, putIdleConn
 // returns false.
 func (t *Transport) putIdleConn(pconn *persistConn) bool {
-       t.lk.Lock()
-       defer t.lk.Unlock()
        if t.DisableKeepAlives || t.MaxIdleConnsPerHost < 0 {
                pconn.close()
                return false
@@ -256,21 +256,27 @@ func (t *Transport) putIdleConn(pconn *persistConn) bool {
        if max == 0 {
                max = DefaultMaxIdleConnsPerHost
        }
+       t.idleLk.Lock()
+       if t.idleConn == nil {
+               t.idleConn = make(map[string][]*persistConn)
+       }
        if len(t.idleConn[key]) >= max {
+               t.idleLk.Unlock()
                pconn.close()
                return false
        }
        t.idleConn[key] = append(t.idleConn[key], pconn)
+       t.idleLk.Unlock()
        return true
 }
 
 func (t *Transport) getIdleConn(cm *connectMethod) (pconn *persistConn) {
-       t.lk.Lock()
-       defer t.lk.Unlock()
+       key := cm.String()
+       t.idleLk.Lock()
+       defer t.idleLk.Unlock()
        if t.idleConn == nil {
-               t.idleConn = make(map[string][]*persistConn)
+               return nil
        }
-       key := cm.String()
        for {
                pconns, ok := t.idleConn[key]
                if !ok {
@@ -365,7 +371,18 @@ func (t *Transport) getConn(cm *connectMethod) (*persistConn, error) {
 
        if cm.targetScheme == "https" {
                // Initiate TLS and check remote host name against certificate.
-               conn = tls.Client(conn, t.TLSClientConfig)
+               cfg := t.TLSClientConfig
+               if cfg == nil || cfg.ServerName == "" {
+                       host, _, _ := net.SplitHostPort(cm.addr())
+                       if cfg == nil {
+                               cfg = &tls.Config{ServerName: host}
+                       } else {
+                               clone := *cfg // shallow clone
+                               clone.ServerName = host
+                               cfg = &clone
+                       }
+               }
+               conn = tls.Client(conn, cfg)
                if err = conn.(*tls.Conn).Handshake(); err != nil {
                        return nil, err
                }
@@ -484,6 +501,7 @@ type persistConn struct {
        t        *Transport
        cacheKey string // its connectMethod.String()
        conn     net.Conn
+       closed   bool                // whether conn has been closed
        br       *bufio.Reader       // from conn
        bw       *bufio.Writer       // to conn
        reqch    chan requestAndChan // written by roundTrip(); read by readLoop()
@@ -501,8 +519,9 @@ type persistConn struct {
 
 func (pc *persistConn) isBroken() bool {
        pc.lk.Lock()
-       defer pc.lk.Unlock()
-       return pc.broken
+       b := pc.broken
+       pc.lk.Unlock()
+       return b
 }
 
 var remoteSideClosedFunc func(error) bool // or nil to use default
@@ -571,29 +590,32 @@ func (pc *persistConn) readLoop() {
 
                hasBody := resp != nil && resp.ContentLength != 0
                var waitForBodyRead chan bool
-               if alive {
-                       if hasBody {
-                               lastbody = resp.Body
-                               waitForBodyRead = make(chan bool)
-                               resp.Body.(*bodyEOFSignal).fn = func() {
-                                       if !pc.t.putIdleConn(pc) {
-                                               alive = false
-                                       }
-                                       waitForBodyRead <- true
-                               }
-                       } else {
-                               // When there's no response body, we immediately
-                               // reuse the TCP connection (putIdleConn), but
-                               // we need to prevent ClientConn.Read from
-                               // closing the Response.Body on the next
-                               // loop, otherwise it might close the body
-                               // before the client code has had a chance to
-                               // read it (even though it'll just be 0, EOF).
-                               lastbody = nil
-
-                               if !pc.t.putIdleConn(pc) {
+               if hasBody {
+                       lastbody = resp.Body
+                       waitForBodyRead = make(chan bool)
+                       resp.Body.(*bodyEOFSignal).fn = func() {
+                               if alive && !pc.t.putIdleConn(pc) {
                                        alive = false
                                }
+                               if !alive {
+                                       pc.close()
+                               }
+                               waitForBodyRead <- true
+                       }
+               }
+
+               if alive && !hasBody {
+                       // When there's no response body, we immediately
+                       // reuse the TCP connection (putIdleConn), but
+                       // we need to prevent ClientConn.Read from
+                       // closing the Response.Body on the next
+                       // loop, otherwise it might close the body
+                       // before the client code has had a chance to
+                       // read it (even though it'll just be 0, EOF).
+                       lastbody = nil
+
+                       if !pc.t.putIdleConn(pc) {
+                               alive = false
                        }
                }
 
@@ -604,6 +626,10 @@ func (pc *persistConn) readLoop() {
                if waitForBodyRead != nil {
                        <-waitForBodyRead
                }
+
+               if !alive {
+                       pc.close()
+               }
        }
 }
 
@@ -669,7 +695,10 @@ func (pc *persistConn) close() {
 
 func (pc *persistConn) closeLocked() {
        pc.broken = true
-       pc.conn.Close()
+       if !pc.closed {
+               pc.conn.Close()
+               pc.closed = true
+       }
        pc.mutateHeaderFunc = nil
 }
 
index a9e401d..e676bf6 100644 (file)
@@ -13,6 +13,7 @@ import (
        "fmt"
        "io"
        "io/ioutil"
+       "net"
        . "net/http"
        "net/http/httptest"
        "net/url"
@@ -20,6 +21,7 @@ import (
        "runtime"
        "strconv"
        "strings"
+       "sync"
        "testing"
        "time"
 )
@@ -35,6 +37,68 @@ var hostPortHandler = HandlerFunc(func(w ResponseWriter, r *Request) {
        w.Write([]byte(r.RemoteAddr))
 })
 
+// testCloseConn is a net.Conn tracked by a testConnSet.
+type testCloseConn struct {
+       net.Conn
+       set *testConnSet
+}
+
+func (c *testCloseConn) Close() error {
+       c.set.remove(c)
+       return c.Conn.Close()
+}
+
+// testConnSet tracks a set of TCP connections and whether they've
+// been closed.
+type testConnSet struct {
+       t      *testing.T
+       closed map[net.Conn]bool
+       list   []net.Conn // in order created
+       mutex  sync.Mutex
+}
+
+func (tcs *testConnSet) insert(c net.Conn) {
+       tcs.mutex.Lock()
+       defer tcs.mutex.Unlock()
+       tcs.closed[c] = false
+       tcs.list = append(tcs.list, c)
+}
+
+func (tcs *testConnSet) remove(c net.Conn) {
+       tcs.mutex.Lock()
+       defer tcs.mutex.Unlock()
+       tcs.closed[c] = true
+}
+
+// some tests use this to manage raw tcp connections for later inspection
+func makeTestDial(t *testing.T) (*testConnSet, func(n, addr string) (net.Conn, error)) {
+       connSet := &testConnSet{
+               t:      t,
+               closed: make(map[net.Conn]bool),
+       }
+       dial := func(n, addr string) (net.Conn, error) {
+               c, err := net.Dial(n, addr)
+               if err != nil {
+                       return nil, err
+               }
+               tc := &testCloseConn{c, connSet}
+               connSet.insert(tc)
+               return tc, nil
+       }
+       return connSet, dial
+}
+
+func (tcs *testConnSet) check(t *testing.T) {
+       tcs.mutex.Lock()
+       defer tcs.mutex.Unlock()
+
+       for i, c := range tcs.list {
+               if !tcs.closed[c] {
+                       t.Errorf("TCP connection #%d, %p (of %d total) was not closed", i+1, c, len(tcs.list))
+               }
+       }
+}
+
 // Two subsequent requests and verify their response is the same.
 // The response from the server is our own IP:port
 func TestTransportKeepAlives(t *testing.T) {
@@ -72,8 +136,12 @@ func TestTransportConnectionCloseOnResponse(t *testing.T) {
        ts := httptest.NewServer(hostPortHandler)
        defer ts.Close()
 
+       connSet, testDial := makeTestDial(t)
+
        for _, connectionClose := range []bool{false, true} {
-               tr := &Transport{}
+               tr := &Transport{
+                       Dial: testDial,
+               }
                c := &Client{Transport: tr}
 
                fetch := func(n int) string {
@@ -92,8 +160,8 @@ func TestTransportConnectionCloseOnResponse(t *testing.T) {
                        if err != nil {
                                t.Fatalf("error in connectionClose=%v, req #%d, Do: %v", connectionClose, n, err)
                        }
-                       body, err := ioutil.ReadAll(res.Body)
                        defer res.Body.Close()
+                       body, err := ioutil.ReadAll(res.Body)
                        if err != nil {
                                t.Fatalf("error in connectionClose=%v, req #%d, ReadAll: %v", connectionClose, n, err)
                        }
@@ -107,15 +175,23 @@ func TestTransportConnectionCloseOnResponse(t *testing.T) {
                        t.Errorf("error in connectionClose=%v. unexpected bodiesDiffer=%v; body1=%q; body2=%q",
                                connectionClose, bodiesDiffer, body1, body2)
                }
+
+               tr.CloseIdleConnections()
        }
+
+       connSet.check(t)
 }
 
 func TestTransportConnectionCloseOnRequest(t *testing.T) {
        ts := httptest.NewServer(hostPortHandler)
        defer ts.Close()
 
+       connSet, testDial := makeTestDial(t)
+
        for _, connectionClose := range []bool{false, true} {
-               tr := &Transport{}
+               tr := &Transport{
+                       Dial: testDial,
+               }
                c := &Client{Transport: tr}
 
                fetch := func(n int) string {
@@ -149,7 +225,11 @@ func TestTransportConnectionCloseOnRequest(t *testing.T) {
                        t.Errorf("error in connectionClose=%v. unexpected bodiesDiffer=%v; body1=%q; body2=%q",
                                connectionClose, bodiesDiffer, body1, body2)
                }
+
+               tr.CloseIdleConnections()
        }
+
+       connSet.check(t)
 }
 
 func TestTransportIdleCacheKeys(t *testing.T) {
@@ -724,6 +804,35 @@ func TestTransportIdleConnCrash(t *testing.T) {
        <-didreq
 }
 
+// Test that the transport doesn't close the TCP connection early,
+// before the response body has been read.  This was a regression
+// which sadly lacked a triggering test.  The large response body made
+// the old race easier to trigger.
+func TestIssue3644(t *testing.T) {
+       const numFoos = 5000
+       ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
+               w.Header().Set("Connection", "close")
+               for i := 0; i < numFoos; i++ {
+                       w.Write([]byte("foo "))
+               }
+       }))
+       defer ts.Close()
+       tr := &Transport{}
+       c := &Client{Transport: tr}
+       res, err := c.Get(ts.URL)
+       if err != nil {
+               t.Fatal(err)
+       }
+       defer res.Body.Close()
+       bs, err := ioutil.ReadAll(res.Body)
+       if err != nil {
+               t.Fatal(err)
+       }
+       if len(bs) != numFoos*len("foo ") {
+               t.Errorf("unexpected response length")
+       }
+}
+
 type fooProto struct{}
 
 func (fooProto) RoundTrip(req *Request) (*Response, error) {
index b23213e..ae21b3c 100644 (file)
@@ -6,7 +6,7 @@
 
 package net
 
-// IPAddr represents the address of a IP end point.
+// IPAddr represents the address of an IP end point.
 type IPAddr struct {
        IP IP
 }
@@ -21,7 +21,7 @@ func (a *IPAddr) String() string {
        return a.IP.String()
 }
 
-// ResolveIPAddr parses addr as a IP address and resolves domain
+// ResolveIPAddr parses addr as an IP address and resolves domain
 // names to numeric addresses on the network net, which must be
 // "ip", "ip4" or "ip6".  A literal IPv6 host address must be
 // enclosed in square brackets, as in "[::]".
index 43719fc..ea3321b 100644 (file)
@@ -59,7 +59,7 @@ func (c *IPConn) RemoteAddr() Addr {
 
 // IP-specific methods.
 
-// ReadFromIP reads a IP packet from c, copying the payload into b.
+// ReadFromIP reads an IP packet from c, copying the payload into b.
 // It returns the number of bytes copied into b and the return address
 // that was on the packet.
 //
@@ -75,7 +75,7 @@ func (c *IPConn) ReadFrom(b []byte) (int, Addr, error) {
        return 0, nil, syscall.EPLAN9
 }
 
-// WriteToIP writes a IP packet to addr via c, copying the payload from b.
+// WriteToIP writes an IP packet to addr via c, copying the payload from b.
 //
 // WriteToIP can be made to time out and return
 // an error with Timeout() == true after a fixed time limit;
index 9fc7ecd..dda81dd 100644 (file)
@@ -146,7 +146,7 @@ func (c *IPConn) SetWriteBuffer(bytes int) error {
 
 // IP-specific methods.
 
-// ReadFromIP reads a IP packet from c, copying the payload into b.
+// ReadFromIP reads an IP packet from c, copying the payload into b.
 // It returns the number of bytes copied into b and the return address
 // that was on the packet.
 //
@@ -184,7 +184,7 @@ func (c *IPConn) ReadFrom(b []byte) (int, Addr, error) {
        return n, uaddr.toAddr(), err
 }
 
-// WriteToIP writes a IP packet to addr via c, copying the payload from b.
+// WriteToIP writes an IP packet to addr via c, copying the payload from b.
 //
 // WriteToIP can be made to time out and return
 // an error with Timeout() == true after a fixed time limit;
index b610ccf..93cc4d1 100644 (file)
@@ -47,7 +47,8 @@ type Message struct {
 }
 
 // ReadMessage reads a message from r.
-// The headers are parsed, and the body of the message will be reading from r.
+// The headers are parsed, and the body of the message will be available
+// for reading from r.
 func ReadMessage(r io.Reader) (msg *Message, err error) {
        tp := textproto.NewReader(bufio.NewReader(r))
 
diff --git a/libgo/go/net/net_posix.go b/libgo/go/net/net_posix.go
new file mode 100644 (file)
index 0000000..3bcc54f
--- /dev/null
@@ -0,0 +1,110 @@
+// Copyright 2012 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build darwin freebsd linux netbsd openbsd windows
+
+// Base posix socket functions.
+
+package net
+
+import (
+       "os"
+       "syscall"
+       "time"
+)
+
+type conn struct {
+       fd *netFD
+}
+
+func (c *conn) ok() bool { return c != nil && c.fd != nil }
+
+// Implementation of the Conn interface - see Conn for documentation.
+
+// Read implements the Conn Read method.
+func (c *conn) Read(b []byte) (int, error) {
+       if !c.ok() {
+               return 0, syscall.EINVAL
+       }
+       return c.fd.Read(b)
+}
+
+// Write implements the Conn Write method.
+func (c *conn) Write(b []byte) (int, error) {
+       if !c.ok() {
+               return 0, syscall.EINVAL
+       }
+       return c.fd.Write(b)
+}
+
+// LocalAddr returns the local network address.
+func (c *conn) LocalAddr() Addr {
+       if !c.ok() {
+               return nil
+       }
+       return c.fd.laddr
+}
+
+// RemoteAddr returns the remote network address.
+func (c *conn) RemoteAddr() Addr {
+       if !c.ok() {
+               return nil
+       }
+       return c.fd.raddr
+}
+
+// SetDeadline implements the Conn SetDeadline method.
+func (c *conn) SetDeadline(t time.Time) error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return setDeadline(c.fd, t)
+}
+
+// SetReadDeadline implements the Conn SetReadDeadline method.
+func (c *conn) SetReadDeadline(t time.Time) error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return setReadDeadline(c.fd, t)
+}
+
+// SetWriteDeadline implements the Conn SetWriteDeadline method.
+func (c *conn) SetWriteDeadline(t time.Time) error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return setWriteDeadline(c.fd, t)
+}
+
+// SetReadBuffer sets the size of the operating system's
+// receive buffer associated with the connection.
+func (c *conn) SetReadBuffer(bytes int) error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return setReadBuffer(c.fd, bytes)
+}
+
+// SetWriteBuffer sets the size of the operating system's
+// transmit buffer associated with the connection.
+func (c *conn) SetWriteBuffer(bytes int) error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return setWriteBuffer(c.fd, bytes)
+}
+
+// File returns a copy of the underlying os.File, set to blocking mode.
+// It is the caller's responsibility to close f when finished.
+// Closing c does not affect f, and closing f does not affect c.
+func (c *conn) File() (f *os.File, err error) { return c.fd.dup() }
+
+// Close closes the connection.
+func (c *conn) Close() error {
+       if !c.ok() {
+               return syscall.EINVAL
+       }
+       return c.fd.Close()
+}
index e6c7441..adc29d5 100644 (file)
@@ -108,7 +108,7 @@ func TestClient(t *testing.T) {
                t.Errorf("Add: expected no error but got string %q", err.Error())
        }
        if reply.C != args.A+args.B {
-               t.Errorf("Add: expected %d got %d", reply.C, args.A+args.B)
+               t.Errorf("Add: got %d expected %d", reply.C, args.A+args.B)
        }
 
        args = &Args{7, 8}
@@ -118,7 +118,7 @@ func TestClient(t *testing.T) {
                t.Errorf("Mul: expected no error but got string %q", err.Error())
        }
        if reply.C != args.A*args.B {
-               t.Errorf("Mul: expected %d got %d", reply.C, args.A*args.B)
+               t.Errorf("Mul: got %d expected %d", reply.C, args.A*args.B)
        }
 
        // Out of order.
@@ -133,7 +133,7 @@ func TestClient(t *testing.T) {
                t.Errorf("Add: expected no error but got string %q", addCall.Error.Error())
        }
        if addReply.C != args.A+args.B {
-               t.Errorf("Add: expected %d got %d", addReply.C, args.A+args.B)
+               t.Errorf("Add: got %d expected %d", addReply.C, args.A+args.B)
        }
 
        mulCall = <-mulCall.Done
@@ -141,7 +141,7 @@ func TestClient(t *testing.T) {
                t.Errorf("Mul: expected no error but got string %q", mulCall.Error.Error())
        }
        if mulReply.C != args.A*args.B {
-               t.Errorf("Mul: expected %d got %d", mulReply.C, args.A*args.B)
+               t.Errorf("Mul: got %d expected %d", mulReply.C, args.A*args.B)
        }
 
        // Error test
index 1680e2f..e528220 100644 (file)
 
        where T, T1 and T2 can be marshaled by encoding/gob.
        These requirements apply even if a different codec is used.
-       (In future, these requirements may soften for custom codecs.)
+       (In the future, these requirements may soften for custom codecs.)
 
        The method's first argument represents the arguments provided by the caller; the
        second argument represents the result parameters to be returned to the caller.
        The method's return value, if non-nil, is passed back as a string that the client
-       sees as if created by errors.New.
+       sees as if created by errors.New.  If an error is returned, the reply parameter
+       will not be sent back to the client.
 
        The server may handle requests on a single connection by calling ServeConn.  More
        typically it will create a network listener and call Accept or, for an HTTP
@@ -181,7 +182,7 @@ type Response struct {
 
 // Server represents an RPC Server.
 type Server struct {
-       mu         sync.Mutex // protects the serviceMap
+       mu         sync.RWMutex // protects the serviceMap
        serviceMap map[string]*service
        reqLock    sync.Mutex // protects freeReq
        freeReq    *Request
@@ -538,9 +539,9 @@ func (server *Server) readRequestHeader(codec ServerCodec) (service *service, mt
                return
        }
        // Look up the request.
-       server.mu.Lock()
+       server.mu.RLock()
        service = server.serviceMap[serviceMethod[0]]
-       server.mu.Unlock()
+       server.mu.RUnlock()
        if service == nil {
                err = errors.New("rpc: can't find service " + req.ServiceMethod)
                return
index 0cd1926..b139c42 100644 (file)
@@ -144,22 +144,6 @@ func setDeadline(fd *netFD, t time.Time) error {
        return setWriteDeadline(fd, t)
 }
 
-func setReuseAddr(fd *netFD, reuse bool) error {
-       if err := fd.incref(false); err != nil {
-               return err
-       }
-       defer fd.decref()
-       return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, boolint(reuse)))
-}
-
-func setDontRoute(fd *netFD, dontroute bool) error {
-       if err := fd.incref(false); err != nil {
-               return err
-       }
-       defer fd.decref()
-       return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.SOL_SOCKET, syscall.SO_DONTROUTE, boolint(dontroute)))
-}
-
 func setKeepAlive(fd *netFD, keepalive bool) error {
        if err := fd.incref(false); err != nil {
                return err
index 3c9dfb0..85260c8 100644 (file)
@@ -5,21 +5,36 @@
 package os
 
 func isExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return contains(err.Error(), " exists")
 }
 
 func isNotExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return contains(err.Error(), "does not exist")
 }
 
 func isPermission(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return contains(err.Error(), "permission denied")
index 1685c1f..81b626a 100644 (file)
@@ -9,21 +9,36 @@ package os
 import "syscall"
 
 func isExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.EEXIST || err == ErrExist
 }
 
 func isNotExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.ENOENT || err == ErrNotExist
 }
 
 func isPermission(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.EACCES || err == syscall.EPERM || err == ErrPermission
index 42f846f..054bb3f 100644 (file)
@@ -79,3 +79,30 @@ func checkErrorPredicate(predName string, pred func(error) bool, err error) stri
        }
        return ""
 }
+
+var isExistTests = []struct {
+       err   error
+       is    bool
+       isnot bool
+}{
+       {&os.PathError{Err: os.ErrInvalid}, false, false},
+       {&os.PathError{Err: os.ErrPermission}, false, false},
+       {&os.PathError{Err: os.ErrExist}, true, false},
+       {&os.PathError{Err: os.ErrNotExist}, false, true},
+       {&os.LinkError{Err: os.ErrInvalid}, false, false},
+       {&os.LinkError{Err: os.ErrPermission}, false, false},
+       {&os.LinkError{Err: os.ErrExist}, true, false},
+       {&os.LinkError{Err: os.ErrNotExist}, false, true},
+       {nil, false, false},
+}
+
+func TestIsExist(t *testing.T) {
+       for _, tt := range isExistTests {
+               if is := os.IsExist(tt.err); is != tt.is {
+                       t.Errorf("os.IsExist(%T %v) = %v, want %v", tt.err, tt.err, is, tt.is)
+               }
+               if isnot := os.IsNotExist(tt.err); isnot != tt.isnot {
+                       t.Errorf("os.IsNotExist(%T %v) = %v, want %v", tt.err, tt.err, isnot, tt.isnot)
+               }
+       }
+}
index fbb0d4f..83db6c0 100644 (file)
@@ -7,7 +7,12 @@ package os
 import "syscall"
 
 func isExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.ERROR_ALREADY_EXISTS ||
@@ -15,7 +20,12 @@ func isExist(err error) bool {
 }
 
 func isNotExist(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.ERROR_FILE_NOT_FOUND ||
@@ -23,7 +33,12 @@ func isNotExist(err error) bool {
 }
 
 func isPermission(err error) bool {
-       if pe, ok := err.(*PathError); ok {
+       switch pe := err.(type) {
+       case nil:
+               return false
+       case *PathError:
+               err = pe.Err
+       case *LinkError:
                err = pe.Err
        }
        return err == syscall.ERROR_ACCESS_DENIED || err == ErrPermission
index 531b87c..6681acf 100644 (file)
@@ -6,6 +6,7 @@ package os
 
 import (
        "runtime"
+       "sync/atomic"
        "syscall"
 )
 
@@ -13,7 +14,7 @@ import (
 type Process struct {
        Pid    int
        handle uintptr
-       done   bool // process has been successfully waited on
+       isdone uint32 // process has been successfully waited on, non zero if true
 }
 
 func newProcess(pid int, handle uintptr) *Process {
@@ -22,6 +23,14 @@ func newProcess(pid int, handle uintptr) *Process {
        return p
 }
 
+func (p *Process) setDone() {
+       atomic.StoreUint32(&p.isdone, 1)
+}
+
+func (p *Process) done() bool {
+       return atomic.LoadUint32(&p.isdone) > 0
+}
+
 // ProcAttr holds the attributes that will be applied to a new process
 // started by StartProcess.
 type ProcAttr struct {
index 9a8e181..c4907cd 100644 (file)
@@ -16,7 +16,7 @@ import (
        "syscall"
 )
 
-// Error records the name of a binary that failed to be be executed
+// Error records the name of a binary that failed to be executed
 // and the reason it failed.
 type Error struct {
        Name string
@@ -143,6 +143,9 @@ func (c *Cmd) argv() []string {
 func (c *Cmd) stdin() (f *os.File, err error) {
        if c.Stdin == nil {
                f, err = os.Open(os.DevNull)
+               if err != nil {
+                       return
+               }
                c.closeAfterStart = append(c.closeAfterStart, f)
                return
        }
@@ -182,6 +185,9 @@ func (c *Cmd) stderr() (f *os.File, err error) {
 func (c *Cmd) writerDescriptor(w io.Writer) (f *os.File, err error) {
        if w == nil {
                f, err = os.OpenFile(os.DevNull, os.O_WRONLY, 0)
+               if err != nil {
+                       return
+               }
                c.closeAfterStart = append(c.closeAfterStart, f)
                return
        }
index 52f4bce..27ebb60 100644 (file)
@@ -167,6 +167,18 @@ func TestExtraFiles(t *testing.T) {
        }
        defer ln.Close()
 
+       // Make sure duplicated fds don't leak to the child.
+       f, err := ln.(*net.TCPListener).File()
+       if err != nil {
+               t.Fatal(err)
+       }
+       defer f.Close()
+       ln2, err := net.FileListener(f)
+       if err != nil {
+               t.Fatal(err)
+       }
+       defer ln2.Close()
+
        // Force TLS root certs to be loaded (which might involve
        // cgo), to make sure none of that potential C code leaks fds.
        ts := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -203,6 +215,56 @@ func TestExtraFiles(t *testing.T) {
        }
 }
 
+func TestExtraFilesRace(t *testing.T) {
+       if runtime.GOOS == "windows" {
+               t.Logf("no operating system support; skipping")
+               return
+       }
+       listen := func() net.Listener {
+               ln, err := net.Listen("tcp", "127.0.0.1:0")
+               if err != nil {
+                       t.Fatal(err)
+               }
+               return ln
+       }
+       listenerFile := func(ln net.Listener) *os.File {
+               f, err := ln.(*net.TCPListener).File()
+               if err != nil {
+                       t.Fatal(err)
+               }
+               return f
+       }
+       runCommand := func(c *Cmd, out chan<- string) {
+               bout, err := c.CombinedOutput()
+               if err != nil {
+                       out <- "ERROR:" + err.Error()
+               } else {
+                       out <- string(bout)
+               }
+       }
+
+       for i := 0; i < 10; i++ {
+               la := listen()
+               ca := helperCommand("describefiles")
+               ca.ExtraFiles = []*os.File{listenerFile(la)}
+               lb := listen()
+               cb := helperCommand("describefiles")
+               cb.ExtraFiles = []*os.File{listenerFile(lb)}
+               ares := make(chan string)
+               bres := make(chan string)
+               go runCommand(ca, ares)
+               go runCommand(cb, bres)
+               if got, want := <-ares, fmt.Sprintf("fd3: listener %s\n", la.Addr()); got != want {
+                       t.Errorf("iteration %d, process A got:\n%s\nwant:\n%s\n", i, got, want)
+               }
+               if got, want := <-bres, fmt.Sprintf("fd3: listener %s\n", lb.Addr()); got != want {
+                       t.Errorf("iteration %d, process B got:\n%s\nwant:\n%s\n", i, got, want)
+               }
+               la.Close()
+               lb.Close()
+       }
+}
+
 // TestHelperProcess isn't a real test. It's used as a helper process
 // for TestParameterRun.
 func TestHelperProcess(*testing.T) {
@@ -318,6 +380,16 @@ func TestHelperProcess(*testing.T) {
        case "exit":
                n, _ := strconv.Atoi(args[0])
                os.Exit(n)
+       case "describefiles":
+               for fd := uintptr(3); fd < 25; fd++ {
+                       f := os.NewFile(fd, fmt.Sprintf("fd-%d", fd))
+                       ln, err := net.FileListener(f)
+                       if err == nil {
+                               fmt.Printf("fd%d: listener %s\n", fd, ln.Addr())
+                               ln.Close()
+                       }
+               }
+               os.Exit(0)
        default:
                fmt.Fprintf(os.Stderr, "Unknown command %q\n", cmd)
                os.Exit(2)
index 41cc8c2..01f06e2 100644 (file)
@@ -38,7 +38,7 @@ func (note Plan9Note) String() string {
 }
 
 func (p *Process) signal(sig Signal) error {
-       if p.done {
+       if p.done() {
                return errors.New("os: process already finished")
        }
 
@@ -76,7 +76,7 @@ func (p *Process) wait() (ps *ProcessState, err error) {
                }
 
                if waitmsg.Pid == p.Pid {
-                       p.done = true
+                       p.setDone()
                        break
                }
        }
index 70351cf..40fd0fd 100644 (file)
@@ -11,9 +11,10 @@ import (
 )
 
 func startProcess(name string, argv []string, attr *ProcAttr) (p *Process, err error) {
-       // Double-check existence of the directory we want
+       // If there is no SysProcAttr (ie. no Chroot or changed
+       // UID/GID), double-check existence of the directory we want
        // to chdir into.  We can make the error clearer this way.
-       if attr != nil && attr.Dir != "" {
+       if attr != nil && attr.Sys == nil && attr.Dir != "" {
                if _, err := Stat(attr.Dir); err != nil {
                        pe := err.(*PathError)
                        pe.Op = "chdir"
index ecfe535..fa3ba8a 100644 (file)
@@ -24,7 +24,7 @@ func (p *Process) wait() (ps *ProcessState, err error) {
                return nil, NewSyscallError("wait", e)
        }
        if pid1 != 0 {
-               p.done = true
+               p.setDone()
        }
        ps = &ProcessState{
                pid:    pid1,
@@ -35,7 +35,7 @@ func (p *Process) wait() (ps *ProcessState, err error) {
 }
 
 func (p *Process) signal(sig Signal) error {
-       if p.done {
+       if p.done() {
                return errors.New("os: process already finished")
        }
        s, ok := sig.(syscall.Signal)
index 5beca4a..4aa2ade 100644 (file)
@@ -32,7 +32,7 @@ func (p *Process) wait() (ps *ProcessState, err error) {
        if e != nil {
                return nil, NewSyscallError("GetProcessTimes", e)
        }
-       p.done = true
+       p.setDone()
        // NOTE(brainman): It seems that sometimes process is not dead
        // when WaitForSingleObject returns. But we do not know any
        // other way to wait for it. Sleeping for a while seems to do
@@ -43,7 +43,7 @@ func (p *Process) wait() (ps *ProcessState, err error) {
 }
 
 func (p *Process) signal(sig Signal) error {
-       if p.done {
+       if p.done() {
                return errors.New("os: process already finished")
        }
        if sig == Kill {
index 073bd56..1ba3293 100644 (file)
@@ -13,17 +13,6 @@ import (
 
 func sigpipe() // implemented in package runtime
 
-func epipecheck(file *File, e error) {
-       if e == syscall.EPIPE {
-               file.nepipe++
-               if file.nepipe >= 10 {
-                       sigpipe()
-               }
-       } else {
-               file.nepipe = 0
-       }
-}
-
 // Link creates newname as a hard link to the oldname file.
 // If there is an error, it will be of type *LinkError.
 func Link(oldname, newname string) error {
index b8fb2e2..f677dbb 100644 (file)
@@ -8,6 +8,7 @@ package os
 
 import (
        "runtime"
+       "sync/atomic"
        "syscall"
 )
 
@@ -24,7 +25,7 @@ type file struct {
        fd      int
        name    string
        dirinfo *dirInfo // nil unless directory being read
-       nepipe  int      // number of consecutive EPIPE in Write
+       nepipe  int32    // number of consecutive EPIPE in Write
 }
 
 // Fd returns the integer Unix file descriptor referencing the open file.
@@ -52,6 +53,16 @@ type dirInfo struct {
        dir *syscall.DIR // from opendir
 }
 
+func epipecheck(file *File, e error) {
+       if e == syscall.EPIPE {
+               if atomic.AddInt32(&file.nepipe, 1) >= 10 {
+                       sigpipe()
+               }
+       } else {
+               atomic.StoreInt32(&file.nepipe, 0)
+       }
+}
+
 // DevNull is the name of the operating system's ``null device.''
 // On Unix-like systems, it is "/dev/null"; on Windows, "NUL".
 const DevNull = "/dev/null"
index 8d3f677..5046e60 100644 (file)
@@ -67,10 +67,10 @@ var sysdir = func() (sd *sysDir) {
 
 func size(name string, t *testing.T) int64 {
        file, err := Open(name)
-       defer file.Close()
        if err != nil {
                t.Fatal("open failed:", err)
        }
+       defer file.Close()
        var buf [100]byte
        len := 0
        for {
@@ -132,10 +132,10 @@ func TestStat(t *testing.T) {
 func TestFstat(t *testing.T) {
        path := sfdir + "/" + sfname
        file, err1 := Open(path)
-       defer file.Close()
        if err1 != nil {
                t.Fatal("open failed:", err1)
        }
+       defer file.Close()
        dir, err2 := file.Stat()
        if err2 != nil {
                t.Fatal("fstat failed:", err2)
@@ -187,10 +187,10 @@ func TestRead0(t *testing.T) {
 
 func testReaddirnames(dir string, contents []string, t *testing.T) {
        file, err := Open(dir)
-       defer file.Close()
        if err != nil {
                t.Fatalf("open %q failed: %v", dir, err)
        }
+       defer file.Close()
        s, err2 := file.Readdirnames(-1)
        if err2 != nil {
                t.Fatalf("readdirnames %q failed: %v", dir, err2)
@@ -216,10 +216,10 @@ func testReaddirnames(dir string, contents []string, t *testing.T) {
 
 func testReaddir(dir string, contents []string, t *testing.T) {
        file, err := Open(dir)
-       defer file.Close()
        if err != nil {
                t.Fatalf("open %q failed: %v", dir, err)
        }
+       defer file.Close()
        s, err2 := file.Readdir(-1)
        if err2 != nil {
                t.Fatalf("readdir %q failed: %v", dir, err2)
@@ -283,10 +283,10 @@ func TestReaddirnamesOneAtATime(t *testing.T) {
                dir = "/bin"
        }
        file, err := Open(dir)
-       defer file.Close()
        if err != nil {
                t.Fatalf("open %q failed: %v", dir, err)
        }
+       defer file.Close()
        all, err1 := file.Readdirnames(-1)
        if err1 != nil {
                t.Fatalf("readdirnames %q failed: %v", dir, err1)
index 0c95c9c..ecb5787 100644 (file)
@@ -12,7 +12,7 @@ import (
 // Getpagesize returns the underlying system's memory page size.
 func Getpagesize() int { return syscall.Getpagesize() }
 
-// A FileInfo describes a file and is returned by Stat and Lstat
+// A FileInfo describes a file and is returned by Stat and Lstat.
 type FileInfo interface {
        Name() string       // base name of the file
        Size() int64        // length in bytes for regular files; system-dependent for others
index a7e0415..b07534b 100644 (file)
@@ -166,7 +166,8 @@ func IsAbs(path string) bool {
 }
 
 // Dir returns all but the last element of path, typically the path's directory.
-// The path is Cleaned and trailing slashes are removed before processing.
+// After dropping the final element using Split, the path is Cleaned and trailing
+// slashes are removed.
 // If the path is empty, Dir returns ".".
 // If the path consists entirely of slashes followed by non-slash bytes, Dir
 // returns a single slash. In any other case, the returned path does not end in a
index 77f0804..65be550 100644 (file)
@@ -181,6 +181,7 @@ var dirtests = []PathTest{
        {"x/", "x"},
        {"abc", "."},
        {"abc/def", "abc"},
+       {"abc////def", "abc"},
        {"a/b/.x", "a/b"},
        {"a/b/c.", "a/b"},
        {"a/b/c.x", "a/b"},
index e946c0a..56ba8a8 100644 (file)
@@ -1384,7 +1384,30 @@ func TestImportPath(t *testing.T) {
                path string
        }{
                {TypeOf(&base64.Encoding{}).Elem(), "encoding/base64"},
+               {TypeOf(int(0)), ""},
+               {TypeOf(int8(0)), ""},
+               {TypeOf(int16(0)), ""},
+               {TypeOf(int32(0)), ""},
+               {TypeOf(int64(0)), ""},
                {TypeOf(uint(0)), ""},
+               {TypeOf(uint8(0)), ""},
+               {TypeOf(uint16(0)), ""},
+               {TypeOf(uint32(0)), ""},
+               {TypeOf(uint64(0)), ""},
+               {TypeOf(uintptr(0)), ""},
+               {TypeOf(float32(0)), ""},
+               {TypeOf(float64(0)), ""},
+               {TypeOf(complex64(0)), ""},
+               {TypeOf(complex128(0)), ""},
+               {TypeOf(byte(0)), ""},
+               {TypeOf(rune(0)), ""},
+               {TypeOf([]byte(nil)), ""},
+               {TypeOf([]rune(nil)), ""},
+               {TypeOf(string("")), ""},
+               {TypeOf((*interface{})(nil)).Elem(), ""},
+               {TypeOf((*byte)(nil)), ""},
+               {TypeOf((*rune)(nil)), ""},
+               {TypeOf((*int64)(nil)), ""},
                {TypeOf(map[string]int{}), ""},
                {TypeOf((*error)(nil)).Elem(), ""},
        }
index 93021ba..f2675c5 100644 (file)
@@ -1230,8 +1230,19 @@ func directlyAssignable(T, V *commonType) bool {
                for i := range t.fields {
                        tf := &t.fields[i]
                        vf := &v.fields[i]
-                       if tf.name != vf.name || tf.pkgPath != vf.pkgPath ||
-                               tf.typ != vf.typ || tf.tag != vf.tag || tf.offset != vf.offset {
+                       if tf.name != vf.name && (tf.name == nil || vf.name == nil || *tf.name != *vf.name) {
+                               return false
+                       }
+                       if tf.pkgPath != vf.pkgPath && (tf.pkgPath == nil || vf.pkgPath == nil || *tf.pkgPath != *vf.pkgPath) {
+                               return false
+                       }
+                       if tf.typ != vf.typ {
+                               return false
+                       }
+                       if tf.tag != vf.tag && (tf.tag == nil || vf.tag == nil || *tf.tag != *vf.tag) {
+                               return false
+                       }
+                       if tf.offset != vf.offset {
                                return false
                        }
                }
index a12fcb2..5d08900 100644 (file)
@@ -841,7 +841,7 @@ func valueInterface(v Value, safe bool) interface{} {
        eface.typ = v.typ.runtimeType()
        eface.word = v.iword()
 
-       if v.flag&flagIndir != 0 && v.typ.size > ptrSize {
+       if v.flag&flagIndir != 0 && v.kind() != Ptr && v.kind() != UnsafePointer {
                // eface.word is a pointer to the actual data,
                // which might be changed.  We need to return
                // a pointer to unchanging data, so make a copy.
@@ -1705,10 +1705,11 @@ func ValueOf(i interface{}) Value {
        return Value{typ, unsafe.Pointer(eface.word), fl}
 }
 
-// Zero returns a Value representing a zero value for the specified type.
+// Zero returns a Value representing the zero value for the specified type.
 // The result is different from the zero value of the Value struct,
 // which represents no value at all.
 // For example, Zero(TypeOf(42)) returns a Value with Kind Int and value 0.
+// The returned value is neither addressable nor settable.
 func Zero(typ Type) Value {
        if typ == nil {
                panic("reflect: Zero(nil)")
index 87e6b1c..e4896a1 100644 (file)
@@ -441,7 +441,7 @@ func (re *Regexp) ReplaceAllLiteralString(src, repl string) string {
 }
 
 // ReplaceAllStringFunc returns a copy of src in which all matches of the
-// Regexp have been replaced by the return value of of function repl applied
+// Regexp have been replaced by the return value of function repl applied
 // to the matched substring.  The replacement returned by repl is substituted
 // directly, without using Expand.
 func (re *Regexp) ReplaceAllStringFunc(src string, repl func(string) string) string {
@@ -539,7 +539,7 @@ func (re *Regexp) ReplaceAllLiteral(src, repl []byte) []byte {
 }
 
 // ReplaceAllFunc returns a copy of src in which all matches of the
-// Regexp have been replaced by the return value of of function repl applied
+// Regexp have been replaced by the return value of function repl applied
 // to the matched byte slice.  The replacement returned by repl is substituted
 // directly, without using Expand.
 func (re *Regexp) ReplaceAllFunc(src []byte, repl func([]byte) []byte) []byte {
@@ -686,8 +686,9 @@ func (re *Regexp) FindStringIndex(s string) (loc []int) {
 
 // FindReaderIndex returns a two-element slice of integers defining the
 // location of the leftmost match of the regular expression in text read from
-// the RuneReader.  The match itself is at s[loc[0]:loc[1]].  A return
-// value of nil indicates no match.
+// the RuneReader.  The match text was found in the input stream at
+// byte offset loc[0] through loc[1]-1.
+// A return value of nil indicates no match.
 func (re *Regexp) FindReaderIndex(r io.RuneReader) (loc []int) {
        a := re.doExecute(r, nil, "", 0, 2)
        if a == nil {
index 87f17d2..592c4a2 100644 (file)
@@ -357,7 +357,7 @@ func countHeap() int {
        return n
 }
 
-// writeHeapProfile writes the current runtime heap profile to w.
+// writeHeap writes the current runtime heap profile to w.
 func writeHeap(w io.Writer, debug int) error {
        // Find out how many records there are (MemProfile(nil, false)),
        // allocate that many records, and get the data.
index e933058..4740115 100644 (file)
@@ -6,6 +6,7 @@ package pprof_test
 
 import (
        "bytes"
+       "fmt"
        "hash/crc32"
        "os/exec"
        "runtime"
@@ -49,19 +50,27 @@ func TestCPUProfile(t *testing.T) {
 
        // Convert []byte to []uintptr.
        bytes := prof.Bytes()
+       l := len(bytes) / int(unsafe.Sizeof(uintptr(0)))
        val := *(*[]uintptr)(unsafe.Pointer(&bytes))
-       val = val[:len(bytes)/int(unsafe.Sizeof(uintptr(0)))]
+       val = val[:l]
 
-       if len(val) < 10 {
+       if l < 13 {
                t.Fatalf("profile too short: %#x", val)
        }
-       if val[0] != 0 || val[1] != 3 || val[2] != 0 || val[3] != 1e6/100 || val[4] != 0 {
-               t.Fatalf("unexpected header %#x", val[:5])
+
+       fmt.Println(val, l)
+       hd, val, tl := val[:5], val[5:l-3], val[l-3:]
+       fmt.Println(hd, val, tl)
+       if hd[0] != 0 || hd[1] != 3 || hd[2] != 0 || hd[3] != 1e6/100 || hd[4] != 0 {
+               t.Fatalf("unexpected header %#x", hd)
+       }
+
+       if tl[0] != 0 || tl[1] != 1 || tl[2] != 0 {
+               t.Fatalf("malformed end-of-data marker %#x", tl)
        }
 
        // Check that profile is well formed and contains ChecksumIEEE.
        found := false
-       val = val[5:]
        for len(val) > 0 {
                if len(val) < 2 || val[0] < 1 || val[1] < 1 || uintptr(len(val)) < 2+val[1] {
                        t.Fatalf("malformed profile.  leftover: %#x", val)
index 59ef264..bdd5d71 100644 (file)
@@ -44,7 +44,7 @@ func cutoff64(base int) uint64 {
 }
 
 // ParseUint is like ParseInt but for unsigned numbers.
-func ParseUint(s string, b int, bitSize int) (n uint64, err error) {
+func ParseUint(s string, base int, bitSize int) (n uint64, err error) {
        var cutoff, maxVal uint64
 
        if bitSize == 0 {
@@ -57,32 +57,32 @@ func ParseUint(s string, b int, bitSize int) (n uint64, err error) {
                err = ErrSyntax
                goto Error
 
-       case 2 <= b && b <= 36:
+       case 2 <= base && base <= 36:
                // valid base; nothing to do
 
-       case b == 0:
+       case base == 0:
                // Look for octal, hex prefix.
                switch {
                case s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'):
-                       b = 16
+                       base = 16
                        s = s[2:]
                        if len(s) < 1 {
                                err = ErrSyntax
                                goto Error
                        }
                case s[0] == '0':
-                       b = 8
+                       base = 8
                default:
-                       b = 10
+                       base = 10
                }
 
        default:
-               err = errors.New("invalid base " + Itoa(b))
+               err = errors.New("invalid base " + Itoa(base))
                goto Error
        }
 
        n = 0
-       cutoff = cutoff64(b)
+       cutoff = cutoff64(base)
        maxVal = 1<<uint(bitSize) - 1
 
        for i := 0; i < len(s); i++ {
@@ -100,19 +100,19 @@ func ParseUint(s string, b int, bitSize int) (n uint64, err error) {
                        err = ErrSyntax
                        goto Error
                }
-               if int(v) >= b {
+               if int(v) >= base {
                        n = 0
                        err = ErrSyntax
                        goto Error
                }
 
                if n >= cutoff {
-                       // n*b overflows
+                       // n*base overflows
                        n = 1<<64 - 1
                        err = ErrRange
                        goto Error
                }
-               n *= uint64(b)
+               n *= uint64(base)
 
                n1 := n + uint64(v)
                if n1 < n || n1 > maxVal {
index 0165b1f..bc9e738 100644 (file)
@@ -32,10 +32,11 @@ type WaitGroup struct {
 
 // Add adds delta, which may be negative, to the WaitGroup counter.
 // If the counter becomes zero, all goroutines blocked on Wait() are released.
+// If the counter goes negative, Add panics.
 func (wg *WaitGroup) Add(delta int) {
        v := atomic.AddInt32(&wg.counter, int32(delta))
        if v < 0 {
-               panic("sync: negative WaitGroup count")
+               panic("sync: negative WaitGroup counter")
        }
        if v > 0 || atomic.LoadInt32(&wg.waiters) == 0 {
                return
index 34430fc..84c4cfc 100644 (file)
@@ -50,7 +50,7 @@ func TestWaitGroup(t *testing.T) {
 func TestWaitGroupMisuse(t *testing.T) {
        defer func() {
                err := recover()
-               if err != "sync: negative WaitGroup count" {
+               if err != "sync: negative WaitGroup counter" {
                        t.Fatalf("Unexpected panic: %#v", err)
                }
        }()
index 8308f10..3107ae5 100644 (file)
@@ -12,14 +12,18 @@ import (
 )
 
 func Getenv(key string) (value string, found bool) {
+       keyp, err := utf16PtrFromString(key)
+       if err != nil {
+               return "", false
+       }
        b := make([]uint16, 100)
-       n, e := GetEnvironmentVariable(StringToUTF16Ptr(key), &b[0], uint32(len(b)))
+       n, e := GetEnvironmentVariable(keyp, &b[0], uint32(len(b)))
        if n == 0 && e == ERROR_ENVVAR_NOT_FOUND {
                return "", false
        }
        if n > uint32(len(b)) {
                b = make([]uint16, n)
-               n, e = GetEnvironmentVariable(StringToUTF16Ptr(key), &b[0], uint32(len(b)))
+               n, e = GetEnvironmentVariable(keyp, &b[0], uint32(len(b)))
                if n > uint32(len(b)) {
                        n = 0
                }
@@ -32,10 +36,18 @@ func Getenv(key string) (value string, found bool) {
 
 func Setenv(key, value string) error {
        var v *uint16
+       var err error
        if len(value) > 0 {
-               v = StringToUTF16Ptr(value)
+               v, err = utf16PtrFromString(value)
+               if err != nil {
+                       return err
+               }
+       }
+       keyp, err := utf16PtrFromString(key)
+       if err != nil {
+               return err
        }
-       e := SetEnvironmentVariable(StringToUTF16Ptr(key), v)
+       e := SetEnvironmentVariable(keyp, v)
        if e != nil {
                return e
        }
index 664908d..b34ee1b 100644 (file)
@@ -103,8 +103,9 @@ import (
 
 var ForkLock sync.RWMutex
 
-// Convert array of string to array
-// of NUL-terminated byte pointer.
+// Convert array of string to array of NUL-terminated byte pointer.
+// If any string contains a NUL byte this function panics instead
+// of returning an error.
 func StringSlicePtr(ss []string) []*byte {
        bb := make([]*byte, len(ss)+1)
        for i := 0; i < len(ss); i++ {
@@ -114,6 +115,22 @@ func StringSlicePtr(ss []string) []*byte {
        return bb
 }
 
+// slicePtrFromStrings converts a slice of strings to a slice of
+// pointers to NUL-terminated byte slices. If any string contains
+// a NUL byte, it returns (nil, EINVAL).
+func slicePtrFromStrings(ss []string) ([]*byte, error) {
+       var err error
+       bb := make([]*byte, len(ss)+1)
+       for i := 0; i < len(ss); i++ {
+               bb[i], err = bytePtrFromString(ss[i])
+               if err != nil {
+                       return nil, err
+               }
+       }
+       bb[len(ss)] = nil
+       return bb, nil
+}
+
 func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
 
 func SetNonblock(fd int, nonblocking bool) (err error) {
@@ -168,9 +185,18 @@ func forkExec(argv0 string, argv []string, attr *ProcAttr) (pid int, err error)
        p[1] = -1
 
        // Convert args to C form.
-       argv0p := StringBytePtr(argv0)
-       argvp := StringSlicePtr(argv)
-       envvp := StringSlicePtr(attr.Env)
+       argv0p, err := bytePtrFromString(argv0)
+       if err != nil {
+               return 0, err
+       }
+       argvp, err := slicePtrFromStrings(argv)
+       if err != nil {
+               return 0, err
+       }
+       envvp, err := slicePtrFromStrings(attr.Env)
+       if err != nil {
+               return 0, err
+       }
 
        if runtime.GOOS == "freebsd" && len(argv[0]) > len(argv0) {
                argvp[0] = argv0p
@@ -178,11 +204,17 @@ func forkExec(argv0 string, argv []string, attr *ProcAttr) (pid int, err error)
 
        var chroot *byte
        if sys.Chroot != "" {
-               chroot = StringBytePtr(sys.Chroot)
+               chroot, err = bytePtrFromString(sys.Chroot)
+               if err != nil {
+                       return 0, err
+               }
        }
        var dir *byte
        if attr.Dir != "" {
-               dir = StringBytePtr(attr.Dir)
+               dir, err = bytePtrFromString(attr.Dir)
+               if err != nil {
+                       return 0, err
+               }
        }
 
        // Acquire the fork lock so that no other threads
@@ -254,8 +286,18 @@ func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle
 
 // Ordinary exec.
 func Exec(argv0 string, argv []string, envv []string) (err error) {
-       err1 := raw_execve(StringBytePtr(argv0),
-               &StringSlicePtr(argv)[0],
-               &StringSlicePtr(envv)[0])
+       argv0p, err := bytePtrFromString(argv0)
+       if err != nil {
+               return err
+       }
+       argvp, err := slicePtrFromStrings(argv)
+       if err != nil {
+               return err
+       }
+       envvp, err := slicePtrFromStrings(envv)
+       if err != nil {
+               return err
+       }
+       err1 := raw_execve(argv0p, &argvp[0], &envvp[0])
        return Errno(err1)
 }
index 4dc4d05..68779c4 100644 (file)
@@ -132,7 +132,10 @@ func SetNonblock(fd Handle, nonblocking bool) (err error) {
 // getFullPath retrieves the full path of the specified file.
 // Just a wrapper for Windows GetFullPathName api.
 func getFullPath(name string) (path string, err error) {
-       p := StringToUTF16Ptr(name)
+       p, err := utf16PtrFromString(name)
+       if err != nil {
+               return "", err
+       }
        buf := make([]uint16, 100)
        n, err := GetFullPathName(p, uint32(len(buf)), &buf[0], nil)
        if err != nil {
@@ -261,7 +264,10 @@ func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle
                        return 0, 0, err
                }
        }
-       argv0p := StringToUTF16Ptr(argv0)
+       argv0p, err := utf16PtrFromString(argv0)
+       if err != nil {
+               return 0, 0, err
+       }
 
        var cmdline string
        // Windows CreateProcess takes the command line as a single string:
@@ -275,12 +281,18 @@ func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle
 
        var argvp *uint16
        if len(cmdline) != 0 {
-               argvp = StringToUTF16Ptr(cmdline)
+               argvp, err = utf16PtrFromString(cmdline)
+               if err != nil {
+                       return 0, 0, err
+               }
        }
 
        var dirp *uint16
        if len(attr.Dir) != 0 {
-               dirp = StringToUTF16Ptr(attr.Dir)
+               dirp, err = utf16PtrFromString(attr.Dir)
+               if err != nil {
+                       return 0, 0, err
+               }
        }
 
        // Acquire the fork lock so that no other threads
index 8d7da19..2316404 100644 (file)
@@ -310,11 +310,13 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
        var lroff _loff_t
        var plroff *_loff_t
        if roff != nil {
+               lroff = _loff_t(*roff)
                plroff = &lroff
        }
        var lwoff _loff_t
        var plwoff *_loff_t
        if woff != nil {
+               lwoff = _loff_t(*woff)
                plwoff = &lwoff
        }
        n, err = splice(rfd, plroff, wfd, plwoff, len, flags)
index bd40fe5..4353af4 100644 (file)
@@ -37,10 +37,13 @@ const (
 // TranslateAccountName converts a directory service
 // object name from one format to another.
 func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) {
-       u := StringToUTF16Ptr(username)
+       u, e := utf16PtrFromString(username)
+       if e != nil {
+               return "", e
+       }
        b := make([]uint16, 50)
        n := uint32(len(b))
-       e := TranslateName(u, from, to, &b[0], &n)
+       e = TranslateName(u, from, to, &b[0], &n)
        if e != nil {
                if e != ERROR_INSUFFICIENT_BUFFER {
                        return "", e
@@ -94,7 +97,11 @@ type SID struct{}
 // sid into a valid, functional sid.
 func StringToSid(s string) (*SID, error) {
        var sid *SID
-       e := ConvertStringSidToSid(StringToUTF16Ptr(s), &sid)
+       p, e := utf16PtrFromString(s)
+       if e != nil {
+               return nil, e
+       }
+       e = ConvertStringSidToSid(p, &sid)
        if e != nil {
                return nil, e
        }
@@ -109,17 +116,23 @@ func LookupSID(system, account string) (sid *SID, domain string, accType uint32,
        if len(account) == 0 {
                return nil, "", 0, EINVAL
        }
-       acc := StringToUTF16Ptr(account)
+       acc, e := utf16PtrFromString(account)
+       if e != nil {
+               return nil, "", 0, e
+       }
        var sys *uint16
        if len(system) > 0 {
-               sys = StringToUTF16Ptr(system)
+               sys, e = utf16PtrFromString(system)
+               if e != nil {
+                       return nil, "", 0, e
+               }
        }
        db := make([]uint16, 50)
        dn := uint32(len(db))
        b := make([]byte, 50)
        n := uint32(len(b))
        sid = (*SID)(unsafe.Pointer(&b[0]))
-       e := LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType)
+       e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType)
        if e != nil {
                if e != ERROR_INSUFFICIENT_BUFFER {
                        return nil, "", 0, e
@@ -170,7 +183,10 @@ func (sid *SID) Copy() (*SID, error) {
 func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) {
        var sys *uint16
        if len(system) > 0 {
-               sys = StringToUTF16Ptr(system)
+               sys, err = utf16PtrFromString(system)
+               if err != nil {
+                       return "", "", 0, err
+               }
        }
        b := make([]uint16, 50)
        n := uint32(len(b))
index 9737590..d11d6cd 100644 (file)
@@ -87,12 +87,16 @@ func (sa *SockaddrUnix) sockaddr() (*RawSockaddrAny, Socklen_t, error) {
        for i := 0; i < n; i++ {
                sa.raw.Path[i] = int8(name[i])
        }
+       // length is family (uint16), name, NUL.
+       sl := 2 + Socklen_t(n) + 1
        if sa.raw.Path[0] == '@' {
                sa.raw.Path[0] = 0
+               // Don't count trailing NUL for abstract address.
+               sl--
        }
 
        // length is family (uint16), name, NUL.
-       return (*RawSockaddrAny)(unsafe.Pointer(&sa.raw)), 2 + Socklen_t(n) + 1, nil
+       return (*RawSockaddrAny)(unsafe.Pointer(&sa.raw)), sl, nil
 }
 
 func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
index 42ab218..224ca55 100644 (file)
@@ -103,7 +103,7 @@ func (sa *RawSockaddrUnix) getLen() (int, error) {
        // to be uninterpreted fixed-size binary blobs--but
        // everyone uses this convention.
        n := 0
-       for n < len(sa.Path) - 3 && sa.Path[n] != 0 {
+       for n < len(sa.Path) && sa.Path[n] != 0 {
                n++
        }
 
index 4efaaec..3090a5e 100644 (file)
@@ -16,18 +16,47 @@ package syscall
 
 import "unsafe"
 
-// StringByteSlice returns a NUL-terminated slice of bytes
-// containing the text of s.
+// StringByteSlice returns a NUL-terminated slice of bytes containing the text of s.
+// If s contains a NUL byte this function panics instead of
+// returning an error.
 func StringByteSlice(s string) []byte {
+       a, err := byteSliceFromString(s)
+       if err != nil {
+               panic("syscall: string with NUL passed to StringByteSlice")
+       }
+       return a
+}
+
+// byteSliceFromString returns a NUL-terminated slice of bytes
+// containing the text of s. If s contains a NUL byte at any
+// location, it returns (nil, EINVAL).
+func byteSliceFromString(s string) ([]byte, error) {
+       for i := 0; i < len(s); i++ {
+               if s[i] == 0 {
+                       return nil, EINVAL
+               }
+       }
        a := make([]byte, len(s)+1)
        copy(a, s)
-       return a
+       return a, nil
 }
 
-// StringBytePtr returns a pointer to a NUL-terminated array of bytes
-// containing the text of s.
+// StringBytePtr returns a pointer to a NUL-terminated array of bytes containing the text of s.
+// If s contains a NUL byte this function panics instead of
+// returning an error.
 func StringBytePtr(s string) *byte { return &StringByteSlice(s)[0] }
 
+// bytePtrFromString returns a pointer to a NUL-terminated array of
+// bytes containing the text of s. If s contains a NUL byte at any
+// location, it returns (nil, EINVAL).
+func bytePtrFromString(s string) (*byte, error) {
+       a, err := byteSliceFromString(s)
+       if err != nil {
+               return nil, err
+       }
+       return &a[0], nil
+}
+
 // Single-word zero for use when we need a valid pointer to 0 bytes.
 // See mksyscall.pl.
 var _zero uintptr
index 9a988a5..08422de 100644 (file)
@@ -8,13 +8,9 @@ package syscall
 
 import "unsafe"
 
-func (r *PtraceRegs) PC() uint64 {
-       return uint64(uint32(r.Eip))
-}
+func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) }
 
-func (r *PtraceRegs) SetPC(pc uint64) {
-       r.Eip = int32(pc)
-}
+func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) }
 
 func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
        return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
index 1cb8a07..2d2f45e 100644 (file)
@@ -80,6 +80,7 @@ package testing
 
 import (
        _ "debug/elf"
+       "bytes"
        "flag"
        "fmt"
        "os"
@@ -87,6 +88,7 @@ import (
        "runtime/pprof"
        "strconv"
        "strings"
+       "sync"
        "time"
 )
 
@@ -116,8 +118,10 @@ var (
 // common holds the elements common between T and B and
 // captures common methods such as Errorf.
 type common struct {
-       output   []byte    // Output generated by test or benchmark.
-       failed   bool      // Test or benchmark has failed.
+       mu     sync.RWMutex // guards output and failed
+       output []byte       // Output generated by test or benchmark.
+       failed bool         // Test or benchmark has failed.
+
        start    time.Time // Time test or benchmark started
        duration time.Duration
        self     interface{}      // To be sent on signal channel when done.
@@ -129,37 +133,42 @@ func Short() bool {
        return *short
 }
 
-// decorate inserts the final newline if needed and indentation tabs for formatting.
-// If addFileLine is true, it also prefixes the string with the file and line of the call site.
-func decorate(s string, addFileLine bool) string {
-       if addFileLine {
-               _, file, line, ok := runtime.Caller(3) // decorate + log + public function.
-               if ok {
-                       // Truncate file name at last file name separator.
-                       if index := strings.LastIndex(file, "/"); index >= 0 {
-                               file = file[index+1:]
-                       } else if index = strings.LastIndex(file, "\\"); index >= 0 {
-                               file = file[index+1:]
-                       }
-               } else {
-                       file = "???"
-                       line = 1
+// decorate prefixes the string with the file and line of the call site
+// and inserts the final newline if needed and indentation tabs for formatting.
+func decorate(s string) string {
+       _, file, line, ok := runtime.Caller(3) // decorate + log + public function.
+       if ok {
+               // Truncate file name at last file name separator.
+               if index := strings.LastIndex(file, "/"); index >= 0 {
+                       file = file[index+1:]
+               } else if index = strings.LastIndex(file, "\\"); index >= 0 {
+                       file = file[index+1:]
                }
-               s = fmt.Sprintf("%s:%d: %s", file, line, s)
-       }
-       s = "\t" + s // Every line is indented at least one tab.
-       n := len(s)
-       if n > 0 && s[n-1] != '\n' {
-               s += "\n"
-               n++
+       } else {
+               file = "???"
+               line = 1
        }
-       for i := 0; i < n-1; i++ { // -1 to avoid final newline
-               if s[i] == '\n' {
+       buf := new(bytes.Buffer)
+       fmt.Fprintf(buf, "%s:%d: ", file, line)
+
+       lines := strings.Split(s, "\n")
+       for i, line := range lines {
+               if i > 0 {
+                       buf.WriteByte('\n')
+               }
+               // Every line is indented at least one tab.
+               buf.WriteByte('\t')
+               if i > 0 {
                        // Second and subsequent lines are indented an extra tab.
-                       return s[0:i+1] + "\t" + decorate(s[i+1:n], false)
+                       buf.WriteByte('\t')
                }
+               buf.WriteString(line)
+       }
+       if l := len(s); l > 0 && s[len(s)-1] != '\n' {
+               // Add final new line if needed.
+               buf.WriteByte('\n')
        }
-       return s
+       return buf.String()
 }
 
 // T is a type passed to Test functions to manage test state and support formatted test logs.
@@ -171,10 +180,18 @@ type T struct {
 }
 
 // Fail marks the function as having failed but continues execution.
-func (c *common) Fail() { c.failed = true }
+func (c *common) Fail() {
+       c.mu.Lock()
+       defer c.mu.Unlock()
+       c.failed = true
+}
 
 // Failed returns whether the function has failed.
-func (c *common) Failed() bool { return c.failed }
+func (c *common) Failed() bool {
+       c.mu.RLock()
+       defer c.mu.RUnlock()
+       return c.failed
+}
 
 // FailNow marks the function as having failed and stops its execution.
 // Execution will continue at the next test or benchmark.
@@ -205,7 +222,9 @@ func (c *common) FailNow() {
 
 // log generates the output. It's always at the same stack depth.
 func (c *common) log(s string) {
-       c.output = append(c.output, decorate(s, true)...)
+       c.mu.Lock()
+       defer c.mu.Unlock()
+       c.output = append(c.output, decorate(s)...)
 }
 
 // Log formats its arguments using default formatting, analogous to Println(),
@@ -298,7 +317,7 @@ func Main(matchString func(pat, str string) (bool, error), tests []InternalTest,
 func (t *T) report() {
        tstr := fmt.Sprintf("(%.2f seconds)", t.duration.Seconds())
        format := "--- %s: %s %s\n%s"
-       if t.failed {
+       if t.Failed() {
                fmt.Printf(format, "FAIL", t.name, tstr, t.output)
        } else if *chatty {
                fmt.Printf(format, "PASS", t.name, tstr, t.output)
@@ -357,7 +376,7 @@ func RunTests(matchString func(pat, str string) (bool, error), tests []InternalT
                                continue
                        }
                        t.report()
-                       ok = ok && !out.failed
+                       ok = ok && !out.Failed()
                }
 
                running := 0
@@ -370,7 +389,7 @@ func RunTests(matchString func(pat, str string) (bool, error), tests []InternalT
                        }
                        t := (<-collector).(*T)
                        t.report()
-                       ok = ok && !t.failed
+                       ok = ok && !t.Failed()
                        running--
                }
        }
index ce84600..722ac8d 100644 (file)
@@ -547,7 +547,7 @@ func (b *Writer) Write(buf []byte) (n int, err error) {
 }
 
 // NewWriter allocates and initializes a new tabwriter.Writer.
-// The parameters are the same as for the the Init function.
+// The parameters are the same as for the Init function.
 //
 func NewWriter(output io.Writer, minwidth, tabwidth, padding int, padchar byte, flags uint) *Writer {
        return new(Writer).Init(output, minwidth, tabwidth, padding, padchar, flags)
index aa50ab9..4a1682d 100644 (file)
@@ -198,7 +198,7 @@ If a "range" action initializes a variable, the variable is set to the
 successive elements of the iteration.  Also, a "range" may declare two
 variables, separated by a comma:
 
-       $index, $element := pipeline
+       range $index, $element := pipeline
 
 in which case $index and $element are set to the successive values of the
 array/slice index or map key and element, respectively.  Note that if there is
index f4ae50f..6414953 100644 (file)
@@ -387,7 +387,7 @@ var execTests = []execTest{
        {"slice[WRONG]", "{{index .SI `hello`}}", "", tVal, false},
        {"map[one]", "{{index .MSI `one`}}", "1", tVal, true},
        {"map[two]", "{{index .MSI `two`}}", "2", tVal, true},
-       {"map[NO]", "{{index .MSI `XXX`}}", "", tVal, true},
+       {"map[NO]", "{{index .MSI `XXX`}}", "0", tVal, true},
        {"map[WRONG]", "{{index .MSI 10}}", "", tVal, false},
        {"double index", "{{index .SMSI 1 `eleven`}}", "11", tVal, true},
 
index 8fbf0ef..e6fa0fb 100644 (file)
@@ -128,7 +128,7 @@ func index(item interface{}, indices ...interface{}) (interface{}, error) {
                        if x := v.MapIndex(index); x.IsValid() {
                                v = x
                        } else {
-                               v = reflect.Zero(v.Type().Key())
+                               v = reflect.Zero(v.Type().Elem())
                        }
                default:
                        return nil, fmt.Errorf("can't index item of type %s", index.Type())
@@ -154,7 +154,7 @@ func length(item interface{}) (int, error) {
 
 // Function invocation
 
-// call returns the result of evaluating the the first argument as a function.
+// call returns the result of evaluating the first argument as a function.
 // The function must return 1 result, or 2 results, the second of which is an error.
 func call(fn interface{}, args ...interface{}) (interface{}, error) {
        v := reflect.ValueOf(fn)
index 7705c0b..c4e1a56 100644 (file)
@@ -257,16 +257,17 @@ func lexText(l *lexer) stateFn {
 
 // lexLeftDelim scans the left delimiter, which is known to be present.
 func lexLeftDelim(l *lexer) stateFn {
-       if strings.HasPrefix(l.input[l.pos:], l.leftDelim+leftComment) {
+       l.pos += len(l.leftDelim)
+       if strings.HasPrefix(l.input[l.pos:], leftComment) {
                return lexComment
        }
-       l.pos += len(l.leftDelim)
        l.emit(itemLeftDelim)
        return lexInsideAction
 }
 
 // lexComment scans a comment. The left comment marker is known to be present.
 func lexComment(l *lexer) stateFn {
+       l.pos += len(leftComment)
        i := strings.Index(l.input[l.pos:], rightComment+l.rightDelim)
        if i < 0 {
                return l.errorf("unclosed comment")
index 6ee1b47..f3b23c9 100644 (file)
@@ -198,6 +198,10 @@ var lexTests = []lexTest{
                tRight,
                tEOF,
        }},
+       {"text with bad comment", "hello-{{/*/}}-world", []item{
+               {itemText, "hello-"},
+               {itemError, `unclosed comment`},
+       }},
 }
 
 // collect gathers the emitted items into a slice.
index 2461dac..d48ca0c 100644 (file)
@@ -241,10 +241,10 @@ func (t Time) IsZero() bool {
 // It is called when computing a presentation property like Month or Hour.
 func (t Time) abs() uint64 {
        l := t.loc
-       if l == nil {
-               l = &utcLoc
+       // Avoid function calls when possible.
+       if l == nil || l == &localLoc {
+               l = l.get()
        }
-       // Avoid function call if we hit the local time cache.
        sec := t.sec + internalToUnix
        if l != &utcLoc {
                if l.cacheZone != nil && l.cacheStart <= sec && sec < l.cacheEnd {
index 315d60c..606a463 100755 (executable)
@@ -168,6 +168,12 @@ enum {
 #ifdef TIOCGWINSZ
   TIOCGWINSZ_val = TIOCGWINSZ,
 #endif
+#ifdef TIOCNOTTY
+  TIOCNOTTY_val = TIOCNOTTY,
+#endif
+#ifdef TIOCSCTTY
+  TIOCSCTTY_val = TIOCSCTTY,
+#endif
 };
 EOF
 
@@ -225,6 +231,16 @@ done
 grep '^const _SIG[^_]' gen-sysinfo.go | \
   grep -v '^const _SIGEV_' | \
   sed -e 's/^\(const \)_\(SIG[^= ]*\)\(.*\)$/\1\2 = Signal(_\2)/' >> ${OUT}
+if ! grep '^const SIGPOLL ' ${OUT} >/dev/null 2>&1; then
+  if grep '^const SIGIO ' ${OUT} > /dev/null 2>&1; then
+    echo "const SIGPOLL = SIGIO" >> ${OUT}
+  fi
+fi
+if ! grep '^const SIGCLD ' ${OUT} >/dev/null 2>&1; then
+  if grep '^const SIGCHLD ' ${OUT} >/dev/null 2>&1; then
+    echo "const SIGCLD = SIGCHLD" >> ${OUT}
+  fi
+fi
 
 # The syscall numbers.  We force the names to upper case.
 grep '^const _SYS_' gen-sysinfo.go | \
@@ -704,6 +720,16 @@ if ! grep '^const TIOCGWINSZ' ${OUT} >/dev/null 2>&1; then
     echo 'const TIOCGWINSZ = _TIOCGWINSZ_val' >> ${OUT}
   fi
 fi
+if ! grep '^const TIOCNOTTY' ${OUT} >/dev/null 2>&1; then
+  if grep '^const _TIOCNOTTY_val' ${OUT} >/dev/null 2>&1; then
+    echo 'const TIOCNOTTY = _TIOCNOTTY_val' >> ${OUT}
+  fi
+fi
+if ! grep '^const TIOCSCTTY' ${OUT} >/dev/null 2>&1; then
+  if grep '^const _TIOCSCTTY_val' ${OUT} >/dev/null 2>&1; then
+    echo 'const TIOCSCTTY = _TIOCSCTTY_val' >> ${OUT}
+  fi
+fi
 
 # The ioctl flags for terminal control
 grep '^const _TC[GS]ET' gen-sysinfo.go | \
index c8ee10e..1e389a2 100644 (file)
@@ -3,6 +3,8 @@
 // license that can be found in the LICENSE file.
 
 #include "runtime.h"
+#include "arch.h"
+#include "malloc.h"
 #include "go-type.h"
 
 #define        NOSELGEN        1
@@ -85,10 +87,10 @@ runtime_makechan_c(ChanType *t, int64 hint)
        Hchan *c;
        int32 n;
        const Type *elem;
-       
+
        elem = t->__element_type;
 
-       if(hint < 0 || (int32)hint != hint || (elem->__size > 0 && (uintptr)hint > ((uintptr)-1) / elem->__size))
+       if(hint < 0 || (int32)hint != hint || (elem->__size > 0 && (uintptr)hint > MaxMem / elem->__size))
                runtime_panicstring("makechan: size out of range");
 
        n = sizeof(*c);
@@ -189,7 +191,7 @@ runtime_chansend(ChanType *t, Hchan *c, byte *ep, bool *pres)
        sg = dequeue(&c->recvq);
        if(sg != nil) {
                runtime_unlock(c);
-               
+
                gp = sg->g;
                gp->param = sg;
                if(sg->elem != nil)
@@ -528,7 +530,7 @@ runtime_selectnbrecv(ChanType *t, byte *v, Hchan *c)
 
        runtime_chanrecv(t, c, v, &selected, nil);
        return selected;
-}      
+}
 
 // func selectnbrecv2(elem *any, ok *bool, c chan any) bool
 //
@@ -560,7 +562,7 @@ runtime_selectnbrecv2(ChanType *t, byte *v, _Bool *received, Hchan *c)
        if(received != nil)
                *received = r;
        return selected;
-}      
+}
 
 // For reflect:
 //     func chansend(c chan, val iword, nb bool) (selected bool)
@@ -576,7 +578,7 @@ reflect_chansend(ChanType *t, Hchan *c, uintptr val, _Bool nb)
        bool selected;
        bool *sp;
        byte *vp;
-       
+
        if(nb) {
                selected = false;
                sp = (bool*)&selected;
@@ -695,7 +697,7 @@ runtime_selectsend(Select *sel, Hchan *c, void *elem, int index)
        // nil cases do not compete
        if(c == nil)
                return;
-       
+
        selectsend(sel, c, index, elem);
 }
 
@@ -704,7 +706,7 @@ selectsend(Select *sel, Hchan *c, int index, void *elem)
 {
        int32 i;
        Scase *cas;
-       
+
        i = sel->ncase;
        if(i >= sel->tcase)
                runtime_throw("selectsend: too many cases");
@@ -975,7 +977,7 @@ loop:
                case CaseRecv:
                        enqueue(&c->recvq, sg);
                        break;
-               
+
                case CaseSend:
                        enqueue(&c->sendq, sg);
                        break;
index 252948d..9bf5d11 100644 (file)
@@ -105,6 +105,7 @@ struct Profile {
        uint32 wtoggle;
        bool wholding;  // holding & need to release a log half
        bool flushing;  // flushing hash table - profile is over
+       bool eod_sent;  // special end-of-data record sent; => flushing
 };
 
 static Lock lk;
@@ -115,6 +116,8 @@ static void add(Profile*, uintptr*, int32);
 static bool evict(Profile*, Entry*);
 static bool flushlog(Profile*);
 
+static uintptr eod[3] = {0, 1, 0};
+
 // LostProfileData is a no-op function used in profiles
 // to mark the number of profiling stack traces that were
 // discarded due to slow data writers.
@@ -168,6 +171,7 @@ runtime_SetCPUProfileRate(int32 hz)
                prof->wholding = false;
                prof->wtoggle = 0;
                prof->flushing = false;
+               prof->eod_sent = false;
                runtime_noteclear(&prof->wait);
 
                runtime_setcpuprofilerate(tick, hz);
@@ -414,6 +418,16 @@ breakflush:
        }
 
        // Made it through the table without finding anything to log.
+       if(!p->eod_sent) {
+               // We may not have space to append this to the partial log buf,
+               // so we always return a new slice for the end-of-data marker.
+               p->eod_sent = true;
+               ret.array = (byte*)eod;
+               ret.len = sizeof eod;
+               ret.cap = ret.len;
+               return ret;
+       }
+
        // Finally done.  Clean up and return nil.
        p->flushing = false;
        if(!runtime_cas(&p->handoff, p->handoff, 0))
index 3a0c778..dac4c90 100644 (file)
@@ -54,6 +54,9 @@ __go_append (struct __go_open_array a, void *bvalues, uintptr_t bcount,
          while (m < count);
        }
 
+      if ((uintptr) m > MaxMem / element_size)
+       runtime_panicstring ("growslice: cap out of range");
+
       n = __go_alloc (m * element_size);
       __builtin_memcpy (n, a.__values, a.__count * element_size);
 
index e9645bf..17a5fcb 100644 (file)
@@ -17,6 +17,11 @@ __go_int_to_string (int v)
   unsigned char *retdata;
   struct __go_string ret;
 
+  /* A negative value is not valid UTF-8; turn it into the replacement
+     character.  */
+  if (v < 0)
+    v = 0xfffd;
+
   if (v <= 0x7f)
     {
       buf[0] = v;
@@ -34,6 +39,10 @@ __go_int_to_string (int v)
         "replacement character".  */
       if (v > 0x10ffff)
        v = 0xfffd;
+      /* If the value is a surrogate pair, which is invalid in UTF-8,
+        turn it into the replacement character.  */
+      if (v >= 0xd800 && v < 0xe000)
+       v = 0xfffd;
 
       if (v <= 0xffff)
        {
index 42b412c..822c9b6 100644 (file)
@@ -37,7 +37,7 @@ __go_make_slice2 (const struct __go_type_descriptor *td, uintptr_t len,
   if (cap < len
       || (uintptr_t) icap != cap
       || (std->__element_type->__size > 0
-         && cap > (uintptr_t) -1U / std->__element_type->__size))
+         && cap > MaxMem / std->__element_type->__size))
     runtime_panicstring ("makeslice: cap out of range");
 
   ret.__count = ilen;
index 7e31eb8..acdecb0 100644 (file)
@@ -53,6 +53,14 @@ __go_get_rune (const unsigned char *str, size_t len, int *rune)
       *rune = (((c & 0xf) << 12)
               + ((c1 & 0x3f) << 6)
               + (c2 & 0x3f));
+
+      if (*rune >= 0xd800 && *rune < 0xe000)
+       {
+         /* Invalid surrogate half; return replace character.  */
+         *rune = 0xfffd;
+         return 1;
+       }
+
       return 3;
     }
 
index f923c86..106024f 100644 (file)
@@ -32,10 +32,14 @@ __go_type_hash_complex (const void *vkey, uintptr_t key_size)
       cf = ucf.cf;
       cfr = __builtin_crealf (cf);
       cfi = __builtin_cimagf (cf);
-      if (__builtin_isinff (cfr) || __builtin_isinff (cfi)
-         || __builtin_isnanf (cfr) || __builtin_isnanf (cfi))
+      if (__builtin_isinff (cfr) || __builtin_isinff (cfi))
        return 0;
 
+      /* NaN != NaN, so the hash code of a NaN is irrelevant.  Make it
+        random so that not all NaNs wind up in the same place.  */
+      if (__builtin_isnanf (cfr) || __builtin_isnanf (cfi))
+       return runtime_fastrand1 ();
+
       /* Avoid negative zero.  */
       if (cfr == 0 && cfi == 0)
        return 0;
@@ -62,10 +66,12 @@ __go_type_hash_complex (const void *vkey, uintptr_t key_size)
       cd = ucd.cd;
       cdr = __builtin_crealf (cd);
       cdi = __builtin_cimagf (cd);
-      if (__builtin_isinf (cdr) || __builtin_isinf (cdi)
-         || __builtin_isnan (cdr) || __builtin_isnan (cdi))
+      if (__builtin_isinf (cdr) || __builtin_isinf (cdi))
        return 0;
 
+      if (__builtin_isnan (cdr) || __builtin_isnan (cdi))
+       return runtime_fastrand1 ();
+
       /* Avoid negative zero.  */
       if (cdr == 0 && cdi == 0)
        return 0;
index cc6e247..e1c03e4 100644 (file)
@@ -29,8 +29,14 @@ __go_type_hash_float (const void *vkey, uintptr_t key_size)
 
       __builtin_memcpy (uf.a, vkey, 4);
       f = uf.f;
-      if (__builtin_isinff (f) || __builtin_isnanf (f) || f == 0)
+      if (__builtin_isinff (f) || f == 0)
        return 0;
+
+      /* NaN != NaN, so the hash code of a NaN is irrelevant.  Make it
+        random so that not all NaNs wind up in the same place.  */
+      if (__builtin_isnanf (f))
+       return runtime_fastrand1 ();
+
       return (uintptr_t) uf.si;
     }
   else if (key_size == 8)
@@ -45,8 +51,12 @@ __go_type_hash_float (const void *vkey, uintptr_t key_size)
 
       __builtin_memcpy (ud.a, vkey, 8);
       d = ud.d;
-      if (__builtin_isinf (d) || __builtin_isnan (d) || d == 0)
+      if (__builtin_isinf (d) || d == 0)
        return 0;
+
+      if (__builtin_isnan (d))
+       return runtime_fastrand1 ();
+
       return (uintptr_t) ud.di;
     }
   else
index 16bb449..96cb609 100644 (file)
@@ -128,6 +128,15 @@ enum
        MaxGcproc = 4,
 };
 
+// Maximum memory allocation size, a hint for callers.
+// This must be a #define instead of an enum because it
+// is so large.
+#if __SIZEOF_POINTER__ == 8
+#define        MaxMem  (16ULL<<30)     /* 16 GB */
+#else
+#define        MaxMem  ((uintptr)-1)
+#endif
+
 // A generic linked list of blocks.  (Typically the block is bigger than sizeof(MLink).)
 struct MLink
 {
index c24304e..fcf57ea 100644 (file)
@@ -17,13 +17,16 @@ gwrite(const void *v, int32 n)
        G* g = runtime_g();
 
        if(g == nil || g->writebuf == nil) {
-               runtime_write(2, v, n);
+               // Avoid -D_FORTIFY_SOURCE problems.
+               int rv __attribute__((unused));
+
+               rv = runtime_write(2, v, n);
                return;
        }
-       
+
        if(g->writenbuf == 0)
                return;
-       
+
        if(n > g->writenbuf)
                n = g->writenbuf;
        runtime_memmove(g->writebuf, v, n);
index 72875fd..e0a7925 100644 (file)
@@ -106,11 +106,15 @@ static byte**     argv;
 extern Slice os_Args asm ("os.Args");
 extern Slice syscall_Envs asm ("syscall.Envs");
 
+void (*runtime_sysargs)(int32, uint8**);
+
 void
 runtime_args(int32 c, byte **v)
 {
        argc = c;
        argv = v;
+       if(runtime_sysargs != nil)
+               runtime_sysargs(c, v);
 }
 
 void
@@ -234,7 +238,7 @@ runtime_showframe(const unsigned char *s)
        
        if(traceback < 0)
                traceback = runtime_gotraceback();
-       return traceback > 1 || (__builtin_strchr((const char*)s, '.') != nil && __builtin_memcmp(s, "runtime.", 7) != 0);
+       return traceback > 1 || (s != nil && __builtin_strchr((const char*)s, '.') != nil && __builtin_memcmp(s, "runtime.", 7) != 0);
 }
 
 bool
index 4628fdd..572d736 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
        $(top_srcdir)/../config/lead-dot.m4 \
@@ -54,10 +54,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 DEJATOOL = $(PACKAGE)
 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AR = @AR@
@@ -306,37 +304,6 @@ distclean-DEJAGNU:
        -l='$(DEJATOOL)'; for tool in $$l; do \
          rm -f $$tool.sum $$tool.log; \
        done
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
 check: check-am
@@ -438,8 +405,8 @@ uninstall-am:
 
 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
        clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-libtool dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 11845a9..bc33ea9 100644 (file)
@@ -1,3 +1,31 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/56217
+       * testsuite/libgomp.c++/pr56217.C: New test.
+
+2013-01-22  Alan Modra  <amodra@gmail.com>
+
+       PR libgomp/51376
+       PR libgomp/56073
+       * task.c (GOMP_task): Revert 2011-12-09 change.
+       (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
+       barrier to read task->children..
+       (gomp_barrier_handle_tasks): ..and matching atomic store with
+       release barrier here when setting parent->children to NULL.
+
+2012-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/55411
+       * team.c (gomp_free_thread): Decrease gomp_managed_threads
+       if pool had any threads_used.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index aec3cfb..b3f040e 100644 (file)
@@ -1,5 +1,5 @@
-This is libgomp.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/libgomp/libgomp.texi.
+This is libgomp.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/libgomp/libgomp.texi.
 
 Copyright (C) 2006, 2007, 2008, 2010, 2011 Free Software Foundation,
 Inc.
@@ -2488,72 +2488,72 @@ Index
 
 \1f
 Tag Table:
-Node: Top\7f2063
-Node: Enabling OpenMP\7f3257
-Node: Runtime Library Routines\7f4042
-Node: omp_get_active_level\7f6490
-Node: omp_get_ancestor_thread_num\7f7194
-Node: omp_get_dynamic\7f8121
-Node: omp_get_level\7f8999
-Node: omp_get_max_active_levels\7f9623
-Node: omp_get_max_threads\7f10326
-Node: omp_get_nested\7f11082
-Node: omp_get_num_procs\7f11994
-Node: omp_get_num_threads\7f12512
-Node: omp_get_schedule\7f13594
-Node: omp_get_team_size\7f14515
-Node: omp_get_thread_limit\7f15477
-Node: omp_get_thread_num\7f16100
-Node: omp_in_parallel\7f16968
-Node: omp_in_final\7f17615
-Node: omp_set_dynamic\7f18286
-Node: omp_set_max_active_levels\7f19123
-Node: omp_set_nested\7f19903
-Node: omp_set_num_threads\7f20782
-Node: omp_set_schedule\7f21618
-Node: omp_init_lock\7f22690
-Node: omp_set_lock\7f23341
-Node: omp_test_lock\7f24192
-Node: omp_unset_lock\7f25163
-Node: omp_destroy_lock\7f26089
-Node: omp_init_nest_lock\7f26763
-Node: omp_set_nest_lock\7f27496
-Node: omp_test_nest_lock\7f28407
-Node: omp_unset_nest_lock\7f29436
-Node: omp_destroy_nest_lock\7f30446
-Node: omp_get_wtick\7f31194
-Node: omp_get_wtime\7f31785
-Node: Environment Variables\7f32559
-Node: OMP_DYNAMIC\7f33687
-Node: OMP_MAX_ACTIVE_LEVELS\7f34255
-Node: OMP_NESTED\7f34894
-Node: OMP_NUM_THREADS\7f35498
-Node: OMP_SCHEDULE\7f36186
-Node: OMP_STACKSIZE\7f36880
-Node: OMP_THREAD_LIMIT\7f37706
-Node: OMP_WAIT_POLICY\7f38301
-Node: OMP_PROC_BIND\7f38862
-Node: GOMP_CPU_AFFINITY\7f39420
-Node: GOMP_STACKSIZE\7f40961
-Node: The libgomp ABI\7f41771
-Node: Implementing MASTER construct\7f42570
-Node: Implementing CRITICAL construct\7f42984
-Node: Implementing ATOMIC construct\7f43723
-Node: Implementing FLUSH construct\7f44204
-Node: Implementing BARRIER construct\7f44475
-Node: Implementing THREADPRIVATE construct\7f44744
-Node: Implementing PRIVATE clause\7f45396
-Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses\7f45977
-Node: Implementing REDUCTION clause\7f47301
-Node: Implementing PARALLEL construct\7f47858
-Node: Implementing FOR construct\7f49115
-Node: Implementing ORDERED construct\7f51113
-Node: Implementing SECTIONS construct\7f51419
-Node: Implementing SINGLE construct\7f52185
-Node: Reporting Bugs\7f52847
-Node: Copying\7f53157
-Node: GNU Free Documentation License\7f72367
-Node: Funding\7f97509
-Node: Index\7f100026
+Node: Top\7f2077
+Node: Enabling OpenMP\7f3271
+Node: Runtime Library Routines\7f4056
+Node: omp_get_active_level\7f6504
+Node: omp_get_ancestor_thread_num\7f7208
+Node: omp_get_dynamic\7f8135
+Node: omp_get_level\7f9013
+Node: omp_get_max_active_levels\7f9637
+Node: omp_get_max_threads\7f10340
+Node: omp_get_nested\7f11096
+Node: omp_get_num_procs\7f12008
+Node: omp_get_num_threads\7f12526
+Node: omp_get_schedule\7f13608
+Node: omp_get_team_size\7f14529
+Node: omp_get_thread_limit\7f15491
+Node: omp_get_thread_num\7f16114
+Node: omp_in_parallel\7f16982
+Node: omp_in_final\7f17629
+Node: omp_set_dynamic\7f18300
+Node: omp_set_max_active_levels\7f19137
+Node: omp_set_nested\7f19917
+Node: omp_set_num_threads\7f20796
+Node: omp_set_schedule\7f21632
+Node: omp_init_lock\7f22704
+Node: omp_set_lock\7f23355
+Node: omp_test_lock\7f24206
+Node: omp_unset_lock\7f25177
+Node: omp_destroy_lock\7f26103
+Node: omp_init_nest_lock\7f26777
+Node: omp_set_nest_lock\7f27510
+Node: omp_test_nest_lock\7f28421
+Node: omp_unset_nest_lock\7f29450
+Node: omp_destroy_nest_lock\7f30460
+Node: omp_get_wtick\7f31208
+Node: omp_get_wtime\7f31799
+Node: Environment Variables\7f32573
+Node: OMP_DYNAMIC\7f33701
+Node: OMP_MAX_ACTIVE_LEVELS\7f34269
+Node: OMP_NESTED\7f34908
+Node: OMP_NUM_THREADS\7f35512
+Node: OMP_SCHEDULE\7f36200
+Node: OMP_STACKSIZE\7f36894
+Node: OMP_THREAD_LIMIT\7f37720
+Node: OMP_WAIT_POLICY\7f38315
+Node: OMP_PROC_BIND\7f38876
+Node: GOMP_CPU_AFFINITY\7f39434
+Node: GOMP_STACKSIZE\7f40975
+Node: The libgomp ABI\7f41785
+Node: Implementing MASTER construct\7f42584
+Node: Implementing CRITICAL construct\7f42998
+Node: Implementing ATOMIC construct\7f43737
+Node: Implementing FLUSH construct\7f44218
+Node: Implementing BARRIER construct\7f44489
+Node: Implementing THREADPRIVATE construct\7f44758
+Node: Implementing PRIVATE clause\7f45410
+Node: Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses\7f45991
+Node: Implementing REDUCTION clause\7f47315
+Node: Implementing PARALLEL construct\7f47872
+Node: Implementing FOR construct\7f49129
+Node: Implementing ORDERED construct\7f51127
+Node: Implementing SECTIONS construct\7f51433
+Node: Implementing SINGLE construct\7f52199
+Node: Reporting Bugs\7f52861
+Node: Copying\7f53171
+Node: GNU Free Documentation License\7f72381
+Node: Funding\7f97523
+Node: Index\7f100040
 \1f
 End Tag Table
index 4b75850..13e6605 100644 (file)
@@ -116,11 +116,19 @@ GOMP_task (void (*fn) (void *), void *data, void (*cpyfn) (void *, void *),
        }
       else
        fn (data);
-      if (team != NULL)
+      /* Access to "children" is normally done inside a task_lock
+        mutex region, but the only way this particular task.children
+        can be set is if this thread's task work function (fn)
+        creates children.  So since the setter is *this* thread, we
+        need no barriers here when testing for non-NULL.  We can have
+        task.children set by the current thread then changed by a
+        child thread, but seeing a stale non-NULL value is not a
+        problem.  Once past the task_lock acquisition, this thread
+        will see the real value of task.children.  */
+      if (task.children != NULL)
        {
          gomp_mutex_lock (&team->task_lock);
-         if (task.children != NULL)
-           gomp_clear_parent (task.children);
+         gomp_clear_parent (task.children);
          gomp_mutex_unlock (&team->task_lock);
        }
       gomp_end_task ();
@@ -258,7 +266,13 @@ gomp_barrier_handle_tasks (gomp_barrier_state_t state)
                    parent->children = child_task->next_child;
                  else
                    {
-                     parent->children = NULL;
+                     /* We access task->children in GOMP_taskwait
+                        outside of the task lock mutex region, so
+                        need a release barrier here to ensure memory
+                        written by child_task->fn above is flushed
+                        before the NULL is written.  */
+                     __atomic_store_n (&parent->children, NULL,
+                                       MEMMODEL_RELEASE);
                      if (parent->in_taskwait)
                        gomp_sem_post (&parent->taskwait_sem);
                    }
@@ -291,7 +305,14 @@ GOMP_taskwait (void)
   struct gomp_task *child_task = NULL;
   struct gomp_task *to_free = NULL;
 
-  if (task == NULL || team == NULL)
+  /* The acquire barrier on load of task->children here synchronizes
+     with the write of a NULL in gomp_barrier_handle_tasks.  It is
+     not necessary that we synchronize with other non-NULL writes at
+     this point, but we must ensure that all writes to memory by a
+     child thread task work function are seen before we exit from
+     GOMP_taskwait.  */
+  if (task == NULL
+      || __atomic_load_n (&task->children, MEMMODEL_ACQUIRE) == NULL)
     return;
 
   gomp_mutex_lock (&team->task_lock);
index 633902c..110bd47 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011
+/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011, 2012
    Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@redhat.com>.
 
@@ -232,6 +232,15 @@ gomp_free_thread (void *arg __attribute__((unused)))
          gomp_barrier_wait (&pool->threads_dock);
          /* Now it is safe to destroy the barrier and free the pool.  */
          gomp_barrier_destroy (&pool->threads_dock);
+
+#ifdef HAVE_SYNC_BUILTINS
+         __sync_fetch_and_add (&gomp_managed_threads,
+                               1L - pool->threads_used);
+#else
+         gomp_mutex_lock (&gomp_remaining_threads_lock);
+         gomp_managed_threads -= pool->threads_used - 1L;
+         gomp_mutex_unlock (&gomp_remaining_threads_lock);
+#endif
        }
       free (pool->threads);
       if (pool->last_team)
diff --git a/libgomp/testsuite/libgomp.c++/pr56217.C b/libgomp/testsuite/libgomp.c++/pr56217.C
new file mode 100644 (file)
index 0000000..19da918
--- /dev/null
@@ -0,0 +1,36 @@
+// PR middle-end/56217
+// { dg-do run }
+// { dg-options "-std=c++0x" }
+
+extern "C" void abort ();
+
+template <typename T>
+struct ptr {
+  T *p;
+  ptr () : p () {}
+  ptr (ptr &) = delete;
+  ptr (ptr &&o) : p(o) {}
+  operator T * () { return p; }
+};
+
+int a[6] = { 100, 101, 102, 103, 104, 105 };
+
+static ptr<int>
+f ()
+{
+  ptr<int> pt;
+  #pragma omp task shared (pt)
+    pt.p = a + 2;
+  #pragma omp taskwait
+  return pt;
+}
+
+int
+main ()
+{
+  ptr<int> pt;
+  #pragma omp parallel
+  #pragma omp single
+  if (f () != a + 2 || *f () != 102)
+    abort ();
+}
index 859760d..60265f8 100644 (file)
@@ -1,3 +1,35 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/56245
+       * regex.c (PTR_INT_TYPE): Define.
+       (EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.
+
+2013-01-31  Kai Tietz  <ktietz@redhat.com>
+
+       Merged from trunk
+       PR other/54620
+       * sha1.c (sha1_process_block):  Handle case that size_t is
+       a wider-integer-scalar as a 32-bit unsigned integer.
+
+       Merged from trunk.
+       PR other/53413
+       * md5.c (md5_process_block):  Handle case that size_t is
+       a wider-integer-scalar a 32-bit unsigned integer.
+
+        2012-07-31  Mike Frysinger  <vapier@gentoo.org>
+
+       Merged from trunk.
+       PR other/53285
+       * md5.c (md5_finish_ctx): Declare swap_bytes.  Assign SWAP() output
+       to swap_bytes, and then call memcpy to move it to ctx->buffer.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 0db8fc8..b30a6b7 100644 (file)
@@ -103,6 +103,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
 {
   /* Take yet unprocessed bytes into account.  */
   md5_uint32 bytes = ctx->buflen;
+  md5_uint32 swap_bytes;
   size_t pad;
 
   /* Now count remaining bytes.  */
@@ -113,10 +114,13 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
   pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
   memcpy (&ctx->buffer[bytes], fillbuf, pad);
 
-  /* Put the 64-bit file length in *bits* at the end of the buffer.  */
-  *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
-  *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
-                                                       (ctx->total[0] >> 29));
+  /* Put the 64-bit file length in *bits* at the end of the buffer.
+     Use memcpy to avoid aliasing problems.  On most systems, this
+     will be optimized away to the same code.  */
+  swap_bytes = SWAP (ctx->total[0] << 3);
+  memcpy (&ctx->buffer[bytes + pad], &swap_bytes, sizeof (swap_bytes));
+  swap_bytes = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
+  memcpy (&ctx->buffer[bytes + pad + 4], &swap_bytes, sizeof (swap_bytes));
 
   /* Process last bytes.  */
   md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
@@ -289,8 +293,7 @@ md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
      length of the file up to 2^64 bits.  Here we only compute the
      number of bytes.  Do a double word increment.  */
   ctx->total[0] += len;
-  if (ctx->total[0] < len)
-    ++ctx->total[1];
+  ctx->total[1] += ((len >> 31) >> 1) + (ctx->total[0] < len);
 
   /* Process all bytes in the buffer with 64 bytes in each round of
      the loop.  */
index d65eedb..e5ad222 100644 (file)
 
 # if defined STDC_HEADERS && !defined emacs
 #  include <stddef.h>
+#  define PTR_INT_TYPE ptrdiff_t
 # else
 /* We need this for `regex.h', and perhaps for the Emacs include files.  */
 #  include <sys/types.h>
+#  define PTR_INT_TYPE long
 # endif
 
 # define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
@@ -2045,7 +2047,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
     /* How many characters the new buffer can have?  */                        \
     wchar_count = bufp->allocated / sizeof(UCHAR_T);                   \
     if (wchar_count == 0) wchar_count = 1;                             \
-    /* Truncate the buffer to CHAR_T align.  */                        \
+    /* Truncate the buffer to CHAR_T align.  */                                \
     bufp->allocated = wchar_count * sizeof(UCHAR_T);                   \
     RETALLOC (COMPILED_BUFFER_VAR, wchar_count, UCHAR_T);              \
     bufp->buffer = (char*)COMPILED_BUFFER_VAR;                         \
@@ -2054,7 +2056,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
     /* If the buffer moved, move all the pointers into it.  */         \
     if (old_buffer != COMPILED_BUFFER_VAR)                             \
       {                                                                        \
-       int incr = COMPILED_BUFFER_VAR - old_buffer;                    \
+       PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer;           \
        MOVE_BUFFER_POINTER (b);                                        \
        MOVE_BUFFER_POINTER (begalt);                                   \
        if (fixup_alt_jump)                                             \
@@ -2082,7 +2084,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
     /* If the buffer moved, move all the pointers into it.  */         \
     if (old_buffer != COMPILED_BUFFER_VAR)                             \
       {                                                                        \
-       int incr = COMPILED_BUFFER_VAR - old_buffer;                    \
+       PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer;           \
        MOVE_BUFFER_POINTER (b);                                        \
        MOVE_BUFFER_POINTER (begalt);                                   \
        if (fixup_alt_jump)                                             \
index 6a25ab2..617e743 100644 (file)
@@ -300,8 +300,7 @@ sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx)
      length of the file up to 2^64 bits.  Here we only compute the
      number of bytes.  Do a double word increment.  */
   ctx->total[0] += len;
-  if (ctx->total[0] < len)
-    ++ctx->total[1];
+  ctx->total[1] += ((len >> 31) >> 1) + (ctx->total[0] < len);
 
 #define rol(x, n) (((x) << (n)) | ((sha1_uint32) (x) >> (32 - (n))))
 
index 716ff21..12636cc 100644 (file)
@@ -1,3 +1,15 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/43620
+       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
+       * Makefile.in: Regenerated.
+       * configure: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 66aacab..f44fd70 100644 (file)
@@ -40,13 +40,10 @@ target_triplet = @target@
 @ARCH_X86_TRUE@am__append_2 = x86_sse.cc x86_avx.cc
 @ARCH_FUTEX_TRUE@am__append_3 = futex.cc
 subdir = .
-DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
-       $(srcdir)/../config.sub $(srcdir)/../depcomp \
-       $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
-       $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/config.h.in $(srcdir)/libitm.spec.in \
-       $(top_srcdir)/configure ChangeLog
+DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
+       $(srcdir)/libitm.spec.in $(srcdir)/../depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../config/asmcfi.m4 \
@@ -97,11 +94,6 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \
        "$(DESTDIR)$(toolexeclibdir)"
 LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
 libitm_la_LIBADD =
-am__libitm_la_SOURCES_DIST = aatree.cc alloc.cc alloc_c.cc \
-       alloc_cpp.cc barrier.cc beginend.cc clone.cc eh_cpp.cc \
-       local.cc query.cc retry.cc rwlock.cc useraction.cc util.cc \
-       sjlj.S tls.cc method-serial.cc method-gl.cc method-ml.cc \
-       hwcap.cc x86_sse.cc x86_avx.cc futex.cc
 @ARCH_ARM_TRUE@am__objects_1 = hwcap.lo
 @ARCH_X86_TRUE@am__objects_2 = x86_sse.lo x86_avx.lo
 @ARCH_FUTEX_TRUE@am__objects_3 = futex.lo
@@ -139,7 +131,6 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libitm_la_SOURCES)
-DIST_SOURCES = $(am__libitm_la_SOURCES_DIST)
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -169,47 +160,10 @@ HEADERS = $(nodist_toolexeclib_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AR = @AR@
@@ -867,185 +821,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) all-multi $(HEADERS) \
@@ -1244,13 +1019,10 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am all-local all-multi am--refresh check check-am \
        clean clean-aminfo clean-generic clean-libtool clean-multi \
-       clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
-       dist-all dist-bzip2 dist-gzip dist-info dist-lzma dist-shar \
-       dist-tarZ dist-xz dist-zip distcheck distclean \
-       distclean-compile distclean-generic distclean-hdr \
-       distclean-libtool distclean-multi distclean-tags \
-       distcleancheck distdir distuninstallcheck dvi dvi-am html \
-       html-am info info-am install install-am install-data \
+       clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist-info \
+       distclean distclean-compile distclean-generic distclean-hdr \
+       distclean-libtool distclean-multi distclean-tags dvi dvi-am \
+       html html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
        install-info-am install-man install-multi \
index 47c7b0c..30d2f73 100644 (file)
@@ -2844,6 +2844,7 @@ target_alias=${target_alias-$host_alias}
 #  no-define:  PACKAGE and VERSION will not be #define'd in config.h (a bunch
 #              of other PACKAGE_* variables will, however, and there's nothing
 #              we can do about that; they come from AC_INIT).
+#  no-dist:  we don't want 'dist' and related rules.
 #  foreign:  we don't follow the normal rules for GNU packages (no COPYING
 #            file in the top srcdir, etc, etc), so stop complaining.
 #  -Wall:  turns on all automake warnings...
@@ -11770,7 +11771,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11773 "configure"
+#line 11774 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11876,7 +11877,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11879 "configure"
+#line 11880 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
index 2cce2b1..198ca32 100644 (file)
@@ -70,12 +70,13 @@ target_alias=${target_alias-$host_alias}
 #  no-define:  PACKAGE and VERSION will not be #define'd in config.h (a bunch
 #              of other PACKAGE_* variables will, however, and there's nothing
 #              we can do about that; they come from AC_INIT).
+#  no-dist:  we don't want 'dist' and related rules.
 #  foreign:  we don't follow the normal rules for GNU packages (no COPYING
 #            file in the top srcdir, etc, etc), so stop complaining.
 #  -Wall:  turns on all automake warnings...
 #  -Wno-portability:  ...except this one, since GNU make is required.
 #  -Wno-override: ... and this one, since we do want this in testsuite.
-AM_INIT_AUTOMAKE([1.9.0 foreign -Wall -Wno-portability -Wno-override])
+AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override])
 AM_ENABLE_MULTILIB(, ..)
 
 # Calculate toolexeclibdir
index 6e4f0fa..ca225bc 100644 (file)
@@ -1,5 +1,5 @@
-This is libitm.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/libitm/libitm.texi.
+This is libitm.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/libitm/libitm.texi.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
 
@@ -1286,15 +1286,15 @@ Index
 
 \1f
 Tag Table:
-Node: Top\7f1163
-Node: Enabling libitm\7f2066
-Node: C/C++ Language Constructs for TM\7f2460
-Node: The libitm ABI\7f3940
-Ref: txn-code-properties\7f7308
-Node: Internals\7f17583
-Ref: serial-lock-impl\7f27608
-Ref: progress-guarantees\7f32358
-Node: GNU Free Documentation License\7f34632
-Node: Index\7f59773
+Node: Top\7f1177
+Node: Enabling libitm\7f2080
+Node: C/C++ Language Constructs for TM\7f2474
+Node: The libitm ABI\7f3954
+Ref: txn-code-properties\7f7322
+Node: Internals\7f17597
+Ref: serial-lock-impl\7f27622
+Ref: progress-guarantees\7f32372
+Node: GNU Free Documentation License\7f34646
+Node: Index\7f59787
 \1f
 End Tag Table
index 094e44d..a6db6aa 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
        $(top_srcdir)/../config/asmcfi.m4 \
@@ -60,10 +60,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 DEJATOOL = $(PACKAGE)
 RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AR = @AR@
@@ -295,37 +293,6 @@ distclean-DEJAGNU:
        -l='$(DEJATOOL)'; for tool in $$l; do \
          rm -f $$tool.sum $$tool.log; \
        done
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
 check: check-am
@@ -426,8 +393,8 @@ uninstall-am:
 
 .PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
        clean-libtool distclean distclean-DEJAGNU distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-libtool dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 0010d59..aaad183 100644 (file)
@@ -1,3 +1,15 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backport from mainline.
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
+       * configure: Regenerate.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index cc92517..a06cd1e 100644 (file)
@@ -1,3 +1,12 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-01-10  Matthias Klose <doko@ubuntu.com>
+
+       * tools/gnu/classpath/tools/gjdoc/Main.java: Accept -source 1.5,
+       1.6, 1.7.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index eae363d..7e35d42 100644 (file)
@@ -1,3 +1,48 @@
+2013-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/56258
+       * doc/cp-tools.texinfo (Virtual Machine Options): Use just
+       one @gccoptlist instead of 3 separate ones.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/43620
+       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
+       * Makefile.in: Regenerated.
+       * doc/Makefile.in: Regenerated.
+       * doc/api/Makefile.in: Regenerated.
+       * examples/Makefile.in: Regenerated.
+       * external/Makefile.in: Regenerated.
+       * external/jsr166/Makefile.in: Regenerated.
+       * external/relaxngDatatype/Makefile.in: Regenerated.
+       * external/sax/Makefile.in: Regenerated.
+       * external/w3c_dom/Makefile.in: Regenerated.
+       * include/Makefile.in: Regenerated.
+       * lib/Makefile.in: Regenerated.
+       * native/Makefile.in: Regenerated.
+       * native/fdlibm/Makefile.in: Regenerated.
+       * native/jawt/Makefile.in: Regenerated.
+       * native/jni/Makefile.in: Regenerated.
+       * native/jni/classpath/Makefile.in: Regenerated.
+       * native/jni/gconf-peer/Makefile.in: Regenerated.
+       * native/jni/gstreamer-peer/Makefile.in: Regenerated.
+       * native/jni/gtk-peer/Makefile.in: Regenerated.
+       * native/jni/java-io/Makefile.in: Regenerated.
+       * native/jni/java-lang/Makefile.in: Regenerated.
+       * native/jni/java-math/Makefile.in: Regenerated.
+       * native/jni/java-net/Makefile.in: Regenerated.
+       * native/jni/java-nio/Makefile.in: Regenerated.
+       * native/jni/java-util/Makefile.in: Regenerated.
+       * native/jni/midi-alsa/Makefile.in: Regenerated.
+       * native/jni/midi-dssi/Makefile.in: Regenerated.
+       * native/jni/native-lib/Makefile.in: Regenerated.
+       * native/jni/qt-peer/Makefile.in: Regenerated.
+       * native/jni/xmlj/Makefile.in: Regenerated.
+       * native/plugin/Makefile.in: Regenerated.
+       * resource/Makefile.in: Regenerated.
+       * scripts/Makefile.in: Regenerated.
+       * tools/Makefile.in: Regenerated.
+
 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
 
        * gnu/java/rmi/registry/RegistryImpl.java (version): Update
index 0e8aee5..ad20cf6 100644 (file)
@@ -35,25 +35,15 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
-       $(srcdir)/../../config.guess $(srcdir)/../../config.sub \
-       $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
-       $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/configure \
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+       $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) \
+       $(srcdir)/../../mkinstalldirs \
        $(top_srcdir)/gnu/classpath/Configuration.java.in \
        $(top_srcdir)/gnu/java/security/Configuration.java.in \
        $(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
        $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader.in \
-       $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in \
-       ../../ABOUT-NLS ../../COPYING ../../COPYING.LIB \
-       ../../ChangeLog ../../README ../../compile ../../config.guess \
-       ../../config.rpath ../../config.sub ../../depcomp \
-       ../../install-sh ../../ltmain.sh ../../missing \
-       ../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \
-       INSTALL NEWS TODO compile config.guess config.rpath config.sub \
-       depcomp install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
-       ltmain.sh missing mkinstalldirs
+       $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -92,7 +82,6 @@ CONFIG_CLEAN_FILES = gnu/classpath/Configuration.java \
        resource/META-INF/services/javax.sound.sampled.spi.MixerProvider
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -109,46 +98,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -582,185 +534,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile all-multi
@@ -869,20 +642,17 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am all-multi am--refresh check check-am clean \
        clean-generic clean-libtool clean-multi ctags ctags-recursive \
-       dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzma \
-       dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
-       distclean-generic distclean-libtool distclean-multi \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-multi \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       maintainer-clean-multi mostlyclean mostlyclean-generic \
-       mostlyclean-libtool mostlyclean-multi pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am
+       distclean distclean-generic distclean-libtool distclean-multi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-multi install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic maintainer-clean-multi mostlyclean \
+       mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
+       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
 
 
 native: lib
index 0a26785..49bd667 100644 (file)
@@ -75,7 +75,7 @@ CLASSPATH_CONVENIENCE="-no-undefined"
 AC_SUBST(CLASSPATH_CONVENIENCE)
 
 AC_PREREQ(2.64)
-AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability])
+AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar no-dist -Wno-portability])
 AC_CONFIG_HEADERS([include/config.h])
 AC_PREFIX_DEFAULT(/usr/local/classpath)
 
index 7a2432c..781f601 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,7 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 INFO_DEPS = cp-tools.info
 am__TEXINFO_TEX_DIR = $(srcdir)/../../gcc/doc/include
 DVIS = cp-tools.dvi
@@ -116,37 +115,10 @@ MANS = $(man_MANS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -756,81 +728,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(INFO_DEPS) $(MANS) all-local
@@ -1020,18 +917,18 @@ uninstall-man: uninstall-man1
        all all-am all-local check check-am clean clean-aminfo \
        clean-generic clean-libtool ctags ctags-recursive dist-info \
        distclean distclean-generic distclean-libtool distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-man1 install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
-       mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-       uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
+       dvi dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-man1 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-aminfo \
+       maintainer-clean-generic mostlyclean mostlyclean-aminfo \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       tags tags-recursive uninstall uninstall-am uninstall-dvi-am \
+       uninstall-html-am uninstall-info-am uninstall-man \
+       uninstall-man1 uninstall-pdf-am uninstall-ps-am
 
 
 .texinfo.dvi:
index c811ef1..b5c7bec 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = doc/api
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -69,9 +69,7 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 DATA = $(noinst_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -330,37 +328,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(DATA)
@@ -459,16 +426,16 @@ uninstall-am: uninstall-local
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-local distclean distclean-generic distclean-libtool \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-data-local \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-       ps ps-am uninstall uninstall-am uninstall-local
+       clean-local distclean distclean-generic distclean-libtool dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-data-local install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       uninstall uninstall-am uninstall-local
 
 
 @CREATE_API_DOCS_TRUE@install-data-local:
index 62a26d5..23171c0 100644 (file)
@@ -1,5 +1,5 @@
-This is cp-tools.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/libjava/classpath/doc/cp-tools.texinfo.
+This is cp-tools.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/libjava/classpath/doc/cp-tools.texinfo.
 
 This file documents the Tools included in a standard distribution of
 the GNU Classpath project deliverables.
@@ -1858,12 +1858,7 @@ _Verbosity Options_
 
 _Virtual Machine Options_
      *Note Options Controlling Gjdoc Behavior: Virtual Machine Options.
-          -classpath
-
-          -bootclasspath
-
-          -J
-     VMOPT
+          -classpath  -bootclasspath  -J VMOPT
 
 
 * Menu:
@@ -3090,93 +3085,93 @@ alter text between curly braces.
 
 \1f
 Tag Table:
-Node: Top\7f426
-Node: Applet Tools\7f6146
-Node: appletviewer Tool\7f6719
-Node: gcjwebplugin\7f9834
-Node: Security Tools\7f10146
-Node: jarsigner Tool\7f10799
-Node: Common jarsigner Options\7f11847
-Node: Signing Options\7f13162
-Node: Verification Options\7f15745
-Node: keytool Tool\7f16333
-Node: Getting Help\7f20761
-Node: Common keytool Options\7f21505
-Ref: alias\7f21778
-Ref: keyalg\7f22160
-Ref: keysize\7f22390
-Ref: validity\7f22655
-Ref: storetype\7f22870
-Ref: storepass\7f23201
-Ref: keystore\7f23398
-Ref: provider\7f23941
-Ref: file\7f24348
-Ref: verbose\7f24819
-Node: Distinguished Names\7f24911
-Ref: dn\7f25105
-Node: Add/Update Commands\7f26168
-Node: Command -genkey\7f26696
-Node: Command -import\7f29105
-Node: Command -selfcert\7f32249
-Node: Command -cacert\7f34428
-Node: Command -identitydb\7f35481
-Node: Export Commands\7f36139
-Node: Command -certreq\7f36455
-Node: Command -export\7f38861
-Node: Display Commands\7f40058
-Node: Command -list\7f40390
-Node: Command -printcert\7f41523
-Node: Management Commands\7f41907
-Node: Command -keyclone\7f42339
-Node: Command -storepasswd\7f43742
-Node: Command -keypasswd\7f44471
-Node: Command -delete\7f45665
-Node: Other Tools\7f46288
-Node: jar Tool\7f47130
-Node: javah Tool\7f48522
-Node: gcjh Tool\7f49741
-Node: native2ascii Tool\7f50854
-Node: orbd Tool\7f51315
-Node: serialver Tool\7f52045
-Node: rmid Tool\7f52514
-Node: rmiregistry Tool\7f53455
-Node: tnameserv Tool\7f54295
-Node: gjdoc Tool\7f54919
-Node: Invoking the Standard Doclet\7f56907
-Node: Option Summary by Type\7f58062
-Node: Source Set Options\7f60517
-Node: Source Format Options\7f62381
-Node: Interlinking Options\7f63895
-Node: Generation Options\7f66672
-Node: Taglet Options\7f72769
-Node: Doclet Options\7f74990
-Node: Decoration Options\7f76566
-Node: Output Control Options\7f80657
-Node: Verbosity Options\7f84189
-Node: Virtual Machine Options\7f84535
-Node: Invoking a Custom Doclet\7f85931
-Node: Gjdoc Option Summary\7f86606
-Node: Other Doclets\7f86786
-Node: Built-in Doclets\7f87014
-Node: Using TexiDoclet\7f87269
-Node: Using XmlDoclet\7f87491
-Node: Using IspellDoclet\7f87716
-Node: Using DebugDoclet\7f87944
-Node: Third-party Doclets\7f88144
-Node: DocBook Doclet\7f88360
-Node: PDFDoclet\7f88503
-Node: JUnitDoclet\7f88656
-Node: Gjdoc Concepts\7f88790
-Node: Taglets\7f89034
-Node: Writing Doclets\7f89217
-Node: Doclet Invocation Interface\7f89557
-Node: Using AbstractDoclet\7f90349
-Node: GNU Doclet SPI\7f93343
-Node: XHTML Fragments\7f94815
-Node: First Sentence Detector\7f96248
-Node: Adding Custom Resources\7f98010
-Node: I18N Issues\7f99706
-Node: Language Resources\7f100208
-Node: Message Formats\7f103872
+Node: Top\7f440
+Node: Applet Tools\7f6160
+Node: appletviewer Tool\7f6733
+Node: gcjwebplugin\7f9848
+Node: Security Tools\7f10160
+Node: jarsigner Tool\7f10813
+Node: Common jarsigner Options\7f11861
+Node: Signing Options\7f13176
+Node: Verification Options\7f15759
+Node: keytool Tool\7f16347
+Node: Getting Help\7f20775
+Node: Common keytool Options\7f21519
+Ref: alias\7f21792
+Ref: keyalg\7f22174
+Ref: keysize\7f22404
+Ref: validity\7f22669
+Ref: storetype\7f22884
+Ref: storepass\7f23215
+Ref: keystore\7f23412
+Ref: provider\7f23955
+Ref: file\7f24362
+Ref: verbose\7f24833
+Node: Distinguished Names\7f24925
+Ref: dn\7f25119
+Node: Add/Update Commands\7f26182
+Node: Command -genkey\7f26710
+Node: Command -import\7f29119
+Node: Command -selfcert\7f32263
+Node: Command -cacert\7f34442
+Node: Command -identitydb\7f35495
+Node: Export Commands\7f36153
+Node: Command -certreq\7f36469
+Node: Command -export\7f38875
+Node: Display Commands\7f40072
+Node: Command -list\7f40404
+Node: Command -printcert\7f41537
+Node: Management Commands\7f41921
+Node: Command -keyclone\7f42353
+Node: Command -storepasswd\7f43756
+Node: Command -keypasswd\7f44485
+Node: Command -delete\7f45679
+Node: Other Tools\7f46302
+Node: jar Tool\7f47144
+Node: javah Tool\7f48536
+Node: gcjh Tool\7f49755
+Node: native2ascii Tool\7f50868
+Node: orbd Tool\7f51329
+Node: serialver Tool\7f52059
+Node: rmid Tool\7f52528
+Node: rmiregistry Tool\7f53469
+Node: tnameserv Tool\7f54309
+Node: gjdoc Tool\7f54933
+Node: Invoking the Standard Doclet\7f56921
+Node: Option Summary by Type\7f58076
+Node: Source Set Options\7f60506
+Node: Source Format Options\7f62370
+Node: Interlinking Options\7f63884
+Node: Generation Options\7f66661
+Node: Taglet Options\7f72758
+Node: Doclet Options\7f74979
+Node: Decoration Options\7f76555
+Node: Output Control Options\7f80646
+Node: Verbosity Options\7f84178
+Node: Virtual Machine Options\7f84524
+Node: Invoking a Custom Doclet\7f85920
+Node: Gjdoc Option Summary\7f86595
+Node: Other Doclets\7f86775
+Node: Built-in Doclets\7f87003
+Node: Using TexiDoclet\7f87258
+Node: Using XmlDoclet\7f87480
+Node: Using IspellDoclet\7f87705
+Node: Using DebugDoclet\7f87933
+Node: Third-party Doclets\7f88133
+Node: DocBook Doclet\7f88349
+Node: PDFDoclet\7f88492
+Node: JUnitDoclet\7f88645
+Node: Gjdoc Concepts\7f88779
+Node: Taglets\7f89023
+Node: Writing Doclets\7f89206
+Node: Doclet Invocation Interface\7f89546
+Node: Using AbstractDoclet\7f90338
+Node: GNU Doclet SPI\7f93332
+Node: XHTML Fragments\7f94804
+Node: First Sentence Detector\7f96237
+Node: Adding Custom Resources\7f97999
+Node: I18N Issues\7f99695
+Node: Language Resources\7f100197
+Node: Message Formats\7f103861
 \1f
 End Tag Table
index f7a2d24..7276962 100644 (file)
@@ -2022,7 +2022,7 @@ Doclet, grouped by type.  Explanations are in the following sections.
 
 @item Virtual Machine Options
 @xref{Virtual Machine Options,,Options Controlling Gjdoc Behavior}.
-@gccoptlist{-classpath}  @gccoptlist{-bootclasspath}  @gccoptlist{-J}@var{vmopt}
+@gccoptlist{-classpath  -bootclasspath  -J @var{vmopt}}
 
 @end table
 
index 89476f1..22d1f40 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GAPPLETVIEWER 1"
-.TH GAPPLETVIEWER 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GAPPLETVIEWER 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index ec4c43b..033d186 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GJAR 1"
-.TH GJAR 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GJAR 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index c70d02a..653fc6a 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GJARSIGNER 1"
-.TH GJARSIGNER 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GJARSIGNER 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index c4116e8..63a8d40 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GJAVAH 1"
-.TH GJAVAH 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GJAVAH 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 69e03f0..5748e3e 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GJDOC 1"
-.TH GJDOC 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GJDOC 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -181,7 +189,7 @@ To learn more about running Doclets other than the Standard Doclet,
 refer to the manual.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
-.SS "Option Summary by Type"
+.Sh "Option Summary by Type"
 .IX Subsection "Option Summary by Type"
 Here is a summary of all the options of both Gjdoc and the Standard
 Doclet, grouped by type.  Explanations are in the following sections.
@@ -222,8 +230,8 @@ Doclet, grouped by type.  Explanations are in the following sections.
 \&\fB\-quiet  \-verbose\fR
 .IP "\fIVirtual Machine Options\fR" 4
 .IX Item "Virtual Machine Options"
-\&\fB\-classpath\fR  \fB\-bootclasspath\fR  \fB\-J\fR\fIvmopt\fR
-.SS "Selecting which Source Files to Process"
+\&\fB\-classpath  \-bootclasspath  \-J\fR \fIvmopt\fR
+.Sh "Selecting which Source Files to Process"
 .IX Subsection "Selecting which Source Files to Process"
 .IP "\fB\-s\fR \fIpathlist\fR" 4
 .IX Item "-s pathlist"
@@ -273,7 +281,7 @@ Process all classes in the given Java packages.
 .IP "\fIsourcefiles\fR\fB...\fR" 4
 .IX Item "sourcefiles..."
 Process the classes in the given Java source files.
-.SS "Specifying the Format of Input Files"
+.Sh "Specifying the Format of Input Files"
 .IX Subsection "Specifying the Format of Input Files"
 .IP "\fB\-source\fR \fIrelease\fR" 4
 .IX Item "-source release"
@@ -309,7 +317,7 @@ source code commented in a non-latin language for which the default
 first sentence detector does not work. For all other cases, the
 default (do not use BreakIterator) produces better results at the time
 of this writing.
-.SS "Interlinking with other Documentation Sets"
+.Sh "Interlinking with other Documentation Sets"
 .IX Subsection "Interlinking with other Documentation Sets"
 .IP "\fB\-link\fR \fIurl\fR" 4
 .IX Item "-link url"
@@ -372,7 +380,7 @@ you place your mouse pointer over it in the \s-1HTML\s0 documentation.
 Omit package name qualifier from all class names.
 .Sp
 Specify this option to omit package name qualifiers altogether,
-.SS "Selecting which Information to Generate"
+.Sh "Selecting which Information to Generate"
 .IX Subsection "Selecting which Information to Generate"
 .IP "\fB\-public\fR" 4
 .IX Item "-public"
@@ -529,7 +537,7 @@ directory names.
 This option only makes sense if \fB\-docfilessubdirs\fR is also
 specified.  In this case, any sub-directory located directly beneath a
 \&\fIdoc-files\fR directory is omitted if listed.
-.SS "Custom Documentation Tags"
+.Sh "Custom Documentation Tags"
 .IX Subsection "Custom Documentation Tags"
 .IP "\fB\-tagletpath\fR \fIpathlist\fR" 4
 .IX Item "-tagletpath pathlist"
@@ -618,7 +626,7 @@ Then the \s-1HTML\s0 output will contain something like
 \&          $Id: cp\-tools.texinfo,v 1.7 2008/08/13 13:32:05 jsumali Exp $
 .Ve
 .RE
-.SS "Running Other Doclets"
+.Sh "Running Other Doclets"
 .IX Subsection "Running Other Doclets"
 .IP "\fB\-docletpath\fR \fIpathlist\fR" 4
 .IX Item "-docletpath pathlist"
@@ -657,7 +665,7 @@ feedback when successfully running third-party applets.
 This option can be specified multiple times, in which case all doclets
 are executed with the same information tree exposed via the Doclet \s-1API\s0
 for each Doclet run.
-.SS "Adding Information to the Output"
+.Sh "Adding Information to the Output"
 .IX Subsection "Adding Information to the Output"
 .IP "\fB\-windowtitle\fR \fItext\fR" 4
 .IX Item "-windowtitle text"
@@ -765,7 +773,7 @@ This option is currently ignored.
 .Sp
 When implemented, it will use the \s-1XHTML\s0 fragment in \fIfile\fR for the
 help page contents instead of the default help text.
-.SS "Controlling the Output."
+.Sh "Controlling the Output."
 .IX Subsection "Controlling the Output."
 .IP "\fB\-d\fR \fIdirectory\fR" 4
 .IX Item "-d directory"
@@ -846,7 +854,7 @@ available at a certain \s-1URL\s0, you should use this option to specify this
 .Sp
 This can help avoid certain redirect attacks used by spammers, and it
 can be helpful for certain web clients.
-.SS "Verbosity Options"
+.Sh "Verbosity Options"
 .IX Subsection "Verbosity Options"
 .IP "\fB\-quiet\fR" 4
 .IX Item "-quiet"
@@ -856,7 +864,7 @@ Suppress all output except for warnings and error messages.
 Be very verbose about what \fBgjdoc\fR is doing.
 .Sp
 This option is currently ignored.
-.SS "Virtual Machine Options"
+.Sh "Virtual Machine Options"
 .IX Subsection "Virtual Machine Options"
 Sun's \fBjavadoc\fR tool seems to be based on \fBjavac\fR and
 as such it seems to operate on the \s-1VM\s0 level.  \fBgjdoc\fR, in
index 05c10d7..90bd044 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GKEYTOOL 1"
-.TH GKEYTOOL 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GKEYTOOL 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 806d073..ed63c63 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GNATIVE2ASCII 1"
-.TH GNATIVE2ASCII 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GNATIVE2ASCII 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 8c74c69..93ad855 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GORBD 1"
-.TH GORBD 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GORBD 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index d347672..6f2e513 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GRMID 1"
-.TH GRMID 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GRMID 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index daf0fcf..0507f1d 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GRMIREGISTRY 1"
-.TH GRMIREGISTRY 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GRMIREGISTRY 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index b771e24..9dc53af 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GSERIALVER 1"
-.TH GSERIALVER 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GSERIALVER 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index d5986e3..94864b6 100644 (file)
@@ -1,7 +1,15 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -45,7 +53,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "GTNAMESERV 1"
-.TH GTNAMESERV 1 "2012-09-20" "0.99-pre" "GNU"
+.TH GTNAMESERV 1 "2013-04-11" "0.99-pre" "GNU"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 1d5d02f..be2e2ce 100644 (file)
@@ -36,8 +36,8 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = examples
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/Makefile.java2d.in $(srcdir)/Makefile.jawt.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.jawt.in $(srcdir)/Makefile.java2d.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -70,7 +70,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES = Makefile.jawt Makefile.java2d
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -94,7 +93,6 @@ am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(exampledir)"
 DATA = $(example_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -419,40 +417,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
@@ -557,17 +521,17 @@ uninstall-am: uninstall-exampleDATA uninstall-local
 .MAKE: all check install install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-local dist-hook distclean distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am \
-       install-data-local install-dvi install-dvi-am \
-       install-exampleDATA install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-exampleDATA uninstall-local
+       clean-local distclean distclean-generic distclean-libtool dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-data-local install-dvi \
+       install-dvi-am install-exampleDATA install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+       uninstall-exampleDATA uninstall-local
 
 
 # Make sure all sources and icons are also installed so users can use them.
index cd03f67..355e685 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = external
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,7 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        html-recursive info-recursive install-data-recursive \
        install-dvi-recursive install-exec-recursive \
@@ -79,37 +78,10 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -496,65 +468,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-recursive
 all-am: Makefile
@@ -657,13 +570,13 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am check check-am clean clean-generic clean-libtool \
        ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
+       distclean-libtool distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
        uninstall uninstall-am
index 55f0584..7a85895 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = external/jsr166
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,8 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -398,37 +396,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile
@@ -527,13 +494,13 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
index 41430c1..f909137 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = external/relaxngDatatype
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,8 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -338,37 +336,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile
@@ -467,13 +434,13 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
index 7742436..a4a0595 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = external/sax
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,8 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -366,37 +364,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile
@@ -495,13 +462,13 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
index 76daadb..68eecef 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = external/w3c_dom
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,8 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -473,37 +471,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile
@@ -602,13 +569,13 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
index 63b020e..58582e8 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(srcdir)/config.h.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
@@ -69,8 +69,6 @@ CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -500,37 +498,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 @CREATE_JNI_HEADERS_FALSE@all-local:
@@ -632,8 +599,8 @@ uninstall-am:
 
 .PHONY: all all-am all-local check check-am clean clean-generic \
        clean-libtool distclean distclean-generic distclean-hdr \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-libtool dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index ccfd8a1..eba0729 100644 (file)
@@ -36,9 +36,9 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = lib
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/copy-vmresources.sh.in $(srcdir)/gen-classlist.sh.in \
-       $(srcdir)/mkcollections.pl.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(srcdir)/mkcollections.pl.in $(srcdir)/gen-classlist.sh.in \
+       $(srcdir)/copy-vmresources.sh.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -72,9 +72,7 @@ CONFIG_CLEAN_FILES = mkcollections.pl gen-classlist.sh \
        copy-vmresources.sh
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 DATA = $(noinst_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -356,40 +354,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
 check-am: all-am
 check: check-am
 all-am: Makefile $(DATA)
@@ -492,17 +456,16 @@ uninstall-am: uninstall-local
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-local dist-hook distclean distclean-generic \
-       distclean-libtool distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am \
-       install-data-local install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-local
+       clean-local distclean distclean-generic distclean-libtool dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-data-local install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       uninstall uninstall-am uninstall-local
 
 
 sinclude $(JAVA_DEPEND)
index 2144fc8..7d7bd9c 100644 (file)
Binary files a/libjava/classpath/lib/gnu/gcj/convert/Convert.class and b/libjava/classpath/lib/gnu/gcj/convert/Convert.class differ
index 728256d..d3b6b2a 100644 (file)
Binary files a/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class and b/libjava/classpath/lib/gnu/gcj/tools/gcj_dbtool/Main.class differ
index ccee011..64d83fd 100644 (file)
Binary files a/libjava/classpath/lib/gnu/java/locale/LocaleData.class and b/libjava/classpath/lib/gnu/java/locale/LocaleData.class differ
index 285ef41..243f9ca 100644 (file)
Binary files a/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class and b/libjava/classpath/lib/gnu/java/rmi/registry/RegistryImpl.class differ
index 8761df3..4d6e581 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,7 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        html-recursive info-recursive install-data-recursive \
        install-dvi-recursive install-exec-recursive \
@@ -79,36 +78,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -498,65 +470,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-recursive
 all-am: Makefile
@@ -659,13 +572,13 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am check check-am clean clean-generic clean-libtool \
        ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
+       distclean-libtool distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-dvi install-dvi-am install-exec install-exec-am \
+       install-html install-html-am install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
        uninstall uninstall-am
index 0fa84e3..ff34451 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/fdlibm
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -95,10 +95,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libfdlibm_la_SOURCES)
-DIST_SOURCES = $(libfdlibm_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -553,37 +551,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -689,8 +656,8 @@ uninstall-am:
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-noinstLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 1965c7d..6ca1639 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jawt
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -112,10 +112,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjawt_la_SOURCES)
-DIST_SOURCES = $(libjawt_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -492,37 +490,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -631,8 +598,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 542704b..db80131 100644 (file)
@@ -35,7 +35,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -68,7 +68,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        html-recursive info-recursive install-data-recursive \
        install-dvi-recursive install-exec-recursive \
@@ -79,36 +78,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -510,65 +482,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-recursive
 all-am: Makefile all-local
@@ -671,16 +584,16 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am all-local check check-am clean clean-generic \
        clean-libtool ctags ctags-recursive distclean \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-am
+       distclean-generic distclean-libtool distclean-tags dvi dvi-am \
+       html html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am
 
 
 all-local:
index 5df9d61..8067936 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/classpath
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -86,10 +86,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libclasspath_la_SOURCES)
-DIST_SOURCES = $(libclasspath_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -445,37 +443,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -581,8 +548,8 @@ uninstall-am:
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-noinstLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 431f0a8..691afd7 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/gconf-peer
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -112,10 +112,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgconfpeer_la_SOURCES)
-DIST_SOURCES = $(libgconfpeer_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -489,37 +487,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -628,8 +595,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 8f3afc6..4985ff6 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/gstreamer-peer
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -114,10 +114,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgstreamerpeer_la_SOURCES)
-DIST_SOURCES = $(libgstreamerpeer_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -514,37 +512,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -653,8 +620,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 2ca2fe5..3fc2933 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/gtk-peer
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -150,10 +150,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgtkpeer_la_SOURCES)
-DIST_SOURCES = $(libgtkpeer_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -620,37 +618,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -759,8 +726,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 0052aee..beb9ce6 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-io
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -111,10 +111,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjavaio_la_SOURCES)
-DIST_SOURCES = $(libjavaio_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -494,37 +492,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -633,8 +600,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index ea9c3af..148ba7f 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-lang
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -123,12 +123,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 SOURCES = $(libjavalang_la_SOURCES) \
        $(libjavalangmanagement_la_SOURCES) \
        $(libjavalangreflect_la_SOURCES)
-DIST_SOURCES = $(libjavalang_la_SOURCES) \
-       $(libjavalangmanagement_la_SOURCES) \
-       $(libjavalangreflect_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -521,37 +517,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -660,8 +625,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 67e4e84..3b70725 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-math
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -112,10 +112,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjavamath_la_SOURCES)
-DIST_SOURCES = $(libjavamath_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -487,37 +485,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -626,8 +593,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 252b9c5..ca3e163 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-net
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -96,10 +96,6 @@ libjavanet_la_DEPENDENCIES =  \
        $(top_builddir)/native/jni/classpath/jcl.lo \
        $(top_builddir)/native/jni/native-lib/libclasspathnative.la \
        $(am__DEPENDENCIES_1)
-am__libjavanet_la_SOURCES_DIST = javanet.c javanet.h \
-       java_net_VMInetAddress.c java_net_VMNetworkInterface.c \
-       java_net_VMURLConnection.c gnu_java_net_VMPlainSocketImpl.c \
-       gnu_java_net_local_LocalSocketImpl.c local.c local.h
 @ENABLE_LOCAL_SOCKETS_FALSE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo
 @ENABLE_LOCAL_SOCKETS_TRUE@am__objects_1 = gnu_java_net_local_LocalSocketImpl.lo \
 @ENABLE_LOCAL_SOCKETS_TRUE@    local.lo
@@ -121,10 +117,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjavanet_la_SOURCES)
-DIST_SOURCES = $(am__libjavanet_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -518,37 +512,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -657,8 +620,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index d345881..427d072 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-nio
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -119,10 +119,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjavanio_la_SOURCES)
-DIST_SOURCES = $(libjavanio_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -519,37 +517,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -658,8 +625,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 50189a6..7d06551 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/java-util
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -108,10 +108,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libjavautil_la_SOURCES)
-DIST_SOURCES = $(libjavautil_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -483,37 +481,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -622,8 +589,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 8a32375..eb46acb 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/midi-alsa
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -114,10 +114,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgjsmalsa_la_SOURCES)
-DIST_SOURCES = $(libgjsmalsa_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -496,37 +494,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -635,8 +602,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index b9083b0..7eed5df 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/midi-dssi
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -114,10 +114,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgjsmdssi_la_SOURCES)
-DIST_SOURCES = $(libgjsmdssi_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -496,37 +494,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -635,8 +602,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 83c9e26..4f58ded 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/native-lib
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -86,10 +86,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libclasspathnative_la_SOURCES)
-DIST_SOURCES = $(libclasspathnative_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -448,37 +446,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -584,8 +551,8 @@ uninstall-am:
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-noinstLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index ada7633..d65474e 100644 (file)
@@ -39,7 +39,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/qt-peer
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -116,10 +116,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libqtpeer_la_SOURCES) $(nodist_libqtpeer_la_SOURCES)
-DIST_SOURCES = $(libqtpeer_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -577,37 +575,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
@@ -717,8 +684,8 @@ uninstall-am:
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-noinstLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
index 5394250..2fe972a 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/jni/xmlj
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -110,10 +110,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libxmlj_la_SOURCES)
-DIST_SOURCES = $(libxmlj_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -511,37 +509,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -650,8 +617,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 1d2c51a..798bc6d 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = native/plugin
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -112,10 +112,8 @@ CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(libgcjwebplugin_la_SOURCES)
-DIST_SOURCES = $(libgcjwebplugin_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -497,37 +495,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES)
@@ -636,8 +603,8 @@ uninstall-am: uninstall-nativeexeclibLTLIBRARIES
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
        clean-libtool clean-nativeexeclibLTLIBRARIES ctags distclean \
        distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
+       distclean-tags dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-nativeexeclibLTLIBRARIES install-pdf install-pdf-am \
index 81e6091..822a935 100644 (file)
@@ -36,7 +36,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = resource
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -69,7 +69,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -93,7 +92,6 @@ am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(loggingdir)" "$(DESTDIR)$(securitydir)"
 DATA = $(logging_DATA) $(security_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -393,37 +391,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile $(DATA)
@@ -525,17 +492,17 @@ uninstall-am: uninstall-loggingDATA uninstall-securityDATA
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-loggingDATA install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-securityDATA install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-       uninstall-loggingDATA uninstall-securityDATA
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-loggingDATA install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-securityDATA \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       uninstall uninstall-am uninstall-loggingDATA \
+       uninstall-securityDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index d868581..4a0a339 100644 (file)
@@ -35,8 +35,8 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = scripts
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/check_jni_methods.sh.in $(srcdir)/classpath.spec.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(srcdir)/classpath.spec.in $(srcdir)/check_jni_methods.sh.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -69,8 +69,6 @@ CONFIG_HEADER = $(top_builddir)/include/config.h
 CONFIG_CLEAN_FILES = classpath.spec check_jni_methods.sh
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -331,37 +329,6 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: check-am
 all-am: Makefile
@@ -460,13 +427,13 @@ uninstall-am:
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       distclean distclean-generic distclean-libtool distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
+       distclean distclean-generic distclean-libtool dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic \
        mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
index d82fac6..413e292 100644 (file)
@@ -44,13 +44,13 @@ target_triplet = @target@
 @CREATE_WRAPPERS_TRUE@@INSTALL_BINARIES_FALSE@ $(am__EXEEXT_2)
 @CREATE_GJDOC_TRUE@@CREATE_WRAPPERS_FALSE@am__append_2 = gjdoc
 subdir = tools
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/gappletviewer.in $(srcdir)/gjar.in \
-       $(srcdir)/gjarsigner.in $(srcdir)/gjavah.in $(srcdir)/gjdoc.in \
-       $(srcdir)/gkeytool.in $(srcdir)/gnative2ascii.in \
-       $(srcdir)/gorbd.in $(srcdir)/grmic.in $(srcdir)/grmid.in \
-       $(srcdir)/grmiregistry.in $(srcdir)/gserialver.in \
-       $(srcdir)/gtnameserv.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(srcdir)/gappletviewer.in $(srcdir)/gjarsigner.in \
+       $(srcdir)/gkeytool.in $(srcdir)/gjar.in \
+       $(srcdir)/gnative2ascii.in $(srcdir)/gserialver.in \
+       $(srcdir)/grmiregistry.in $(srcdir)/gtnameserv.in \
+       $(srcdir)/gorbd.in $(srcdir)/grmid.in $(srcdir)/grmic.in \
+       $(srcdir)/gjavah.in $(srcdir)/gjdoc.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
        $(top_srcdir)/../../config/lead-dot.m4 \
@@ -96,7 +96,6 @@ CONFIG_CLEAN_VPATH_FILES =
 @CREATE_WRAPPERS_TRUE@ $(am__EXEEXT_1)
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-am__gappletviewer_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gappletviewer_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gappletviewer-toolwrapper.$(OBJEXT)
 gappletviewer_OBJECTS = $(am_gappletviewer_OBJECTS)
@@ -104,14 +103,12 @@ gappletviewer_LDADD = $(LDADD)
 gappletviewer_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gappletviewer_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__gjar_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gjar_OBJECTS = gjar-toolwrapper.$(OBJEXT)
 gjar_OBJECTS = $(am_gjar_OBJECTS)
 gjar_LDADD = $(LDADD)
 gjar_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(gjar_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__gjarsigner_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gjarsigner_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gjarsigner-toolwrapper.$(OBJEXT)
 gjarsigner_OBJECTS = $(am_gjarsigner_OBJECTS)
@@ -119,7 +116,6 @@ gjarsigner_LDADD = $(LDADD)
 gjarsigner_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gjarsigner_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__gjavah_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gjavah_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gjavah-toolwrapper.$(OBJEXT)
 gjavah_OBJECTS = $(am_gjavah_OBJECTS)
@@ -127,14 +123,12 @@ gjavah_LDADD = $(LDADD)
 gjavah_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(gjavah_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__gjdoc_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gjdoc_OBJECTS = gjdoc-toolwrapper.$(OBJEXT)
 gjdoc_OBJECTS = $(am_gjdoc_OBJECTS)
 gjdoc_LDADD = $(LDADD)
 gjdoc_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(gjdoc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__gkeytool_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gkeytool_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gkeytool-toolwrapper.$(OBJEXT)
 gkeytool_OBJECTS = $(am_gkeytool_OBJECTS)
@@ -142,7 +136,6 @@ gkeytool_LDADD = $(LDADD)
 gkeytool_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(gkeytool_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__gnative2ascii_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gnative2ascii_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gnative2ascii-toolwrapper.$(OBJEXT)
 gnative2ascii_OBJECTS = $(am_gnative2ascii_OBJECTS)
@@ -150,28 +143,24 @@ gnative2ascii_LDADD = $(LDADD)
 gnative2ascii_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gnative2ascii_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__gorbd_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gorbd_OBJECTS = gorbd-toolwrapper.$(OBJEXT)
 gorbd_OBJECTS = $(am_gorbd_OBJECTS)
 gorbd_LDADD = $(LDADD)
 gorbd_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(gorbd_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__grmic_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_grmic_OBJECTS = grmic-toolwrapper.$(OBJEXT)
 grmic_OBJECTS = $(am_grmic_OBJECTS)
 grmic_LDADD = $(LDADD)
 grmic_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(grmic_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__grmid_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_grmid_OBJECTS = grmid-toolwrapper.$(OBJEXT)
 grmid_OBJECTS = $(am_grmid_OBJECTS)
 grmid_LDADD = $(LDADD)
 grmid_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(grmid_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-am__grmiregistry_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_grmiregistry_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ grmiregistry-toolwrapper.$(OBJEXT)
 grmiregistry_OBJECTS = $(am_grmiregistry_OBJECTS)
@@ -179,7 +168,6 @@ grmiregistry_LDADD = $(LDADD)
 grmiregistry_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(grmiregistry_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__gserialver_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gserialver_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gserialver-toolwrapper.$(OBJEXT)
 gserialver_OBJECTS = $(am_gserialver_OBJECTS)
@@ -187,7 +175,6 @@ gserialver_LDADD = $(LDADD)
 gserialver_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(gserialver_CFLAGS) \
        $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am__gtnameserv_SOURCES_DIST = toolwrapper.c
 @CREATE_WRAPPERS_TRUE@am_gtnameserv_OBJECTS =  \
 @CREATE_WRAPPERS_TRUE@ gtnameserv-toolwrapper.$(OBJEXT)
 gtnameserv_OBJECTS = $(am_gtnameserv_OBJECTS)
@@ -235,17 +222,9 @@ SOURCES = $(gappletviewer_SOURCES) $(gjar_SOURCES) \
        $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) $(gorbd_SOURCES) \
        $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \
        $(gserialver_SOURCES) $(gtnameserv_SOURCES)
-DIST_SOURCES = $(am__gappletviewer_SOURCES_DIST) \
-       $(am__gjar_SOURCES_DIST) $(am__gjarsigner_SOURCES_DIST) \
-       $(am__gjavah_SOURCES_DIST) $(am__gjdoc_SOURCES_DIST) \
-       $(am__gkeytool_SOURCES_DIST) $(am__gnative2ascii_SOURCES_DIST) \
-       $(am__gorbd_SOURCES_DIST) $(am__grmic_SOURCES_DIST) \
-       $(am__grmid_SOURCES_DIST) $(am__grmiregistry_SOURCES_DIST) \
-       $(am__gserialver_SOURCES_DIST) $(am__gtnameserv_SOURCES_DIST)
 DATA = $(noinst_DATA)
 ETAGS = etags
 CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 ANTLR = @ANTLR@
@@ -1199,40 +1178,6 @@ GTAGS:
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
 check-am: all-am
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
@@ -1343,9 +1288,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
        clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
-       ctags dist-hook distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-binPROGRAMS \
+       ctags distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags dvi dvi-am html html-am info \
+       info-am install install-am install-binPROGRAMS \
        install-binSCRIPTS install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
index 597a142..90b91ae 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class differ
index bf1c99a..23d85a7 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class differ
index 7bf3e4c..dbdfaa2 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class differ
index 41645e8..c909614 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class differ
index ed2e342..66aece4 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class differ
index 68ec874..e28f48c 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class differ
index 54fefac..df9d610 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class differ
index 81583d8..ff343af 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class differ
index a395299..37e1b3a 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class differ
index 61bf1f8..ff2f0dc 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class differ
index 5a9d848..1797ef1 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class differ
index 12a4983..44c09cb 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class differ
index 32e26ff..38f04fc 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class differ
index fd99e13..37388e4 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class differ
index 991629a..a577680 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class differ
index 441b8da..41e4a2c 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class differ
index 2f46dd2..2e647b7 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class differ
index 8197515..a93676b 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$1.class differ
index f87a12e..2e73084 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$2.class differ
index f5a9159..c785c7a 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$3.class differ
index df3cba9..31d7a46 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$4.class differ
index 0c082d0..04b7561 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main$5.class differ
index 53468e3..ee1af07 100644 (file)
Binary files a/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class and b/libjava/classpath/tools/classes/gnu/classpath/tools/orbd/Main.class differ
index ce9e96d..5a07df3 100644 (file)
@@ -1337,12 +1337,17 @@ public final class Main
           void process(String[] args)
           {
             option_source = args[0];
-            if (!"1.2".equals(option_source)
+            if ("1.5".equals(option_source)
+                || "1.6".equals(option_source)
+                || "1.7".equals(option_source)) {
+              System.err.println("WARNING: support for option -source " + option_source + " is experimental");
+            }
+            else if (!"1.2".equals(option_source)
                 && !"1.3".equals(option_source)
                 && !"1.4".equals(option_source)) {
 
-              throw new RuntimeException("Only he following values are currently"
-                                         + " supported for option -source: 1.2, 1.3, 1.4.");
+              throw new RuntimeException("Only the following values are currently"
+                                         + " supported for option -source: 1.2, 1.3, 1.4; experimental: 1.5, 1.6, 1.7.");
             }
           }
         });
index b0b45bb..d8a408d 100755 (executable)
@@ -20542,7 +20542,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*-*-linux*eabi*)
     # 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++.
index 8a25a42..93b25df 100644 (file)
@@ -931,7 +931,7 @@ case "${host}" in
     # on Darwin -single_module speeds up loading of the dynamic libraries.
     extra_ldflags_libjava=-Wl,-single_module
     ;;
-arm*linux*eabi)
+arm*-*-linux*eabi*)
     # 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++.
index a62e3a4..84447da 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 72a1202..48f74d6 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index d2c4912..fc3b5c0 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index f5cc38e..855bdac 100644 (file)
@@ -1,3 +1,15 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2013-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libquadmath/56072
+       * libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 2fb113b..fe7bdf4 100644 (file)
@@ -1,5 +1,5 @@
-This is libquadmath.info, produced by makeinfo version 4.13 from
-/d/gcc-4.7.2/gcc-4.7.2/libquadmath/libquadmath.texi.
+This is libquadmath.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.7.3/gcc-4.7.3/libquadmath/libquadmath.texi.
 
 Copyright (C) 2010 Free Software Foundation, Inc.
 
@@ -106,9 +106,9 @@ defined.
 
 `M_PIq': pi
 
-`M_PI_2q': two pi
+`M_PI_2q': pi divided by two
 
-`M_PI_4q': four pi
+`M_PI_4q': pi divided by four
 
 `M_1_PIq': one over pi
 
@@ -912,13 +912,13 @@ reported via `http://gcc.gnu.org/bugs.html'.
 
 \1f
 Tag Table:
-Node: Top\7f1660
-Node: Typedef and constants\7f2394
-Node: Math Library Routines\7f3812
-Node: I/O Library Routines\7f7617
-Node: strtoflt128\7f7942
-Node: quadmath_snprintf\7f8700
-Node: GNU Free Documentation License\7f10908
-Node: Reporting Bugs\7f36074
+Node: Top\7f1674
+Node: Typedef and constants\7f2408
+Node: Math Library Routines\7f3848
+Node: I/O Library Routines\7f7653
+Node: strtoflt128\7f7978
+Node: quadmath_snprintf\7f8736
+Node: GNU Free Documentation License\7f10944
+Node: Reporting Bugs\7f36110
 \1f
 End Tag Table
index 1ce245e..c499d18 100644 (file)
@@ -123,8 +123,8 @@ The following mathematical constants of type @code{__float128} are defined.
 @item @code{M_LN2q}: natural logarithm of 2
 @item @code{M_LN10q}: natural logarithm of 10
 @item @code{M_PIq}: pi
-@item @code{M_PI_2q}: two pi
-@item @code{M_PI_4q}: four pi
+@item @code{M_PI_2q}: pi divided by two
+@item @code{M_PI_4q}: pi divided by four
 @item @code{M_1_PIq}: one over pi
 @item @code{M_2_PIq}: one over two pi
 @item @code{M_2_SQRTPIq}: two over square root of pi
index f9b18a9..5dcf0df 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index e71b11c..eb42072 100644 (file)
@@ -1,3 +1,370 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.q
+
+       * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
+       Coding Standards.
+
+       * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
+
+       * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
+
+       * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
+
+       * doc/xml/manual/messages.xml: Adjust link to Java API specs.
+
+       * doc/xml/manual/policy_data_structures: Remove direct link to
+       IBM Haifa Research Labs.
+
+       * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
+       for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
+
+       * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
+       papers.
+
+       * doc/xml/manual/shared_ptr.xml: Use canonical address for
+       www.boost.org.
+
+2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/56468
+       * libsupc++/exception_ptr.h (type_info): Declare.
+
+2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/56002
+       * include/std/mutex (lock_guard, unique_lock, lock): Define without
+       depending on _GLIBCXX_HAS_GTHREADS.
+       * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
+
+2013-03-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/vector.tcc (vector<>operator=(const vector<>&):
+       Reset pointers after deallocation when memory can be reused.
+       * testsuite/23_containers/vector/allocator/minimal.cc: Insert
+       elements to really challenge C++11 allocator integration.
+       * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
+       * testsuite/23_containers/vector/allocator/copy_assign.cc:
+       Likewise.
+       * testsuite/23_containers/vector/allocator/move_assign.cc:
+       Likewise.
+       * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
+       swap vector back before checks on memory/personality mapping are
+       performed.
+
+2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/56012
+       * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
+       * testsuite/29_atomics/atomic/operators/56012.cc: New.
+
+       PR libstdc++/56011
+       * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
+       missing overload.
+       * testsuite/29_atomics/atomic/operators/56011.cc: New.
+
+2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/streambuf (basic_streambuf): Fix unclosed Doxygen group.
+
+2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/55043
+       * include/bits/alloc_traits.h (allocator_traits::construct): Disable
+       unless construction would be well-formed.
+       (__allow_copy_cons, __check_copy_constructible): Define.
+       * include/bits/unordered_map.h (__check_copy_constructible): Use as
+       base class so copy constructor will be deleted if appropriate.
+       * include/bits/unordered_set.h: Likewise.
+       * include/std/unordered_set: Include alloc_traits.h.
+       * include/std/unordered_set: Likewise.
+       * include/debug/unordered_map.h: Default copy and move constructors.
+       * include/debug/unordered_set.h: Likewise.
+       * testsuite/23_containers/unordered_map/55043.cc: Fix test.
+       * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
+       * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
+       * testsuite/23_containers/unordered_set/55043.cc: Likewise.
+       * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
+       cannot support incomplete types.
+       * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
+       Likewise.
+       * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+       dg-error line number.
+
+2013-02-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/functional (mem_fn): Qualify to prevent ADL.
+       * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
+
+2013-02-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/hashtable.h: Improve comments.
+       * include/bits/hashtable_policy.h: Likewise.
+
+2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/56085
+       * include/std/complex (pow(const complex<>&, int)): Avoid __n
+       signed overflow.
+
+2013-01-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/52887
+       * src/c++11/regex.cc: Add instantiations for AIX.
+
+2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
+
+2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/abi.xml: Update library and symbol versions.
+
+2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
+
+       Backport from mainline
+       2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
+       * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
+
+2012-12-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/abi.xml: Update URLs for C++ ABI.
+       * doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
+       * doc/xml/manual/policy_data_structures.xml: Set filename for chunk.
+       * doc/xml/manual/spine.xml: Update copyright years.
+       * doc/html/*: Regenerate.
+
+2012-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * src/c++11/thread.cc: Update copyright years.
+
+2012-12-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * src/c++11/thread.cc (execute_native_thread_routine): Do not swallow
+       __forced_unwind exceptions.
+       * testsuite/30_threads/thread/native_handle/cancel.cc: New.
+
+2012-12-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/55631
+       * include/ext/alloc_traits.h: Include missing header.
+       * include/ext/pointer.h: Likewise.
+       * include/ext/string_conversions.h: Require C++11.
+       * libsupc++/initializer_list: Reindent.
+
+2012-12-12  Benjamin Kosnik  <bkoz@redhat.com>
+
+        * doc/xml/manual/documentation_hacking.xml: Fix validation issue.
+
+2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/Makefile.am (xml_sources_manual): Add
+       policy_data_structures_biblio.xml.
+       (${docbook_outdir}/latex): Add.
+       (doc-xml-validate-docbook): Split into..
+       (doc-xml-validate-dtd-db):... this for DTD.
+       (doc-xml-validate-rng-db):... this for Relax NG.
+       (doc-pdf-docbook-dirs): Add.
+       (doc-pdf-docbook-pre): Add.
+       * doc/xml/manual/build_hacking.xml: Add literal markup.
+       * doc/xml/manual/documentation_hacking.xml: Clean whitespace in
+       <filename> markup. Add notes about debugging the generation process.
+       * doc/xml/manual/policy_data_structures.xml: Split biblio into...
+       * doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
+       * doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
+       markup.
+
+2012-12-10  Matthias Klose  <doko@ubuntu.com>
+
+       * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
+       * src/Makefile.in: Regenerate.
+
+2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR libstdc++/55503
+       * testsuite/30_threads/condition_variable/members/53841.cc: Add
+       hppa*-hp-hpux11* to -pthread dg-options.
+
+2012-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/55413
+       * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
+       __bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
+       * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+       dg-error line number.
+
+2012-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53841
+       * include/std/condition_variable (condition_variable::wait_until):
+       Handle clocks with higher resolution than __clock_t.
+       * testsuite/30_threads/condition_variable/members/53841.cc: New.
+
+2012-11-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/55320
+       * include/std/functional (function::function(F)): Set _M_manager after
+       operations that could throw.
+       (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
+       * include/tr1/functional
+       (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
+       (_Function_base::_Base_manager::_M_get_pointer): Likewise.
+       * testsuite/20_util/function/cons/55320.cc: New.
+       * testsuite/20_util/function/cons/addressof.cc: New.
+       * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
+       * testsuite/tr1/3_function_objects/function/10.cc: New.
+
+2012-11-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/future (atomic_future): Remove declaration of
+       non-standard name.
+
+2012-11-08  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/54075
+       * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
+       policy state if no rehash.
+       * testsuite/23_containers/unordered_set/modifiers/reserve.cc
+       (test02): New.
+
+2012-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/profile/iterator_tracker.h (operator++): Fix returning
+       dangling reference.
+       (operator--): Likewise.
+
+2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
+       include.
+
+2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/*: Fix copying permission statements.
+
+2012-11-05  Benjamin Kosnik  <bkoz@redhat.com>
+
+        PR libstdc++/28811
+        PR libstdc++/54482
+        * configure.ac (glibcxx_lt_pic_flag,
+          glibcxx_compiler_pic_flag,
+          glibcxx_compiler_shared_flag): New. Use them.
+        (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
+        (pic_mode): Set to default.
+        (PIC_CXXFLAGS): Remove.
+        * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
+        * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
+          glibcxx_compiler_shared_flag. Comment.
+        * src/c++11/Makefile.am: Same.
+        * src/c++98/Makefile.am: Same.
+        * src/Makefile.am: Use glibcxx_compiler_pic_flag.
+
+        * Makefile.in: Regenerated.
+        * aclocal.m4: Same.
+        * configure: Same.
+        * doc/Makefile.in: Same.
+        * include/Makefile.in: Same.
+        * libsupc++/Makefile.in: Same.
+        * po/Makefile.in: Same.
+        * python/Makefile.in: Same.
+        * src/Makefile.in: Same.
+        * src/c++11/Makefile.in: Same.
+        * src/c++98/Makefile.in: Same.
+        * testsuite/Makefile.in: Same.
+
+        * src/c++11/compatibility-atomic-c++0x.cc: Use
+          _GLIBCXX_SHARED instead of PIC to designate shared-only
+          code blocks.
+        * src/c++11/compatibility-c++0x.cc: Same.
+        * src/c++11/compatibility-thread-c++0x.cc: Same.
+        * src/c++98/compatibility-list-2.cc: Same.
+        * src/c++98/compatibility.cc: : Same.
+
+        * testsuite/17_intro/shared_with_static_deps.cc: New.
+
+        * doc/xml/manual/build_hacking.xml: Separate configure from
+        make/build issues, add build details.
+
+2012-11-05  Benjamin Kosnik  <bkoz@redhat.com>
+            Oleg Smolsky  <oleg@smolsky.net>
+
+       PR libstdc++/55028
+       *  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
+       * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
+
+2012-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/55215
+       * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
+       Assign state_size to _M_p.
+       * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
+       New.
+       * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
+       Likewise.
+       * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
+       Likewise.
+       * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
+       55215.cc: Likewise.
+       * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
+       Likewise.
+       * testsuite/26_numerics/random/linear_congruential_engine/cons/
+       55215.cc: Likewise.
+
+2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/55169
+       * include/bits/random.h: Remove all uses of param().
+
+2012-11-01   Haakan Younes  <hyounes@google.com>
+            Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/55047
+       * include/bits/random.h (exponential_distribution<>::operator):
+       Fix formula to std::log(result_type(1) - __aurng()).
+       * include/bits/random.tcc: Likewise, everywhere.
+
+2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/55123
+       * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
+       Do not instantiate allocator with element_type.
+       * testsuite/20_util/shared_ptr/cons/55123.cc: New.
+
+2012-10-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR libstdc++/54861
+       * include/bits/atomic_base.h (atomic_signal_fence): Call
+       __atomic_signal_fence instead of __atomic_thread_fence.
+
+2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/54102, part 2
+       * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
+       * doc/Makefile.in: Regenerate.
+       * doc/html/*: Same.
+
+2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/html/*: Regenerate.
+
+2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/54102
+       * doc/xsl/customization.xsl.in: New.
+       * configure.ac: Output local copy of customization xsl.
+       * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
+       (stamp-html-docbook): Set stringparam to UTF-8.
+       * Makefile.in: Regenerated.
+       * configure: Same.
+       * doc/Makefile.in: Same.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 76ff043..8be4f6c 100644 (file)
@@ -152,8 +152,6 @@ AM_MAKEFLAGS = \
        "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
        "MAKE=$(MAKE)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
        "exec_prefix=$(exec_prefix)" \
index 6a66c60..afc698f 100644 (file)
@@ -39,7 +39,8 @@ DIST_COMMON = $(top_srcdir)/fragment.am README ChangeLog \
        $(top_srcdir)/configure $(am__configure_deps) \
        $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
        $(top_srcdir)/scripts/testsuite_flags.in \
-       $(top_srcdir)/scripts/extract_symvers.in
+       $(top_srcdir)/scripts/extract_symvers.in \
+       $(top_srcdir)/doc/xsl/customization.xsl.in
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -67,7 +68,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = scripts/testsuite_flags scripts/extract_symvers
+CONFIG_CLEAN_FILES = scripts/testsuite_flags scripts/extract_symvers \
+       doc/xsl/customization.xsl
 CONFIG_CLEAN_VPATH_FILES =
 depcomp =
 am__depfiles_maybe =
@@ -186,7 +188,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -234,7 +235,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -351,8 +355,6 @@ AM_MAKEFLAGS = \
        "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
        "MAKE=$(MAKE)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
        "SHELL=$(SHELL)" \
        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
        "exec_prefix=$(exec_prefix)" \
@@ -434,6 +436,8 @@ scripts/testsuite_flags: $(top_builddir)/config.status $(top_srcdir)/scripts/tes
        cd $(top_builddir) && $(SHELL) ./config.status $@
 scripts/extract_symvers: $(top_builddir)/config.status $(top_srcdir)/scripts/extract_symvers.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
+doc/xsl/customization.xsl: $(top_builddir)/config.status $(top_srcdir)/doc/xsl/customization.xsl.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
 
 mostlyclean-libtool:
        -rm -f *.lo
index e7e9162..bc90e07 100644 (file)
@@ -131,6 +131,14 @@ GLIBCXX_7.0 {
     _ZNK11__gnu_debug16_Error_formatter8_M_error*;
     _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv;
 
+    # __gnu_debug::_Safe_unordered_container_base
+    # __gnu_debug::_Safe_local_iterator_base
+    _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_;
+    _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv;
+    _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
+    _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv;
+
+
     # parallel mode
     _ZN14__gnu_parallel9_Settings3getEv;
     _ZN14__gnu_parallel9_Settings3setERS0_;
index 0e9e28a..b642495 100755 (executable)
@@ -602,7 +602,6 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-PIC_CXXFLAGS
 WARN_FLAGS
 OPTIMIZE_CXXFLAGS
 TOPLEVEL_INCLUDES
@@ -713,6 +712,9 @@ GLIBCXX_BUILD_PCH_FALSE
 GLIBCXX_BUILD_PCH_TRUE
 GLIBCXX_HOSTED_FALSE
 GLIBCXX_HOSTED_TRUE
+glibcxx_compiler_shared_flag
+glibcxx_compiler_pic_flag
+glibcxx_lt_pic_flag
 enable_static
 enable_shared
 lt_host_flags
@@ -3025,8 +3027,7 @@ test -n "$target_alias" &&
 target_alias=${target_alias-$host_alias}
 
 # Handy for debugging:
-{ $as_echo "$as_me:${as_lineno-$LINENO}: $build / $host / $target / $host_alias / $target_alias" >&5
-$as_echo "$as_me: $build / $host / $target / $host_alias / $target_alias" >&6;}; sleep 5
+#AC_MSG_NOTICE($build / $host / $target / $host_alias / $target_alias); sleep 5
 
 if test "$build" != "$host"; then
   # We are being configured with some form of cross compiler.
@@ -5281,6 +5282,7 @@ $as_echo "$as_me: OS config directory is $os_include_dir" >&6;}
 
 
 
+# Libtool setup.
 if test "x${with_newlib}" != "xyes"; then
   enable_dlopen=yes
 
@@ -11498,7 +11500,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11501 "configure"
+#line 11503 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11604,7 +11606,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11607 "configure"
+#line 11609 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14890,6 +14892,38 @@ esac
 
 
 
+# libtool variables for C++ shared and position-independent compiles.
+#
+# Use glibcxx_lt_pic_flag to designate the automake variable
+# used to encapsulate the default libtool approach to creating objects
+# with position-independent code. Default: -prefer-pic.
+#
+# Use glibcxx_compiler_shared_flag to designate a compile-time flags for
+# creating shared objects. Default: -D_GLIBCXX_SHARED.
+#
+# Use glibcxx_compiler_pic_flag to designate a compile-time flags for
+# creating position-independent objects. This varies with the target
+# hardware and operating system, but is often: -DPIC -fPIC.
+if test "$enable_shared" = yes; then
+  glibcxx_lt_pic_flag="-prefer-pic"
+  glibcxx_compiler_pic_flag="$lt_prog_compiler_pic_CXX"
+  glibcxx_compiler_shared_flag="-D_GLIBCXX_SHARED"
+
+else
+  glibcxx_lt_pic_flag=
+  glibcxx_compiler_pic_flag=
+  glibcxx_compiler_shared_flag=
+fi
+
+
+
+
+# Override the libtool's pic_flag and pic_mode.
+# Do this step after AM_PROG_LIBTOOL, but before AC_OUTPUT.
+# NB: this impacts --with-pic and --without-pic.
+lt_prog_compiler_pic_CXX="$glibcxx_compiler_pic_flag $glibcxx_compiler_shared_flag"
+pic_mode='default'
+
 # Eliminate -lstdc++ addition to postdeps for cross compiles.
 postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
 
@@ -14962,7 +14996,7 @@ fi
     #
     # Fake what AC_TRY_COMPILE does.  XXX Look at redoing this new-style.
     cat > conftest.$ac_ext << EOF
-#line 14965 "configure"
+#line 14999 "configure"
 struct S { ~S(); };
 void bar();
 void foo()
@@ -15297,7 +15331,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; }
   # Fake what AC_TRY_COMPILE does.
 
     cat > conftest.$ac_ext << EOF
-#line 15300 "configure"
+#line 15334 "configure"
 int main()
 {
   typedef bool atomic_type;
@@ -15332,7 +15366,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; }
     rm -f conftest*
 
     cat > conftest.$ac_ext << EOF
-#line 15335 "configure"
+#line 15369 "configure"
 int main()
 {
   typedef short atomic_type;
@@ -15367,7 +15401,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; }
     rm -f conftest*
 
     cat > conftest.$ac_ext << EOF
-#line 15370 "configure"
+#line 15404 "configure"
 int main()
 {
   // NB: _Atomic_word not necessarily int.
@@ -15403,7 +15437,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
     rm -f conftest*
 
     cat > conftest.$ac_ext << EOF
-#line 15406 "configure"
+#line 15440 "configure"
 int main()
 {
   typedef long long atomic_type;
@@ -15482,7 +15516,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu
   # unnecessary for this test.
 
     cat > conftest.$ac_ext << EOF
-#line 15485 "configure"
+#line 15519 "configure"
 int main()
 {
   _Decimal32 d1;
@@ -15524,7 +15558,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
   # unnecessary for this test.
 
     cat > conftest.$ac_ext << EOF
-#line 15527 "configure"
+#line 15561 "configure"
 template<typename T1, typename T2>
   struct same
   { typedef T2 type; };
@@ -15558,7 +15592,7 @@ $as_echo "$enable_int128" >&6; }
     rm -f conftest*
 
     cat > conftest.$ac_ext << EOF
-#line 15561 "configure"
+#line 15595 "configure"
 template<typename T1, typename T2>
   struct same
   { typedef T2 type; };
@@ -66472,19 +66506,14 @@ $as_echo "$gxx_include_dir" >&6; }
 
 
 
-if test "$enable_shared" = yes; then
-  PIC_CXXFLAGS="-prefer-pic"
-else
-  PIC_CXXFLAGS=
-fi
-
-
 ac_config_files="$ac_config_files Makefile"
 
 ac_config_files="$ac_config_files scripts/testsuite_flags"
 
 ac_config_files="$ac_config_files scripts/extract_symvers"
 
+ac_config_files="$ac_config_files doc/xsl/customization.xsl"
+
 
 # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
 # that multilib installs will end up installed in the correct place.
@@ -67696,6 +67725,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "scripts/testsuite_flags") CONFIG_FILES="$CONFIG_FILES scripts/testsuite_flags" ;;
     "scripts/extract_symvers") CONFIG_FILES="$CONFIG_FILES scripts/extract_symvers" ;;
+    "doc/xsl/customization.xsl") CONFIG_FILES="$CONFIG_FILES doc/xsl/customization.xsl" ;;
     "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
     "libsupc++/Makefile") CONFIG_FILES="$CONFIG_FILES libsupc++/Makefile" ;;
     "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
index f04563e..ce1f6c4 100644 (file)
@@ -88,6 +88,7 @@ CXXFLAGS="$save_CXXFLAGS"
 # up critical shell variables.
 GLIBCXX_CONFIGURE
 
+# Libtool setup.
 if test "x${with_newlib}" != "xyes"; then
   AC_LIBTOOL_DLOPEN
 fi
@@ -96,6 +97,38 @@ ACX_LT_HOST_FLAGS
 AC_SUBST(enable_shared)
 AC_SUBST(enable_static)
 
+# libtool variables for C++ shared and position-independent compiles.
+#
+# Use glibcxx_lt_pic_flag to designate the automake variable
+# used to encapsulate the default libtool approach to creating objects
+# with position-independent code. Default: -prefer-pic.
+#
+# Use glibcxx_compiler_shared_flag to designate a compile-time flags for
+# creating shared objects. Default: -D_GLIBCXX_SHARED.
+#
+# Use glibcxx_compiler_pic_flag to designate a compile-time flags for
+# creating position-independent objects. This varies with the target
+# hardware and operating system, but is often: -DPIC -fPIC.
+if test "$enable_shared" = yes; then
+  glibcxx_lt_pic_flag="-prefer-pic"
+  glibcxx_compiler_pic_flag="$lt_prog_compiler_pic_CXX"
+  glibcxx_compiler_shared_flag="-D_GLIBCXX_SHARED"
+
+else
+  glibcxx_lt_pic_flag=
+  glibcxx_compiler_pic_flag=
+  glibcxx_compiler_shared_flag=
+fi
+AC_SUBST(glibcxx_lt_pic_flag)
+AC_SUBST(glibcxx_compiler_pic_flag)
+AC_SUBST(glibcxx_compiler_shared_flag)
+
+# Override the libtool's pic_flag and pic_mode.
+# Do this step after AM_PROG_LIBTOOL, but before AC_OUTPUT.
+# NB: this impacts --with-pic and --without-pic.
+lt_prog_compiler_pic_CXX="$glibcxx_compiler_pic_flag $glibcxx_compiler_shared_flag"
+pic_mode='default'
+
 # Eliminate -lstdc++ addition to postdeps for cross compiles.
 postdeps_CXX=`echo " $postdeps_CXX " | sed 's, -lstdc++ ,,g'`
 
@@ -421,19 +454,13 @@ GLIBCXX_EXPORT_INSTALL_INFO
 GLIBCXX_EXPORT_INCLUDES
 GLIBCXX_EXPORT_FLAGS
 
-if test "$enable_shared" = yes; then
-  PIC_CXXFLAGS="-prefer-pic"
-else
-  PIC_CXXFLAGS=
-fi
-AC_SUBST(PIC_CXXFLAGS)
-
 dnl In autoconf 2.5x, AC_OUTPUT is replaced by four AC_CONFIG_* macros,
 dnl which can all be called multiple times as needed, plus one (different)
 dnl AC_OUTPUT macro.  This one lists the files to be created:
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES([scripts/testsuite_flags],[chmod +x scripts/testsuite_flags])
 AC_CONFIG_FILES([scripts/extract_symvers],[chmod +x scripts/extract_symvers])
+AC_CONFIG_FILES([doc/xsl/customization.xsl])
 
 # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
 # that multilib installs will end up installed in the correct place.
index ca4d819..b0e2cd9 100644 (file)
@@ -340,7 +340,7 @@ case "${host}" in
         fi
     esac
     case "${host}" in
-      arm*-*-linux-*eabi)
+      arm*-*-linux-*eabi*)
        port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
        ;;
     esac
index 0f7b285..54936cb 100644 (file)
@@ -332,6 +332,7 @@ xml_sources_manual = \
        ${xml_dir}/manual/numerics.xml \
        ${xml_dir}/manual/parallel_mode.xml \
        ${xml_dir}/manual/policy_data_structures.xml \
+       ${xml_dir}/manual/policy_data_structures_biblio.xml \
        ${xml_dir}/manual/prerequisites.xml \
        ${xml_dir}/manual/profile_mode.xml \
        ${xml_dir}/manual/shared_ptr.xml \
@@ -465,9 +466,10 @@ XSLT_PARAM = --param toc.section.depth 4
 #XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
 #XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
 XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
-XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl
-XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl
+XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
+XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
 XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
+XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
 
 ${docbook_outdir}/epub:
        mkdir -p ${docbook_outdir}/epub
@@ -485,22 +487,15 @@ ${docbook_outdir}/html:
 ${docbook_outdir}/pdf:
        mkdir -p ${docbook_outdir}/pdf
 
+${docbook_outdir}/latex:
+       mkdir -p ${docbook_outdir}/latex
+
 ${docbook_outdir}/texinfo:
        mkdir -p ${docbook_outdir}/texinfo
 
 ${docbook_outdir}/xml:
        mkdir -p ${docbook_outdir}/xml
 
-# Validate existing XML structure.
-XMLLINT = xmllint
-LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
-SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd
-#SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
-XMLLINT_VALID_FLAGS = $(LINT_FLAGS) --dtdvalid $(SCHEMA_FLAGS)
-XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
-doc-xml-validate-docbook: $(xml_sources) $(xml_images)
-       @echo "Generating XML validation log..."
-       $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
 
 # XML, all one page
 # Some info on canonicalization
@@ -517,6 +512,24 @@ stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
 
 doc-xml-single-docbook: stamp-xml-single-docbook
 
+# Validate existing XML structure.
+XMLLINT = xmllint
+LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
+SCHEMA_FLAGS = --dtdvalid http://www.docbook.org/xml/5.0/dtd/docbook.dtd
+SCHEMA_RNG_FLAGS = --relaxng http://www.docbook.org/xml/5.0/rng/docbook.rng
+#SCHEMA_FLAGS = --nonet --dtdvalid /usr/share/xxx/dtd/5.0/docbook.dtd
+XMLLINT_VALID_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
+XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
+doc-xml-validate-docbook: doc-xml-validate-dtd-db
+
+doc-xml-validate-dtd-db: $(xml_sources) $(xml_images)
+       @echo "Generating XML validation log..."
+       $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
+
+doc-xml-validate-rng-db: $(xml_sources) $(xml_images) doc-xml-single-docbook
+       @echo "Generating XML RelaxNG validation log..."
+       $(XMLLINT) $(LINT_FLAGS) $(SCHEMA_RNG_FLAGS) ${set_xml}
+
 # HTML support files
 stamp-html-docbook-images: stamp-html-docbook $(xml_images)
        $(INSTALL_DATA) $(xml_images) ${docbook_outdir}/html/images
@@ -529,21 +542,25 @@ stamp-html-docbook-lwg: stamp-html-docbook $(xml_extra)
 stamp-html-docbook-data: stamp-html-docbook-images stamp-html-docbook-lwg
        $(STAMP) stamp-html-docbook-data
 
-# HTML, index plus chapters
+# HTML, "chunked" into index plus chapters as separate pages
 stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
        @echo "Generating html files..."
        $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
-       $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
+        --stringparam chunker.output.encoding UTF-8 \
+       $(XSL_HTML_STYLE) \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-html-docbook
 
 doc-html-docbook: stamp-html-docbook-data
 
 # HTML, all one page
+# NB: Have to generate customization XSL for UTF-8 output.
 manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
 stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
        @echo "Generating html single file..."
        $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
-       $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
+       ${XSL_LOCAL_STYLE} \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-html-single-docbook
 
 doc-html-single-docbook: stamp-html-single-docbook
@@ -559,11 +576,16 @@ doc-fo-docbook: stamp-fo-docbook
 
 # PDF, via dblatex
 manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
-DBLATEX_FLAGS = --dump --verbose --pdf
-stamp-pdf-docbook: $(xml_sources) ${docbook_outdir}/pdf
+DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex
+
+doc-pdf-docbook-dirs: ${docbook_outdir}/pdf ${docbook_outdir}/latex
+
+doc-pdf-docbook-pre: $(xml_sources) doc-pdf-docbook-dirs
+
+stamp-pdf-docbook: doc-pdf-docbook-pre doc-xml-single-docbook
        @echo "Generating pdf dblatex files..."
-       dblatex $(DBLATEX_FLAGS) \
-       -o ${manual_pdf} ${top_srcdir}/doc/xml/spine.xml
+       dblatex $(DBLATEX_FLAGS) -o ${manual_pdf} \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-pdf-docbook
 
 doc-pdf-docbook: stamp-pdf-docbook
index 39c7e1f..dd5ee46 100644 (file)
@@ -160,7 +160,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -210,7 +209,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -386,6 +388,7 @@ xml_sources_manual = \
        ${xml_dir}/manual/numerics.xml \
        ${xml_dir}/manual/parallel_mode.xml \
        ${xml_dir}/manual/policy_data_structures.xml \
+       ${xml_dir}/manual/policy_data_structures_biblio.xml \
        ${xml_dir}/manual/prerequisites.xml \
        ${xml_dir}/manual/profile_mode.xml \
        ${xml_dir}/manual/shared_ptr.xml \
@@ -517,27 +520,30 @@ XSLT_PARAM = --param toc.section.depth 4
 #XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
 #XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
 XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
-XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl
-XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl
+XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
+XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
 XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
-LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
-SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd
-#SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
-XMLLINT_VALID_FLAGS = $(LINT_FLAGS) --dtdvalid $(SCHEMA_FLAGS)
-XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
+XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
 
 # XML, all one page
 # Some info on canonicalization
 # http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
 manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml
 set_xml = ${docbook_outdir}/xml/libstdc++-set-single.xml
+LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
+SCHEMA_FLAGS = --dtdvalid http://www.docbook.org/xml/5.0/dtd/docbook.dtd
+SCHEMA_RNG_FLAGS = --relaxng http://www.docbook.org/xml/5.0/rng/docbook.rng
+#SCHEMA_FLAGS = --nonet --dtdvalid /usr/share/xxx/dtd/5.0/docbook.dtd
+XMLLINT_VALID_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
+XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
 
 # HTML, all one page
+# NB: Have to generate customization XSL for UTF-8 output.
 manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
 
 # PDF, via dblatex
 manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
-DBLATEX_FLAGS = --dump --verbose --pdf
+DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex
 
 # TEXINFO, via docbook2X
 # NB: Both experimental and tempermental
@@ -887,14 +893,14 @@ ${docbook_outdir}/html:
 ${docbook_outdir}/pdf:
        mkdir -p ${docbook_outdir}/pdf
 
+${docbook_outdir}/latex:
+       mkdir -p ${docbook_outdir}/latex
+
 ${docbook_outdir}/texinfo:
        mkdir -p ${docbook_outdir}/texinfo
 
 ${docbook_outdir}/xml:
        mkdir -p ${docbook_outdir}/xml
-doc-xml-validate-docbook: $(xml_sources) $(xml_images)
-       @echo "Generating XML validation log..."
-       $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
 stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
        @echo "Generating XML single..."
        $(XMLLINT) $(XMLLINT_FLAGS) \
@@ -904,6 +910,15 @@ stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
        $(STAMP) stamp-xml-single-docbook
 
 doc-xml-single-docbook: stamp-xml-single-docbook
+doc-xml-validate-docbook: doc-xml-validate-dtd-db
+
+doc-xml-validate-dtd-db: $(xml_sources) $(xml_images)
+       @echo "Generating XML validation log..."
+       $(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
+
+doc-xml-validate-rng-db: $(xml_sources) $(xml_images) doc-xml-single-docbook
+       @echo "Generating XML RelaxNG validation log..."
+       $(XMLLINT) $(LINT_FLAGS) $(SCHEMA_RNG_FLAGS) ${set_xml}
 
 # HTML support files
 stamp-html-docbook-images: stamp-html-docbook $(xml_images)
@@ -917,18 +932,21 @@ stamp-html-docbook-lwg: stamp-html-docbook $(xml_extra)
 stamp-html-docbook-data: stamp-html-docbook-images stamp-html-docbook-lwg
        $(STAMP) stamp-html-docbook-data
 
-# HTML, index plus chapters
+# HTML, "chunked" into index plus chapters as separate pages
 stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
        @echo "Generating html files..."
        $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
-       $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
+        --stringparam chunker.output.encoding UTF-8 \
+       $(XSL_HTML_STYLE) \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-html-docbook
 
 doc-html-docbook: stamp-html-docbook-data
 stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
        @echo "Generating html single file..."
        $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
-       $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
+       ${XSL_LOCAL_STYLE} \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-html-single-docbook
 
 doc-html-single-docbook: stamp-html-single-docbook
@@ -941,10 +959,15 @@ stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
        $(STAMP) stamp-fo-docbook
 
 doc-fo-docbook: stamp-fo-docbook
-stamp-pdf-docbook: $(xml_sources) ${docbook_outdir}/pdf
+
+doc-pdf-docbook-dirs: ${docbook_outdir}/pdf ${docbook_outdir}/latex
+
+doc-pdf-docbook-pre: $(xml_sources) doc-pdf-docbook-dirs
+
+stamp-pdf-docbook: doc-pdf-docbook-pre doc-xml-single-docbook
        @echo "Generating pdf dblatex files..."
-       dblatex $(DBLATEX_FLAGS) \
-       -o ${manual_pdf} ${top_srcdir}/doc/xml/spine.xml
+       dblatex $(DBLATEX_FLAGS) -o ${manual_pdf} \
+       ${top_srcdir}/doc/xml/spine.xml
        $(STAMP) stamp-pdf-docbook
 
 doc-pdf-docbook: stamp-pdf-docbook
index 9261c73..8345a5d 100644 (file)
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="index.html" title="The GNU C++ Library"/><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">The GNU C++ Library API Reference</th></tr><tr><td align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"/><td align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr/></div><div class="article" title="The GNU C++ Library API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="api"/>The GNU C++ Library API Reference</h2></div><div><p class="copyright">Copyright © 
+<!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>The GNU C++ Library API Reference</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="index.html" title="The GNU C++ Library" /><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">The GNU C++ Library API Reference</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" title="The GNU C++ Library API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>The GNU C++ Library API Reference</h2></div><div><p class="copyright">Copyright © 
       2008
     , 
       2010
      
-      <a class="link" href="http://www.fsf.org/">FSF
+      <a class="link" href="http://www.fsf.org/" target="_top">FSF
       </a>
-    </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id401445"/><p>
+    </p></div><div><div class="legalnotice" title="Legal Notice"><a id="idp3637504"></a><p>
       <a class="link" href="manual/license.html" title="License">License
       </a>
-    </p></div></div></div><hr/></div><p>
+    </p></div></div></div><hr /></div><p>
   The GNU C++ library sources have been specially formatted so that
   with the proper invocation of another tool (Doxygen), a set of
   indexed reference material can generated from the sources files
   particular include file, looking at inheritance diagrams, etc.
 </p><p>
   The API documentation, rendered into HTML, can be viewed online:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html">for the 4.5 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/index.html" target="_top">for the 4.5 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/index.html">for the 4.6 release
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.6/index.html" target="_top">for the 4.6 release
       </a>
     </p></li><li class="listitem"><p>
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">"the latest collection"
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top">"the latest collection"
       </a>
       (For the main development tree; see the date on the first page.)
     </p></li></ul></div><p>
   gcc.org site in a directory located at
    <code class="literal">&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.
    You will almost certainly need to use one of the
-   <a class="link" href="http://gcc.gnu.org/mirrors.html">mirror sites</a> to download
+   <a class="link" href="http://gcc.gnu.org/mirrors.html" target="_top">mirror sites</a> to download
    the tarball. After unpacking, simply load libstdc++-html-*/index.html
    into a browser.
 </p><p>
   In addition, a rendered set of man pages are available in the same
   location specified above. Start with C++Intro(3).
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk02.html">Up</a></td><td align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
index f95372e..3863d06 100644 (file)
@@ -1,3 +1,3 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library"/><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility"/><link rel="next" href="api.html" title="The GNU C++ Library API Reference"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr/></div><div class="book"><div class="titlepage"><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td align="left" valign="top">Backwards Compatibility </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
+<!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></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="manual/backwards.html" title="Backwards Compatibility" /><link rel="next" href="api.html" title="The GNU C++ Library API Reference" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="manual/backwards.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The GNU C++ Library API Reference</td></tr></table></div></body></html>
index 5a73901..a00ca96 100644 (file)
@@ -1,3 +1,3 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library"/><link rel="prev" href="api.html" title="The GNU C++ Library API Reference"/><link rel="next" href="faq.html" title="Frequently Asked Questions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr/></div><div class="book"><div class="titlepage"><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library API Reference </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
+<!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></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library" /><link rel="prev" href="api.html" title="The GNU C++ Library API Reference" /><link rel="next" href="faq.html" title="Frequently Asked Questions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library API Reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Frequently Asked Questions</td></tr></table></div></body></html>
index b98c99d..304f809 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="up" href="bk03.html" title=""/><link rel="prev" href="bk03.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"/><td align="right"> </td></tr></table><hr/></div><div class="article" title="Frequently Asked Questions"><div class="titlepage"><div><div><h1 class="title"><a id="faq"/>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright © 
+<!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>Frequently Asked Questions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="up" href="bk03.html" title="" /><link rel="prev" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Frequently Asked Questions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="article" title="Frequently Asked Questions"><div class="titlepage"><div><div><h1 class="title"><a id="faq"></a>Frequently Asked Questions</h1></div><div><p class="copyright">Copyright © 
       2008, 2010
      
-      <a class="link" href="http://www.fsf.org">FSF</a>
-    </p></div></div><hr/></div><div class="qandaset" title="Frequently Asked Questions"><a id="id373797"/><dl><dt/><dd><dl><dt>1.1. <a href="faq.html#faq.what">
+      <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
+    </p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="idp2990960"></a><dl><dt></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
       What is libstdc++?
     </a></dt><dt>1.2. <a href="faq.html#faq.why">
       Why should I use libstdc++?
@@ -18,7 +18,7 @@
       What happened to the older libg++? I need that!
     </a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
       What if I have more questions?
-    </a></dt></dl></dd><dt/><dd><dl><dt>2.1. <a href="faq.html#faq.license.what">
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>2.1. <a href="faq.html#faq.license.what">
       What are the license terms for libstdc++?
     </a></dt><dt>2.2. <a href="faq.html#faq.license.any_program">
       So any program which uses libstdc++ falls under the GPL?
@@ -26,7 +26,7 @@
       How is that different from the GNU {Lesser,Library} GPL?
     </a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
       I see. So, what restrictions are there on programs that use the library?
-    </a></dt></dl></dd><dt/><dd><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
     </a></dt><dt>3.2. <a href="faq.html#faq.how_to_get_sources">How does one get current libstdc++ sources?
     </a></dt><dt>3.3. <a href="faq.html#faq.how_to_test">How do I know if it works?
     </a></dt><dt>3.4. <a href="faq.html#faq.how_to_set_paths">How do I insure that the dynamically linked library will be found?
@@ -34,7 +34,7 @@
       What's libsupc++?
     </a></dt><dt>3.6. <a href="faq.html#faq.size">
       This library is HUGE!
-    </a></dt></dl></dd><dt/><dd><dl><dt>4.1. <a href="faq.html#faq.other_compilers">
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>4.1. <a href="faq.html#faq.other_compilers">
       Can libstdc++ be used with non-GNU compilers?
     </a></dt><dt>4.2. <a href="faq.html#faq.solaris_long_long">
       No 'long long' type on Solaris?
       Recent GNU/Linux glibc required?
     </a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
       Can't use wchar_t/wstring on FreeBSD
-    </a></dt></dl></dd><dt/><dd><dl><dt>5.1. <a href="faq.html#faq.what_works">
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>5.1. <a href="faq.html#faq.what_works">
       What works already?
     </a></dt><dt>5.2. <a href="faq.html#faq.standard_bugs">
       Bugs in the ISO C++ language or library specification
     </a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
       Bugs in the compiler (gcc/g++) and not libstdc++
-    </a></dt></dl></dd><dt/><dd><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
       Reopening a stream fails
     </a></dt><dt>6.2. <a href="faq.html#faq.wefcxx_verbose">
       -Weffc++ complains too much
@@ -76,7 +76,7 @@
       list::size() is O(n)!
     </a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
       Aw, that's easy to fix!
-    </a></dt></dl></dd><dt/><dd><dl><dt>7.1. <a href="faq.html#faq.iterator_as_pod">
+    </a></dt></dl></dd><dt></dt><dd><dl><dt>7.1. <a href="faq.html#faq.iterator_as_pod">
       string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
     </a></dt><dt>7.2. <a href="faq.html#faq.what_is_next">
       What's next after libstdc++?
@@ -91,7 +91,7 @@
       What's an ABI and why is it so messy?
     </a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
       How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
-    </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"/><col/><tbody><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
+    </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%" /><col /><tbody><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>1.1. <a href="faq.html#faq.what">
       What is libstdc++?
     </a></dt><dt>1.2. <a href="faq.html#faq.why">
       Why should I use libstdc++?
       What happened to the older libg++? I need that!
     </a></dt><dt>1.7. <a href="faq.html#faq.more_questions">
       What if I have more questions?
-    </a></dt></dl></td></tr><tr class="question" title="1.1."><td align="left" valign="top"><a id="faq.what"/><a id="faq.what.q"/><p><strong>1.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="1.1."><td align="left" valign="top"><a id="faq.what"></a><a id="faq.what.q"></a><p><strong>1.1.</strong></p></td><td align="left" valign="top"><p>
       What is libstdc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.what.a"></a></td><td align="left" valign="top"><p>
      The GNU Standard C++ Library v3 is an ongoing project to
      implement the ISO 14882 Standard C++ library as described in
      chapters 17 through 27 and annex D.  For those who want to see
      exactly how far the project has come, or just want the latest
      bleeding-edge code, the up-to-date source is available over
      anonymous SVN, and can even be browsed over
-     the <a class="link" href="http://gcc.gnu.org/svn.html">web</a>.
-    </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"/><a id="q-why"/><p><strong>1.2.</strong></p></td><td align="left" valign="top"><p>
+     the <a class="link" href="http://gcc.gnu.org/svn.html" target="_top">web</a>.
+    </p></td></tr><tr class="question" title="1.2."><td align="left" valign="top"><a id="faq.why"></a><a id="q-why"></a><p><strong>1.2.</strong></p></td><td align="left" valign="top"><p>
       Why should I use libstdc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-why"></a></td><td align="left" valign="top"><p>
     The completion of the ISO C++ standardization gave the C++
     community a powerful set of reuseable tools in the form of the C++
     Standard Library.  However, all existing C++ implementations are
     (<span class="command"><strong>gcc</strong></span>, <span class="command"><strong>g++</strong></span>, etc) is widely
     considered to be one of the leading compilers in the world.  Its
     development is overseen by the
-    <a class="link" href="http://gcc.gnu.org/">GCC team</a>.  All of
+    <a class="link" href="http://gcc.gnu.org/" target="_top">GCC team</a>.  All of
     the rapid development and near-legendary
-    <a class="link" href="http://gcc.gnu.org/buildstat.html">portability</a>
+    <a class="link" href="http://gcc.gnu.org/buildstat.html" target="_top">portability</a>
     that are the hallmarks of an open-source project are being
     applied to libstdc++.
     </p><p>
     <code class="classname">vector&lt;&gt;</code>, iostreams, and algorithms.)
     Programmers will no longer need to <span class="quote">“<span class="quote">roll their own</span>”</span>
     nor be worried about platform-specific incompatibilities.
-    </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"/><a id="q-who"/><p><strong>1.3.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="1.3."><td align="left" valign="top"><a id="faq.who"></a><a id="q-who"></a><p><strong>1.3.</strong></p></td><td align="left" valign="top"><p>
       Who's in charge of it?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-who"></a></td><td align="left" valign="top"><p>
      The libstdc++ project is contributed to by several developers
      all over the world, in the same way as GCC or the Linux kernel.
      Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, Ulrich Drepper,
     Development and discussion is held on the libstdc++ mailing
     list.  Subscribing to the list, or searching the list
     archives, is open to everyone.  You can read instructions for
-    doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/">homepage</a>.
+    doing so on the <a class="link" href="http://gcc.gnu.org/libstdc++/" target="_top">homepage</a>.
     If you have questions, ideas, code, or are just curious, sign up!
-    </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"/><a id="q-when"/><p><strong>1.4.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="1.4."><td align="left" valign="top"><a id="faq.when"></a><a id="q-when"></a><p><strong>1.4.</strong></p></td><td align="left" valign="top"><p>
       When is libstdc++ going to be finished?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-when"></a></td><td align="left" valign="top"><p>
     Nathan Myers gave the best of all possible answers, responding to
     a Usenet article asking this question: <span class="emphasis"><em>Sooner, if you
     help.</em></span>
-    </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"/><a id="q-how"/><p><strong>1.5.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="1.5."><td align="left" valign="top"><a id="faq.how"></a><a id="q-how"></a><p><strong>1.5.</strong></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"/></td><td align="left" valign="top"><p>
+    </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="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
     anybody who is willing to help write documentation, for example,
     or has found a bug in code that we all thought was working and is
     willing to provide details, is more than welcome!
-    </p></td></tr><tr class="question" title="1.6."><td align="left" valign="top"><a id="faq.whereis_old"/><a id="q-whereis_old"/><p><strong>1.6.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="1.6."><td align="left" valign="top"><a id="faq.whereis_old"></a><a id="q-whereis_old"></a><p><strong>1.6.</strong></p></td><td align="left" valign="top"><p>
       What happened to the older libg++? I need that!
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-whereis_old"></a></td><td align="left" valign="top"><p>
     The most recent libg++ README states that libg++ is no longer
     being actively maintained.  It should not be used for new
     projects, and is only being kicked along to support older code.
     </p><p>
     More information in the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">backwards compatibility documentation</a>
-    </p></td></tr><tr class="question" title="1.7."><td align="left" valign="top"><a id="faq.more_questions"/><a id="q-more_questions"/><p><strong>1.7.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="1.7."><td align="left" valign="top"><a id="faq.more_questions"></a><a id="q-more_questions"></a><p><strong>1.7.</strong></p></td><td align="left" valign="top"><p>
       What if I have more questions?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-more_questions"></a></td><td align="left" valign="top"><p>
     If you have read the README file, and your question remains
     unanswered, then just ask the mailing list. At present, you do not
     need to be subscribed to the list to send a message to it.  More
       How is that different from the GNU {Lesser,Library} GPL?
     </a></dt><dt>2.4. <a href="faq.html#faq.license.what_restrictions">
       I see. So, what restrictions are there on programs that use the library?
-    </a></dt></dl></td></tr><tr class="question" title="2.1."><td align="left" valign="top"><a id="faq.license.what"/><a id="q-license.what"/><p><strong>2.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="2.1."><td align="left" valign="top"><a id="faq.license.what"></a><a id="q-license.what"></a><p><strong>2.1.</strong></p></td><td align="left" valign="top"><p>
       What are the license terms for libstdc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what"></a></td><td align="left" valign="top"><p>
     See <a class="link" href="manual/license.html" title="License">our license description</a>
     for these and related questions.
-    </p></td></tr><tr class="question" title="2.2."><td align="left" valign="top"><a id="faq.license.any_program"/><a id="q-license.any_program"/><p><strong>2.2.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="2.2."><td align="left" valign="top"><a id="faq.license.any_program"></a><a id="q-license.any_program"></a><p><strong>2.2.</strong></p></td><td align="left" valign="top"><p>
       So any program which uses libstdc++ falls under the GPL?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.any_program"></a></td><td align="left" valign="top"><p>
      No. The special exception permits use of the library in
      proprietary applications.
-    </p></td></tr><tr class="question" title="2.3."><td align="left" valign="top"><a id="faq.license.lgpl"/><a id="q-license.lgpl"/><p><strong>2.3.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="2.3."><td align="left" valign="top"><a id="faq.license.lgpl"></a><a id="q-license.lgpl"></a><p><strong>2.3.</strong></p></td><td align="left" valign="top"><p>
       How is that different from the GNU {Lesser,Library} GPL?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.lgpl"></a></td><td align="left" valign="top"><p>
       The LGPL requires that users be able to replace the LGPL code with a
      modified version; this is trivial if the library in question is a C
      shared library.  But there's no way to make that work with C++, where
      are expanded inside the code that uses the library.  So to allow people
      to replace the library code, someone using the library would have to
      distribute their own source, rendering the LGPL equivalent to the GPL.
-    </p></td></tr><tr class="question" title="2.4."><td align="left" valign="top"><a id="faq.license.what_restrictions"/><a id="q-license.what_restrictions"/><p><strong>2.4.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="2.4."><td align="left" valign="top"><a id="faq.license.what_restrictions"></a><a id="q-license.what_restrictions"></a><p><strong>2.4.</strong></p></td><td align="left" valign="top"><p>
       I see. So, what restrictions are there on programs that use the library?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-license.what_restrictions"></a></td><td align="left" valign="top"><p>
       None.  We encourage such programs to be released as open source,
      but we won't punish you or sue you if you choose otherwise.
     </p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>3.1. <a href="faq.html#faq.how_to_install">How do I install libstdc++?
       What's libsupc++?
     </a></dt><dt>3.6. <a href="faq.html#faq.size">
       This library is HUGE!
-    </a></dt></dl></td></tr><tr class="question" title="3.1."><td align="left" valign="top"><a id="faq.how_to_install"/><a id="q-how_to_install"/><p><strong>3.1.</strong></p></td><td align="left" valign="top"><p>How do I install libstdc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"/></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="3.1."><td align="left" valign="top"><a id="faq.how_to_install"></a><a id="q-how_to_install"></a><p><strong>3.1.</strong></p></td><td align="left" valign="top"><p>How do I install libstdc++?
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_install"></a></td><td align="left" valign="top"><p>
     Often libstdc++ comes pre-installed as an integral part of many
     existing GNU/Linux and Unix systems, as well as many embedded
     development tools. It may be necessary to install extra
     documentation</a> for detailed
     instructions. You may wish to browse those files ahead
     of time to get a feel for what's required.
-    </p></td></tr><tr class="question" title="3.2."><td align="left" valign="top"><a id="faq.how_to_get_sources"/><a id="q-how_to_get_sources"/><p><strong>3.2.</strong></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_get_sources"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="3.2."><td align="left" valign="top"><a id="faq.how_to_get_sources"></a><a id="q-how_to_get_sources"></a><p><strong>3.2.</strong></p></td><td align="left" valign="top"><p>How does one get current libstdc++ sources?
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_get_sources"></a></td><td align="left" valign="top"><p>
     Libstdc++ sources for all official releases can be obtained as
     part of the GCC sources, available from various sites and
-    mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html">list of 
+    mirrors. A full <a class="link" href="http://gcc.gnu.org/mirrors.html" target="_top">list of 
     download sites</a> is provided on the main GCC site.
     </p><p>
     Current libstdc++ sources can always be checked out of the main
     <span class="application">Subversion</span>, or <acronym class="acronym">SVN</acronym>, is
     one of several revision control packages.  It was selected for GNU
     projects because it's free (speech), free (beer), and very high
-    quality.  The <a class="link" href="http://subversion.tigris.org"> Subversion
+    quality.  The <a class="link" href="http://subversion.tigris.org" target="_top"> Subversion
     home page</a> has a better description.
     </p><p>
     The <span class="quote">“<span class="quote">anonymous client checkout</span>”</span> feature of SVN is
     the latest libstdc++ sources.
     </p><p>
     For more information
-    see <a class="link" href="http://gcc.gnu.org/svn.html"><acronym class="acronym">SVN</acronym>
+    see <a class="link" href="http://gcc.gnu.org/svn.html" target="_top"><acronym class="acronym">SVN</acronym>
     details</a>.
-    </p></td></tr><tr class="question" title="3.3."><td align="left" valign="top"><a id="faq.how_to_test"/><a id="q-how_to_test"/><p><strong>3.3.</strong></p></td><td align="left" valign="top"><p>How do I know if it works?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="3.3."><td align="left" valign="top"><a id="faq.how_to_test"></a><a id="q-how_to_test"></a><p><strong>3.3.</strong></p></td><td align="left" valign="top"><p>How do I know if it works?
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"></a></td><td align="left" valign="top"><p>
     Libstdc++ comes with its own validation testsuite, which includes
     conformance testing, regression testing, ABI testing, and
     performance testing. Please consult the 
-    <a class="link" href="http://gcc.gnu.org/install/test.html">testing
+    <a class="link" href="http://gcc.gnu.org/install/test.html" target="_top">testing
     documentation</a> for more details.
     </p><p>
     If you find bugs in the testsuite programs themselves, or if you
     think of a new test program that should be added to the suite,
     <span class="emphasis"><em>please</em></span> write up your idea and send it to the list!
-    </p></td></tr><tr class="question" title="3.4."><td align="left" valign="top"><a id="faq.how_to_set_paths"/><a id="q-how_to_set_paths"/><p><strong>3.4.</strong></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_set_paths"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="3.4."><td align="left" valign="top"><a id="faq.how_to_set_paths"></a><a id="q-how_to_set_paths"></a><p><strong>3.4.</strong></p></td><td align="left" valign="top"><p>How do I insure that the dynamically linked library will be found?
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_set_paths"></a></td><td align="left" valign="top"><p>
     Depending on your platform and library version, the error message might
     be similar to one of the following:
     </p><pre class="screen">
     </p><p>
     Using LD_LIBRARY_PATH is not always the best solution, <a class="link" href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic" title="Finding Dynamic or Shared Libraries">Finding Dynamic or Shared
     Libraries</a> in the manual gives some alternatives.
-    </p></td></tr><tr class="question" title="3.5."><td align="left" valign="top"><a id="faq.what_is_libsupcxx"/><a id="q-what_is_libsupcxx"/><p><strong>3.5.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="3.5."><td align="left" valign="top"><a id="faq.what_is_libsupcxx"></a><a id="q-what_is_libsupcxx"></a><p><strong>3.5.</strong></p></td><td align="left" valign="top"><p>
       What's libsupc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"/></td><td align="left" valign="top"><p>
+    </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="link" href="manual/support.html" title="Chapter 4.  Support">clause 18</a> of the
       using anything from the rest of the library, such as IOStreams
       or vectors, then you'll still need pieces from
       <code class="filename">libstdc++.a</code>.
-    </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"/><a id="q-size"/><p><strong>3.6.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="3.6."><td align="left" valign="top"><a id="faq.size"></a><a id="q-size"></a><p><strong>3.6.</strong></p></td><td align="left" valign="top"><p>
       This library is HUGE!
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size"></a></td><td align="left" valign="top"><p>
     Usually the size of libraries on disk isn't noticeable.  When a
     link editor (or simply <span class="quote">“<span class="quote">linker</span>”</span>) pulls things from a
     static archive library, only the necessary object files are copied
       Recent GNU/Linux glibc required?
     </a></dt><dt>4.8. <a href="faq.html#faq.freebsd_wchar">
       Can't use wchar_t/wstring on FreeBSD
-    </a></dt></dl></td></tr><tr class="question" title="4.1."><td align="left" valign="top"><a id="faq.other_compilers"/><a id="q-other_compilers"/><p><strong>4.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="4.1."><td align="left" valign="top"><a id="faq.other_compilers"></a><a id="q-other_compilers"></a><p><strong>4.1.</strong></p></td><td align="left" valign="top"><p>
       Can libstdc++ be used with non-GNU compilers?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-other_compilers"></a></td><td align="left" valign="top"><p>
     Perhaps.
     </p><p>
     Since the goal of ISO Standardization is for all C++
     been known to work with versions of the EDG C++ compiler, and
     vendor-specific proprietary C++ compilers such as the Intel ICC
     C++ compiler.
-    </p></td></tr><tr class="question" title="4.2."><td align="left" valign="top"><a id="faq.solaris_long_long"/><a id="q-solaris_long_long"/><p><strong>4.2.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="4.2."><td align="left" valign="top"><a id="faq.solaris_long_long"></a><a id="q-solaris_long_long"></a><p><strong>4.2.</strong></p></td><td align="left" valign="top"><p>
       No 'long long' type on Solaris?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"></a></td><td align="left" valign="top"><p>
     By default we try to support the C99 <span class="type">long long</span> type.
     This requires that certain functions from your C library be present.
     </p><p> 
     commonly reported platform affected was Solaris.
     </p><p> 
     This has been fixed for libstdc++ releases greater than 3.0.3.
-    </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"/><a id="q-predefined"/><p><strong>4.3.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="4.3."><td align="left" valign="top"><a id="faq.predefined"></a><a id="q-predefined"></a><p><strong>4.3.</strong></p></td><td align="left" valign="top"><p>
       <code class="constant">_XOPEN_SOURCE</code> and <code class="constant">_GNU_SOURCE</code> are always defined?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-predefined"/></td><td align="left" valign="top"><p>On Solaris, g++ (but not gcc) always defines the preprocessor
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-predefined"></a></td><td align="left" valign="top"><p>On Solaris, g++ (but not gcc) always defines the preprocessor
          macro <code class="constant">_XOPEN_SOURCE</code>.  On GNU/Linux, the same happens
          with <code class="constant">_GNU_SOURCE</code>.  (This is not an exhaustive list;
          other macros and other platforms are also affected.)
          <span class="command"><strong>g++ -E -dM - &lt; /dev/null"</strong></span> to display
          a list of predefined macros for any particular installation.
       </p><p>This has been discussed on the mailing lists
-         <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris">quite a bit</a>.
+         <a class="link" href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris" target="_top">quite a bit</a>.
       </p><p>This method is something of a wart.  We'd like to find a cleaner
          solution, but nobody yet has contributed the time.
-      </p></td></tr><tr class="question" title="4.4."><td align="left" valign="top"><a id="faq.darwin_ctype"/><a id="q-darwin_ctype"/><p><strong>4.4.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="4.4."><td align="left" valign="top"><a id="faq.darwin_ctype"></a><a id="q-darwin_ctype"></a><p><strong>4.4.</strong></p></td><td align="left" valign="top"><p>
       Mac OS X <code class="filename">ctype.h</code> is broken! How can I fix it?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-darwin_ctype"/></td><td align="left" valign="top"><p>This is a long-standing bug in the OS X support.  Fortunately,
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-darwin_ctype"></a></td><td align="left" valign="top"><p>This is a long-standing bug in the OS X support.  Fortunately,
          the patch is quite simple, and well-known.
-         <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html"> Here's a
+         <a class="link" href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html" target="_top"> Here's a
          link to the solution</a>.
-      </p></td></tr><tr class="question" title="4.5."><td align="left" valign="top"><a id="faq.threads_i386"/><a id="q-threads_i386"/><p><strong>4.5.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="4.5."><td align="left" valign="top"><a id="faq.threads_i386"></a><a id="q-threads_i386"></a><p><strong>4.5.</strong></p></td><td align="left" valign="top"><p>
       Threading is broken on i386?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-threads_i386"></a></td><td align="left" valign="top"><p>
     </p><p>Support for atomic integer operations is/was broken on i386
          platforms.  The assembly code accidentally used opcodes that are
          only available on the i486 and later.  So if you configured GCC
          on an i686, then you would encounter no problems.  Only when
          actually running the code on a i386 will the problem appear.
       </p><p>This is fixed in 3.2.2.
-      </p></td></tr><tr class="question" title="4.6."><td align="left" valign="top"><a id="faq.atomic_mips"/><a id="q-atomic_mips"/><p><strong>4.6.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="4.6."><td align="left" valign="top"><a id="faq.atomic_mips"></a><a id="q-atomic_mips"></a><p><strong>4.6.</strong></p></td><td align="left" valign="top"><p>
       MIPS atomic operations
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-atomic_mips"></a></td><td align="left" valign="top"><p>
     The atomic locking routines for MIPS targets requires MIPS II
     and later.  A patch went in just after the 3.3 release to
     make mips* use the generic implementation instead.  You can also
     </p><p>    
     The mips*-*-linux* port continues to use the MIPS II routines, and more
     work in this area is expected.
-    </p></td></tr><tr class="question" title="4.7."><td align="left" valign="top"><a id="faq.linux_glibc"/><a id="q-linux_glibc"/><p><strong>4.7.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="4.7."><td align="left" valign="top"><a id="faq.linux_glibc"></a><a id="q-linux_glibc"></a><p><strong>4.7.</strong></p></td><td align="left" valign="top"><p>
       Recent GNU/Linux glibc required?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-linux_glibc"/></td><td align="left" valign="top"><p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-linux_glibc"></a></td><td align="left" valign="top"><p>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
          5.0.1) and later uses localization and formatting code from the system
          C library (glibc) version 2.2.5 which contains necessary bugfixes.
          Most GNU/Linux distros make more recent versions available now.
       </p><p>The guideline is simple:  the more recent the C++ library, the
          more recent the C library.  (This is also documented in the main
          GCC installation instructions.)
-      </p></td></tr><tr class="question" title="4.8."><td align="left" valign="top"><a id="faq.freebsd_wchar"/><a id="q-freebsd_wchar"/><p><strong>4.8.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="4.8."><td align="left" valign="top"><a id="faq.freebsd_wchar"></a><a id="q-freebsd_wchar"></a><p><strong>4.8.</strong></p></td><td align="left" valign="top"><p>
       Can't use wchar_t/wstring on FreeBSD
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-freebsd_wchar"></a></td><td align="left" valign="top"><p>
     Older versions of FreeBSD's C library do not have sufficient
     support for wide character functions, and as a result the
     libstdc++ configury decides that wchar_t support should be
       Bugs in the ISO C++ language or library specification
     </a></dt><dt>5.3. <a href="faq.html#faq.compiler_bugs">
       Bugs in the compiler (gcc/g++) and not libstdc++
-    </a></dt></dl></td></tr><tr class="question" title="5.1."><td align="left" valign="top"><a id="faq.what_works"/><a id="q-what_works"/><p><strong>5.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="5.1."><td align="left" valign="top"><a id="faq.what_works"></a><a id="q-what_works"></a><p><strong>5.1.</strong></p></td><td align="left" valign="top"><p>
       What works already?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_works"></a></td><td align="left" valign="top"><p>
     Short answer: Pretty much everything <span class="emphasis"><em>works</em></span>
     except for some corner cases.  Support for localization
     in <code class="classname">locale</code> may be incomplete on non-GNU
     <a class="link" href="manual/status.html#status.iso.1998" title="C++ 1998/2003">C++98</a>,
     <a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">TR1</a>, and 
     <a class="link" href="manual/status.html#status.iso.2011" title="C++ 2011">C++11</a>.
-    </p></td></tr><tr class="question" title="5.2."><td align="left" valign="top"><a id="faq.standard_bugs"/><a id="q-standard_bugs"/><p><strong>5.2.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="5.2."><td align="left" valign="top"><a id="faq.standard_bugs"></a><a id="q-standard_bugs"></a><p><strong>5.2.</strong></p></td><td align="left" valign="top"><p>
       Bugs in the ISO C++ language or library specification
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"></a></td><td align="left" valign="top"><p>
     Unfortunately, there are some. 
     </p><p>
     For those people who are not part of the ISO Library Group
     (i.e., nearly all of us needing to read this page in the first
     place), a public list of the library defects is occasionally
-    published on <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">the WG21
+    published on <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">the WG21
     website</a>.
     Some of these issues have resulted in code changes in libstdc++.
     </p><p>
     If you think you've discovered a new bug that is not listed,
     please post a message describing your problem to the author of
     the library issues list or the Usenet group comp.lang.c++.moderated.
-    </p></td></tr><tr class="question" title="5.3."><td align="left" valign="top"><a id="faq.compiler_bugs"/><a id="q-compiler_bugs"/><p><strong>5.3.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="5.3."><td align="left" valign="top"><a id="faq.compiler_bugs"></a><a id="q-compiler_bugs"></a><p><strong>5.3.</strong></p></td><td align="left" valign="top"><p>
       Bugs in the compiler (gcc/g++) and not libstdc++
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-compiler_bugs"></a></td><td align="left" valign="top"><p>
     On occasion, the compiler is wrong. Please be advised that this
     happens much less often than one would think, and avoid jumping to
     conclusions.
     these lists with terms describing your issue.
     </p><p> 
     Before reporting a bug, please examine the
-    <a class="link" href="http://gcc.gnu.org/bugs/">bugs database</a> with the
+    <a class="link" href="http://gcc.gnu.org/bugs/" target="_top">bugs database</a> with the
     category set to <span class="quote">“<span class="quote">g++</span>”</span>. 
     </p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>6.1. <a href="faq.html#faq.stream_reopening_fails">
       Reopening a stream fails
       list::size() is O(n)!
     </a></dt><dt>6.9. <a href="faq.html#faq.easy_to_fix">
       Aw, that's easy to fix!
-    </a></dt></dl></td></tr><tr class="question" title="6.1."><td align="left" valign="top"><a id="faq.stream_reopening_fails"/><a id="q-stream_reopening_fails"/><p><strong>6.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="6.1."><td align="left" valign="top"><a id="faq.stream_reopening_fails"></a><a id="q-stream_reopening_fails"></a><p><strong>6.1.</strong></p></td><td align="left" valign="top"><p>
       Reopening a stream fails
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-stream_reopening_fails"></a></td><td align="left" valign="top"><p>
     One of the most-reported non-bug reports. Executing a sequence like:
-    </p><div class="literallayout"><p><br/>
-    #include &lt;fstream&gt;<br/>
-    ...<br/>
-    std::fstream  fs(<span class="quote">“<span class="quote">a_file</span>”</span>);<br/>
-    // .<br/>
-    // . do things with fs...<br/>
-    // .<br/>
-    fs.close();<br/>
-    fs.open(<span class="quote">“<span class="quote">a_new_file</span>”</span>);<br/>
+    </p><div class="literallayout"><p><br />
+    #include &lt;fstream&gt;<br />
+    ...<br />
+    std::fstream  fs(<span class="quote">“<span class="quote">a_file</span>”</span>);<br />
+    // .<br />
+    // . do things with fs...<br />
+    // .<br />
+    fs.close();<br />
+    fs.open(<span class="quote">“<span class="quote">a_new_file</span>”</span>);<br />
     </p></div><p>
     All operations on the re-opened <code class="varname">fs</code> will fail, or at
     least act very strangely.  Yes, they often will, especially if
     <span class="emphasis"><em>Update:</em></span> for GCC 4.0 we implemented the resolution
     of <a class="link" href="manual/bugs.html" title="Bugs">DR #409</a> and open() 
     now calls <code class="function">clear()</code> on success!
-    </p></td></tr><tr class="question" title="6.2."><td align="left" valign="top"><a id="faq.wefcxx_verbose"/><a id="q-wefcxx_verbose"/><p><strong>6.2.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.2."><td align="left" valign="top"><a id="faq.wefcxx_verbose"></a><a id="q-wefcxx_verbose"></a><p><strong>6.2.</strong></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"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"></a></td><td align="left" valign="top"><p>
     Many warnings are emitted when <code class="literal">-Weffc++</code> is used.  Making
     libstdc++ <code class="literal">-Weffc++</code>-clean is not a goal of the project,
     for a few reasons.  Mainly, that option tries to enforce
     We do, however, try to have libstdc++ sources as clean as possible. If
     you see some simple changes that pacify <code class="literal">-Weffc++</code>
     without other drawbacks, send us a patch.
-    </p></td></tr><tr class="question" title="6.3."><td align="left" valign="top"><a id="faq.ambiguous_overloads"/><a id="q-ambiguous_overloads"/><p><strong>6.3.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.3."><td align="left" valign="top"><a id="faq.ambiguous_overloads"></a><a id="q-ambiguous_overloads"></a><p><strong>6.3.</strong></p></td><td align="left" valign="top"><p>
       Ambiguous overloads after including an old-style header
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-ambiguous_overloads"></a></td><td align="left" valign="top"><p>
     Another problem is the <code class="literal">rel_ops</code> namespace and the template
     comparison operator functions contained therein.  If they become
     visible in the same namespace as other comparison functions
     (e.g., <span class="quote">“<span class="quote">using</span>”</span> them and the &lt;iterator&gt; header),
     then you will suddenly be faced with huge numbers of ambiguity
     errors.  This was discussed on the -v3 list; Nathan Myers
-    <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
+    <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html" target="_top">sums
       things up here</a>.  The collisions with vector/string iterator
     types have been fixed for 3.1.
-    </p></td></tr><tr class="question" title="6.4."><td align="left" valign="top"><a id="faq.v2_headers"/><a id="q-v2_headers"/><p><strong>6.4.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.4."><td align="left" valign="top"><a id="faq.v2_headers"></a><a id="q-v2_headers"></a><p><strong>6.4.</strong></p></td><td align="left" valign="top"><p>
       The g++-3 headers are <span class="emphasis"><em>not ours</em></span>
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-v2_headers"></a></td><td align="left" valign="top"><p>
        If you are using headers in
        <code class="filename">${prefix}/include/g++-3</code>, or if the installed
        library's name looks like <code class="filename">libstdc++-2.10.a</code> or
        'v'?).  Starting with version 3.2 the headers are installed in
        <code class="filename">${prefix}/include/c++/${version}</code> as this prevents
        headers from previous versions being found by mistake.
-      </p></td></tr><tr class="question" title="6.5."><td align="left" valign="top"><a id="faq.boost_concept_checks"/><a id="q-boost_concept_checks"/><p><strong>6.5.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="6.5."><td align="left" valign="top"><a id="faq.boost_concept_checks"></a><a id="q-boost_concept_checks"></a><p><strong>6.5.</strong></p></td><td align="left" valign="top"><p>
       Errors about <span class="emphasis"><em>*Concept</em></span> and
       <span class="emphasis"><em>constraints</em></span> in the STL
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-boost_concept_checks"></a></td><td align="left" valign="top"><p>
     If you see compilation errors containing messages about
     <span class="errortext">foo Concept </span>and something to do with a
     <span class="errortext">constraints</span> member function, then most
     checks, is available in the
     <a class="link" href="manual/bk01pt02ch05s02.html" title="Concept Checking">Diagnostics</a>.
     chapter of the manual.
-    </p></td></tr><tr class="question" title="6.6."><td align="left" valign="top"><a id="faq.dlopen_crash"/><a id="q-dlopen_crash"/><p><strong>6.6.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.6."><td align="left" valign="top"><a id="faq.dlopen_crash"></a><a id="q-dlopen_crash"></a><p><strong>6.6.</strong></p></td><td align="left" valign="top"><p>
       Program crashes when using library code in a
       dynamically-loaded library
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-dlopen_crash"></a></td><td align="left" valign="top"><p>
     If you are using the C++ library across dynamically-loaded
     objects, make certain that you are passing the correct options
     when compiling and linking:
-    </p><div class="literallayout"><p><br/>
-    // compile your library components<br/>
-    g++ -fPIC -c a.cc<br/>
-    g++ -fPIC -c b.cc<br/>
-    ...<br/>
-    g++ -fPIC -c z.cc<br/>
-<br/>
-    // create your library<br/>
-    g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o<br/>
-<br/>
-    // link the executable<br/>
-    g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br/>
-    </p></div></td></tr><tr class="question" title="6.7."><td align="left" valign="top"><a id="faq.memory_leaks"/><a id="q-memory_leaks"/><p><strong>6.7.</strong></p></td><td align="left" valign="top"><p>
+    </p><div class="literallayout"><p><br />
+    // compile your library components<br />
+    g++ -fPIC -c a.cc<br />
+    g++ -fPIC -c b.cc<br />
+    ...<br />
+    g++ -fPIC -c z.cc<br />
+<br />
+    // create your library<br />
+    g++ -fPIC -shared -rdynamic -o libfoo.so a.o b.o ... z.o<br />
+<br />
+    // link the executable<br />
+    g++ -fPIC -rdynamic -o foo ... -L. -lfoo -ldl<br />
+    </p></div></td></tr><tr class="question" title="6.7."><td align="left" valign="top"><a id="faq.memory_leaks"></a><a id="q-memory_leaks"></a><p><strong>6.7.</strong></p></td><td align="left" valign="top"><p>
       <span class="quote">“<span class="quote">Memory leaks</span>”</span> in containers
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"/></td><td align="left" valign="top"><p>
+    </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="link" href="http://valgrind.org/">valgrind</a>.
+    <a class="link" 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
     want to test the library for memory leaks please read
     <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" title="6.8."><td align="left" valign="top"><a id="faq.list_size_on"/><a id="q-list_size_on"/><p><strong>6.8.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.8."><td align="left" valign="top"><a id="faq.list_size_on"></a><a id="q-list_size_on"></a><p><strong>6.8.</strong></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"/></td><td align="left" valign="top"><p>
+    </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="link" href="manual/containers.html" title="Chapter 9.  Containers">Containers</a>
     chapter.
-    </p></td></tr><tr class="question" title="6.9."><td align="left" valign="top"><a id="faq.easy_to_fix"/><a id="q-easy_to_fix"/><p><strong>6.9.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="6.9."><td align="left" valign="top"><a id="faq.easy_to_fix"></a><a id="q-easy_to_fix"></a><p><strong>6.9.</strong></p></td><td align="left" valign="top"><p>
       Aw, that's easy to fix!
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-easy_to_fix"></a></td><td align="left" valign="top"><p>
     If you have found a bug in the library and you think you have
     a working fix, then send it in!  The main GCC site has a page
-    on <a class="link" href="http://gcc.gnu.org/contribute.html">submitting
+    on <a class="link" href="http://gcc.gnu.org/contribute.html" target="_top">submitting
     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++
       What's an ABI and why is it so messy?
     </a></dt><dt>7.8. <a href="faq.html#faq.size_equals_capacity">
       How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
-    </a></dt></dl></td></tr><tr class="question" title="7.1."><td align="left" valign="top"><a id="faq.iterator_as_pod"/><a id="faq.iterator_as_pod_q"/><p><strong>7.1.</strong></p></td><td align="left" valign="top"><p>
+    </a></dt></dl></td></tr><tr class="question" title="7.1."><td align="left" valign="top"><a id="faq.iterator_as_pod"></a><a id="faq.iterator_as_pod_q"></a><p><strong>7.1.</strong></p></td><td align="left" valign="top"><p>
       string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.iterator_as_pod_a"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="faq.iterator_as_pod_a"></a></td><td align="left" valign="top"><p>
     If you have code that depends on container&lt;T&gt; iterators
     being implemented as pointer-to-T, your code is broken. It's
     considered a feature, not a bug, that libstdc++ points this out.
     certain expressions to <code class="varname">&amp;*i</code>.  Future revisions
     of the Standard are expected to bless this usage for
     vector&lt;&gt; (but not for basic_string&lt;&gt;).
-    </p></td></tr><tr class="question" title="7.2."><td align="left" valign="top"><a id="faq.what_is_next"/><a id="q-what_is_next"/><p><strong>7.2.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.2."><td align="left" valign="top"><a id="faq.what_is_next"></a><a id="q-what_is_next"></a><p><strong>7.2.</strong></p></td><td align="left" valign="top"><p>
       What's next after libstdc++?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_next"></a></td><td align="left" valign="top"><p>
        Hopefully, not much.  The goal of libstdc++ is to produce a
        fully-compliant, fully-portable Standard Library.  After that,
        we're mostly done: there won't <span class="emphasis"><em>be</em></span> any
        There is an effort underway to add significant extensions to
        the standard library specification.  The latest version of
        this effort is described in
-         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
+         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">
          The C++ Library Technical Report 1</a>.
-      </p></td></tr><tr class="question" title="7.3."><td align="left" valign="top"><a id="faq.sgi_stl"/><a id="q-sgi_stl"/><p><strong>7.3.</strong></p></td><td align="left" valign="top"><p>
+      </p></td></tr><tr class="question" title="7.3."><td align="left" valign="top"><a id="faq.sgi_stl"></a><a id="q-sgi_stl"></a><p><strong>7.3.</strong></p></td><td align="left" valign="top"><p>
       What about the STL from SGI?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"/></td><td align="left" valign="top"><p>
-      The <a class="link" href="http://www.sgi.com/tech/stl/">STL from SGI</a>,
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-sgi_stl"></a></td><td align="left" valign="top"><p>
+      The <a class="link" href="http://www.sgi.com/tech/stl/" target="_top">STL from SGI</a>,
     version 3.3, was the final merge of the STL codebase.  The
     code in libstdc++ contains many fixes and changes, and
     the SGI code is no longer under active
     </p><p>
     The FAQ for SGI's STL (one jump off of their main page) is
     still recommended reading.
-    </p></td></tr><tr class="question" title="7.4."><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"/><a id="q-extensions_and_backwards_compat"/><p><strong>7.4.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.4."><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"></a><a id="q-extensions_and_backwards_compat"></a><p><strong>7.4.</strong></p></td><td align="left" valign="top"><p>
       Extensions and Backward Compatibility
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-extensions_and_backwards_compat"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-extensions_and_backwards_compat"></a></td><td align="left" valign="top"><p>
       See the <a class="link" href="manual/backwards.html" title="Backwards Compatibility">link</a> on backwards compatibility and <a class="link" href="manual/api.html" title="API Evolution and Deprecation History">link</a> on evolution.
-    </p></td></tr><tr class="question" title="7.5."><td align="left" valign="top"><a id="faq.tr1_support"/><a id="q-tr1_support"/><p><strong>7.5.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.5."><td align="left" valign="top"><a id="faq.tr1_support"></a><a id="q-tr1_support"></a><p><strong>7.5.</strong></p></td><td align="left" valign="top"><p>
       Does libstdc++ support TR1?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-tr1_support"></a></td><td align="left" valign="top"><p>
     Yes.
     </p><p>
     The C++ Standard Library Technical Report adds many new features to 
     the library.  The latest version of this effort is described in
-    <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
+    <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">
          Technical Report 1</a>.
     </p><p>
     The implementation status of TR1 in libstdc++ can be tracked <a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">on the TR1 status
     page</a>.
-    </p></td></tr><tr class="question" title="7.6."><td align="left" valign="top"><a id="faq.get_iso_cxx"/><a id="q-get_iso_cxx"/><p><strong>7.6.</strong></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.6."><td align="left" valign="top"><a id="faq.get_iso_cxx"></a><a id="q-get_iso_cxx"></a><p><strong>7.6.</strong></p></td><td align="left" valign="top"><p>How do I get a copy of the ISO C++ Standard?
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-get_iso_cxx"></a></td><td align="left" valign="top"><p>
     Copies of the full ISO 14882 standard are available on line via
     the ISO mirror site for committee members.  Non-members, or those
     who have not paid for the privilege of sitting on the committee
     get a copy of the standard from their respective national
     standards organization.  In the USA, this national standards
     organization is ANSI and their website is
-    right <a class="link" href="http://www.ansi.org">here</a>.  (And if
+    right <a class="link" href="http://www.ansi.org" target="_top">here</a>.  (And if
     you've already registered with them, clicking this link will take
     you to directly to the place where you can
-    <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</a>.
+    <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003" target="_top">buy the standard on-line</a>.
     </p><p>
     Who is your country's member body?  Visit the
-    <a class="link" href="http://www.iso.ch/">ISO homepage</a> and find out!
+    <a class="link" href="http://www.iso.ch/" target="_top">ISO homepage</a> and find out!
     </p><p>
     The 2003 version of the standard (the 1998 version plus TC1) is
     available in print, ISBN 0-470-84674-7.
-    </p></td></tr><tr class="question" title="7.7."><td align="left" valign="top"><a id="faq.what_is_abi"/><a id="q-what_is_abi"/><p><strong>7.7.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.7."><td align="left" valign="top"><a id="faq.what_is_abi"></a><a id="q-what_is_abi"></a><p><strong>7.7.</strong></p></td><td align="left" valign="top"><p>
       What's an ABI and why is it so messy?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_abi"></a></td><td align="left" valign="top"><p>
     <acronym class="acronym">ABI</acronym> stands for <span class="quote">“<span class="quote">Application Binary
      Interface</span>”</span>.  Conventionally, it refers to a great
     mass of details about how arguments are arranged on the call
     so they may later be changed.  Deciding which, and implementing
     the decisions, must happen before you can reasonably document a
     candidate C++ ABI that encompasses the standard library.
-    </p></td></tr><tr class="question" title="7.8."><td align="left" valign="top"><a id="faq.size_equals_capacity"/><a id="q-size_equals_capacity"/><p><strong>7.8.</strong></p></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="question" title="7.8."><td align="left" valign="top"><a id="faq.size_equals_capacity"></a><a id="q-size_equals_capacity"></a><p><strong>7.8.</strong></p></td><td align="left" valign="top"><p>
       How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
-    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"/></td><td align="left" valign="top"><p>
+    </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-size_equals_capacity"></a></td><td align="left" valign="top"><p>
     The standard idiom for deallocating a <code class="classname">vector&lt;T&gt;</code>'s
     unused memory is to create a temporary copy of the vector and swap their
     contents, e.g. for <code class="classname">vector&lt;T&gt; v</code>
-    </p><div class="literallayout"><p><br/>
-     std::vector&lt;T&gt;(v).swap(v);<br/>
+    </p><div class="literallayout"><p><br />
+     std::vector&lt;T&gt;(v).swap(v);<br />
     </p></div><p>
     The copy will take O(n) time and the swap is constant time.
     </p><p>
     See <a class="link" href="manual/strings.html#strings.string.shrink" 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 align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk03.html">Up</a></td><td align="right"> </td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
+    </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="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
index 4773394..da2248e 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="description" content="Short Contents Copyright 2008, 2009, 2011 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="index.html" title="The GNU C++ Library"/><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td align="left"> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr/></div><div class="set" title="The GNU C++ Library" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"/>The GNU C++ Library</h1></div><div><div class="abstract" title="Short Contents"><a id="contents"/><p class="title"><strong>Short Contents</strong></p><p>
+<!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>The GNU C++ Library</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="description" content="Short Contents Copyright 2008, 2009, 2011 FSF Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. This is the top level of the libstdc++ documentation set. The documentation is divided into the following three sections. Manual Frequently Asked Questions API and Source Documentation" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="index.html" title="The GNU C++ Library" /><link rel="next" href="manual/index.html" title="The GNU C++ Library Manual" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr></table><hr /></div><div class="set" title="The GNU C++ Library" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="set-index"></a>The GNU C++ Library</h1></div><div><div class="abstract" title="Short Contents"><a id="contents"></a><p class="title"><strong>Short Contents</strong></p><p>
       Copyright 2008, 2009, 2011       
-      <a class="link" href="http://www.fsf.org/">FSF
+      <a class="link" href="http://www.fsf.org/" target="_top">FSF
       </a>
     </p><p>
       Permission is granted to copy, distribute and/or modify this
       This is the top level of the libstdc++ documentation set.  The
       documentation is divided into the following three sections.
     </p><p>
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            <a class="link" href="manual/index.html" title="The GNU C++ Library Manual">Manual</a>
          </p></li><li class="listitem"><p>
            <a class="link" href="faq.html" title="Frequently Asked Questions">Frequently Asked Questions</a>
          </p></li><li class="listitem"><p>
            <a class="link" href="api.html" title="The GNU C++ Library API Reference">API and Source Documentation</a>
          </p></li></ul></div><p>
-    </p></div></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I. 
+    </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I. 
   Introduction
   
 </a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="manual/status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="section"><a href="manual/make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/bk01pt02.html">II. 
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="manual/diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/utilities.html">6. 
   Utilities
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="manual/pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="manual/memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp13894640">Interface Design</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp13898192">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp13911488">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="manual/memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="manual/memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp15484560">Class Hierarchy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15507072">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15514368">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15528992">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="manual/memory.html#idp15545344">Examples</a></span></dt><dt><span class="section"><a href="manual/memory.html#idp15548928">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/strings.html">7. 
   Strings
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="manual/strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="manual/strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/localization.html">8. 
   Localization
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="manual/localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="manual/localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#idp15752864">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="manual/facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="manual/facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="manual/facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="manual/facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/containers.html">9. 
   Containers
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="manual/associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="manual/associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="manual/associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="manual/containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/iterators.html">10. 
@@ -65,7 +65,7 @@
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/extensions.html">III. 
   Extensions
   
-</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="manual/ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="manual/debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
+</a></span></dt><dd><dl><dt><span class="preface"><a href="manual/bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="manual/ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="manual/debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
     debug-mode components</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="manual/parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="manual/profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="manual/profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="manual/mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="manual/policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.configuring">
            Configuring via Template Parameters
          </a></span></dt><dt><span class="section"><a href="manual/policy_data_structures_using.html#pbds.using.tutorial.traits">
          Text <code class="function">modify</code> Up
        </a></span></dt><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
          Text <code class="function">modify</code> Down
-       </a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="manual/policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="manual/policy_data_structures.html#pbds.biblio">
-       Bibliography
-      </a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="manual/ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="manual/ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="manual/ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="manual/ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="manual/ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/bk01pt04.html">IV. 
+       </a></span></dt></dl></dd><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="manual/policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="manual/policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="manual/policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="manual/ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="manual/ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="manual/ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="manual/ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="manual/ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="manual/ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="manual/bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="manual/bk01pt04.html">IV. 
   Appendices
 </a></span></dt><dd><dl><dt><span class="appendix"><a href="manual/appendix_contributing.html">A. 
   Contributing
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="manual/appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="manual/appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="manual/appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="manual/source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="manual/source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="manual/source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="manual/source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="manual/source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="manual/appendix_porting.html">B. 
   Porting and Maintenance
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="manual/documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="manual/documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="manual/internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="manual/test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="manual/test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="manual/test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="manual/test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="manual/test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.exception.safety">
+</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="manual/appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="manual/documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="manual/documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="manual/documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="manual/internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="manual/internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="manual/test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="manual/test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="manual/test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="manual/test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="manual/test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="manual/test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.exception.safety">
   Qualifying Exception Safety Guarantees
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="manual/test.html#test.exception.safety.overview">Overview</a></span></dt><dt><span class="section"><a href="manual/test.html#test.exception.safety.status">
@@ -165,4 +163,4 @@ Support for C++11 dialect.
   
 </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gpl.html">D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
-  </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></dd><dt><span class="book"><a href="bk02.html"/></span></dt><dd><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></dd><dt><span class="book"><a href="bk03.html"/></span></dt><dd><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"> </td><td align="right" valign="top"> The GNU C++ Library Manual</td></tr></table></div></body></html>
+  </a></span></dt><dt><span class="appendix"><a href="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></dd><dt><span class="book"><a href="bk02.html"></a></span></dt><dd><dl><dt><span class="article"><a href="api.html">The GNU C++ Library API Reference</a></span></dt></dl></dd><dt><span class="book"><a href="bk03.html"></a></span></dt><dd><dl><dt><span class="article"><a href="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="manual/index.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> The GNU C++ Library Manual</td></tr></table></div></body></html>
index 979f60a..611d425 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      ABI&#10;    , &#10;      version&#10;    , &#10;      dynamic&#10;    , &#10;      shared&#10;    , &#10;      compatibility&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="test.html" title="Test"/><link rel="next" href="api.html" title="API Evolution and Deprecation History"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>ABI Policy and Guidelines</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      ABI&#10;    , &#10;      version&#10;    , &#10;      dynamic&#10;    , &#10;      shared&#10;    , &#10;      compatibility&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="test.html" title="Test" /><link rel="next" href="api.html" title="API Evolution and Deprecation History" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ABI Policy and Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr/></div><div class="section" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.abi"/>ABI Policy and Guidelines</h2></div></div></div><p>
-</p><div class="section" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"/>The C++ Interface</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="section" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
+</p><div class="section" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
   C++ applications often depend on specific language support
   routines, say for throwing exceptions, or catching exceptions, and
   perhaps also depend on features in the C++ Standard Library.
@@ -21,7 +21,7 @@
   virtual functions, etc. These details are defined as the compiler
   Application Binary Interface, or ABI. The GNU C++ compiler uses an
   industry-standard C++ ABI starting with version 3. Details can be
-  found in the <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html">ABI
+  found in the <a class="link" href="http://mentorembedded.github.com/cxx-abi/abi.html" target="_top">ABI
   specification</a>.
 </p><p>
  The GNU C++ compiler, g++, has a compiler command line option to
@@ -30,7 +30,7 @@
   g++ command line options may change the ABI as a side-effect of
   use. Such flags include <code class="code">-fpack-struct</code> and
   <code class="code">-fno-exceptions</code>, but include others: see the complete
-  list in the GCC manual under the heading <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options">Options
+  list in the GCC manual under the heading <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options" target="_top">Options
   for Code Generation Conventions</a>.
 </p><p>
   The configure options used when building a specific libstdc++
@@ -58,10 +58,10 @@ given compiler ABI. In a nutshell:
   To use a specific version of the C++ ABI, one must use a
   corresponding GNU C++ toolchain (i.e., g++ and libstdc++) that
   implements the C++ ABI in question.
-</p></div><div class="section" title="Versioning"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"/>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
+</p></div><div class="section" title="Versioning"><div class="titlepage"><div><div><h3 class="title"><a id="abi.versioning"></a>Versioning</h3></div></div></div><p> The C++ interface has evolved throughout the history of the GNU
 C++ toolchain. With each release, various details have been changed so
 as to give distinct versions to the C++ interface.
-</p><div class="section" title="Goals"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"/>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
+</p><div class="section" title="Goals"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.goals"></a>Goals</h4></div></div></div><p>Extending existing, stable ABIs. Versioning gives subsequent
 releases of library binaries the ability to add new symbols and add
 functionality, all the while retaining compatibility with the previous
 releases in the series. Thus, program binaries linked with the initial
@@ -75,7 +75,7 @@ binary in a release series (with additional symbols added), substitute
 in the initial release of the library binary, and remain link
 compatible.
 </p><p>Allows multiple, incompatible ABIs to coexist at the same time.
-</p></div><div class="section" title="History"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"/>History</h4></div></div></div><p>
+</p></div><div class="section" title="History"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.history"></a>History</h4></div></div></div><p>
  How can this complexity be managed? What does C++ versioning mean?
   Because library and compiler changes often make binaries compiled
   with one version of the GNU tools incompatible with binaries
@@ -84,12 +84,12 @@ compatible.
   easier.
 </p><p>
   The following techniques are used:
-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Release versioning on the libgcc_s.so binary. </p><p>This is implemented via file names and the ELF
     <code class="constant">DT_SONAME</code> mechanism (at least on ELF
     systems). It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.x: libgcc_s.so.1</p></li><li class="listitem"><p>GCC 4.x: libgcc_s.so.1</p></li></ul></div><p>For m68k-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.4, GCC 4.x: libgcc_s.so.1
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.x: libgcc_s.so.1</p></li><li class="listitem"><p>GCC 4.x: libgcc_s.so.1</p></li></ul></div><p>For m68k-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.4, GCC 4.x: libgcc_s.so.1
     when configuring <code class="code">--with-sjlj-exceptions</code>, or
-    libgcc_s.so.2 </p></li></ul></div><p>For hppa-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.4, GCC 4.[0-1]: either libgcc_s.so.1
+    libgcc_s.so.2 </p></li></ul></div><p>For hppa-linux the versions differ as follows: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.4, GCC 4.[0-1]: either libgcc_s.so.1
     when configuring <code class="code">--with-sjlj-exceptions</code>, or
     libgcc_s.so.2 </p></li><li class="listitem"><p>GCC 4.[2-7]: either libgcc_s.so.3 when configuring
     <code class="code">--with-sjlj-exceptions</code>) or libgcc_s.so.4
@@ -97,7 +97,7 @@ compatible.
    definitions, where the version definition is the maximum for a
    particular release. Labels are cumulative. If a particular release
    is not listed, it has the same version labels as the preceding
-   release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: GCC_3.0</p></li><li class="listitem"><p>GCC 3.3.0: GCC_3.3</p></li><li class="listitem"><p>GCC 3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>GCC 3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>GCC 3.4.0: GCC_3.4</p></li><li class="listitem"><p>GCC 3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>GCC 3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>GCC 4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>GCC 4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>GCC 4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>GCC 4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>GCC 4.4.0: GCC_4.4.0</p></li><li class="listitem"><p>GCC 4.5.0: GCC_4.5.0</p></li><li class="listitem"><p>GCC 4.6.0: GCC_4.6.0</p></li><li class="listitem"><p>GCC 4.7.0: GCC_4.7.0</p></li></ul></div></li><li class="listitem"><p>
+   release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: GCC_3.0</p></li><li class="listitem"><p>GCC 3.3.0: GCC_3.3</p></li><li class="listitem"><p>GCC 3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>GCC 3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>GCC 3.4.0: GCC_3.4</p></li><li class="listitem"><p>GCC 3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>GCC 3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>GCC 4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>GCC 4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>GCC 4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>GCC 4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>GCC 4.4.0: GCC_4.4.0</p></li><li class="listitem"><p>GCC 4.5.0: GCC_4.5.0</p></li><li class="listitem"><p>GCC 4.6.0: GCC_4.6.0</p></li><li class="listitem"><p>GCC 4.7.0: GCC_4.7.0</p></li></ul></div></li><li class="listitem"><p>
        Release versioning on the libstdc++.so binary, implemented in
        the same way as the libgcc_s.so binary above. Listed is the
        filename: <code class="constant">DT_SONAME</code> can be deduced from
@@ -112,13 +112,13 @@ compatible.
        has the same filename and <code class="constant">DT_SONAME</code> as the
        preceding release.
       </p><p>It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li></ul></div><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: libstdc++.so.3.0.0</p></li><li class="listitem"><p>GCC 3.0.1: libstdc++.so.3.0.1</p></li><li class="listitem"><p>GCC 3.0.2: libstdc++.so.3.0.2</p></li><li class="listitem"><p>GCC 3.0.3: libstdc++.so.3.0.2 (See Note 1)</p></li><li class="listitem"><p>GCC 3.0.4: libstdc++.so.3.0.4</p></li><li class="listitem"><p>GCC 3.1.0: libstdc++.so.4.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.1.1: libstdc++.so.4.0.1</p></li><li class="listitem"><p>GCC 3.2.0: libstdc++.so.5.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.2.1: libstdc++.so.5.0.1</p></li><li class="listitem"><p>GCC 3.2.2: libstdc++.so.5.0.2</p></li><li class="listitem"><p>GCC 3.2.3: libstdc++.so.5.0.3 (See Note 2)</p></li><li class="listitem"><p>GCC 3.3.0: libstdc++.so.5.0.4</p></li><li class="listitem"><p>GCC 3.3.1: libstdc++.so.5.0.5</p></li><li class="listitem"><p>GCC 3.4.0: libstdc++.so.6.0.0 <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li><li class="listitem"><p>GCC 3.4.1: libstdc++.so.6.0.1</p></li><li class="listitem"><p>GCC 3.4.2: libstdc++.so.6.0.2</p></li><li class="listitem"><p>GCC 3.4.3: libstdc++.so.6.0.3</p></li><li class="listitem"><p>GCC 4.0.0: libstdc++.so.6.0.4</p></li><li class="listitem"><p>GCC 4.0.1: libstdc++.so.6.0.5</p></li><li class="listitem"><p>GCC 4.0.2: libstdc++.so.6.0.6</p></li><li class="listitem"><p>GCC 4.0.3: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.0: libstdc++.so.6.0.7</p></li><li class="listitem"><p>GCC 4.1.1: libstdc++.so.6.0.8</p></li><li class="listitem"><p>GCC 4.2.0: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.2.1: libstdc++.so.6.0.9 (See Note 3)</p></li><li class="listitem"><p>GCC 4.2.2: libstdc++.so.6.0.9</p></li><li class="listitem"><p>GCC 4.3.0: libstdc++.so.6.0.10</p></li><li class="listitem"><p>GCC 4.4.0: libstdc++.so.6.0.11</p></li><li class="listitem"><p>GCC 4.4.1: libstdc++.so.6.0.12</p></li><li class="listitem"><p>GCC 4.4.2: libstdc++.so.6.0.13</p></li><li class="listitem"><p>GCC 4.5.0: libstdc++.so.6.0.14</p></li><li class="listitem"><p>GCC 4.6.0: libstdc++.so.6.0.15</p></li><li class="listitem"><p>GCC 4.6.1: libstdc++.so.6.0.16</p></li></ul></div><p>
       Note 1: Error should be libstdc++.so.3.0.3.
     </p><p>
       Note 2: Not strictly required.
     </p><p>
       Note 3: This release (but not previous or subsequent) has one
-      known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678">33678</a>
+      known incompatibility, see <a class="link" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
       in the GCC bug database.
     </p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++-v3/config/abi/pre/gnu.ver</p><p>It is versioned with the following labels and version
    definitions, where the version definition is the maximum for a
@@ -130,7 +130,7 @@ compatible.
    GLIBCPP_3.2 for symbols that were introduced in the GCC 3.2.0
    release.) If a particular release is not listed, it has the same
    version labels as the preceding release.
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.1: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.2: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.3: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.4: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.2: GLIBCXX_3.4.2</p></li><li class="listitem"><p>GCC 3.4.3: GLIBCXX_3.4.3</p></li><li class="listitem"><p>GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li class="listitem"><p>GCC 4.0.1: GLIBCXX_3.4.5</p></li><li class="listitem"><p>GCC 4.0.2: GLIBCXX_3.4.6</p></li><li class="listitem"><p>GCC 4.0.3: GLIBCXX_3.4.7</p></li><li class="listitem"><p>GCC 4.1.1: GLIBCXX_3.4.8</p></li><li class="listitem"><p>GCC 4.2.0: GLIBCXX_3.4.9</p></li><li class="listitem"><p>GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li class="listitem"><p>GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</p></li><li class="listitem"><p>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</p></li><li class="listitem"><p>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</p></li></ul></div></li><li class="listitem"><p>Incremental bumping of a compiler pre-defined macro,
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.1: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.2: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.3: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.0.4: (Error, not versioned)</p></li><li class="listitem"><p>GCC 3.1.0: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.1.1: GLIBCPP_3.1, CXXABI_1</p></li><li class="listitem"><p>GCC 3.2.0: GLIBCPP_3.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.1: GLIBCPP_3.2.1, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.2: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.2.3: GLIBCPP_3.2.2, CXXABI_1.2</p></li><li class="listitem"><p>GCC 3.3.0: GLIBCPP_3.2.2, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.1: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.2: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.3.3: GLIBCPP_3.2.3, CXXABI_1.2.1</p></li><li class="listitem"><p>GCC 3.4.0: GLIBCXX_3.4, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.1: GLIBCXX_3.4.1, CXXABI_1.3</p></li><li class="listitem"><p>GCC 3.4.2: GLIBCXX_3.4.2</p></li><li class="listitem"><p>GCC 3.4.3: GLIBCXX_3.4.3</p></li><li class="listitem"><p>GCC 4.0.0: GLIBCXX_3.4.4, CXXABI_1.3.1</p></li><li class="listitem"><p>GCC 4.0.1: GLIBCXX_3.4.5</p></li><li class="listitem"><p>GCC 4.0.2: GLIBCXX_3.4.6</p></li><li class="listitem"><p>GCC 4.0.3: GLIBCXX_3.4.7</p></li><li class="listitem"><p>GCC 4.1.1: GLIBCXX_3.4.8</p></li><li class="listitem"><p>GCC 4.2.0: GLIBCXX_3.4.9</p></li><li class="listitem"><p>GCC 4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</p></li><li class="listitem"><p>GCC 4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.1: GLIBCXX_3.4.12, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.4.2: GLIBCXX_3.4.13, CXXABI_1.3.3</p></li><li class="listitem"><p>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</p></li><li class="listitem"><p>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</p></li><li class="listitem"><p>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</p></li></ul></div></li><li class="listitem"><p>Incremental bumping of a compiler pre-defined macro,
     __GXX_ABI_VERSION. This macro is defined as the version of the
     compiler v3 ABI, with g++ 3.0 being version 100. This macro will
     be automatically defined whenever g++ is used (the curious can
@@ -142,11 +142,11 @@ compatible.
     '-fabi-version' command line option.
     </p><p>
     It is versioned as follows, where 'n' is given by '-fabi-version=n':
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0: 100</p></li><li class="listitem"><p>GCC 3.1: 100 (Error, should be 101)</p></li><li class="listitem"><p>GCC 3.2: 102</p></li><li class="listitem"><p>GCC 3.3: 102</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 102 (when n=1)</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 1000 + n (when n&gt;1) </p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 999999 (when n=0)</p></li></ul></div><p/></li><li class="listitem"><p>Changes to the default compiler option for
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0: 100</p></li><li class="listitem"><p>GCC 3.1: 100 (Error, should be 101)</p></li><li class="listitem"><p>GCC 3.2: 102</p></li><li class="listitem"><p>GCC 3.3: 102</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 102 (when n=1)</p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 1000 + n (when n&gt;1) </p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: 999999 (when n=0)</p></li></ul></div><p></p></li><li class="listitem"><p>Changes to the default compiler option for
     <code class="code">-fabi-version</code>.
     </p><p>
     It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.1: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.2: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.3: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p/></li><li class="listitem"><p>Incremental bumping of a library pre-defined macro. For releases
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.1: (Error, not versioned) </p></li><li class="listitem"><p>GCC 3.2: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.3: <code class="code">-fabi-version=1</code></p></li><li class="listitem"><p>GCC 3.4, GCC 4.x: <code class="code">-fabi-version=2</code> <span class="emphasis"><em>(Incompatible with previous)</em></span></p></li></ul></div><p></p></li><li class="listitem"><p>Incremental bumping of a library pre-defined macro. For releases
     before 3.4.0, the macro is __GLIBCPP__. For later releases, it's
     __GLIBCXX__. (The libstdc++ project generously changed from CPP to
     CXX throughout its source to allow the "C" pre-processor the CPP
@@ -159,7 +159,7 @@ compatible.
     the same value as gcc/DATESTAMP.)
     </p><p>
     It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: 20010615</p></li><li class="listitem"><p>GCC 3.0.1: 20010819</p></li><li class="listitem"><p>GCC 3.0.2: 20011023</p></li><li class="listitem"><p>GCC 3.0.3: 20011220</p></li><li class="listitem"><p>GCC 3.0.4: 20020220</p></li><li class="listitem"><p>GCC 3.1.0: 20020514</p></li><li class="listitem"><p>GCC 3.1.1: 20020725</p></li><li class="listitem"><p>GCC 3.2.0: 20020814</p></li><li class="listitem"><p>GCC 3.2.1: 20021119</p></li><li class="listitem"><p>GCC 3.2.2: 20030205</p></li><li class="listitem"><p>GCC 3.2.3: 20030422</p></li><li class="listitem"><p>GCC 3.3.0: 20030513</p></li><li class="listitem"><p>GCC 3.3.1: 20030804</p></li><li class="listitem"><p>GCC 3.3.2: 20031016</p></li><li class="listitem"><p>GCC 3.3.3: 20040214</p></li><li class="listitem"><p>GCC 3.4.0: 20040419</p></li><li class="listitem"><p>GCC 3.4.1: 20040701</p></li><li class="listitem"><p>GCC 3.4.2: 20040906</p></li><li class="listitem"><p>GCC 3.4.3: 20041105</p></li><li class="listitem"><p>GCC 3.4.4: 20050519</p></li><li class="listitem"><p>GCC 3.4.5: 20051201</p></li><li class="listitem"><p>GCC 3.4.6: 20060306</p></li><li class="listitem"><p>GCC 4.0.0: 20050421</p></li><li class="listitem"><p>GCC 4.0.1: 20050707</p></li><li class="listitem"><p>GCC 4.0.2: 20050921</p></li><li class="listitem"><p>GCC 4.0.3: 20060309</p></li><li class="listitem"><p>GCC 4.1.0: 20060228</p></li><li class="listitem"><p>GCC 4.1.1: 20060524</p></li><li class="listitem"><p>GCC 4.1.2: 20070214</p></li><li class="listitem"><p>GCC 4.2.0: 20070514</p></li><li class="listitem"><p>GCC 4.2.1: 20070719</p></li><li class="listitem"><p>GCC 4.2.2: 20071007</p></li><li class="listitem"><p>GCC 4.2.3: 20080201</p></li><li class="listitem"><p>GCC 4.2.4: 20080519</p></li><li class="listitem"><p>GCC 4.3.0: 20080306</p></li><li class="listitem"><p>GCC 4.3.1: 20080606</p></li><li class="listitem"><p>GCC 4.3.2: 20080827</p></li><li class="listitem"><p>GCC 4.3.3: 20090124</p></li><li class="listitem"><p>GCC 4.3.4: 20090804</p></li><li class="listitem"><p>GCC 4.3.5: 20100522</p></li><li class="listitem"><p>GCC 4.3.6: 20110627</p></li><li class="listitem"><p>GCC 4.4.0: 20090421</p></li><li class="listitem"><p>GCC 4.4.1: 20090722</p></li><li class="listitem"><p>GCC 4.4.2: 20091015</p></li><li class="listitem"><p>GCC 4.4.3: 20100121</p></li><li class="listitem"><p>GCC 4.4.4: 20100429</p></li><li class="listitem"><p>GCC 4.4.5: 20101001</p></li><li class="listitem"><p>GCC 4.4.6: 20110416</p></li><li class="listitem"><p>GCC 4.5.0: 20100414</p></li><li class="listitem"><p>GCC 4.5.1: 20100731</p></li><li class="listitem"><p>GCC 4.5.2: 20101216</p></li><li class="listitem"><p>GCC 4.5.3: 20110428</p></li><li class="listitem"><p>GCC 4.6.0: 20110325</p></li><li class="listitem"><p>GCC 4.6.1: 20110627</p></li><li class="listitem"><p>GCC 4.6.2: 20111026</p></li></ul></div><p/></li><li class="listitem"><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: 20010615</p></li><li class="listitem"><p>GCC 3.0.1: 20010819</p></li><li class="listitem"><p>GCC 3.0.2: 20011023</p></li><li class="listitem"><p>GCC 3.0.3: 20011220</p></li><li class="listitem"><p>GCC 3.0.4: 20020220</p></li><li class="listitem"><p>GCC 3.1.0: 20020514</p></li><li class="listitem"><p>GCC 3.1.1: 20020725</p></li><li class="listitem"><p>GCC 3.2.0: 20020814</p></li><li class="listitem"><p>GCC 3.2.1: 20021119</p></li><li class="listitem"><p>GCC 3.2.2: 20030205</p></li><li class="listitem"><p>GCC 3.2.3: 20030422</p></li><li class="listitem"><p>GCC 3.3.0: 20030513</p></li><li class="listitem"><p>GCC 3.3.1: 20030804</p></li><li class="listitem"><p>GCC 3.3.2: 20031016</p></li><li class="listitem"><p>GCC 3.3.3: 20040214</p></li><li class="listitem"><p>GCC 3.4.0: 20040419</p></li><li class="listitem"><p>GCC 3.4.1: 20040701</p></li><li class="listitem"><p>GCC 3.4.2: 20040906</p></li><li class="listitem"><p>GCC 3.4.3: 20041105</p></li><li class="listitem"><p>GCC 3.4.4: 20050519</p></li><li class="listitem"><p>GCC 3.4.5: 20051201</p></li><li class="listitem"><p>GCC 3.4.6: 20060306</p></li><li class="listitem"><p>GCC 4.0.0: 20050421</p></li><li class="listitem"><p>GCC 4.0.1: 20050707</p></li><li class="listitem"><p>GCC 4.0.2: 20050921</p></li><li class="listitem"><p>GCC 4.0.3: 20060309</p></li><li class="listitem"><p>GCC 4.1.0: 20060228</p></li><li class="listitem"><p>GCC 4.1.1: 20060524</p></li><li class="listitem"><p>GCC 4.1.2: 20070214</p></li><li class="listitem"><p>GCC 4.2.0: 20070514</p></li><li class="listitem"><p>GCC 4.2.1: 20070719</p></li><li class="listitem"><p>GCC 4.2.2: 20071007</p></li><li class="listitem"><p>GCC 4.2.3: 20080201</p></li><li class="listitem"><p>GCC 4.2.4: 20080519</p></li><li class="listitem"><p>GCC 4.3.0: 20080306</p></li><li class="listitem"><p>GCC 4.3.1: 20080606</p></li><li class="listitem"><p>GCC 4.3.2: 20080827</p></li><li class="listitem"><p>GCC 4.3.3: 20090124</p></li><li class="listitem"><p>GCC 4.3.4: 20090804</p></li><li class="listitem"><p>GCC 4.3.5: 20100522</p></li><li class="listitem"><p>GCC 4.3.6: 20110627</p></li><li class="listitem"><p>GCC 4.4.0: 20090421</p></li><li class="listitem"><p>GCC 4.4.1: 20090722</p></li><li class="listitem"><p>GCC 4.4.2: 20091015</p></li><li class="listitem"><p>GCC 4.4.3: 20100121</p></li><li class="listitem"><p>GCC 4.4.4: 20100429</p></li><li class="listitem"><p>GCC 4.4.5: 20101001</p></li><li class="listitem"><p>GCC 4.4.6: 20110416</p></li><li class="listitem"><p>GCC 4.5.0: 20100414</p></li><li class="listitem"><p>GCC 4.5.1: 20100731</p></li><li class="listitem"><p>GCC 4.5.2: 20101216</p></li><li class="listitem"><p>GCC 4.5.3: 20110428</p></li><li class="listitem"><p>GCC 4.6.0: 20110325</p></li><li class="listitem"><p>GCC 4.6.1: 20110627</p></li><li class="listitem"><p>GCC 4.6.2: 20111026</p></li></ul></div><p></p></li><li class="listitem"><p>
     Incremental bumping of a library pre-defined macro,
     _GLIBCPP_VERSION. This macro is defined as the released version of
     the library, as a string literal. This is only implemented in
@@ -172,7 +172,7 @@ compatible.
     of config.h.
     </p><p>
     It is versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: "3.0.0"</p></li><li class="listitem"><p>GCC 3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li class="listitem"><p>GCC 3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li class="listitem"><p>GCC 3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li class="listitem"><p>GCC 3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li class="listitem"><p>GCC 3.1.0: "3.1.0"</p></li><li class="listitem"><p>GCC 3.1.1: "3.1.1"</p></li><li class="listitem"><p>GCC 3.2.0: "3.2"</p></li><li class="listitem"><p>GCC 3.2.1: "3.2.1"</p></li><li class="listitem"><p>GCC 3.2.2: "3.2.2"</p></li><li class="listitem"><p>GCC 3.2.3: "3.2.3"</p></li><li class="listitem"><p>GCC 3.3.0: "3.3"</p></li><li class="listitem"><p>GCC 3.3.1: "3.3.1"</p></li><li class="listitem"><p>GCC 3.3.2: "3.3.2"</p></li><li class="listitem"><p>GCC 3.3.3: "3.3.3"</p></li><li class="listitem"><p>GCC 3.4: "version-unused"</p></li><li class="listitem"><p>GCC 4.x: "version-unused"</p></li></ul></div><p/></li><li class="listitem"><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: "3.0.0"</p></li><li class="listitem"><p>GCC 3.0.1: "3.0.0" (Error, should be "3.0.1")</p></li><li class="listitem"><p>GCC 3.0.2: "3.0.0" (Error, should be "3.0.2")</p></li><li class="listitem"><p>GCC 3.0.3: "3.0.0" (Error, should be "3.0.3")</p></li><li class="listitem"><p>GCC 3.0.4: "3.0.0" (Error, should be "3.0.4")</p></li><li class="listitem"><p>GCC 3.1.0: "3.1.0"</p></li><li class="listitem"><p>GCC 3.1.1: "3.1.1"</p></li><li class="listitem"><p>GCC 3.2.0: "3.2"</p></li><li class="listitem"><p>GCC 3.2.1: "3.2.1"</p></li><li class="listitem"><p>GCC 3.2.2: "3.2.2"</p></li><li class="listitem"><p>GCC 3.2.3: "3.2.3"</p></li><li class="listitem"><p>GCC 3.3.0: "3.3"</p></li><li class="listitem"><p>GCC 3.3.1: "3.3.1"</p></li><li class="listitem"><p>GCC 3.3.2: "3.3.2"</p></li><li class="listitem"><p>GCC 3.3.3: "3.3.3"</p></li><li class="listitem"><p>GCC 3.4: "version-unused"</p></li><li class="listitem"><p>GCC 4.x: "version-unused"</p></li></ul></div><p></p></li><li class="listitem"><p>
     Matching each specific C++ compiler release to a specific set of
     C++ include files. This is only implemented in GCC 3.1.1 releases
     and higher.
@@ -185,13 +185,13 @@ compatible.
     file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before GCC 3.4.0).
     </p><p>
     C++ includes are versioned as follows:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>GCC 3.0.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.1: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.2: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.3: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.4: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.1: include/c++/3.1.1</p></li><li class="listitem"><p>GCC 3.2.0: include/c++/3.2</p></li><li class="listitem"><p>GCC 3.2.1: include/c++/3.2.1</p></li><li class="listitem"><p>GCC 3.2.2: include/c++/3.2.2</p></li><li class="listitem"><p>GCC 3.2.3: include/c++/3.2.3</p></li><li class="listitem"><p>GCC 3.3.0: include/c++/3.3</p></li><li class="listitem"><p>GCC 3.3.1: include/c++/3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: include/c++/3.3.2</p></li><li class="listitem"><p>GCC 3.3.3: include/c++/3.3.3</p></li><li class="listitem"><p>GCC 3.4.x: include/c++/3.4.x</p></li><li class="listitem"><p>GCC 4.x.y: include/c++/4.x.y</p></li></ul></div><p/></li></ol></div><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>GCC 3.0.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.1: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.2: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.3: include/g++-v3</p></li><li class="listitem"><p>GCC 3.0.4: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.0: include/g++-v3</p></li><li class="listitem"><p>GCC 3.1.1: include/c++/3.1.1</p></li><li class="listitem"><p>GCC 3.2.0: include/c++/3.2</p></li><li class="listitem"><p>GCC 3.2.1: include/c++/3.2.1</p></li><li class="listitem"><p>GCC 3.2.2: include/c++/3.2.2</p></li><li class="listitem"><p>GCC 3.2.3: include/c++/3.2.3</p></li><li class="listitem"><p>GCC 3.3.0: include/c++/3.3</p></li><li class="listitem"><p>GCC 3.3.1: include/c++/3.3.1</p></li><li class="listitem"><p>GCC 3.3.2: include/c++/3.3.2</p></li><li class="listitem"><p>GCC 3.3.3: include/c++/3.3.3</p></li><li class="listitem"><p>GCC 3.4.x: include/c++/3.4.x</p></li><li class="listitem"><p>GCC 4.x.y: include/c++/4.x.y</p></li></ul></div><p></p></li></ol></div><p>
   Taken together, these techniques can accurately specify interface
   and implementation changes in the GNU C++ tools themselves. Used
   properly, they allow both the GNU C++ tools implementation, and
   programs using them, an evolving yet controlled development that
   maintains backward compatibility.
-</p></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"/>Prerequisites</h4></div></div></div><p>
+</p></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
       Minimum environment that supports a versioned ABI: A supported
       dynamic linker, a GNU linker of sufficient vintage to understand
       demangled C++ name globbing (ld) or the Sun linker, a shared
@@ -206,7 +206,7 @@ compatible.
       Most modern GNU/Linux and BSD versions, particularly ones using
       GCC 3.1 and later, will meet the
       requirements above, as does Solaris 2.5 and up.
-    </p></div><div class="section" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"/>Configuring</h4></div></div></div><p>
+    </p></div><div class="section" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
       It turns out that most of the configure options that change
       default behavior will impact the mangled names of exported
       symbols, and thus impact versioning and compatibility.
@@ -224,7 +224,7 @@ compatible.
       attempts to make sure that all the requirement for symbol
       versioning are in place. For more information, please consult
       acinclude.m4.
-    </p></div><div class="section" title="Checking Active"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"/>Checking Active</h4></div></div></div><p>
+    </p></div><div class="section" title="Checking Active"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.active"></a>Checking Active</h4></div></div></div><p>
       When the GNU C++ library is being built with symbol versioning
       on, you should see the following at configure time for
       libstdc++:
@@ -272,16 +272,16 @@ On Solaris 2, you can use <code class="code">pvs -r</code> instead:
         libc.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
 </pre><p>
 <code class="code">ldd -v</code> works too, but is very verbose.
-</p></div></div><div class="section" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"/>Allowed Changes</h3></div></div></div><p>
+</p></div></div><div class="section" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
 The following will cause the library minor version number to
 increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Adding an exported global or static data member</p></li><li class="listitem"><p>Adding an exported function, static or non-virtual member function</p></li><li class="listitem"><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Adding an exported global or static data member</p></li><li class="listitem"><p>Adding an exported function, static or non-virtual member function</p></li><li class="listitem"><p>Adding an exported symbol or symbols by additional instantiations</p></li></ol></div><p>
 Other allowed changes are possible.
-</p></div><div class="section" title="Prohibited Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"/>Prohibited Changes</h3></div></div></div><p>
+</p></div><div class="section" title="Prohibited Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_no"></a>Prohibited Changes</h3></div></div></div><p>
 The following non-exhaustive list will cause the library major version
 number to increase, say from "libstdc++.so.3.0.4" to
 "libstdc++.so.4.0.0".
-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Changes in the gcc/g++ compiler ABI</p></li><li class="listitem"><p>Changing size of an exported symbol</p></li><li class="listitem"><p>Changing alignment of an exported symbol</p></li><li class="listitem"><p>Changing the layout of an exported symbol</p></li><li class="listitem"><p>Changing mangling on an exported symbol</p></li><li class="listitem"><p>Deleting an exported symbol</p></li><li class="listitem"><p>Changing the inheritance properties of a type by adding or removing
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Changes in the gcc/g++ compiler ABI</p></li><li class="listitem"><p>Changing size of an exported symbol</p></li><li class="listitem"><p>Changing alignment of an exported symbol</p></li><li class="listitem"><p>Changing the layout of an exported symbol</p></li><li class="listitem"><p>Changing mangling on an exported symbol</p></li><li class="listitem"><p>Deleting an exported symbol</p></li><li class="listitem"><p>Changing the inheritance properties of a type by adding or removing
     base classes</p></li><li class="listitem"><p>
   Changing the size, alignment, or layout of types
   specified in the C++ standard. These may not necessarily be
@@ -293,10 +293,10 @@ class that would otherwise have implicit versions. This will change
 the way the compiler deals with this class in by-value return
 statements or parameters: instead of passing instances of this
 class in registers, the compiler will be forced to use memory. See the
-section on <a class="link" href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls">Function
+section on <a class="link" href="http://mentorembedded.github.com/cxx-abi/abi.html#calls" target="_top">Function
 Calling Conventions and APIs</a>
  of the C++ ABI documentation for further details.
-</p></li></ol></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"/>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+</p></li></ol></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
      Separation of interface and implementation
    </p><p>
      This is accomplished by two techniques that separate the API from
@@ -344,7 +344,7 @@ exceptional symbols are allowed to be visible.</p></dd><dt><span class="term"><c
 <code class="code">CXXABI</code>, select items are allowed to be visible.</p></dd></dl></div><p>
 </p></li><li class="listitem"><p>Freezing the API</p><p>Disallowed changes, as above, are not made on a stable release
 branch. Enforcement tends to be less strict with GNU extensions that
-standard includes.</p></li></ol></div></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"/>Testing</h3></div></div></div><div class="section" title="Single ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"/>Single ABI Testing</h4></div></div></div><p>
+standard includes.</p></li></ol></div></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="abi.testing"></a>Testing</h3></div></div></div><div class="section" title="Single ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.single"></a>Single ABI Testing</h4></div></div></div><p>
       Testing for GNU C++ ABI changes is composed of two distinct
       areas: testing the C++ compiler (g++) for compiler changes, and
       testing the C++ library (libstdc++) for library changes.
@@ -410,7 +410,7 @@ and other detailed data is not displayed with this flag.
 </p><p>
 Perhaps there are other C++ ABI checkers. If so, please notify
 us. We'd like to know about them!
-</p></div><div class="section" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"/>Multiple ABI Testing</h4></div></div></div><p>
+</p></div><div class="section" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
 A "C" application, dynamically linked to two shared libraries, liba,
 libb. The dependent library liba is a C++ shared library compiled with
 GCC 3.3, and uses io, exceptions, locale, etc. The dependent library
@@ -473,7 +473,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
   This resulting binary, when executed, will be able to safely use
   code from both liba, and the dependent libstdc++.so.6, and libb,
   with the dependent libstdc++.so.5.
-</p></div></div><div class="section" title="Outstanding Issues"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"/>Outstanding Issues</h3></div></div></div><p>
+</p></div></div><div class="section" title="Outstanding Issues"><div class="titlepage"><div><div><h3 class="title"><a id="abi.issues"></a>Outstanding Issues</h3></div></div></div><p>
   Some features in the C++ language make versioning especially
   difficult. In particular, compiler generated constructs such as
   implicit instantiations for templates, typeinfo information, and
@@ -483,54 +483,54 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
 </p><p>
   For more background on this issue, see these bugzilla entries:
 </p><p>
-<a class="link" href="http://gcc.gnu.org/PR24660">24660: versioning weak symbols in libstdc++</a>
+<a class="link" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
 </p><p>
-<a class="link" href="http://gcc.gnu.org/PR19664">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
-</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="ABIcheck"><a id="biblio.abicheck"/><p>[biblio.abicheck] <span class="title"><em>
-       <a class="link" href="http://abicheck.sourceforge.net">
+<a class="link" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
+</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="ABIcheck"><a id="biblio.abicheck"></a><p>[biblio.abicheck] <span class="title"><em>
+       <a class="link" href="http://abicheck.sourceforge.net" target="_top">
          ABIcheck
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="C++ ABI Summary"><a id="biblio.cxxabi"/><p>[biblio.cxxabi] <span class="title"><em>
-       <a class="link" href="http://www.codesourcery.com/public/cxx-abi">
+      </em>. </span></p></div><div class="biblioentry" title="C++ ABI Summary"><a id="biblio.cxxabi"></a><p>[biblio.cxxabi] <span class="title"><em>
+       <a class="link" href="http://www.codesourcery.com/cxx-abi/" target="_top">
          C++ ABI Summary
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="Intel Compilers for Linux Compatibility with the GNU Compilers"><a id="id560115"/><p><span class="title"><em>
-       <a class="link" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm">
+      </em>. </span></p></div><div class="biblioentry" title="Intel Compilers for Linux Compatibility with the GNU Compilers"><a id="idp22905536"></a><p><span class="title"><em>
+       <a class="link" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
        Intel Compilers for Linux Compatibility with the GNU Compilers
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="Linker and Libraries Guide (document 819-0690)"><a id="id560131"/><p><span class="title"><em>
-       <a class="link" href="http://download.oracle.com/docs/cd/E19963-01/html/819-0690/index.html">
+      </em>. </span></p></div><div class="biblioentry" title="Linker and Libraries Guide (document 819-0690)"><a id="idp22907392"></a><p><span class="title"><em>
+       <a class="link" href="http://download.oracle.com/docs/cd/E19963-01/html/819-0690/index.html" target="_top">
        Linker and Libraries Guide (document 819-0690)
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="Sun Studio 11: C++ Migration Guide (document 819-3689)"><a id="id560146"/><p><span class="title"><em>
-       <a class="link" href="http://download.oracle.com/docs/cd/E19422-01/819-3689/index.html">
+      </em>. </span></p></div><div class="biblioentry" title="Sun Studio 11: C++ Migration Guide (document 819-3689)"><a id="idp22909232"></a><p><span class="title"><em>
+       <a class="link" href="http://download.oracle.com/docs/cd/E19422-01/819-3689/index.html" target="_top">
       Sun Studio 11: C++ Migration Guide (document 819-3689)
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="How to Write Shared Libraries"><a id="id560162"/><p><span class="title"><em>
-       <a class="link" href="http://www.akkadia.org/drepper/dsohowto.pdf">
+      </em>. </span></p></div><div class="biblioentry" title="How to Write Shared Libraries"><a id="idp22911088"></a><p><span class="title"><em>
+       <a class="link" href="http://www.akkadia.org/drepper/dsohowto.pdf" target="_top">
       How to Write Shared Libraries
        </a>
-      </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry" title="C++ ABI for the ARM Architecture"><a id="id560190"/><p><span class="title"><em>
-       <a class="link" href="http://www.arm.com/miscPDFs/8033.pdf">
+      </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry" title="C++ ABI for the ARM Architecture"><a id="idp22914528"></a><p><span class="title"><em>
+       <a class="link" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
       C++ ABI for the ARM Architecture
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="Dynamic Shared Objects: Survey and Issues"><a id="id560205"/><p><span class="title"><em>
-       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html">
+      </em>. </span></p></div><div class="biblioentry" title="Dynamic Shared Objects: Survey and Issues"><a id="idp22916336"></a><p><span class="title"><em>
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
       Dynamic Shared Objects: Survey and Issues
        </a>
       </em>. </span><span class="subtitle">
       ISO C++ J16/06-0046
-    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Versioning With Namespaces"><a id="id560233"/><p><span class="title"><em>
-       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html">
+    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Versioning With Namespaces"><a id="idp22919632"></a><p><span class="title"><em>
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
        Versioning With Namespaces
        </a>
       </em>. </span><span class="subtitle">
       ISO C++ J16/06-0083
-    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems"><a id="id560260"/><p><span class="title"><em>
-       <a class="link" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf">
+    . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry" title="Binary Compatibility of Shared Libraries Implemented in C++ on GNU/Linux Systems"><a id="idp22922912"></a><p><span class="title"><em>
+       <a class="link" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
       Binary Compatibility of Shared Libraries Implemented in C++
       on GNU/Linux Systems
        </a>
       </em>. </span><span class="subtitle">
       SYRCoSE 2009
-    . </span><span class="author"><span class="firstname">Pavel</span> <span class="surname">Shved</span>. </span><span class="author"><span class="firstname">Denis</span> <span class="surname">Silakov</span>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="test.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td align="left" valign="top">Test </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> API Evolution and Deprecation History</td></tr></table></div></body></html>
+    . </span><span class="author"><span class="firstname">Pavel</span> <span class="surname">Shved</span>. </span><span class="author"><span class="firstname">Denis</span> <span class="surname">Silakov</span>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="test.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Test </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> API Evolution and Deprecation History</td></tr></table></div></body></html>
index 563b6e5..2168b62 100644 (file)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 11.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      algorithm&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators"/><link rel="next" href="numerics.html" title="Chapter 12.  Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
+<!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>Chapter 11.  Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      algorithm&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="iterators.html" title="Chapter 10.  Iterators" /><link rel="next" href="numerics.html" title="Chapter 12.  Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. 
   Algorithms
   
-</th></tr><tr><td align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 11.  Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"/>Chapter 11. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11.  Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11. 
   Algorithms
-  <a id="id504394" class="indexterm"/>
+  <a id="idp16155696" class="indexterm"></a>
 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt><dd><dl><dt><span class="section"><a href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></div><p>
   The neatest accomplishment of the algorithms section is that all the
   work is done via iterators, not containers directly.  This means two
   important things:
-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
       Anything that behaves like an iterator can be used in one of
       these algorithms.  Raw pointers make great candidates, thus
       built-in arrays are fine containers, as well as your own
@@ -42,7 +42,7 @@
     to cause so much confusion.  Once you
     get <span class="emphasis"><em>range</em></span> into your head (it's not that hard,
     honest!), then the algorithms are a cakewalk.
-</p><div class="section" title="Mutating"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms.mutating"/>Mutating</h2></div></div></div><div class="section" title="swap"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.mutating.swap"/><code class="function">swap</code></h3></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="algorithms.swap.specializations"/>Specializations</h4></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
+</p><div class="section" title="Mutating"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.algorithms.mutating"></a>Mutating</h2></div></div></div><div class="section" title="swap"><div class="titlepage"><div><div><h3 class="title"><a id="algorithms.mutating.swap"></a><code class="function">swap</code></h3></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h4 class="title"><a id="algorithms.swap.specializations"></a>Specializations</h4></div></div></div><p>If you call <code class="code"> std::swap(x,y); </code> where x and y are standard
       containers, then the call will automatically be replaced by a call to
       <code class="code"> x.swap(y); </code> instead.
    </p><p>This allows member functions of each container class to take over, and
       fact use constant-time swaps.)  This should not be surprising, since
       for two containers of the same type to swap contents, only some
       internal pointers to storage need to be exchanged.
-   </p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 10. 
+   </p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="iterators.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. 
   Iterators
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 12. 
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 12. 
   Numerics
   
 </td></tr></table></div></body></html>
index 92f5591..a807e64 100644 (file)
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="ISO C++, api, evolution, deprecation, history"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="abi.html" title="ABI Policy and Guidelines"/><link rel="next" href="backwards.html" title="Backwards Compatibility"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>API Evolution and Deprecation History</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="ISO C++, api, evolution, deprecation, history" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="abi.html" title="ABI Policy and Guidelines" /><link rel="next" href="backwards.html" title="Backwards Compatibility" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Evolution and Deprecation History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr/></div><div class="section" title="API Evolution and Deprecation History"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.api"/>API Evolution and Deprecation History</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr></table><hr /></div><div class="section" title="API Evolution and Deprecation History"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.api"></a>API Evolution and Deprecation History</h2></div></div></div><p>
 A list of user-visible changes, in chronological order
-</p><div class="section" title="3.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"/><code class="constant">3.0</code></h3></div></div></div><p>
+</p><div class="section" title="3.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_300"></a><code class="constant">3.0</code></h3></div></div></div><p>
 Extensions moved to <code class="filename">include/ext</code>.
   </p><p>
 Include files from the SGI/HP sources that pre-date the ISO standard
@@ -14,7 +14,7 @@ the <code class="filename">include/backward</code> directory and a deprecated wa
 is added that notifies on inclusion (<code class="literal">-Wno-deprecated</code>
 deactivates the warning.)
 </p><p>Deprecated include <code class="filename">backward/strstream</code> added.</p><p>Removal of include <code class="filename">builtinbuf.h</code>, <code class="filename">indstream.h</code>, <code class="filename">parsestream.h</code>, <code class="filename">PlotFile.h</code>, <code class="filename">SFile.h</code>, <code class="filename">stdiostream.h</code>, and <code class="filename">stream.h</code>.
-</p></div><div class="section" title="3.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"/><code class="constant">3.1</code></h3></div></div></div><p>
+</p></div><div class="section" title="3.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"></a><code class="constant">3.1</code></h3></div></div></div><p>
   </p><p>
 Extensions from SGI/HP moved from <code class="code">namespace std</code>
 to <code class="code">namespace __gnu_cxx</code>. As part of this, the following
@@ -26,15 +26,15 @@ Extensions to <code class="code">basic_filebuf</code> introduced: <code class="c
 Extensions to tree data structures added in <code class="filename">ext/rb_tree</code>.
 </p><p>
 Removal of <code class="filename">ext/tree</code>, moved to <code class="filename">backward/tree.h</code>.
-</p></div><div class="section" title="3.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"/><code class="constant">3.2</code></h3></div></div></div><p>
+</p></div><div class="section" title="3.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"></a><code class="constant">3.2</code></h3></div></div></div><p>
   </p><p>Symbol versioning introduced for shared library.</p><p>Removal of include <code class="filename">backward/strstream.h</code>.</p><p>Allocator changes. Change <code class="code">__malloc_alloc</code> to <code class="code">malloc_allocator</code> and <code class="code">__new_alloc</code> to <code class="code">new_allocator</code>. </p><p> For GCC releases from 2.95 through the 3.1 series, defining
    <code class="literal">__USE_MALLOC</code> on the gcc command line would change the
    default allocation strategy to instead use <code class="code"> malloc</code> and
    <code class="function">free</code>. (This same functionality is now spelled <code class="literal">_GLIBCXX_FORCE_NEW</code>, see
    <a class="link" href="using_macros.html" title="Macros">this page</a>
    for details.
-   </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="section" title="3.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"/><code class="constant">3.3</code></h3></div></div></div><p>
-  </p></div><div class="section" title="3.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"/><code class="constant">3.4</code></h3></div></div></div><p>
+   </p><p>Error handling in iostreams cleaned up, made consistent. </p></div><div class="section" title="3.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_330"></a><code class="constant">3.3</code></h3></div></div></div><p>
+  </p></div><div class="section" title="3.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"></a><code class="constant">3.4</code></h3></div></div></div><p>
   </p><p>
 Large file support.
 </p><p> Extensions for generic characters and <code class="code">char_traits</code> added in <code class="filename">ext/pod_char_traits.h</code>.
@@ -75,11 +75,11 @@ _Alloc_traits</code> have been removed.
    <span class="type">__alloc</span> to select an underlying allocator that
    satisfied memory allocation requests. The selection of this
    underlying allocator was not user-configurable.
-   </p><div class="table"><a id="id560820"/><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Allocator (3.4)</th><th style="text-align: left">Header (3.4)</th><th style="text-align: left">Allocator (3.[0-3])</th><th style="text-align: left">Header (3.[0-3])</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/new_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__new_alloc</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/malloc_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/debug_allocator.h</code></td><td style="text-align: left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/pool_allocator.h</code></td><td style="text-align: left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td style="text-align: left"><code class="filename">memory</code></td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/mt_allocator.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/bitmap_allocator.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><p> Releases after gcc-3.4 have continued to add to the collection
+   </p><div class="table"><a id="idp22990128"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
    of available allocators. All of these new allocators are
    standard-style. The following table includes details, along with
    the first released version of GCC that included the extension allocator.
-   </p><div class="table"><a id="id561050"/><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left">Allocator</th><th style="text-align: left">Include</th><th style="text-align: left">Version</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/array_allocator.h</code></td><td style="text-align: left">4.0.0</td></tr><tr><td style="text-align: left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td style="text-align: left"><code class="filename">ext/throw_allocator.h</code></td><td style="text-align: left">4.2.0</td></tr></tbody></table></div></div><br class="table-break"/><p>
+   </p><div class="table"><a id="idp23017760"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
 Debug mode first appears.
 </p><p>
 Precompiled header support <acronym class="acronym">PCH</acronym> support.
@@ -89,7 +89,7 @@ Macro guard for changed, from <code class="literal">_GLIBCPP_</code> to <code cl
 Extension <code class="filename">ext/stdio_sync_filebuf.h</code> added.
 </p><p>
 Extension <code class="filename">ext/demangle.h</code> added.
-</p></div><div class="section" title="4.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"/><code class="constant">4.0</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.0"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"></a><code class="constant">4.0</code></h3></div></div></div><p>
   </p><p>
 TR1 features first appear.
 </p><p>
@@ -98,14 +98,14 @@ Extension allocator <code class="filename">ext/array_allocator.h</code> added.
 Extension <code class="code">codecvt</code> specializations moved to <code class="filename">ext/codecvt_specializations.h</code>.
 </p><p>
 Removal of <code class="filename">ext/demangle.h</code>.
-</p></div><div class="section" title="4.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"/><code class="constant">4.1</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.1"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"></a><code class="constant">4.1</code></h3></div></div></div><p>
   </p><p>
 Removal of <code class="filename">cassert</code> from all standard headers: now has to be explicitly included for <code class="code">std::assert</code> calls.
 </p><p> Extensions for policy-based data structures first added. New includes,
 types, namespace <code class="code">pb_assoc</code>.
 </p><p> Extensions for typelists added in <code class="filename">ext/typelist.h</code>.
 </p><p> Extension for policy-based <code class="code">basic_string</code> first added: <code class="code">__gnu_cxx::__versa_string</code> in <code class="filename">ext/vstring.h</code>.
-</p></div><div class="section" title="4.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"/><code class="constant">4.2</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.2"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"></a><code class="constant">4.2</code></h3></div></div></div><p>
   </p><p> Default visibility attributes applied to <code class="code">namespace std</code>. Support for <code class="code">-fvisibility</code>.
 </p><p>TR1 <code class="filename">random</code>, <code class="filename">complex</code>, and C compatibility headers added.</p><p> Extensions for concurrent programming consolidated
 into <code class="filename">ext/concurrence.h</code> and <code class="filename">ext/atomicity.h</code>,
@@ -120,13 +120,13 @@ types, namespace moved to <code class="code">__pb_ds</code>.
 std::__debug</code> and extensions in <code class="code">namespace
 __gnu_cxx::__debug</code>.</p><p> Extensions added: <code class="filename">ext/typelist.h</code>
 and <code class="filename">ext/throw_allocator.h</code>.
-</p></div><div class="section" title="4.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"/><code class="constant">4.3</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.3"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"></a><code class="constant">4.3</code></h3></div></div></div><p>
   </p><p>
 C++0X features first appear.
 </p><p>TR1 <code class="filename">regex</code> and <code class="filename">cmath</code>'s mathematical special function added.
 </p><p>
 Backward include edit.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Removed</p><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Removed</p><p>
 <code class="filename">algobase.h</code> <code class="filename">algo.h</code> <code class="filename">alloc.h</code> <code class="filename">bvector.h</code> <code class="filename">complex.h</code>
 <code class="filename">defalloc.h</code> <code class="filename">deque.h</code> <code class="filename">fstream.h</code> <code class="filename">function.h</code> <code class="filename">hash_map.h</code> <code class="filename">hash_set.h</code>
 <code class="filename">hashtable.h</code> <code class="filename">heap.h</code> <code class="filename">iomanip.h</code> <code class="filename">iostream.h</code> <code class="filename">istream.h</code> <code class="filename">iterator.h</code>
@@ -138,7 +138,7 @@ Backward include edit.
     <code class="filename">auto_ptr.h</code> and <code class="filename">binders.h</code>
   </p></li></ul></div><p>
 Header dependency streamlining.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
 Debug mode for <code class="filename">unordered_map</code> and <code class="filename">unordered_set</code>.
 </p><p>
 Parallel mode first appears.
@@ -152,10 +152,10 @@ Parallel mode first appears.
 PCH binary files no longer installed. Instead, the source files are installed.
 </p><p>
 Namespace pb_ds moved to __gnu_pb_ds.
-</p></div><div class="section" title="4.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_440"/><code class="constant">4.4</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.4"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_440"></a><code class="constant">4.4</code></h3></div></div></div><p>
   </p><p>
 C++0X features.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     Added.
   </p><p>
     <code class="filename">atomic</code>,
@@ -207,10 +207,10 @@ and <code class="filename">ext/extptr_allocator.h</code>. Support
 for non-standard pointer types has been added
 to <code class="classname">vector</code>
 and <code class="classname">forward_list</code>.
-</p></div><div class="section" title="4.5"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_450"/><code class="constant">4.5</code></h3></div></div></div><p>
+</p></div><div class="section" title="4.5"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_450"></a><code class="constant">4.5</code></h3></div></div></div><p>
   </p><p>
 C++0X features.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     Added.
   </p><p>
     <code class="filename">functional</code>,
@@ -237,4 +237,4 @@ The default behavior for comparing typeinfo names changed, so
 in <code class="filename">typeinfo</code>, <code class="literal">__GXX_MERGED_TYPEINFO_NAMES</code>
 now defaults to zero.
 </p><p> Extensions modified: <code class="filename">ext/throw_allocator.h</code>.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td align="left" valign="top">ABI Policy and Guidelines </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ABI Policy and Guidelines </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
index e16d2fd..3789d3a 100644 (file)
@@ -1,19 +1,19 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
+<!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>Appendix A.  Contributing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="next" href="source_organization.html" title="Directory Layout and Source Conventions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. 
   Contributing
   
-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><th width="60%" align="center">Part IV. 
   Appendices
-</th><td align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"/>
+</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.contrib"></a>
   Contributing
-  <a id="id551729" class="indexterm"/>
+  <a id="idp21837344" class="indexterm"></a>
 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
   The GNU C++ Library follows an open development model. Active
   contributors are assigned maintainer-ship responsibility, and given
   write access to the source repository. First time contributors
   should follow this procedure:
-</p><div class="section" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.list"/>Contributor Checklist</h2></div></div></div><div class="section" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"/>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="section" title="Contributor Checklist"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.list"></a>Contributor Checklist</h2></div></div></div><div class="section" title="Reading"><div class="titlepage"><div><div><h3 class="title"><a id="list.reading"></a>Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          Get and read the relevant sections of the C++ language
          specification. Copies of the full ISO 14882 standard are
          available on line via the ISO mirror site for committee
          the standard from their respective national standards
          organization. In the USA, this national standards
          organization is
-         <a class="link" href="http://www.ansi.org">ANSI</a>.
+         <a class="link" href="http://www.ansi.org" target="_top">ANSI</a>.
          (And if you've already registered with them you can
-         <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2003">buy the standard on-line</a>.)
+         <a class="link" href="http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2003" target="_top">buy the standard on-line</a>.)
        </p></li><li class="listitem"><p>
          The library working group bugs, and known defects, can
          be obtained here:
-         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21</a>
+         <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">http://www.open-std.org/jtc1/sc22/wg21</a>
        </p></li><li class="listitem"><p>
          The newsgroup dedicated to standardization issues is
          comp.std.c++: the
-         <a class="link" href="http://www.comeaucomputing.com/csc/faq.html">FAQ</a>
+         <a class="link" href="http://www.comeaucomputing.com/csc/faq.html" target="_top">FAQ</a>
           for this group is quite useful.
       </p></li><li class="listitem"><p>
          Peruse
-         the <a class="link" href="http://www.gnu.org/prep/standards">GNU
+         the <a class="link" href="http://www.gnu.org/prep/standards" target="_top">GNU
          Coding Standards</a>, and chuckle when you hit the part
          about <span class="quote">“<span class="quote">Using Languages Other Than C</span>”</span>.
        </p></li><li class="listitem"><p>
@@ -48,7 +48,7 @@
          And last but certainly not least, read the
          library-specific information found in
           <a class="link" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance">Porting and Maintenance</a>.
-      </p></li></ul></div></div><div class="section" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"/>Assignment</h3></div></div></div><p>
+      </p></li></ul></div></div><div class="section" title="Assignment"><div class="titlepage"><div><div><h3 class="title"><a id="list.copyright"></a>Assignment</h3></div></div></div><p>
       Small changes can be accepted without a copyright assignment form on
       file. New code and additions to the library need completed copyright
       assignment form on file at the FSF. Note: your employer may be required
@@ -66,7 +66,7 @@
       this question would be appreciated.
     </p><p>
       For more information about getting a copyright assignment, please see
-      <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html">Legal
+      <a class="link" href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html" target="_top">Legal
        Matters</a>.
     </p><p>
       Please contact Benjamin Kosnik at
       requesting an assignment form from
       <code class="email">&lt;<a class="email" href="mailto:mailto:assign@gnu.org">mailto:assign@gnu.org</a>&gt;</code>, please cc the libstdc++
       maintainer above so that progress can be monitored.
-    </p></div><div class="section" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"/>Getting Sources</h3></div></div></div><p>
-      <a class="link" href="http://gcc.gnu.org/svnwrite.html">Getting write access
+    </p></div><div class="section" title="Getting Sources"><div class="titlepage"><div><div><h3 class="title"><a id="list.getting"></a>Getting Sources</h3></div></div></div><p>
+      <a class="link" href="http://gcc.gnu.org/svnwrite.html" target="_top">Getting write access
        (look for "Write after approval")</a>
-    </p></div><div class="section" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"/>Submitting Patches</h3></div></div></div><p>
+    </p></div><div class="section" title="Submitting Patches"><div class="titlepage"><div><div><h3 class="title"><a id="list.patches"></a>Submitting Patches</h3></div></div></div><p>
       Every patch must have several pieces of information before it can be
       properly evaluated. Ideally (and to ensure the fastest possible
       response from the maintainers) it would have all of these pieces:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          A description of the bug and how your patch fixes this
          bug. For new features a description of the feature and your
          implementation.
          else, use <span class="command"><strong>diff -cp OLD NEW</strong></span> ... If your
          version of diff does not support these options, then get the
          latest version of GNU
-         diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks">SVN
+         diff. The <a class="link" href="http://gcc.gnu.org/wiki/SvnTricks" target="_top">SVN
          Tricks</a> wiki page has information on customising the
          output of <code class="code">svn diff</code>.
        </p></li><li class="listitem"><p>
          mail message and send it to libstdc++@gcc.gnu.org. All
          patches and related discussion should be sent to the
          libstdc++ mailing list.
-       </p></li></ul></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td align="left" valign="top">Part IV. 
+       </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part IV. 
   Appendices
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Directory Layout and Source Conventions</td></tr></table></div></body></html>
index c192caa..c42b8d1 100644 (file)
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="backwards.html" title="Backwards Compatibility"/><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
+<!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>Appendix C.  Free Software Needs Free Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="backwards.html" title="Backwards Compatibility" /><link rel="next" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. 
   Free Software Needs Free Documentation
   
-</th></tr><tr><td align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><th width="60%" align="center">Part IV. 
   Appendices
-</th><td align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.free"/>
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.free"></a>
   Free Software Needs Free Documentation
-  <a id="id564125" class="indexterm"/>
+  <a id="idp23386832" class="indexterm"></a>
 </h1></div></div></div><p>
 The biggest deficiency in free operating systems is not in the
 software--it is the lack of good free manuals that we can include in
@@ -41,7 +41,7 @@ can ill afford to lose manuals this way.
   Free documentation, like free software, is a matter of freedom,
 not price.  The problem with these manuals was not that O'Reilly
 Associates charged a price for printed copies--that in itself is fine.
-(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html">sells printed copies</a> of
+(The Free Software Foundation <a class="link" href="http://www.gnu.org/doc/doc.html" target="_top">sells printed copies</a> of
 free GNU manuals, too.)  But GNU manuals are available in source code
 form, while these manuals are available only on paper.  GNU manuals
 come with permission to copy and modify; the Perl manuals do not.
@@ -117,10 +117,10 @@ manuals instead of proprietary ones.  One way you can help this is to
 check the distribution terms of a manual before you buy it, and
 prefer copylefted manuals to non-copylefted ones.
 </p><p>
-[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html">web page
+[Note: We now maintain a <a class="link" href="http://www.fsf.org/licensing/doc/other-free-books.html" target="_top">web page
 that lists free books available from other publishers</a>].
 </p><p>Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</p><p>Verbatim copying and distribution of this entire article are
 permitted worldwide, without royalty, in any medium, provided this
-notice is preserved.</p><p>Report any problems or suggestions to <code class="email">&lt;<a class="email" href="mailto:webmaster@fsf.org">webmaster@fsf.org</a>&gt;</code>.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr><tr><td align="left" valign="top">Backwards Compatibility </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix D. 
+notice is preserved.</p><p>Report any problems or suggestions to <code class="email">&lt;<a class="email" href="mailto:webmaster@fsf.org">webmaster@fsf.org</a>&gt;</code>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="backwards.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Backwards Compatibility </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
   </td></tr></table></div></body></html>
index dc1088a..8963297 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3"/><link rel="next" href="../bk02.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+<!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>Appendix E. GNU Free Documentation License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3" /><link rel="next" href="../bk02.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. GNU Free Documentation License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><th width="60%" align="center">Part IV. 
   Appendices
-</th><td align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix E. GNU Free Documentation License"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gfdl-1.3"/>GNU Free Documentation License</h1></div></div></div><p>Version 1.3, 3 November 2008</p><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix E. GNU Free Documentation License"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gfdl-1.3"></a>GNU Free Documentation License</h1></div></div></div><p>Version 1.3, 3 November 2008</p><p>
     Copyright © 2000, 2001, 2002, 2007, 2008
-    <a class="link" href="http://www.fsf.org/">Free Software Foundation, Inc.</a>
+    <a class="link" href="http://www.fsf.org/" target="_top">Free Software Foundation, Inc.</a>
   </p><p>
     Everyone is permitted to copy and distribute verbatim copies of this
     license document, but changing it is not allowed.
-  </p><h3><a id="fdl-1-section0"/>
+  </p><h3><a id="fdl-1-section0"></a>
     0. PREAMBLE
   </h3><p>
     The purpose of this License is to make a manual, textbook, or other
@@ -31,7 +31,7 @@
     for any textual work, regardless of subject matter or whether it is
     published as a printed book. We recommend this License principally for
     works whose purpose is instruction or reference.
-  </p><h3><a id="fdl-1-section1"/>
+  </p><h3><a id="fdl-1-section1"></a>
     1. APPLICABILITY AND DEFINITIONS
   </h3><p>
     This License applies to any manual or other work, in any medium, that
     but only as regards disclaiming warranties: any other implication that
     these Warranty Disclaimers may have is void and has no effect on the
     meaning of this License.
-  </p><h3><a id="fdl-1-section2"/>
+  </p><h3><a id="fdl-1-section2"></a>
     2. VERBATIM COPYING
   </h3><p>
     You may copy and distribute the Document in any medium, either
   </p><p>
     You may also lend copies, under the same conditions stated above, and you
     may publicly display copies.
-  </p><h3><a id="fdl-1-section3"/>
+  </p><h3><a id="fdl-1-section3"></a>
     3. COPYING IN QUANTITY
   </h3><p>
     If you publish printed copies (or copies in media that commonly have
     It is requested, but not required, that you contact the authors of the
     Document well before redistributing any large number of copies, to give
     them a chance to provide you with an updated version of the Document.
-  </p><h3><a id="fdl-1-section4"/>
+  </p><h3><a id="fdl-1-section4"></a>
     4. MODIFICATIONS
   </h3><p>
     You may copy and distribute a Modified Version of the Document under the
     filling the role of the Document, thus licensing distribution and
     modification of the Modified Version to whoever possesses a copy of it. In
     addition, you must do these things in the Modified Version:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem">
+  </p><div class="orderedlist"><ol class="orderedlist" type="A"><li class="listitem">
         Use in the Title Page (and on the covers, if any) a title distinct
         from that of the Document, and from those of previous versions (which
         should, if there were any, be listed in the History section of the
     The author(s) and publisher(s) of the Document do not by this License give
     permission to use their names for publicity for or to assert or imply
     endorsement of any Modified Version.
-  </p><h3><a id="fdl-1-section5"/>
+  </p><h3><a id="fdl-1-section5"></a>
     5. COMBINING DOCUMENTS
   </h3><p>
     You may combine the Document with other documents released under this
     Entitled “Acknowledgements”, and any sections Entitled
     “Dedications”. You must delete all sections Entitled
     “Endorsements”.
-  </p><h3><a id="fdl-1-section6"/>
+  </p><h3><a id="fdl-1-section6"></a>
     6. COLLECTIONS OF DOCUMENTS
   </h3><p>
     You may make a collection consisting of the Document and other documents
     it individually under this License, provided you insert a copy of this
     License into the extracted document, and follow this License in all other
     respects regarding verbatim copying of that document.
-  </p><h3><a id="fdl-1-section7"/>
+  </p><h3><a id="fdl-1-section7"></a>
     7. AGGREGATION WITH INDEPENDENT WORKS
   </h3><p>
     A compilation of the Document or its derivatives with other separate and
     bracket the Document within the aggregate, or the electronic equivalent of
     covers if the Document is in electronic form. Otherwise they must appear
     on printed covers that bracket the whole aggregate.
-  </p><h3><a id="fdl-1-section8"/>
+  </p><h3><a id="fdl-1-section8"></a>
     8. TRANSLATION
   </h3><p>
     Translation is considered a kind of modification, so you may distribute
     “Dedications”, or “History”, the requirement
     (section 4) to Preserve its Title (section 1) will typically require
     changing the actual title.
-  </p><h3><a id="fdl-1-section9"/>
+  </p><h3><a id="fdl-1-section9"></a>
     9. TERMINATION
   </h3><p>
     You may not copy, modify, sublicense, or distribute the Document except as
     License. If your rights have been terminated and not permanently
     reinstated, receipt of a copy of some or all of the same material does not
     give you any rights to use it.
-  </p><h3><a id="fdl-1-section10"/>
+  </p><h3><a id="fdl-1-section10"></a>
     10. FUTURE REVISIONS OF THIS LICENSE
   </h3><p>
     The Free Software Foundation may publish new, revised versions of the GNU
     Free Documentation License from time to time. Such new versions will be
     similar in spirit to the present version, but may differ in detail to
     address new problems or concerns. See
-    <a class="link" href="http://www.gnu.org/copyleft/">Copyleft</a>.
+    <a class="link" href="http://www.gnu.org/copyleft/" target="_top">Copyleft</a>.
   </p><p>
     Each version of the License is given a distinguishing version number. If
     the Document specifies that a particular numbered version of this License
     can decide which future versions of this License can be used, that
     proxy’s public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.
-  </p><h3><a id="fdl-1-section11"/>
+  </p><h3><a id="fdl-1-section11"></a>
     11. RELICENSING
   </h3><p>
     “Massive Multiauthor Collaboration Site” (or “MMC
     The operator of an MMC Site may republish an MMC contained in the site
     under CC-BY-SA on the same site at any time before August 1, 2009,
     provided the MMC is eligible for relicensing.
-  </p><h3><a id="fdl-1-addendum"/>
+  </p><h3><a id="fdl-1-addendum"></a>
     ADDENDUM: How to use this License for your documents
   </h3><p>
     To use this License in a document you have written, include a copy of the
@@ -444,6 +444,6 @@ being LIST, and with the Back-Cover Texts being LIST.</pre><p>
     recommend releasing these examples in parallel under your choice of free
     software license, such as the GNU General Public License, to permit their
     use in free software.
-  </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix D. 
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_gpl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="../bk02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
-   </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
+   </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
index 9983aef..a49b39c 100644 (file)
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation"/><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
+<!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>Appendix D.  GNU General Public License version 3</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /><link rel="next" href="appendix_gfdl.html" title="Appendix E. GNU Free Documentation License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
-  </th></tr><tr><td align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+  </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><th width="60%" align="center">Part IV. 
   Appendices
-</th><td align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix D.  GNU General Public License version 3"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gpl-3.0"/>
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix D.  GNU General Public License version 3"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.gpl-3.0"></a>
     <acronym class="acronym">GNU</acronym> General Public License version 3
   </h1></div></div></div><p>
     Version 3, 29 June 2007
   </p><p>
     Copyright © 2007 Free Software Foundation, Inc.
-    <a class="link" href="http://www.fsf.org/">http://www.fsf.org/</a>
+    <a class="link" href="http://www.fsf.org/" target="_top">http://www.fsf.org/</a>
   </p><p>
     Everyone is permitted to copy and distribute verbatim copies of this license
     document, but changing it is not allowed.
-  </p><h2><a id="gpl-3-preamble"/>
+  </p><h2><a id="gpl-3-preamble"></a>
     Preamble
   </h2><p>
     The <acronym class="acronym">GNU</acronym> General Public License is a free, copyleft
@@ -78,9 +78,9 @@
   </p><p>
     The precise terms and conditions for copying, distribution and modification
     follow.
-  </p><h2><a id="id564464"/>
+  </p><h2><a id="idp23427568"></a>
     TERMS AND CONDITIONS
-  </h2><h2><a id="gpl-3-definitions"/>
+  </h2><h2><a id="gpl-3-definitions"></a>
     0. Definitions.
   </h2><p>
     “This License” refers to version 3 of the <acronym class="acronym">GNU</acronym>
     License, and how to view a copy of this License.  If the interface presents
     a list of user commands or options, such as a menu, a prominent item in the
     list meets this criterion.
-  </p><h2><a id="SourceCode"/>
+  </p><h2><a id="SourceCode"></a>
     1. Source Code.
   </h2><p>
     The “source code” for a work means the preferred form of the
     automatically from other parts of the Corresponding Source.
   </p><p>
     The Corresponding Source for a work in source code form is that same work.
-  </p><h2><a id="BasicPermissions"/>
+  </p><h2><a id="BasicPermissions"></a>
     2. Basic Permissions.
   </h2><p>
     All rights granted under this License are granted for the term of copyright
     Conveying under any other circumstances is permitted solely under the
     conditions stated below.  Sublicensing is not allowed; section 10 makes it
     unnecessary.
-  </p><h2><a id="Protecting"/>
+  </p><h2><a id="Protecting"></a>
     3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
   </h2><p>
     No covered work shall be deemed part of an effective technological measure
     the work as a means of enforcing, against the work’s users, your or
     third parties’ legal rights to forbid circumvention of technological
     measures.
-  </p><h2><a id="ConveyingVerbatim"/>
+  </p><h2><a id="ConveyingVerbatim"></a>
     4. Conveying Verbatim Copies.
   </h2><p>
     You may convey verbatim copies of the Program’s source code as you
   </p><p>
     You may charge any price or no price for each copy that you convey, and you
     may offer support or warranty protection for a fee.
-  </p><h2><a id="ConveyingModified"/>
+  </p><h2><a id="ConveyingModified"></a>
     5. Conveying Modified Source Versions.
   </h2><p>
     You may convey a work based on the Program, or the modifications to produce
     it from the Program, in the form of source code under the terms of section
     4, provided that you also meet all of these conditions:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+  </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
         The work must carry prominent notices stating that you modified it, and
         giving a relevant date.
       </p></li><li class="listitem"><p>
     or legal rights of the compilation’s users beyond what the individual works
     permit.  Inclusion of a covered work in an aggregate does not cause
     this License to apply to the other parts of the aggregate.
-  </p><h2><a id="ConveyingNonSource"/>
+  </p><h2><a id="ConveyingNonSource"></a>
     6. Conveying Non-Source Forms.
   </h2><p>
     You may convey a covered work in object code form under the terms of
     sections 4 and 5, provided that you also convey the machine-readable
     Corresponding Source under the terms of this License, in one of these ways:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+  </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
         Convey the object code in, or embodied in, a physical product (including
         a physical distribution medium), accompanied by the Corresponding Source
         fixed on a durable physical medium customarily used for software
     (and with an implementation available to the public in source code form),
     and must require no special password or key for unpacking, reading or
     copying.
-  </p><h2><a id="AdditionalTerms"/>
+  </p><h2><a id="AdditionalTerms"></a>
      7. Additional Terms.
    </h2><p>
      “Additional permissions” are terms that supplement the terms of
      Notwithstanding any other provision of this License, for material you add
      to a covered work, you may (if authorized by the copyright holders of that
      material) supplement the terms of this License with terms:
-   </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+   </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
          Disclaiming warranty or limiting liability differently from the terms
          of sections 15 and 16 of this License; or
        </p></li><li class="listitem"><p>
      Additional terms, permissive or non-permissive, may be stated in the form
      of a separately written license, or stated as exceptions; the above
      requirements apply either way.
-   </p><h2><a id="gpl-3-termination"/>
+   </p><h2><a id="gpl-3-termination"></a>
      8. Termination.
    </h2><p>
      You may not propagate or modify a covered work except as expressly provided
      License.  If your rights have been terminated and not permanently
      reinstated, you do not qualify to receive new licenses for the same
      material under section 10.
-   </p><h2><a id="AcceptanceNotRequired"/>
+   </p><h2><a id="AcceptanceNotRequired"></a>
      9. Acceptance Not Required for Having Copies.
    </h2><p>
      You are not required to accept this License in order to receive or run a
      These actions infringe copyright if you do not accept this License.
      Therefore, by modifying or propagating a covered work, you indicate your
      acceptance of this License to do so.
-   </p><h2><a id="AutomaticDownstream"/>
+   </p><h2><a id="AutomaticDownstream"></a>
      10. Automatic Licensing of Downstream Recipients.
    </h2><p>
      Each time you convey a covered work, the recipient automatically receives a
      or counterclaim in a lawsuit) alleging that any patent claim is infringed
      by making, using, selling, offering for sale, or importing the Program or
      any portion of it.
-   </p><h2><a id="Patents"/>
+   </p><h2><a id="Patents"></a>
     11. Patents.
   </h2><p>
     A “contributor” is a copyright holder who authorizes use under
     Nothing in this License shall be construed as excluding or limiting any
     implied license or other defenses to infringement that may otherwise be
     available to you under applicable patent law.
-  </p><h2><a id="NoSurrender"/>
+  </p><h2><a id="NoSurrender"></a>
     12. No Surrender of Others’ Freedom.
   </h2><p>
     If conditions are imposed on you (whether by court order, agreement or
     to collect a royalty for further conveying from those to whom you convey the
     Program, the only way you could satisfy both those terms and this License
     would be to refrain entirely from conveying the Program.
-  </p><h2><a id="UsedWithAGPL"/>
+  </p><h2><a id="UsedWithAGPL"></a>
     13. Use with the <acronym class="acronym">GNU</acronym> Affero General Public License.
   </h2><p>
     Notwithstanding any other provision of this License, you have permission to
     requirements of the <acronym class="acronym">GNU</acronym> Affero General Public License,
     section 13, concerning interaction through a network will apply to the
     combination as such.
-  </p><h2><a id="RevisedVersions"/>
+  </p><h2><a id="RevisedVersions"></a>
     14. Revised Versions of this License.
   </h2><p>
     The Free Software Foundation may publish revised and/or new versions of the
     Later license versions may give you additional or different permissions.
     However, no additional obligations are imposed on any author or copyright
     holder as a result of your choosing to follow a later version.
-  </p><h2><a id="WarrantyDisclaimer"/>
+  </p><h2><a id="WarrantyDisclaimer"></a>
     15. Disclaimer of Warranty.
   </h2><p>
     THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
     YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
     NECESSARY SERVICING, REPAIR OR CORRECTION.
-  </p><h2><a id="LiabilityLimitation"/>
+  </p><h2><a id="LiabilityLimitation"></a>
     16. Limitation of Liability.
   </h2><p>
     IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
     PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
     EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
     SUCH DAMAGES.
-  </p><h2><a id="InterpretationSecs1516"/>
+  </p><h2><a id="InterpretationSecs1516"></a>
     17. Interpretation of Sections 15 and 16.
   </h2><p>
     If the disclaimer of warranty and limitation of liability provided above
     waiver of all civil liability in connection with the Program, unless a
     warranty or assumption of liability accompanies a copy of the Program in
     return for a fee.
-  </p><h2><a id="id565288"/>
+  </p><h2><a id="idp23526496"></a>
     END OF TERMS AND CONDITIONS
-  </h2><h2><a id="HowToApply"/>
+  </h2><h2><a id="HowToApply"></a>
     How to Apply These Terms to Your New Programs
   </h2><p>
     If you develop a new program, and you want it to be of the greatest possible
@@ -648,7 +648,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 <acronym class="acronym">GNU</acronym> General Public License for more details.
 
 You should have received a copy of the <acronym class="acronym">GNU</acronym> General Public License
-along with this program.  If not, see <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
+along with this program.  If not, see <a class="link" href="http://www.gnu.org/licenses/" target="_top">http://www.gnu.org/licenses/</a>.
   </pre><p>
     Also add information on how to contact you by electronic and paper mail.
   </p><p>
@@ -669,15 +669,15 @@ under certain conditions; type ‘<code class="literal">show c</code>’ for det
     if any, to sign a “copyright disclaimer” for the program, if
     necessary.  For more information on this, and how to apply and follow the
     <acronym class="acronym">GNU</acronym> <acronym class="acronym">GPL</acronym>, see
-    <a class="link" href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
+    <a class="link" href="http://www.gnu.org/licenses/" target="_top">http://www.gnu.org/licenses/</a>.
   </p><p>
     The <acronym class="acronym">GNU</acronym> General Public License does not permit
     incorporating your program into proprietary programs.  If your program is a
     subroutine library, you may consider it more useful to permit linking
     proprietary applications with the library.  If this is what you want to do,
     use the <acronym class="acronym">GNU</acronym> Lesser General Public License instead of this
-    License.  But first, please read <a class="link" href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.
-  </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix C. 
+    License.  But first, please read <a class="link" href="http://www.gnu.org/philosophy/why-not-lgpl.html" target="_top">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_free.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_gfdl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix C. 
   Free Software Needs Free Documentation
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix E. GNU Free Documentation License</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix E. GNU Free Documentation License</td></tr></table></div></body></html>
index 7da450d..c7268ac 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices"/><link rel="prev" href="source_design_notes.html" title="Design Notes"/><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
+<!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>Appendix B.  Porting and Maintenance</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt04.html" title="Part IV.  Appendices" /><link rel="prev" href="source_design_notes.html" title="Design Notes" /><link rel="next" href="documentation_hacking.html" title="Writing and Generating Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. 
   Porting and Maintenance
   
-</th></tr><tr><td align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><th width="60%" align="center">Part IV. 
   Appendices
-</th><td align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr></table><hr/></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.porting"/>
+</th><td width="20%" align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h1 class="title"><a id="appendix.porting"></a>
   Porting and Maintenance
-  <a id="id552847" class="indexterm"/>
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
+  <a id="idp21971520" class="indexterm"></a>
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
   Qualifying Exception Safety Guarantees
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety.overview">Overview</a></span></dt><dt><span class="section"><a href="test.html#test.exception.safety.status">
@@ -30,8 +30,8 @@ Support for C++TR1 dialect.
 Support for C++11 dialect.
 </a></span></dt><dt><span class="section"><a href="backwards.html#backwards.third.iterator_type">
   <code class="code">Container::iterator_type</code> is not necessarily <code class="code">Container::value_type*</code>
-</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.build_hacking"/>Configure and Build Hacking</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"/>Prerequisites</h3></div></div></div><p>
-    As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">previously</a>,
+</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.build_hacking"></a>Configure and Build Hacking</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"></a>Prerequisites</h3></div></div></div><p>
+    As noted <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">previously</a>,
     certain other tools are necessary for hacking on files that
     control configure (<code class="code">configure.ac</code>,
     <code class="code">acinclude.m4</code>) and make
@@ -41,17 +41,32 @@ Support for C++11 dialect.
     in GCC try to stay in sync with each other in terms of versions of
     the auto-tools used, so please try to play nicely with the
     neighbors.
-  </p></div><div class="section" title="Overview: What Comes from Where"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.map"/>Overview: What Comes from Where</h3></div></div></div><div class="figure"><a id="id552980"/><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/confdeps.png" style="text-align: middle" alt="Dependency Graph for Configure and Build Files"/></div></div></div><br class="figure-break"/><p>
-    Regenerate all generated files by using the command sequence
-    <code class="code">"autoreconf"</code> at the top level of the libstdc++ source
-    directory. The following will also work, but is much more complex:
-    <code class="code">"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
-    autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
-    numbers may be absent entirely or otherwise vary depending on
-    <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">the
-    current requirements</a> and your vendor's choice of
-    installation names.
-  </p></div><div class="section" title="Storing Information in non-AC files (like configure.host)"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.scripts"/>Storing Information in non-AC files (like configure.host)</h3></div></div></div><p>
+  </p></div><div class="section" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.overview"></a>Overview</h3></div></div></div><div class="section" title="General Process"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.overview.basic"></a>General Process</h4></div></div></div><p>
+  The configure process begins the act of building libstdc++, and is
+  started via:
+</p><pre class="screen">
+<code class="computeroutput">
+configure
+</code>
+</pre><p>
+The <code class="filename">configure</code> file is a script generated (via
+<span class="command"><strong>autoconf</strong></span>) from the file
+<code class="filename">configure.ac</code>.
+</p><p>
+  After the configure process is complete, 
+</p><pre class="screen">
+<code class="computeroutput">
+make all
+</code>
+</pre><p>
+in the build directory starts the build process. The <code class="literal">all</code> target comes from the <code class="filename">Makefile</code> file, which is  generated via <span class="command"><strong>configure</strong></span> from the <code class="filename">Makefile.in</code> file, which is in turn generated (via
+<span class="command"><strong>automake</strong></span>) from the file
+<code class="filename">Makefile.am</code>.
+</p></div><div class="section" title="What Comes from Where"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.overview.map"></a>What Comes from Where</h4></div></div></div><div class="figure"><a id="idp21998848"></a><p class="title"><strong>Figure B.1. Configure and Build File Dependencies</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/confdeps.png" align="middle" alt="Dependency Graph for Configure and Build Files" /></div></div></div><br class="figure-break" /><p>
+    Regenerate all generated files by using the command 
+    <code class="code">autoreconf</code> at the top level of the libstdc++ source
+    directory.
+  </p></div></div><div class="section" title="Configure"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.configure"></a>Configure</h3></div></div></div><div class="section" title="Storing Information in non-AC files (like configure.host)"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.configure.scripts"></a>Storing Information in non-AC files (like configure.host)</h4></div></div></div><p>
     Until that glorious day when we can use AC_TRY_LINK with a
     cross-compiler, we have to hardcode the results of what the tests
     would have shown if they could be run.  So we have an inflexible
@@ -73,7 +88,7 @@ Support for C++11 dialect.
     for instance, but then we would need arguments to aclocal/autoconf
     to properly find them all when generating configure.  I would
     discourage that.
-</p></div><div class="section" title="Coding and Commenting Conventions"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.conventions"/>Coding and Commenting Conventions</h3></div></div></div><p>
+</p></div><div class="section" title="Coding and Commenting Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.configure.conventions"></a>Coding and Commenting Conventions</h4></div></div></div><p>
     Most comments should use {octothorpes, shibboleths, hash marks,
     pound signs, whatever} rather than "dnl".  Nearly all comments in
     configure.ac should.  Comments inside macros written in ancilliary
@@ -90,7 +105,7 @@ Support for C++11 dialect.
     Do not use any <code class="code">$target*</code> variables, such as
     <code class="code">$target_alias</code>.  The single exception is in
     configure.ac, for automake+dejagnu's sake.
-  </p></div><div class="section" title="The acinclude.m4 layout"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.acinclude"/>The acinclude.m4 layout</h3></div></div></div><p>
+  </p></div><div class="section" title="The acinclude.m4 layout"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.configure.acinclude"></a>The acinclude.m4 layout</h4></div></div></div><p>
     The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
     actually performed/called/expanded/whatever here, just loaded.  So
     we can arrange the contents however we like.  As of this writing,
@@ -161,17 +176,17 @@ Support for C++11 dialect.
 </pre><p>
   Things which we don't seem to use directly, but just has to be
   present otherwise stuff magically goes wonky.
-</p></div><div class="section" title="GLIBCXX_ENABLE, the --enable maker"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.enable"/><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h3></div></div></div><p>
-    All the GLIBCXX_ENABLE_FOO macros use a common helper,
-    GLIBCXX_ENABLE.  (You don't have to use it, but it's easy.)  The
-    helper does two things for us:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
-     Builds the call to the AC_ARG_ENABLE macro, with --help text
+</p></div><div class="section" title="GLIBCXX_ENABLE, the --enable maker"><div class="titlepage"><div><div><h4 class="title"><a id="build_hacking.configure.enable"></a><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</h4></div></div></div><p>
+    All the <code class="literal">GLIBCXX_ENABLE_FOO</code> macros use a common
+    helper, <code class="literal">GLIBCXX_ENABLE</code>.  (You don't have to use
+    it, but it's easy.)  The helper does two things for us:
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+     Builds the call to the <code class="literal">AC_ARG_ENABLE</code> macro, with --help text
      properly quoted and aligned.  (Death to changequote!)
    </p></li><li class="listitem"><p>
      Checks the result against a list of allowed possibilities, and
      signals a fatal error if there's no match.  This means that the
-     rest of the GLIBCXX_ENABLE_FOO macro doesn't need to test for
+     rest of the <code class="literal">GLIBCXX_ENABLE_FOO</code> macro doesn't need to test for
      strange arguments, nor do we need to protect against
      empty/whitespace strings with the <code class="code">"x$foo" = "xbar"</code>
      idiom.
@@ -190,7 +205,7 @@ Support for C++11 dialect.
     GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
     GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
     GLIBCXX_ENABLE (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
-</pre><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</pre><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
      FEATURE is the string that follows --enable.  The results of the
      test (such as it is) will be in the variable $enable_FEATURE,
      where FEATURE has been squashed.  Example:
@@ -201,12 +216,12 @@ Support for C++11 dialect.
      not pass --enable/--disable.  It should be one of the permitted
      values passed later.  Examples: <code class="code">[yes]</code>, or
      <code class="code">[bar]</code>, or <code class="code">[$1]</code> (which passes the
-     argument given to the GLIBCXX_ENABLE_FOO macro as the
-     default).
+     argument given to the <code class="literal">GLIBCXX_ENABLE_FOO</code> macro
+     as the default).
    </p><p>
      For cases where we need to probe for particular models of things,
      it is useful to have an undocumented "auto" value here (see
-     GLIBCXX_ENABLE_CLOCALE for an example).
+     <code class="literal">GLIBCXX_ENABLE_CLOCALE</code> for an example).
    </p></li><li class="listitem"><p>
      HELP-ARG is any text to append to the option string itself in the
      --help output.  Examples: <code class="code">[]</code> (i.e., an empty string,
@@ -218,7 +233,7 @@ Support for C++11 dialect.
    </p><p>
      If you're wondering what that line noise in the last example was,
      that's how you embed autoconf special characters in output text.
-     They're called <a class="link" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><span class="emphasis"><em>quadrigraphs</em></span></a>
+     They're called <a class="link" href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs" target="_top"><span class="emphasis"><em>quadrigraphs</em></span></a>
      and you should use them whenever necessary.
  </p></li><li class="listitem"><p>HELP-STRING is what you think it is.  Do not include the
    "default" text like we used to do; it will be done for you by
@@ -249,4 +264,47 @@ Support for C++11 dialect.
   argument checking at all is done in this signature.  See
   GLIBCXX_ENABLE_CXX_FLAGS for an example of handling, and an error
   message.
-</p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr><tr><td align="left" valign="top">Design Notes </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Writing and Generating Documentation</td></tr></table></div></body></html>
+</p></div></div><div class="section" title="Make"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.make"></a>Make</h3></div></div></div><p>
+    The build process has to make all of object files needed for
+    static or shared libraries, but first it has to generate some
+    include files. The general order is as follows:
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+     make include files, make pre-compiled headers
+   </p></li><li class="listitem"><p>
+     make libsupc++
+   </p><p>
+     Generates a libtool convenience library,
+     <code class="filename">libsupc++convenience</code> with language-support
+     routines. Also generates a freestanding static library,
+     <code class="filename">libsupc++.a</code>.
+   </p></li><li class="listitem"><p>
+     make src
+   </p><p>
+     Generates two convenience libraries, one for C++98 and one for
+     C++11, various compability files for shared and static
+     libraries, and then collects all the generated bits and creates
+     the final libstdc++ libraries.
+  </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
+     make src/c++98
+   </p><p>
+     Generates a libtool convenience library,
+     <code class="filename">libc++98convenience</code> with language-support
+     routines. Uses the <code class="literal">-std=gnu++98</code> dialect.
+   </p></li><li class="listitem"><p>
+     make src/c++11
+   </p><p>
+     Generates a libtool convenience library,
+     <code class="filename">libc++11convenience</code> with language-support
+     routines. Uses the <code class="literal">-std=gnu++11</code> dialect.
+   </p></li><li class="listitem"><p>
+     make src
+   </p><p>
+     Generates needed compatibility objects for shared and static
+     libraries. Shared-only code is seggregated at compile-time via
+     the macro <code class="literal">_GLIBCXX_SHARED</code>.
+   </p><p>
+     Then, collects all the generated convenience libraries, adds in
+     any required compatibility objects, and creates the final shared
+     and static libraries: <code class="filename">libstdc++.so</code> and
+     <code class="filename">libstdc++.a</code>.
+   </p></li></ol></div></li></ol></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_design_notes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="documentation_hacking.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design Notes </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Writing and Generating Documentation</td></tr></table></div></body></html>
index 587b756..2425b99 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="containers.html" title="Chapter 9.  Containers"/><link rel="prev" href="containers.html" title="Chapter 9.  Containers"/><link rel="next" href="containers_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
+<!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>Associative</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="containers.html" title="Chapter 9.  Containers" /><link rel="next" href="containers_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Associative</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
   Containers
   
-</th><td align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="Associative"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.associative"/>Associative</h2></div></div></div><div class="section" title="Insertion Hints"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.insert_hints"/>Insertion Hints</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="Associative"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.associative"></a>Associative</h2></div></div></div><div class="section" title="Insertion Hints"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.insert_hints"></a>Insertion Hints</h3></div></div></div><p>
      Section [23.1.2], Table 69, of the C++ standard lists this
      function for all of the associative containers (map, set, etc):
    </p><pre class="programlisting">
@@ -13,7 +13,7 @@
      item to insert.  The standard says that <span class="quote">“<span class="quote"><code class="code">t</code> is
      inserted as close as possible to the position just prior to
      <code class="code">p</code>.</span>”</span> (Library DR #233 addresses this topic,
-     referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</a>.
+     referring to <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html" target="_top">N1780</a>.
      Since version 4.2 GCC implements the resolution to DR 233, so
      that insertions happen as close as possible to the hint. For
      earlier releases the hint was only used as described below.
@@ -39,7 +39,7 @@
      paragraph.  *grin*
    </p><p>
      If the <code class="code">hint</code> parameter ('p' above) is equivalent to:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          <code class="code">begin()</code>, then the item being inserted should
          have a key less than all the other keys in the container.
          The item will be inserted at the beginning of the container,
@@ -84,7 +84,7 @@
      the new item would in fact belong there.  If the hint does not
      point to the correct place, then no further local searching is
      done; the search begins from scratch in logarithmic time.
-   </p></div><div class="section" title="bitset"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.bitset"/>bitset</h3></div></div></div><div class="section" title="Size Variable"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.size_variable"/>Size Variable</h4></div></div></div><p>
+   </p></div><div class="section" title="bitset"><div class="titlepage"><div><div><h3 class="title"><a id="containers.associative.bitset"></a>bitset</h3></div></div></div><div class="section" title="Size Variable"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.size_variable"></a>Size Variable</h4></div></div></div><p>
        No, you cannot write code of the form
       </p><pre class="programlisting">
       #include &lt;bitset&gt;
      There are a couple of ways to handle this kind of thing.  Please
      consider all of them before passing judgement.  They include, in
      no chaptericular order:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li class="listitem"><p>A container&lt;bool&gt;.</p></li><li class="listitem"><p>Extremely weird solutions.</p></li></ul></div><p>
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A very large N in <code class="code">bitset&lt;N&gt;</code>.</p></li><li class="listitem"><p>A container&lt;bool&gt;.</p></li><li class="listitem"><p>Extremely weird solutions.</p></li></ul></div><p>
      <span class="emphasis"><em>A very large N in
      <code class="code">bitset&lt;N&gt;</code>.  </em></span> It has been
      pointed out a few times in newsgroups that N bits only takes up
    </p><p>
      Also note that the implementation of bitset used in libstdc++ has
      <a class="link" href="ext_containers.html#manual.ext.containers.sgi" title="Backwards Compatibility">some extensions</a>.
-   </p></div><div class="section" title="Type String"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.type_string"/>Type String</h4></div></div></div><p>
+   </p></div><div class="section" title="Type String"><div class="titlepage"><div><div><h4 class="title"><a id="associative.bitset.type_string"></a>Type String</h4></div></div></div><p>
       </p><p>
      Bitmasks do not take char* nor const char* arguments in their
      constructors.  This is something of an accident, but you can read
      instead of
    </p><pre class="programlisting">
       std::bitset&lt;5&gt; b ( <span class="quote">“<span class="quote">10110</span>”</span> );    // invalid
-    </pre></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="containers.html">Prev</a> </td><td align="center"><a accesskey="u" href="containers.html">Up</a></td><td align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 9. 
+    </pre></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="containers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="containers_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 9. 
   Containers
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
index 0c10b45..4955bfd 100644 (file)
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 14.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      atomic&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="io_and_c.html" title="Interacting with C"/><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
+<!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>Chapter 14.  Atomics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      atomic&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="concurrency.html" title="Chapter 15.  Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. 
   Atomics
   
-</th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 14.  Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"/>Chapter 14. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14.  Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14. 
   Atomics
-  <a id="id506046" class="indexterm"/>
+  <a id="idp16354144" class="indexterm"></a>
 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
   Facilities for atomic operations.
-</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics.api"/>API Reference</h2></div></div></div><p>
+</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
     All items are declared in the standard header
     file <code class="filename">atomic</code>.
   </p><p>
@@ -25,7 +25,7 @@
     <code class="classname">atomic&lt;int&gt;</code>.
   </p><p>
     Full API details.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 15. 
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 15. 
   Concurrency
   
 </td></tr></table></div></body></html>
index 4e6dd91..788dfc1 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backwards Compatibility</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      backwards&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="api.html" title="API Evolution and Deprecation History"/><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>Backwards Compatibility</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      backwards&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="api.html" title="API Evolution and Deprecation History" /><link rel="next" href="appendix_free.html" title="Appendix C.  Free Software Needs Free Documentation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Backwards Compatibility</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr/></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title"><a id="manual.appendix.porting.backwards"/>Backwards Compatibility</h2></div></div></div><div class="section" title="First"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"/>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++.  It was a
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr></table><hr /></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.appendix.porting.backwards"></a>Backwards Compatibility</h2></div></div></div><div class="section" title="First"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.first"></a>First</h3></div></div></div><p>The first generation GNU C++ library was called libg++.  It was a
 separate GNU project, although reliably paired with GCC. Rumors imply
 that it had a working relationship with at least two kinds of
 dinosaur.
@@ -17,8 +17,8 @@ ISO Standard (e.g., statistical analysis).  While there are a lot of
 really useful things that are used by a lot of people, the Standards
 Committee couldn't include everything, and so a lot of those
 <span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
-</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.ios_base"/>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
-</p></div><div class="section" title="No cout in &lt;ostream.h&gt;, no cin in &lt;istream.h&gt;"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.cout_cin"/>No <code class="code">cout</code> in <code class="filename">&lt;ostream.h&gt;</code>, no <code class="code">cin</code> in <code class="filename">&lt;istream.h&gt;</code></h4></div></div></div><p>
+</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.ios_base"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
+</p></div><div class="section" title="No cout in &lt;ostream.h&gt;, no cin in &lt;istream.h&gt;"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.first.cout_cin"></a>No <code class="code">cout</code> in <code class="filename">&lt;ostream.h&gt;</code>, no <code class="code">cin</code> in <code class="filename">&lt;istream.h&gt;</code></h4></div></div></div><p>
        In earlier versions of the standard,
        <code class="filename">&lt;fstream.h&gt;</code>,
        <code class="filename">&lt;ostream.h&gt;</code>
@@ -29,10 +29,10 @@ Committee couldn't include everything, and so a lot of those
        explicitly to get the required definitions.
  </p><p> Some include adjustment may be required.</p><p>This project is no longer maintained or supported, and the sources
 archived. For the desperate,
-the <a class="link" href="http://gcc.gnu.org/extensions.html">GCC extensions
+the <a class="link" href="http://gcc.gnu.org/extensions.html" target="_top">GCC extensions
 page</a> describes where to find the last libg++ source. The code is
 considered replaced and rewritten.
-</p></div></div><div class="section" title="Second"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"/>Second</h3></div></div></div><p>
+</p></div></div><div class="section" title="Second"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.second"></a>Second</h3></div></div></div><p>
   The second generation GNU C++ library was called libstdc++, or
   libstdc++-v2. It spans the time between libg++ and pre-ISO C++
   standardization and is usually associated with the following GCC
@@ -44,7 +44,7 @@ considered replaced and rewritten.
   archived.  The code is considered replaced and rewritten.
 </p><p>
   Portability notes and known implementation limitations are as follows.
-</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.std"/>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
+</p><div class="section" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.std"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
     Some care is required to support C++ compiler and or library
     implementation that do not have the standard library in
     <code class="code">namespace std</code>.
@@ -108,10 +108,10 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
     AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
   fi
 ])
-</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iterators"/>Illegal iterator usage</h4></div></div></div><p>
+</pre></div><div class="section" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iterators"></a>Illegal iterator usage</h4></div></div></div><p>
   The following illustrate implementation-allowed illegal iterator
   use, and then correct use.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
       you cannot do <code class="code">ostream::operator&lt;&lt;(iterator)</code>
       to print the address of the iterator =&gt; use
       <code class="code">operator&lt;&lt; &amp;*iterator</code> instead
@@ -121,7 +121,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
     </p></li><li class="listitem"><p>
       <code class="code">if (iterator)</code> won't work any more =&gt; use
       <code class="code">if (iterator != iterator_type())</code>
-    </p></li></ul></div></div><div class="section" title="isspace from &lt;cctype&gt; is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.isspace"/><code class="code">isspace</code> from <code class="filename">&lt;cctype&gt;</code> is a macro
+    </p></li></ul></div></div><div class="section" title="isspace from &lt;cctype&gt; is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.isspace"></a><code class="code">isspace</code> from <code class="filename">&lt;cctype&gt;</code> is a macro
   </h4></div></div></div><p>
     Glibc 2.0.x and 2.1.x define <code class="filename">&lt;ctype.h&gt;</code> functionality as macros
     (isspace, isalpha etc.).
@@ -155,7 +155,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] &amp; (unsigned short int) _ISspace ) ;
   (<code class="filename">&lt;ctype.h&gt;</code>) and the
   definitions in namespace <code class="code">std::</code>
   (<code class="code">&lt;cctype&gt;</code>).
-</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.at"/>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
+</p></div><div class="section" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.at"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
   One solution is to add an autoconf-test for this:
 </p><pre class="programlisting">
 AC_MSG_CHECKING(for container::at)
@@ -181,7 +181,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
 </pre><p>
   If you are using other (non-GNU) compilers it might be a good idea
   to check for <code class="code">string::at</code> separately.
-</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.eof"/>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
+</p></div><div class="section" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.eof"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
   Use some kind of autoconf test, plus this:
 </p><pre class="programlisting">
 #ifdef HAVE_CHAR_TRAITS
@@ -189,7 +189,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
 #else
 #define CPP_EOF EOF
 #endif
-</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringclear"/>No <code class="code">string::clear</code></h4></div></div></div><p>
+</pre></div><div class="section" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringclear"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
   There are two functions for deleting the contents of a string:
   <code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
   string).
@@ -207,18 +207,18 @@ erase(size_type __pos = 0, size_type __n = npos)
   Unfortunately, <code class="code">clear</code> is not implemented in this
   version, so you should use <code class="code">erase</code> (which is probably
   faster than <code class="code">operator=(charT*)</code>).
-</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.ostreamform_istreamscan"/>
+</p></div><div class="section" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.ostreamform_istreamscan"></a>
   Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
   extensions
 </h4></div></div></div><p>
   These are no longer supported. Please use stringstreams instead.
-</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringstreams"/>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
+</p></div><div class="section" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.stringstreams"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
   Although the ISO standard <code class="code">i/ostringstream</code>-classes are
   provided, (<code class="filename">&lt;sstream&gt;</code>), for
   compatibility with older implementations the pre-ISO
   <code class="code">i/ostrstream</code> (<code class="filename">&lt;strstream&gt;</code>) interface is also provided,
   with these caveats:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
       <code class="code">strstream</code> is considered to be deprecated
     </p></li><li class="listitem"><p>
       <code class="code">strstream</code> is limited to <code class="code">char</code>
@@ -300,14 +300,14 @@ any = temp;
   Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
 </p><p> There is additional information in the libstdc++-v2 info files, in
 particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
-</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.wchar"/>Little or no wide character support</h4></div></div></div><p>
+</p></div><div class="section" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.wchar"></a>Little or no wide character support</h4></div></div></div><p>
     Classes <code class="classname">wstring</code> and
     <code class="classname">char_traits&lt;wchar_t&gt;</code> are
     not supported.
-  </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iostream_templates"/>No templatized iostreams</h4></div></div></div><p>
+  </p></div><div class="section" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.iostream_templates"></a>No templatized iostreams</h4></div></div></div><p>
     Classes <code class="classname">wfilebuf</code> and
     <code class="classname">wstringstream</code> are not supported.
-  </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.thread_safety"/>Thread safety issues</h4></div></div></div><p>
+  </p></div><div class="section" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.second.thread_safety"></a>Thread safety issues</h4></div></div></div><p>
     Earlier GCC releases had a somewhat different approach to
     threading configuration and proper compilation.  Before GCC 3.0,
     configuration of the threading model was dictated by compiler
@@ -332,7 +332,7 @@ particular <span class="quote">“<span class="quote">info iostream</span>”</s
      against the gthr.h abstraction layer which is provided by gcc.  A
      minor problem that pops up every so often is different
      interpretations of what "thread-safe" means for a
-     library (not a general program).  We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">same
+     library (not a general program).  We currently use the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">same
      definition that SGI</a> uses for their STL subset.  However,
      the exception for read-only containers only applies to the STL
      components. This definition is widely-used and something similar
@@ -343,12 +343,12 @@ particular <span class="quote">“<span class="quote">info iostream</span>”</s
      first relevant message in the thread; from there you can use
      "Thread Next" to move down the thread.  This farm is in
      latest-to-oldest order.
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
-           Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html">the
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+           Our threading expert Loren gives a breakdown of <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html" target="_top">the
            six situations involving threads</a> for the 3.0
            release series.
          </p></li><li class="listitem"><p>
-           <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html">
+           <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html" target="_top">
        This message</a> inspired a recent updating of issues with
        threading and the SGI STL library.  It also contains some
        example POSIX-multithreaded STL code.
@@ -358,14 +358,14 @@ particular <span class="quote">“<span class="quote">info iostream</span>”</s
      few people with access to the backup tapes have been too swamped
      with work to restore them.  Many of the points have been
      superseded anyhow.)
-   </p></div></div><div class="section" title="Third"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"/>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
+   </p></div></div><div class="section" title="Third"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.third"></a>Third</h3></div></div></div><p> The third generation GNU C++ library is called libstdc++, or
 libstdc++-v3.
 </p><p>The subset commonly known as the Standard Template Library
         (chapters 23 through 25, mostly) is adapted from the final release
         of the SGI STL (version 3.3), with extensive changes.
       </p><p>A more formal description of the V3 goals can be found in the
         official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
-      </p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.headers"/>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
+      </p><p>Portability notes and known implementation limitations are as follows.</p><div class="section" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.headers"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
       (<code class="filename">&lt;iostream.h&gt;</code>,
       <code class="filename">&lt;defalloc.h&gt;</code> etc.) are
       available, unlike previous libstdc++ versions, but inclusion
@@ -375,7 +375,7 @@ libstdc++-v3.
     <code class="code">std::</code> into the global namespace.
    </p><p>For those of you new to ISO C++ (welcome, time travelers!), no,
       that isn't a typo. Yes, the headers really have new names.
-      Marshall Cline's C++ FAQ Lite has a good explanation in <a class="link" href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4">item
+      Marshall Cline's C++ FAQ Lite has a good explanation in <a class="link" href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4" target="_top">item
       [27.4]</a>.
    </p><p> Some include adjustment may be required. What follows is an
 autoconf test that defines <code class="code">PRE_STDCXX_HEADERS</code> when they
@@ -438,7 +438,7 @@ like <code class="filename">&lt;vector.h&gt;</code> can be replaced with <code c
 directive <code class="code">using namespace std;</code> can be put at the global
 scope. This should be enough to get this code compiling, assuming the
 other usage is correct.
-</p></div><div class="section" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.hash"/>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
+</p></div><div class="section" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.hash"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
         replaced by standardized libraries.
         In particular, the <code class="classname">unordered_map</code> and
         <code class="classname">unordered_set</code> containers of TR1 and C++ 2011
@@ -512,7 +512,7 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
     AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
   fi
 ])
-</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.nocreate_noreplace"/>No <code class="code">ios::nocreate/ios::noreplace</code>.
+</pre></div><div class="section" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.nocreate_noreplace"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
 </h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
 input-streams has been confirmed, most probably because the author
 thought it would be more correct to specify nocreate explicitly.  So
@@ -523,7 +523,7 @@ open the file for reading, check if it has been opened, and then
 decide whether you want to create/replace or not. To my knowledge,
 even older implementations support <code class="code">app</code>, <code class="code">ate</code>
 and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
-</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.streamattach"/>
+</p></div><div class="section" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.streamattach"></a>
 No <code class="code">stream::attach(int fd)</code>
 </h4></div></div></div><p>
       Phil Edwards writes: It was considered and rejected for the ISO
@@ -539,14 +539,14 @@ No <code class="code">stream::attach(int fd)</code>
     </p><p>
       An extension is available that implements this.
       <code class="filename">&lt;ext/stdio_filebuf.h&gt;</code> contains a derived class called
-      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
+      <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target="_top"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
       This class can be constructed from a C <code class="code">FILE*</code> or a file
       descriptor, and provides the <code class="code">fd()</code> function.
     </p><p>
  For another example of this, refer to
-      <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html">fdstream example</a>
+      <a class="link" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
       by Nicolai Josuttis.
-</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx98"/>
+</p></div><div class="section" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx98"></a>
 Support for C++98 dialect.
 </h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
 </p><pre class="programlisting">
@@ -614,7 +614,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
     AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
   fi
 ])
-</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_tr1"/>
+</pre></div><div class="section" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_tr1"></a>
 Support for C++TR1 dialect.
 </h4></div></div></div><p>Check for library coverage of the TR1 standard.
 </p><pre class="programlisting">
@@ -691,7 +691,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
     AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
   fi
 ])
-</pre></div><div class="section" title="Support for C++11 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx11"/>
+</pre></div><div class="section" title="Support for C++11 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.support_cxx11"></a>
 Support for C++11 dialect.
 </h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++11 standard.
 </p><pre class="programlisting">
@@ -935,25 +935,25 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
   but the autoconf checks above could be extended to test for incomplete
   C++11 support with <code class="option">-std=c++0x</code> and
   <code class="option">-std=gnu++0x</code>.
-</p></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.iterator_type"/>
+</p></div><div class="section" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="backwards.third.iterator_type"></a>
   <code class="code">Container::iterator_type</code> is not necessarily <code class="code">Container::value_type*</code>
 </h4></div></div></div><p>
   This is a change in behavior from older versions. Now, most
   <span class="type">iterator_type</span> typedefs in container classes are POD
   objects, not <span class="type">value_type</span> pointers.
-</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="Migrating to GCC 4.1"><a id="id564028"/><p><span class="title"><em>
-       <a class="link" href="http://www.kegel.com/gcc/gcc4.html">
+</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="Migrating to GCC 4.1"><a id="idp23375200"></a><p><span class="title"><em>
+       <a class="link" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
       Migrating to GCC 4.1
        </a>
-      </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry" title="Building the Whole Debian Archive with GCC 4.1: A Summary"><a id="id564051"/><p><span class="title"><em>
-       <a class="link" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html">
+      </em>. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry" title="Building the Whole Debian Archive with GCC 4.1: A Summary"><a id="idp23377984"></a><p><span class="title"><em>
+       <a class="link" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
       Building the Whole Debian Archive with GCC 4.1: A Summary
        </a>
-      </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry" title="Migration guide for GCC-3.2"><a id="id564075"/><p><span class="title"><em>
-       <a class="link" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html">
+      </em>. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry" title="Migration guide for GCC-3.2"><a id="idp23380832"></a><p><span class="title"><em>
+       <a class="link" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
       Migration guide for GCC-3.2
        </a>
-      </em>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="api.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr><tr><td align="left" valign="top">API Evolution and Deprecation History </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix C. 
+      </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_free.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">API Evolution and Deprecation History </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix C. 
   Free Software Needs Free Documentation
   
 </td></tr></table></div></body></html>
index d73a5d1..cb92883 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 21. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch20s05.html" title="Multiple Thread Example"/><link rel="next" href="bk01pt03ch21s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 21. The bitmap_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch20s05.html" title="Multiple Thread Example" /><link rel="next" href="bk01pt03ch21s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 21. The bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"/>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
-</p><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.bitmap.design"/>Design</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 21. The bitmap_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 21. The bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></div><p>
+</p><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.design"></a>Design</h2></div></div></div><p>
     As this name suggests, this allocator uses a bit-map to keep track
     of the used and unused memory locations for its book-keeping
     purposes.
@@ -30,4 +30,4 @@
     Mutex Protection around every allocation/deallocation. The state
     of the macro is picked up automatically from the gthr abstraction
     layer.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr><tr><td align="left" valign="top">Multiple Thread Example </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch21s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Multiple Thread Example </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
index 582ceba..303c2eb 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part II.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="debug.html" title="Debugging Support"/><link rel="next" href="support.html" title="Chapter 4.  Support"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
+<!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>Part II.  Standard Contents</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="debug.html" title="Debugging Support" /><link rel="next" href="support.html" title="Chapter 4.  Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. 
     Standard Contents
-  </th></tr><tr><td align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part II.  Standard Contents"><div class="titlepage"><div><div><h1 class="title"><a id="manual.std"/>Part II. 
+  </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part II.  Standard Contents"><div class="titlepage"><div><div><h1 class="title"><a id="manual.std"></a>Part II. 
     Standard Contents
   </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="support.html">4. 
   Support
 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6. 
   Utilities
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13894640">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13898192">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13911488">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15484560">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15507072">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15514368">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15528992">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15545344">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15548928">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
   Strings
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8. 
   Localization
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15752864">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
   Containers
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10. 
@@ -40,7 +40,7 @@
 </a></span></dt><dd><dl><dt><span class="section"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></dd><dt><span class="chapter"><a href="concurrency.html">15. 
   Concurrency
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="debug.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="support.html">Next</a></td></tr><tr><td align="left" valign="top">Debugging Support </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 4. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="support.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging Support </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 4. 
   Support
   
 </td></tr></table></div></body></html>
index e12ca2f..f4aa1c8 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics"/><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics"/><link rel="next" href="utilities.html" title="Chapter 6.  Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
+<!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>Concept Checking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="prev" href="diagnostics.html" title="Chapter 5.  Diagnostics" /><link rel="next" href="utilities.html" title="Chapter 6.  Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concept Checking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><th width="60%" align="center">Chapter 5. 
   Diagnostics
   
-</th><td align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Concept Checking"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics.concept_checking"/>Concept Checking</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr></table><hr /></div><div class="section" title="Concept Checking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.concept_checking"></a>Concept Checking</h2></div></div></div><p>
     In 1999, SGI added <span class="quote">“<span class="quote">concept checkers</span>”</span> to their
     implementation of the STL: code which checked the template
     parameters of instantiated pieces of the STL, in order to insure
@@ -21,7 +21,7 @@
      The primary author of the checking code, Jeremy Siek, had already
      started work on a replacement implementation.  The new code was
      formally reviewed and accepted into
-   <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
+   <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="_top">the
    Boost libraries</a>, and we are pleased to incorporate it into the
    GNU C++ library.
  </p><p>
    for example template argument types may need to be complete when used in
    a template definition, rather than at the point of instantiation.
    There are no plans to address these shortcomings.
- </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><td align="center"><a accesskey="u" href="diagnostics.html">Up</a></td><td align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 5. 
+ </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="diagnostics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="diagnostics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="utilities.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. 
   Diagnostics
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 6. 
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 6. 
   Utilities
   
 </td></tr></table></div></body></html>
index 1616ce5..7abfa97 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="next" href="bk01pt03ch17s03.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.semantics"/>Semantics</h2></div></div></div><p>
+<!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>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="next" href="bk01pt03ch17s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p>
   </p><p>A program that uses the C++ standard library correctly
   will maintain the same semantics under debug mode as it had with
   the normal (release) library. All functional and exception-handling
@@ -36,7 +36,7 @@
   (N.B. In GCC 3.4.x and 4.0.0, due to a bug,
   <code class="code">-D_GLIBXX_DEBUG_PEDANTIC</code> was also needed. The problem has
   been fixed in GCC 4.0.1 and later versions.) </p><p>The following library components provide extra debugging
-  capabilities in debug mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li class="listitem"><p><code class="code">std::bitset</code></p></li><li class="listitem"><p><code class="code">std::deque</code></p></li><li class="listitem"><p><code class="code">std::list</code></p></li><li class="listitem"><p><code class="code">std::map</code></p></li><li class="listitem"><p><code class="code">std::multimap</code></p></li><li class="listitem"><p><code class="code">std::multiset</code></p></li><li class="listitem"><p><code class="code">std::set</code></p></li><li class="listitem"><p><code class="code">std::vector</code></p></li><li class="listitem"><p><code class="code">std::unordered_map</code></p></li><li class="listitem"><p><code class="code">std::unordered_multimap</code></p></li><li class="listitem"><p><code class="code">std::unordered_set</code></p></li><li class="listitem"><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
+  capabilities in debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">std::basic_string</code> (no safe iterators and see note below)</p></li><li class="listitem"><p><code class="code">std::bitset</code></p></li><li class="listitem"><p><code class="code">std::deque</code></p></li><li class="listitem"><p><code class="code">std::list</code></p></li><li class="listitem"><p><code class="code">std::map</code></p></li><li class="listitem"><p><code class="code">std::multimap</code></p></li><li class="listitem"><p><code class="code">std::multiset</code></p></li><li class="listitem"><p><code class="code">std::set</code></p></li><li class="listitem"><p><code class="code">std::vector</code></p></li><li class="listitem"><p><code class="code">std::unordered_map</code></p></li><li class="listitem"><p><code class="code">std::unordered_multimap</code></p></li><li class="listitem"><p><code class="code">std::unordered_set</code></p></li><li class="listitem"><p><code class="code">std::unordered_multiset</code></p></li></ul></div><p>N.B. although there are precondition checks for some string operations,
 e.g.  <code class="code">operator[]</code>,
 they will not always be run when using the <code class="code">char</code> and
 <code class="code">wchar_t</code> specialisations (<code class="code">std::string</code> and
@@ -52,4 +52,4 @@ with the debug-mode checks included, but this is unsupported and not
 guaranteed to work.  For full debug-mode support you can use the
 <code class="code">__gnu_debug::basic_string</code> debugging container directly,
 which always works correctly.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 17. Debug Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 17. Debug Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
index 996edbb..425a564 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="bk01pt03ch17s02.html" title="Semantics"/><link rel="next" href="bk01pt03ch17s04.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 align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.using"/>Using</h2></div></div></div><p>
-  </p><div class="section" title="Using the Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"/>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="bk01pt03ch17s02.html" title="Semantics" /><link rel="next" href="bk01pt03ch17s04.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="bk01pt03ch17s02.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p>
+  </p><div class="section" title="Using the Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.mode"></a>Using the Debug Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your application with the
   compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that this flag
   changes the sizes and behavior of standard class templates such
   as <code class="code">std::vector</code>, and therefore you can only link code
@@ -10,7 +10,7 @@
   units.</p><p>By default, error messages are formatted to fit on lines of about
   78 characters.  The environment variable
   <code class="code">GLIBCXX_DEBUG_MESSAGE_LENGTH</code> can be used to request a
-  different length.</p></div><div class="section" title="Using a Specific Debug Container"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"/>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
+  different length.</p></div><div class="section" title="Using a Specific Debug Container"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.using.specific"></a>Using a Specific Debug Container</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
   only specific containers need checking, debugging containers are
   available as GNU extensions. These debugging containers are
   functionally equivalent to the standard drop-in containers used in
@@ -19,6 +19,6 @@
   mode or with debug mode. The
   following table provides the names and headers of the debugging
   containers:
-</p><div class="table"><a id="id506882"/><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Container</th><th style="text-align: left">Header</th><th style="text-align: left">Debug container</th><th style="text-align: left">Debug header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">std::bitset</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="classname">__gnu_debug::bitset</code></td><td style="text-align: left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::deque</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="classname">__gnu_debug::deque</code></td><td style="text-align: left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::list</code></td><td style="text-align: left"><code class="filename">list</code></td><td style="text-align: left"><code class="classname">__gnu_debug::list</code></td><td style="text-align: left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::map</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::map</code></td><td style="text-align: left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::multimap</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::multimap</code></td><td style="text-align: left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::multiset</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::multiset</code></td><td style="text-align: left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::set</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::set</code></td><td style="text-align: left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::string</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::string</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::wstring</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::wstring</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::basic_string</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="classname">__gnu_debug::basic_string</code></td><td style="text-align: left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::vector</code></td><td style="text-align: left"><code class="filename">vector</code></td><td style="text-align: left"><code class="classname">__gnu_debug::vector</code></td><td style="text-align: left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break"/><p>In addition, when compiling in C++11 mode, these additional
+</p><div class="table"><a id="idp16454656"></a><p class="title"><strong>Table 17.1. Debugging Containers</strong></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++11 mode, these additional
 containers have additional debug capability.
-</p><div class="table"><a id="id507256"/><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Container</th><th style="text-align: left">Header</th><th style="text-align: left">Debug container</th><th style="text-align: left">Debug header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="classname">std::unordered_map</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_map</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_multimap</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_set</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_set</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td style="text-align: left"><code class="classname">std::unordered_multiset</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td><td style="text-align: left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td style="text-align: left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td align="left" valign="top">Semantics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="idp16499552"></a><p class="title"><strong>Table 17.2. Debugging Containers C++11</strong></p><div class="table-contents"><table summary="Debugging Containers C++11" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
index 1aa9f30..5222bdb 100644 (file)
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode"/><link rel="prev" href="bk01pt03ch17s03.html" title="Using"/><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.design"/>Design</h2></div></div></div><p>
-  </p><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"/>Goals</h3></div></div></div><p>
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="debug_mode.html" title="Chapter 17. Debug Mode" /><link rel="prev" href="bk01pt03ch17s03.html" title="Using" /><link rel="next" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /></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="bk01pt03ch17s03.html">Prev</a> </td><th width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p>
+  </p><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p>
     </p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard
   containers and iterators with semantically equivalent safe standard
   containers and iterators to aid in debugging user programs. The
-  following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
+  following goals directed the design of the libstdc++ debug mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Correctness</em></span>: the libstdc++ debug mode must not change
     the semantics of the standard library for all cases specified in
     the ANSI/ISO C++ standard. The essence of this constraint is that
     any valid C++ program should behave in the same manner regardless
@@ -39,7 +39,7 @@
     higher-numbered conformance levels are more usable (i.e., require
     less recompilation) but are more complicated to implement than
     the lower-numbered conformance levels.
-      </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
+      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><span class="emphasis"><em>Full recompilation</em></span>: The user must recompile his or
        her entire application and all C++ libraries it depends on,
        including the C++ standard library that ships with the
        compiler. This must be done even if only a small part of the
        (performance regression) or allocating extra memory associated
        with each iterator with <code class="code">new</code> (changes the program
        semantics).</p></li></ol></div><p>
-    </p></li></ul></div></div><div class="section" title="Methods"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"/>Methods</h3></div></div></div><p>
+    </p></li></ul></div></div><div class="section" title="Methods"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.methods"></a>Methods</h3></div></div></div><p>
     </p><p>This section provides an overall view of the design of the
   libstdc++ debug mode and details the relationship between design
-  decisions and the stated design goals.</p><div class="section" title="The Wrapper Model"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"/>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
+  decisions and the stated design goals.</p><div class="section" title="The Wrapper Model"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.wrappers"></a>The Wrapper Model</h4></div></div></div><p>The libstdc++ debug mode uses a wrapper model where the
   debugging versions of library components (e.g., iterators and
   containers) form a layer on top of the release versions of the
   library components. The debugging components first verify that the
   their associated containers, which are necessary to detect certain
   types of standard library usage errors such as dereferencing
   past-the-end iterators or inserting into a container using an
-  iterator from a different container.</p><div class="section" title="Safe Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"/>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
+  iterator from a different container.</p><div class="section" title="Safe Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_iter"></a>Safe Iterators</h5></div></div></div><p>Iterator wrappers provide a debugging layer over any iterator that
   is attached to a particular container, and will manage the
   information detailing the iterator's state (singular,
   dereferenceable, etc.) and tracking the container to which the
   iterator is attached. Because iterators have a well-defined, common
   interface the iterator wrapper is implemented with the iterator
   adaptor class template <code class="code">__gnu_debug::_Safe_iterator</code>,
-  which takes two template parameters:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">Iterator</code>: The underlying iterator type, which must
+  which takes two template parameters:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">Iterator</code>: The underlying iterator type, which must
     be either the <code class="code">iterator</code> or <code class="code">const_iterator</code>
     typedef from the sequence type this iterator can reference.</p></li><li class="listitem"><p><code class="code">Sequence</code>: The type of sequence that this iterator
   references. This sequence must be a safe sequence (discussed below)
   whose <code class="code">iterator</code> or <code class="code">const_iterator</code> typedef
-  is the type of the safe iterator.</p></li></ul></div></div><div class="section" title="Safe Sequences (Containers)"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"/>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
+  is the type of the safe iterator.</p></li></ul></div></div><div class="section" title="Safe Sequences (Containers)"><div class="titlepage"><div><div><h5 class="title"><a id="debug_mode.design.methods.safe_seq"></a>Safe Sequences (Containers)</h5></div></div></div><p>Container wrappers provide a debugging layer over a particular
   container type. Because containers vary greatly in the member
   functions they support and the semantics of those member functions
   (especially in the area of iterator invalidation), container
@@ -157,7 +157,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
 
     // duplicate std::list interface with debugging semantics
   };
-</pre></div></div><div class="section" title="Precondition Checking"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"/>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
+</pre></div></div><div class="section" title="Precondition Checking"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.precond"></a>Precondition Checking</h4></div></div></div><p>The debug mode operates primarily by checking the preconditions of
   all standard library operations that it supports. Preconditions that
   are always checked (regardless of whether or not we are in debug
   mode) are checked via the <code class="code">__check_xxx</code> macros defined
@@ -184,7 +184,7 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
   cousin <code class="code">_GLIBCXX_DEBUG_PEDASSERT</code>, or the assertion
   check macro that supports more advance formulation of error
   messages, <code class="code">_GLIBCXX_DEBUG_VERIFY</code>. These macros are
-  documented more thoroughly in the debug mode source code.</p></div><div class="section" title="Release- and debug-mode coexistence"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"/>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
+  documented more thoroughly in the debug mode source code.</p></div><div class="section" title="Release- and debug-mode coexistence"><div class="titlepage"><div><div><h4 class="title"><a id="debug_mode.design.methods.coexistence"></a>Release- and debug-mode coexistence</h4></div></div></div><p>The libstdc++ debug mode is the first debug mode we know of that
   is able to provide the "Per-use recompilation" (4) guarantee, that
   allows release-compiled and debug-compiled code to be linked and
   executed together without causing unpredictable behavior. This
@@ -194,13 +194,13 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
   environments by minimizing dependencies.</p><p>Achieving link- and run-time coexistence is not a trivial
   implementation task. To achieve this goal we required a small
   extension to the GNU C++ compiler (since incorporated into the C++11 language specification, described in the GCC Manual for the C++ language as
-  <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association">namespace
+  <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association" target="_top">namespace
   association</a>), and a complex organization of debug- and
   release-modes. The end result is that we have achieved per-use
   recompilation but have had to give up some checking of the
   <code class="code">std::basic_string</code> class template (namely, safe
   iterators).
-</p><div class="section" title="Compile-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"/>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
+</p><div class="section" title="Compile-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.compile"></a>Compile-time coexistence of release- and debug-mode components</h5></div></div></div><p>Both the release-mode components and the debug-mode
   components need to exist within a single translation unit so that
   the debug versions can wrap the release versions. However, only one
   of these components should be user-visible at any particular
@@ -254,7 +254,7 @@ namespace std
   // namespace __debug __attribute__ ((strong));
   inline namespace __debug { }
 }
-</pre></div><div class="section" title="Link- and run-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"/>Link- and run-time coexistence of release- and
+</pre></div><div class="section" title="Link- and run-time coexistence of release- and debug-mode components"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.link"></a>Link- and run-time coexistence of release- and
     debug-mode components</h5></div></div></div><p>Because each component has a distinct and separate release and
 debug implementation, there is no issue with link-time
 coexistence: the separate namespaces result in different mangled
@@ -301,7 +301,7 @@ test02()
   release-mode <code class="code">basic_string</code>? While the answer could be
   "both", and the difference hidden via renaming a la the
   debug/release containers, we must note two things about locale
-  facets:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>They exist as shared state: one can create a facet in one
+  facets:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>They exist as shared state: one can create a facet in one
   translation unit and access the facet via the same type name in a
   different translation unit. This means that we cannot have two
   different versions of locale facets, because the types would not be
@@ -316,10 +316,10 @@ test02()
   changes. The effect on users is expected to be minimal, as there are
   simple alternatives (e.g., <code class="code">__gnu_debug::basic_string</code>),
   and the usability benefit we gain from the ability to mix debug- and
-  release-compiled translation units is enormous.</p></div><div class="section" title="Alternatives for Coexistence"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"/>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
+  release-compiled translation units is enormous.</p></div><div class="section" title="Alternatives for Coexistence"><div class="titlepage"><div><div><h5 class="title"><a id="methods.coexistence.alt"></a>Alternatives for Coexistence</h5></div></div></div><p>The coexistence scheme above was chosen over many alternatives,
   including language-only solutions and solutions that also required
   extensions to the C++ front end. The following is a partial list of
-  solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
+  solutions, with justifications for our rejection of each.</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Completely separate debug/release libraries</em></span>: This is by
   far the simplest implementation option, where we do not allow any
   coexistence of debug- and release-compiled translation units in a
   program. This solution has an extreme negative affect on usability,
@@ -353,7 +353,7 @@ test02()
       declarations disallow specialization. This method fails
       the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em> Use implementation-specific properties of anonymous
     namespaces. </em></span>
-    See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
+    See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target="_top"> this post
     </a>
     This method fails the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: allow reopening on namespaces</em></span>: This would
     allow the debug mode to effectively alias the
@@ -376,7 +376,7 @@ test02()
     functions taking no arguments in mixed-mode settings resulting in
     equivalent link names, <code class="code"> vector::push_back() </code> being
     one example.
-    See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
+    See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html" target="_top">link
     name</a> </p></li></ul></div><p>Other options may exist for implementing the debug mode, many of
   which have probably been considered and others that may still be
   lurking. This list may be expanded over time to include other
@@ -388,17 +388,17 @@ test02()
   that breaks user specialization), and additional testcases will be
   added as we are able to identify other typical problem cases. These
   test cases will serve as a benchmark by which we can compare debug
-  mode implementations.</p></div></div></div><div class="section" title="Other Implementations"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"/>Other Implementations</h3></div></div></div><p>
+  mode implementations.</p></div></div></div><div class="section" title="Other Implementations"><div class="titlepage"><div><div><h3 class="title"><a id="debug_mode.design.other"></a>Other Implementations</h3></div></div></div><p>
     </p><p> There are several existing implementations of debug modes for C++
   standard library implementations, although none of them directly
   supports debugging for programs using libstdc++. The existing
-  implementations include:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><a class="link" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</a>:
+  implementations include:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html" target="_top">SafeSTL</a>:
   SafeSTL was the original debugging version of the Standard Template
   Library (STL), implemented by Cay S. Horstmann on top of the
   Hewlett-Packard STL. Though it inspired much work in this area, it
   has not been kept up-to-date for use with modern compilers or C++
-  standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/">STLport</a>: STLport is a free
-  implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/">SGI implementation</a>, and
+  standard library implementations.</p></li><li class="listitem"><p><a class="link" href="http://www.stlport.org/" target="_top">STLport</a>: STLport is a free
+  implementation of the C++ standard library derived from the <a class="link" href="http://www.sgi.com/tech/stl/" target="_top">SGI implementation</a>, and
   ported to many other platforms. It includes a debug mode that uses a
   wrapper model (that in some ways inspired the libstdc++ debug mode
   design), although at the time of this writing the debug mode is
@@ -409,4 +409,4 @@ test02()
   a full debug-mode implementation (including debugging for
   CodeWarrior extensions) and is easy to use, although it meets only
   the "Full recompilation" (1) recompilation
-  guarantee.</p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 18. Parallel Mode</td></tr></table></div></body></html>
+  guarantee.</p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="parallel_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 18. Parallel Mode</td></tr></table></div></body></html>
index 2017808..82a9183 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="next" href="bk01pt03ch18s03.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.semantics"/>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
+<!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>Semantics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="next" href="bk01pt03ch18s03.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Semantics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Semantics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> The parallel mode STL algorithms are currently not exception-safe,
 i.e. user-defined functors must not throw exceptions.
 Also, the order of execution is not guaranteed for some functions, of course.
 Therefore, user-defined functors should not have any concurrent side effects.
@@ -8,4 +8,4 @@ Therefore, user-defined functors should not have any concurrent side effects.
 OpenMP parallel regions in concurrent threads,
 it is not possible to call parallel STL algorithm in
 concurrent threads, either.
-It might work with other compilers, though.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 18. Parallel Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
+It might work with other compilers, though.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="parallel_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 18. Parallel Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
index bc17af3..bcc863b 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s02.html" title="Semantics"/><link rel="next" href="bk01pt03ch18s04.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 align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.using"/>Using</h2></div></div></div><div class="section" title="Prerequisite Compiler Flags"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"/>Prerequisite Compiler Flags</h3></div></div></div><p>
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s02.html" title="Semantics" /><link rel="next" href="bk01pt03ch18s04.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="bk01pt03ch18s02.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><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="section" title="Prerequisite Compiler Flags"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler Flags</h3></div></div></div><p>
   Any use of parallel functionality requires additional compiler
   and runtime support, in particular support for OpenMP. Adding this support is
   not difficult: just compile your application with the compiler
   flag <code class="literal">-fopenmp</code>. This will link
   in <code class="code">libgomp</code>, the
-  OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp/">GNU implementation</a>,
+  OpenMP <a class="link" href="http://gcc.gnu.org/onlinedocs/libgomp/" target="_top">GNU implementation</a>,
   whose presence is mandatory.
 </p><p>
 In addition, hardware that supports atomic operations and a compiler
@@ -17,7 +17,7 @@ In addition, hardware that supports atomic operations and a compiler
   as <code class="literal">-march=i686</code>,
   <code class="literal">-march=native</code> or <code class="literal">-mcpu=v9</code>. See
   the GCC manual for more information.
-</p></div><div class="section" title="Using Parallel Mode"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"/>Using Parallel Mode</h3></div></div></div><p>
+</p></div><div class="section" title="Using Parallel Mode"><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 prerequisite flags as detailed above, and in addition
   add <code class="constant">-D_GLIBCXX_PARALLEL</code>. This will convert all
@@ -34,7 +34,7 @@ In addition, hardware that supports atomic operations and a compiler
   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.
-</p></div><div class="section" title="Using Specific Parallel Components"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"/>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
+</p></div><div class="section" title="Using Specific Parallel Components"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.specific"></a>Using Specific Parallel Components</h3></div></div></div><p>When it is not feasible to recompile your entire application, or
   only specific algorithms need to be parallel-aware, individual
   parallel algorithms can be made available explicitly. These
   parallel algorithms are functionally equivalent to the standard
@@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags
 flags for atomic operations.)
 </p><p> The following table provides the names and headers of all the
   parallel algorithms that can be used in a similar manner:
-</p><div class="table"><a id="id508844"/><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Algorithm</th><th style="text-align: left">Header</th><th style="text-align: left">Parallel algorithm</th><th style="text-align: left">Parallel header</th></tr></thead><tbody><tr><td style="text-align: left"><code class="function">std::accumulate</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::accumulate</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::adjacent_difference</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::inner_product</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::inner_product</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::partial_sum</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partial_sum</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr><tr><td style="text-align: left"><code class="function">std::adjacent_find</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::adjacent_find</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::count</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::count</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::count_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::count_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::equal</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::equal</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::find_first_of</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::find_first_of</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::for_each</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::for_each</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::generate</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::generate</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::generate_n</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::generate_n</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::lexicographical_compare</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::mismatch</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::mismatch</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::search</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::search</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::search_n</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::search_n</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::transform</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::transform</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::replace</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::replace</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::replace_if</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::replace_if</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::max_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::max_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::merge</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::merge</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::min_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::min_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::nth_element</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::nth_element</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::partial_sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partial_sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::partition</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::partition</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::random_shuffle</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::random_shuffle</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_union</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_union</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_intersection</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_intersection</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_symmetric_difference</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::set_difference</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::set_difference</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::stable_sort</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::stable_sort</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr><tr><td style="text-align: left"><code class="function">std::unique_copy</code></td><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="function">__gnu_parallel::unique_copy</code></td><td style="text-align: left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td align="left" valign="top">Semantics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="idp16689952"></a><p class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
index 2eef0ee..baf2230 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s03.html" title="Using"/><link rel="next" href="bk01pt03ch18s05.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 align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.design"/>Design</h2></div></div></div><p>
-  </p><div class="section" title="Interface Basics"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.intro"/>Interface Basics</h3></div></div></div><p>
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s03.html" title="Using" /><link rel="next" href="bk01pt03ch18s05.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="bk01pt03ch18s03.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><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="section" title="Interface Basics"><div class="titlepage"><div><div><h3 class="title"><a id="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="function">std::adjacent_find</code> function is declared as:
@@ -36,13 +36,13 @@ function, if no parallel functions are deemed worthy), based on either
 compile-time or run-time conditions.
 </p><p> The available signature options are specific for the different
 algorithms/algorithm classes.</p><p> The general view of overloads for the parallel algorithms look like this:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>ISO C++ signature</p></li><li class="listitem"><p>ISO C++ signature + sequential_tag argument</p></li><li class="listitem"><p>ISO C++ signature + algorithm-specific tag type
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>ISO C++ signature</p></li><li class="listitem"><p>ISO C++ signature + sequential_tag argument</p></li><li class="listitem"><p>ISO C++ signature + algorithm-specific tag type
     (several signatures)</p></li></ul></div><p> Please note that the implementation may use additional functions
 (designated with the <code class="code">_switch</code> suffix) to dispatch from the
 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="section" title="Configuration and Tuning"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"/>Configuration and Tuning</h3></div></div></div><div class="section" title="Setting up the OpenMP Environment"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"/>Setting up the OpenMP Environment</h4></div></div></div><p>
+</p></div><div class="section" title="Configuration and Tuning"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><div class="section" title="Setting up the OpenMP Environment"><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>
@@ -72,7 +72,7 @@ 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="section" title="Compile Time Switches"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"/>Compile Time Switches</h4></div></div></div><p>
+</p></div><div class="section" title="Compile Time Switches"><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
@@ -126,7 +126,7 @@ several additional choices, namely
 <code class="code">__gnu_parallel::balanced_quicksort_tag</code>.
 Multiway mergesort comes with the two splitting strategies for multi-way
 merging. The quicksort options cannot be used for <code class="code">stable_sort</code>.
-</p></div><div class="section" title="Run Time Settings and Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"/>Run Time Settings and Defaults</h4></div></div></div><p>
+</p></div><div class="section" title="Run Time Settings and Defaults"><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 parallelization 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
@@ -175,7 +175,7 @@ i. e. it is a singleton. It can be read and written by calling
 <code class="code">__gnu_parallel::_Settings::set</code>, respectively.
 Please note that the first call return a const object, so direct manipulation
 is forbidden.
-See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html">
+See <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html" target="_top">
   <code class="filename">settings.h</code></a>
 for complete details.
 </p><p>
@@ -194,7 +194,7 @@ int main()
 
   return 0;
 }
-</pre></div></div><div class="section" title="Implementation Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.design.impl"/>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
+</pre></div></div><div class="section" title="Implementation Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="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:
@@ -210,4 +210,4 @@ __gnu_parallel</code>.
 </p><p> More information, and an organized index of types and functions
 related to the parallel mode on a per-namespace basis, can be found in
 the generated source documentation.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Testing</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Testing</td></tr></table></div></body></html>
index 9d27f10..d0c5c24 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode"/><link rel="prev" href="bk01pt03ch18s04.html" title="Design"/><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr/></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.test"/>Testing</h2></div></div></div><p>
+<!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>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link rel="prev" href="bk01pt03ch18s04.html" title="Design" /><link rel="next" href="profile_mode.html" title="Chapter 19. Profile Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><th width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr></table><hr /></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p>
     Both the normal conformance and regression tests and the
     supplemental performance tests work.
   </p><p>
@@ -23,4 +23,4 @@
     additional software dependencies than the usual bare-boned text
     file, and can be generated by using the <code class="code">make
     doc-performance</code> rule in the testsuite's Makefile.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 19. Profile Mode</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="profile_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 19. Profile Mode</td></tr></table></div></body></html>
index e9ac1fc..bb2fb69 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.design"/>Design</h2></div></div></div><p>
-</p><div class="table"><a id="id510967"/><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Code Location</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/std/*</code></td><td style="text-align: left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/profile/*</code></td><td style="text-align: left">Profile extension public headers (map, vector, ...).</td></tr><tr><td style="text-align: left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td style="text-align: left">Profile extension internals.  Implementation files are
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /></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="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
+</p><div class="table"><a id="idp16944832"></a><p class="title"><strong>Table 19.1. Profile Code Location</strong></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals.  Implementation files are
      only included from <code class="code">impl/profiler.h</code>, which is the only
-     file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break"/><p>
-</p><div class="section" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"/>Wrapper Model</h3></div></div></div><p>
+     file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><div class="section" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
   In order to get our instrumented library version included instead of the
   release one,
   we use the same wrapper model as the debug mode.
@@ -25,7 +25,7 @@
   Currently, mixing the profile mode with debug and parallel extensions is
   not allowed.  Mixing them at compile time will result in preprocessor errors.
   Mixing them at link time is undefined.
-  </p></div><div class="section" title="Instrumentation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"/>Instrumentation</h3></div></div></div><p>
+  </p></div><div class="section" title="Instrumentation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.instrumentation"></a>Instrumentation</h3></div></div></div><p>
   Instead of instrumenting every public entry and exit point,
   we chose to add instrumentation on demand, as needed
   by individual diagnostics.
@@ -44,7 +44,7 @@
   </p><p>
   All the instrumentation on/off compile time switches live in
   <code class="code">include/profile/profiler.h</code>.
-  </p></div><div class="section" title="Run Time Behavior"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"/>Run Time Behavior</h3></div></div></div><p>
+  </p></div><div class="section" title="Run Time Behavior"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.rtlib"></a>Run Time Behavior</h3></div></div></div><p>
   For practical reasons, the instrumentation library processes the trace
   partially
   rather than dumping it to disk in raw form.  Each event is processed when
   call stack of its constructor location.
   </p><p>
   For details, see
-   <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
+   <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="_top">paper presented at
    CGO 2009</a>.
-  </p></div><div class="section" title="Analysis and Diagnostics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"/>Analysis and Diagnostics</h3></div></div></div><p>
+  </p></div><div class="section" title="Analysis and Diagnostics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.analysis"></a>Analysis and Diagnostics</h3></div></div></div><p>
   Final analysis takes place offline, and it is based entirely on the
   generated trace and debugging info in the application binary.
   See section Diagnostics for a list of analysis types that we plan to support.
   </p><p>
   The input to the analysis is a table indexed by profile type and call stack.
   The data type for each entry depends on the profile type.
-  </p></div><div class="section" title="Cost Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"/>Cost Model</h3></div></div></div><p>
+  </p></div><div class="section" title="Cost Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.cost-model"></a>Cost Model</h3></div></div></div><p>
   While it is likely that cost models become complex as we get into
   more sophisticated analysis, we will try to follow a simple set of rules
   at the beginning.
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Relative benefit estimation:</em></span>
   The idea is to estimate or measure the cost of all operations
   in the original scenario versus the scenario we advise to switch to.
   For instance, when advising to change a vector to a list, an occurrence
@@ -98,7 +98,7 @@
   For instance, when considering switching from <code class="code">set</code> to
   <code class="code">unordered_set</code>, if we detect use of operator <code class="code">++</code>,
   we will simply not issue the advice, since this could signal that the use
-  care require a sorted container.</p></li></ul></div></div><div class="section" title="Reports"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"/>Reports</h3></div></div></div><p>
+  care require a sorted container.</p></li></ul></div></div><div class="section" title="Reports"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.reports"></a>Reports</h3></div></div></div><p>
 There are two types of reports.  First, if we recognize a pattern for which
 we have a substitute that is likely to give better performance, we print
 the advice and estimated performance gain.  The advice is usually associated
@@ -110,7 +110,7 @@ the top 10 <code class="code">multimap</code> locations
 which have the worst data locality in actual traversals.
 Although this does not offer a solution,
 it helps the user focus on the key problems and ignore the uninteresting ones.
-  </p></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"/>Testing</h3></div></div></div><p>
+  </p></div><div class="section" title="Testing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.testing"></a>Testing</h3></div></div></div><p>
   First, we want to make sure we preserve the behavior of the release mode.
   You can just type <code class="code">"make check-profile"</code>, which
   builds and runs the whole test suite in profile mode.
@@ -119,4 +119,4 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
   We created a <code class="code">profile</code> directory in the test suite.
   Each diagnostic must come with at least two tests, one for false positives
   and one for false negatives.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 19. Profile Mode </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Extensions for Custom Containers</td></tr></table></div></body></html>
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 19. Profile Mode </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Extensions for Custom Containers</td></tr></table></div></body></html>
index c3cb96f..3931895 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s02.html" title="Design"/><link rel="next" href="bk01pt03ch19s04.html" title="Empirical Cost Model"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Extensions for Custom Containers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.api"/>Extensions for Custom Containers</h2></div></div></div><p>
+<!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>Extensions for Custom Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s02.html" title="Design" /><link rel="next" href="bk01pt03ch19s04.html" title="Empirical Cost Model" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Extensions for Custom Containers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Extensions for Custom Containers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.api"></a>Extensions for Custom Containers</h2></div></div></div><p>
   Many large projects use their own data structures instead of the ones in the
   standard library.  If these data structures are similar in functionality
   to the standard library, they can be instrumented with the same hooks
   that are used to instrument the standard library.
   The instrumentation API is exposed in file
   <code class="code">profiler.h</code> (look for "Instrumentation hooks").
-  </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Empirical Cost Model</td></tr></table></div></body></html>
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Empirical Cost Model</td></tr></table></div></body></html>
index 8915bc0..36c2520 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Empirical Cost Model</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers"/><link rel="next" href="bk01pt03ch19s05.html" title="Implementation Issues"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Empirical Cost Model"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.cost_model"/>Empirical Cost Model</h2></div></div></div><p>
+<!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>Empirical Cost Model</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /><link rel="next" href="bk01pt03ch19s05.html" title="Implementation Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Empirical Cost Model</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Empirical Cost Model"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.cost_model"></a>Empirical Cost Model</h2></div></div></div><p>
   Currently, the cost model uses formulas with predefined relative weights
   for alternative containers or container implementations.  For instance,
   iterating through a vector is X times faster than iterating through a list.
@@ -15,4 +15,4 @@
   filled in either by hand or by an automated training mechanism.
   The analysis module will then use this database instead of the built in.
   generic parameters.
-  </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr><tr><td align="left" valign="top">Extensions for Custom Containers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation Issues</td></tr></table></div></body></html>
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Extensions for Custom Containers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation Issues</td></tr></table></div></body></html>
index 7b74bb8..5b32391 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s04.html" title="Empirical Cost Model"/><link rel="next" href="bk01pt03ch19s06.html" title="Developer Information"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation Issues"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.implementation"/>Implementation Issues</h2></div></div></div><div class="section" title="Stack Traces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"/>Stack Traces</h3></div></div></div><p>
+<!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>Implementation Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s04.html" title="Empirical Cost Model" /><link rel="next" href="bk01pt03ch19s06.html" title="Developer Information" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation Issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.implementation"></a>Implementation Issues</h2></div></div></div><div class="section" title="Stack Traces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stack"></a>Stack Traces</h3></div></div></div><p>
   Accurate stack traces are needed during profiling since we group events by
   call context and dynamic instance.  Without accurate traces, diagnostics
   may be hard to interpret.  For instance, when giving advice to the user
   <code class="code">_GLIBCXX_PROFILE_STACK_DEPTH</code> can be set
   to 0 if you are willing to give up call context information, or to a small
   positive value to reduce run time overhead.
-  </p></div><div class="section" title="Symbolization of Instruction Addresses"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"/>Symbolization of Instruction Addresses</h3></div></div></div><p>
+  </p></div><div class="section" title="Symbolization of Instruction Addresses"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.symbols"></a>Symbolization of Instruction Addresses</h3></div></div></div><p>
   The profiling and analysis phases use only instruction addresses.
   An external utility such as addr2line is needed to postprocess the result.
   We do not plan to add symbolization support in the profile extension.
   This would require access to symbol tables, debug information tables,
   external programs or libraries and other system dependent information.
-  </p></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"/>Concurrency</h3></div></div></div><p>
+  </p></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.concurrency"></a>Concurrency</h3></div></div></div><p>
   Our current model is simplistic, but precise.
   We cannot afford to approximate because some of our diagnostics require
   precise matching of operations to container instance and call context.
   During profiling, we keep a single information table per diagnostic.
   There is a single lock per information table.
-  </p></div><div class="section" title="Using the Standard Library in the Instrumentation Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"/>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
+  </p></div><div class="section" title="Using the Standard Library in the Instrumentation Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.stdlib-in-proflib"></a>Using the Standard Library in the Instrumentation Implementation</h3></div></div></div><p>
   As much as we would like to avoid uses of libstdc++ within our
   instrumentation library, containers such as unordered_map are very
   appealing.  We plan to use them as long as they are named properly
   to avoid ambiguity.
-  </p></div><div class="section" title="Malloc Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"/>Malloc Hooks</h3></div></div></div><p>
+  </p></div><div class="section" title="Malloc Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.malloc-hooks"></a>Malloc Hooks</h3></div></div></div><p>
   User applications/libraries can provide malloc hooks.
   When the implementation of the malloc hooks uses stdlibc++, there can
   be an infinite cycle between the profile mode instrumentation and the
   uses non-recursive locks.
   XXX: A definitive solution to this problem would be for the profile extension
   to use a custom allocator internally, and perhaps not to use libstdc++.
-  </p></div><div class="section" title="Construction and Destruction of Global Objects"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"/>Construction and Destruction of Global Objects</h3></div></div></div><p>
+  </p></div><div class="section" title="Construction and Destruction of Global Objects"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.implementation.construction-destruction"></a>Construction and Destruction of Global Objects</h3></div></div></div><p>
   The profiling library state is initialized at the first call to a profiling
   method.  This allows us to record the construction of all global objects.
   However, we cannot do the same at destruction time.  The trace is written
   by a function registered by <code class="code">atexit</code>, thus invoked by
   <code class="code">exit</code>.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr><tr><td align="left" valign="top">Empirical Cost Model </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Developer Information</td></tr></table></div></body></html>
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Empirical Cost Model </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Developer Information</td></tr></table></div></body></html>
index d1e790f..2d7d63c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Developer Information</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s05.html" title="Implementation Issues"/><link rel="next" href="bk01pt03ch19s07.html" title="Diagnostics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr></table><hr/></div><div class="section" title="Developer Information"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.developer"/>Developer Information</h2></div></div></div><div class="section" title="Big Picture"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"/>Big Picture</h3></div></div></div><p>The profile mode headers are included with
+<!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>Developer Information</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s05.html" title="Implementation Issues" /><link rel="next" href="bk01pt03ch19s07.html" title="Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr></table><hr /></div><div class="section" title="Developer Information"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="section" title="Big Picture"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"></a>Big Picture</h3></div></div></div><p>The profile mode headers are included with
    <code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
    <code class="code">include/std/*</code>.
   </p><p>Instrumented implementations are provided in
@@ -14,7 +14,7 @@
    must ensure (1) that the call is guarded against reentrance and
    (2) that the call can be turned off at compile time using a
    <code class="code">-D_GLIBCXX_PROFILE_...</code> compiler option.
-  </p></div><div class="section" title="How To Add A Diagnostic"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"/>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
+  </p></div><div class="section" title="How To Add A Diagnostic"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"></a>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
   </p><p>If you need to instrument a header not already under
    <code class="code">include/profile/*</code>, first edit the corresponding header
    under <code class="code">include/std/</code> and add a preprocessor directive such
@@ -42,7 +42,7 @@
    All names of methods in namespace <code class="code">__gnu_profile</code> called from
    <code class="code">profiler.h</code> must start with <code class="code">__trace_magic_</code>.
   </p><p>Add the implementation of the diagnostic.
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
       Create new file <code class="code">include/profile/impl/profiler_magic.h</code>.
      </p></li><li class="listitem"><p>
       Define class <code class="code">__magic_info: public __object_info_base</code>.
@@ -65,4 +65,4 @@
    <code class="code">include/profile/impl/profiler_trace.h</code>.  Use
    <code class="code">__trace_vector_to_list</code> as an example.
   </p><p>Add documentation in file <code class="code">doc/xml/manual/profile_mode.xml</code>.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation Issues </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>
index c0c3b8c..3d448f4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode"/><link rel="prev" href="bk01pt03ch19s06.html" title="Developer Information"/><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr/></div><div class="section" title="Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.diagnostics"/>Diagnostics</h2></div></div></div><p>
+<!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>Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="bk01pt03ch19s06.html" title="Developer Information" /><link rel="next" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Diagnostics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div class="section" title="Diagnostics"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.diagnostics"></a>Diagnostics</h2></div></div></div><p>
   The table below presents all the diagnostics we intend to implement.
   Each diagnostic has a corresponding compile time switch
   <code class="code">-D_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
   A high accuracy means that the diagnostic is unlikely to be wrong.
   These grades are not perfect.  They are just meant to guide users with
   specific needs or time budgets.
-  </p><div class="table"><a id="id511849"/><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left">Group</th><th style="text-align: left">Flag</th><th style="text-align: left">Benefit</th><th style="text-align: left">Cost</th><th style="text-align: left">Freq.</th><th style="text-align: left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers" title="Containers">
-    CONTAINERS</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small" title="Hashtable Too Small">
-    HASHTABLE_TOO_SMALL</a></td><td style="text-align: left">10</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large" title="Hashtable Too Large">
-    HASHTABLE_TOO_LARGE</a></td><td style="text-align: left">5</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash" title="Inefficient Hash">
-    INEFFICIENT_HASH</a></td><td style="text-align: left">7</td><td style="text-align: left">3</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small" title="Vector Too Small">
-    VECTOR_TOO_SMALL</a></td><td style="text-align: left">8</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large" title="Vector Too Large">
-    VECTOR_TOO_LARGE</a></td><td style="text-align: left">5</td><td style="text-align: left">1</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable" title="Vector to Hashtable">
-    VECTOR_TO_HASHTABLE</a></td><td style="text-align: left">7</td><td style="text-align: left">7</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector" title="Hashtable to Vector">
-    HASHTABLE_TO_VECTOR</a></td><td style="text-align: left">7</td><td style="text-align: left">7</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list" title="Vector to List">
-    VECTOR_TO_LIST</a></td><td style="text-align: left">8</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">yes</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector" title="List to Vector">
-    LIST_TO_VECTOR</a></td><td style="text-align: left">10</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord" title="Ordered to Unordered Associative Container">
-    ORDERED_TO_UNORDERED</a></td><td style="text-align: left">10</td><td style="text-align: left">5</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">only map/unordered_map</td></tr><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms" title="Algorithms">
-    ALGORITHMS</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort" title="Sort Algorithm Performance">
-    SORT</a></td><td style="text-align: left">7</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">7</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality" title="Data Locality">
-    LOCALITY</a></td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch" title="Need Software Prefetch">
-    SOFTWARE_PREFETCH</a></td><td style="text-align: left">8</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">5</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked" title="Linked Structure Locality">
-    RBTREE_LOCALITY</a></td><td style="text-align: left">4</td><td style="text-align: left">8</td><td style="text-align: left"> </td><td style="text-align: left">5</td><td style="text-align: left">no</td></tr><tr><td style="text-align: left"> </td><td style="text-align: left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share" title="False Sharing">
-    FALSE_SHARING</a></td><td style="text-align: left">8</td><td style="text-align: left">10</td><td style="text-align: left"> </td><td style="text-align: left">10</td><td style="text-align: left">no</td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Diagnostic Template"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"/>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+  </p><div class="table"><a id="idp17050544"></a><p class="title"><strong>Table 19.2. Profile Diagnostics</strong></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers" title="Containers">
+    CONTAINERS</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small" title="Hashtable Too Small">
+    HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large" title="Hashtable Too Large">
+    HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash" title="Inefficient Hash">
+    INEFFICIENT_HASH</a></td><td align="left">7</td><td align="left">3</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small" title="Vector Too Small">
+    VECTOR_TOO_SMALL</a></td><td align="left">8</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large" title="Vector Too Large">
+    VECTOR_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable" title="Vector to Hashtable">
+    VECTOR_TO_HASHTABLE</a></td><td align="left">7</td><td align="left">7</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector" title="Hashtable to Vector">
+    HASHTABLE_TO_VECTOR</a></td><td align="left">7</td><td align="left">7</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list" title="Vector to List">
+    VECTOR_TO_LIST</a></td><td align="left">8</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector" title="List to Vector">
+    LIST_TO_VECTOR</a></td><td align="left">10</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord" title="Ordered to Unordered Associative Container">
+    ORDERED_TO_UNORDERED</a></td><td align="left">10</td><td align="left">5</td><td align="left"> </td><td align="left">10</td><td align="left">only map/unordered_map</td></tr><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms" title="Algorithms">
+    ALGORITHMS</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort" title="Sort Algorithm Performance">
+    SORT</a></td><td align="left">7</td><td align="left">8</td><td align="left"> </td><td align="left">7</td><td align="left">no</td></tr><tr><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality" title="Data Locality">
+    LOCALITY</a></td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch" title="Need Software Prefetch">
+    SOFTWARE_PREFETCH</a></td><td align="left">8</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked" title="Linked Structure Locality">
+    RBTREE_LOCALITY</a></td><td align="left">4</td><td align="left">8</td><td align="left"> </td><td align="left">5</td><td align="left">no</td></tr><tr><td align="left"> </td><td align="left"><a class="link" href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share" title="False Sharing">
+    FALSE_SHARING</a></td><td align="left">8</td><td align="left">10</td><td align="left"> </td><td align="left">10</td><td align="left">no</td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Diagnostic Template"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.template"></a>Diagnostic Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>  What problem will it diagnose?
   </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>.
@@ -52,10 +52,10 @@ program code
 ...
 advice sample
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"/>Containers</h3></div></div></div><p>
+</p></li></ul></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.containers"></a>Containers</h3></div></div></div><p>
 <span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_CONTAINERS</code>.
-</p><div class="section" title="Hashtable Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"/>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p><div class="section" title="Hashtable Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_small"></a>Hashtable Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with many
   rehash operations, small construction size and large destruction size.
@@ -81,7 +81,7 @@ advice sample
 
 foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1025530 rehash operations.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Hashtable Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"/>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Hashtable Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_too_large"></a>Hashtable Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables which are
   never filled up because fewer elements than reserved are ever
@@ -110,7 +110,7 @@ foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1
 foo.cc:1: advice: Changing initial unordered_set size from 100 to 10 saves N
 bytes of memory and M iteration steps.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Inefficient Hash"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"/>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Inefficient Hash"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.inefficient_hash"></a>Inefficient Hash</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_INEFFICIENT_HASH</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect hashtables with polarized
   distribution.
@@ -141,7 +141,7 @@ class dumb_hash {
     hs.find(i);
   }
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Vector Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"/>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Vector Too Small"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_small"></a>Vector Too Small</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_SMALL</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors with many
   resize operations, small construction size and large destruction size..
@@ -166,7 +166,7 @@ class dumb_hash {
 foo.cc:1: advice: Changing initial vector size from 10 to 1000000 saves
 copying 4000000 bytes and 20 memory allocations and deallocations.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Vector Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"/>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Vector Too Large"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_too_large"></a>Vector Too Large</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_VECTOR_TOO_LARGE</code>
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>Detect vectors which are
   never filled up because fewer elements than reserved are ever
@@ -192,7 +192,7 @@ copying 4000000 bytes and 20 memory allocations and deallocations.
 foo.cc:1: advice: Changing initial vector size from 100 to 10 saves N
 bytes of memory and may reduce the number of cache and TLB misses.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Vector to Hashtable"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"/>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Vector to Hashtable"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_hashtable"></a>Vector to Hashtable</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_VECTOR_TO_HASHTABLE</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
   <code class="code">vector</code> that can be substituted with <code class="code">unordered_set</code>
@@ -223,7 +223,7 @@ bytes of memory and may reduce the number of cache and TLB misses.
 foo.cc:1: advice: Changing "vector" to "unordered_set" will save about 500,000
 comparisons.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Hashtable to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"/>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Hashtable to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.hashtable_to_vector"></a>Hashtable to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_HASHTABLE_TO_VECTOR</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect uses of
   <code class="code">unordered_set</code> that can be substituted with <code class="code">vector</code>
@@ -252,7 +252,7 @@ comparisons.
 foo.cc:1: advice: Changing "unordered_set" to "vector" will save about N
 indirections and may achieve better data locality.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Vector to List"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"/>Vector to List</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Vector to List"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.vector_to_list"></a>Vector to List</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_VECTOR_TO_LIST</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
   <code class="code">vector</code> could be substituted with <code class="code">list</code> for
@@ -282,7 +282,7 @@ indirections and may achieve better data locality.
 foo.cc:1: advice: Changing "vector" to "list" will save about 5,000,000
 operations.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="List to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"/>List to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="List to Vector"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_vector"></a>List to Vector</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_LIST_TO_VECTOR</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
   <code class="code">list</code> could be substituted with <code class="code">vector</code> for
@@ -309,7 +309,7 @@ operations.
 foo.cc:1: advice: Changing "list" to "vector" will save about 1000000 indirect
 memory references.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="List to Forward List (Slist)"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_slist"/>List to Forward List (Slist)</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="List to Forward List (Slist)"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.list_to_slist"></a>List to Forward List (Slist)</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_LIST_TO_SLIST</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect cases where
   <code class="code">list</code> could be substituted with <code class="code">forward_list</code> for
@@ -339,7 +339,7 @@ memory references.
 
 foo.cc:1: advice: Change "list" to "forward_list".
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Ordered to Unordered Associative Container"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"/>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Ordered to Unordered Associative Container"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"></a>Ordered to Unordered Associative Container</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_ORDERED_TO_UNORDERED</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span>  Detect cases where ordered
   associative containers can be replaced with unordered ones.
@@ -366,18 +366,18 @@ foo.cc:1: advice: Change "list" to "forward_list".
 7    sum += *s.find(i);
 8  }
 </pre><p>
-</p></li></ul></div></div></div><div class="section" title="Algorithms"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"/>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div></div><div class="section" title="Algorithms"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.algorithms"></a>Algorithms</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_ALGORITHMS</code>.
-  </p><div class="section" title="Sort Algorithm Performance"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"/>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+  </p><div class="section" title="Sort Algorithm Performance"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.algorithms.sort"></a>Sort Algorithm Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_SORT</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of sort algorithm
   performance based on actual input.  For instance, advise Radix Sort over
   Quick Sort for a particular call context.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>
   See papers:
-  <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
+  <a class="link" href="http://portal.acm.org/citation.cfm?doid=1065944.1065981" target="_top">
   A framework for adaptive algorithm selection in STAPL</a> and
-  <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
+  <a class="link" href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227" target="_top">
   Optimizing Sorting with Machine Learning Algorithms</a>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>60%.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span> Change sort algorithm
@@ -389,9 +389,9 @@ foo.cc:1: advice: Change "list" to "forward_list".
   Runtime(algo) for algo in [radix, quick, merge, ...]</p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
 </p><pre class="programlisting">
 </pre><p>
-</p></li></ul></div></div></div><div class="section" title="Data Locality"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"/>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div></div><div class="section" title="Data Locality"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.locality"></a>Data Locality</h3></div></div></div><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_LOCALITY</code>.
-  </p><div class="section" title="Need Software Prefetch"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"/>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+  </p><div class="section" title="Need Software Prefetch"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.sw_prefetch"></a>Need Software Prefetch</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_SOFTWARE_PREFETCH</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Discover sequences of indirect
   memory accesses that are not regular, thus cannot be predicted by
@@ -434,7 +434,7 @@ foo.cc:1: advice: Change "list" to "forward_list".
 
 foo.cc:7: advice: Insert prefetch instruction.
 </pre><p>
-</p></li></ul></div></div><div class="section" title="Linked Structure Locality"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"/>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="Linked Structure Locality"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.locality.linked"></a>Linked Structure Locality</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_RBTREE_LOCALITY</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Give measure of locality of
   objects stored in linked structures (lists, red-black trees and hashtables)
@@ -442,7 +442,7 @@ foo.cc:7: advice: Insert prefetch instruction.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Fundamentals:</em></span>Allocation can be tuned
   to a specific traversal pattern, to result in better data locality.
   See paper:
-  <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/">
+  <a class="link" href="http://www.springerlink.com/content/8085744l00x72662/" target="_top">
   Custom Memory Allocation for Free</a>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Sample runtime reduction:</em></span>30%.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Recommendation:</em></span>
@@ -479,13 +479,13 @@ foo.cc:7: advice: Insert prefetch instruction.
 foo.cc:5: advice: High scatter score NNN for set built here.  Consider changing
 the allocation sequence or switching to a structure conscious allocator.
 </pre><p>
-</p></li></ul></div></div></div><div class="section" title="Multithreaded Data Access"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"/>Multithreaded Data Access</h3></div></div></div><p>
+</p></li></ul></div></div></div><div class="section" title="Multithreaded Data Access"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.mthread"></a>Multithreaded Data Access</h3></div></div></div><p>
   The diagnostics in this group are not meant to be implemented short term.
   They require compiler support to know when container elements are written
   to.  Instrumentation can only tell us when elements are referenced.
   </p><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_MULTITHREADED</code>.
-  </p><div class="section" title="Data Dependence Violations at Container Level"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"/>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+  </p><div class="section" title="Data Dependence Violations at Container Level"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.ddtest"></a>Data Dependence Violations at Container Level</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_DDTEST</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect container elements
   that are referenced from multiple threads in the parallel region or
@@ -501,7 +501,7 @@ the allocation sequence or switching to a structure conscious allocator.
   Keep a shadow for each container.  Record iterator dereferences and
   container member accesses.  Issue advice for elements referenced by
   multiple threads.
-  See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148">
+  See paper: <a class="link" href="http://portal.acm.org/citation.cfm?id=207110.207148" target="_top">
   The LRPD test: speculative run-time parallelization of loops with
   privatization and reduction parallelization</a>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Cost model:</em></span>
@@ -509,7 +509,7 @@ the allocation sequence or switching to a structure conscious allocator.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Example:</em></span>
 </p><pre class="programlisting">
 </pre><p>
-</p></li></ul></div></div><div class="section" title="False Sharing"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"/>False Sharing</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
+</p></li></ul></div></div><div class="section" title="False Sharing"><div class="titlepage"><div><div><h4 class="title"><a id="manual.ext.profile_mode.analysis.mthread.false_share"></a>False Sharing</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_FALSE_SHARING</code>.
   </p></li><li class="listitem"><p><span class="emphasis"><em>Goal:</em></span> Detect elements in the
   same container which share a cache line, are written by at least one
@@ -542,7 +542,7 @@ OMP_NUM_THREADS=2 ./a.out
 foo.cc:1: advice: Change container structure or padding to avoid false
 sharing in multithreaded access at foo.cc:4.  Detected N shared cache lines.
 </pre><p>
-</p></li></ul></div></div></div><div class="section" title="Statistics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"/>Statistics</h3></div></div></div><p>
+</p></li></ul></div></div></div><div class="section" title="Statistics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.analysis.statistics"></a>Statistics</h3></div></div></div><p>
 <span class="emphasis"><em>Switch:</em></span>
   <code class="code">_GLIBCXX_PROFILE_STATISTICS</code>.
 </p><p>
@@ -555,4 +555,4 @@ sharing in multithreaded access at foo.cc:4.  Detected N shared cache lines.
   This diagnostic will not issue any advice, but it will print statistics for
   each container construction site.  The statistics will contain the cost
   of each operation actually performed on the container.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><td align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td align="left" valign="top">Developer Information </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 20. The mt_allocator</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s06.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Developer Information </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 20. The mt_allocator</td></tr></table></div></body></html>
index 7ec3af1..db0141c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="next" href="bk01pt03ch20s03.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.design_issues"/>Design Issues</h2></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"/>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
+<!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 Issues</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="next" href="bk01pt03ch20s03.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.design_issues"></a>Design Issues</h2></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are three general components to the allocator: a datum
 describing the characteristics of the memory pool, a policy class
 containing this pool that links instantiation types to common or
 individual pools, and a class inheriting from the policy class that is
@@ -36,4 +36,4 @@ tuning, for instance.
 </pre><p> This class has the interface required for standard library allocator
 classes, namely member functions <code class="code">allocate</code> and
 <code class="code">deallocate</code>, plus others.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 20. The mt_allocator </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="mt_allocator.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 20. The mt_allocator </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
index 1bff682..8906648 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s02.html" title="Design Issues"/><link rel="next" href="bk01pt03ch20s04.html" title="Single Thread Example"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.impl"/>Implementation</h2></div></div></div><div class="section" title="Tunable Parameters"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"/>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
+<!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>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s02.html" title="Design Issues" /><link rel="next" href="bk01pt03ch20s04.html" title="Single Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div class="section" title="Tunable Parameters"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.tune"></a>Tunable Parameters</h3></div></div></div><p>Certain allocation parameters can be modified, or tuned. There
 exists a nested <code class="code">struct __pool_base::_Tune</code> that contains all
 these parameters, which include settings for
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li class="listitem"><p>Size of underlying global allocations</p></li><li class="listitem"><p>Maximum number of supported threads</p></li><li class="listitem"><p>Migration of deallocations to the global free list</p></li><li class="listitem"><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes before calling <code class="code">::operator new</code> directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li class="listitem"><p>Size of underlying global allocations</p></li><li class="listitem"><p>Maximum number of supported threads</p></li><li class="listitem"><p>Migration of deallocations to the global free list</p></li><li class="listitem"><p>Shunt for global <code class="code">new</code> and <code class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a given instance of an allocator can only
 happen before any allocations take place, when the allocator itself is
 initialized. For instance:
 </p><pre class="programlisting">
@@ -39,7 +39,7 @@ int main()
 
   return 0;
 }
-</pre></div><div class="section" title="Initialization"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.init"/>Initialization</h3></div></div></div><p>
+</pre></div><div class="section" title="Initialization"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.init"></a>Initialization</h3></div></div></div><p>
 The static variables (pointers to freelists, tuning parameters etc)
 are initialized as above, or are set to the global defaults.
 </p><p>
@@ -131,7 +131,7 @@ The _S_initialize() function:
     for this specific bin. This only occurs when a number of blocks
     are grabbed from the global list to a thread specific list or when
     a thread decides to return some blocks to the global freelist.
-</p></div><div class="section" title="Deallocation Notes"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.deallocation"/>Deallocation Notes</h3></div></div></div><p> Notes about deallocation. This allocator does not explicitly
+</p></div><div class="section" title="Deallocation Notes"><div class="titlepage"><div><div><h3 class="title"><a id="allocator.mt.deallocation"></a>Deallocation Notes</h3></div></div></div><p> Notes about deallocation. This allocator does not explicitly
 release memory. Because of this, memory debugging programs like
 valgrind or purify may notice leaks: sorry about this
 inconvenience. Operating systems will reclaim allocated memory at
@@ -156,6 +156,6 @@ containers, this works, as an instance of the allocator is constructed
 as part of a container's constructor. However, this assumption is
 implementation-specific, and subject to change. For an example of a
 pool that frees memory, see the following
-    <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
+    <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup" target="_top">
     example.</a>
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr><tr><td align="left" valign="top">Design Issues </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Single Thread Example</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Single Thread Example</td></tr></table></div></body></html>
index faa6b44..a094e22 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s03.html" title="Implementation"/><link rel="next" href="bk01pt03ch20s05.html" title="Multiple Thread Example"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr></table><hr/></div><div class="section" title="Single Thread Example"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.example_single"/>Single Thread Example</h2></div></div></div><p>
+<!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>Single Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s03.html" title="Implementation" /><link rel="next" href="bk01pt03ch20s05.html" title="Multiple Thread Example" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Single Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr></table><hr /></div><div class="section" title="Single Thread Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_single"></a>Single Thread Example</h2></div></div></div><p>
 Let's start by describing how the data on a freelist is laid out in memory.
 This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):
 </p><pre class="programlisting">
@@ -76,4 +76,4 @@ of the global freelist and update the pointer as needed
 The decision to add deallocated blocks to the front of the freelist was made
 after a set of performance measurements that showed that this is roughly 10%
 faster than maintaining a set of "last pointers" as well.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Multiple Thread Example</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Multiple Thread Example</td></tr></table></div></body></html>
index 62870c4..778b86c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator"/><link rel="prev" href="bk01pt03ch20s04.html" title="Single Thread Example"/><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr/></div><div class="section" title="Multiple Thread Example"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.example_multi"/>Multiple Thread Example</h2></div></div></div><p>
+<!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>Multiple Thread Example</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link rel="prev" href="bk01pt03ch20s04.html" title="Single Thread Example" /><link rel="next" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Multiple Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><th width="60%" align="center">Chapter 20. The mt_allocator</th><td width="20%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div class="section" title="Multiple Thread Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread Example</h2></div></div></div><p>
 In the ST example we never used the thread_id variable present in each block.
 Let's start by explaining the purpose of this in a MT application.
 </p><p>
@@ -104,4 +104,4 @@ mutex to be locked) this operation is also made in chunks of blocks
 a threads freelist mentioned above). The "formula" used can probably
 be improved to further reduce the risk of blocks being "bounced back
 and forth" between freelists.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td align="left" valign="top">Single Thread Example </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 21. The bitmap_allocator</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch20s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Single Thread Example </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 21. The bitmap_allocator</td></tr></table></div></body></html>
index ba8c9b2..aba4fbe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator"/><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.bitmap.impl"/>Implementation</h2></div></div></div><div class="section" title="Free List Store"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"/>Free List Store</h3></div></div></div><p>
+<!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>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="prev" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" /><link rel="next" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><th width="60%" align="center">Chapter 21. The bitmap_allocator</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div class="section" title="Free List Store"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.free_list_store"></a>Free List Store</h3></div></div></div><p>
     The Free List Store (referred to as FLS for the remaining part of this
     document) is the Global memory pool that is shared by all instances of
     the bitmapped allocator instantiated for any type. This maintains a
@@ -38,7 +38,7 @@
     this internal fragmentation has to be decided by this function. I
     can see 3 possibilities right now. Please add more as and when you
     find better strategies.
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Equal size check. Return true only when the 2 blocks are of equal
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Equal size check. Return true only when the 2 blocks are of equal
 size.</p></li><li class="listitem"><p>Difference Threshold: Return true only when the _block_size is
 greater than or equal to the _required_size, and if the _BS is &gt; _RS
 by a difference of less than some THRESHOLD value, then return true,
@@ -48,7 +48,7 @@ by a percentage of less than some THRESHOLD value, then return true,
 else return false.</p></li></ol></div><p>
     Currently, (3) is being used with a value of 36% Maximum wastage per
     Super Block.
-  </p></div><div class="section" title="Super Block"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block"/>Super Block</h3></div></div></div><p>
+  </p></div><div class="section" title="Super Block"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block"></a>Super Block</h3></div></div></div><p>
     A super block is the block of memory acquired from the FLS from
     which the bitmap allocator carves out memory for single objects
     and satisfies the user's requests. These super blocks come in
@@ -63,7 +63,7 @@ else return false.</p></li></ol></div><p>
     The super block is contained in the FLS, and the FLS is responsible for
     getting / returning Super Bocks to and from the OS using operator new
     as defined by the C++ standard.
-  </p></div><div class="section" title="Super Block Data Layout"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block_data"/>Super Block Data Layout</h3></div></div></div><p>
+  </p></div><div class="section" title="Super Block Data Layout"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.super_block_data"></a>Super Block Data Layout</h3></div></div></div><p>
     Each Super Block will be of some size that is a multiple of the
     number of Bits Per Block. Typically, this value is chosen as
     Bits_Per_Byte x sizeof(size_t). On an x86 system, this gives the
@@ -76,7 +76,7 @@ else return false.</p></li></ol></div><p>
   </p><p>
     Consider a block of size 64 ints. In memory, it would look like this:
     (assume a 32-bit system where, size_t is a 32-bit entity).
-  </p><div class="table"><a id="id515279"/><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left">268</td><td style="text-align: left">0</td><td style="text-align: left">4294967295</td><td style="text-align: left">4294967295</td><td style="text-align: left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break"/><p>
+  </p><div class="table"><a id="idp17461952"></a><p class="title"><strong>Table 21.1. Bitmap Allocator Memory Map</strong></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
     The first Column(268) represents the size of the Block in bytes as
     seen by the Bitmap Allocator. Internally, a global free list is
     used to keep track of the free blocks used and given back by the
@@ -103,7 +103,7 @@ else return false.</p></li></ol></div><p>
     The 3rd 4x2 is size of the bitmap itself, which is the size of 32-bits
     x 2,
     which is 8-bytes, or 2 x sizeof(size_t).
-  </p></div><div class="section" title="Maximum Wasted Percentage"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.max_wasted"/>Maximum Wasted Percentage</h3></div></div></div><p>
+  </p></div><div class="section" title="Maximum Wasted Percentage"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.max_wasted"></a>Maximum Wasted Percentage</h3></div></div></div><p>
     This has nothing to do with the algorithm per-se,
     only with some vales that must be chosen correctly to ensure that the
     allocator performs well in a real word scenario, and maintains a good
@@ -128,14 +128,14 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
   </p><p>
     Thus, knowing these values, and based on the sizeof(value_type), we may
     create a function that returns the Max_Wastage_Percentage for us to use.
-  </p></div><div class="section" title="allocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.allocate"/><code class="function">allocate</code></h3></div></div></div><p>
+  </p></div><div class="section" title="allocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.allocate"></a><code class="function">allocate</code></h3></div></div></div><p>
     The allocate function is specialized for single object allocation
     ONLY.  Thus, ONLY if n == 1, will the bitmap_allocator's
     specialized algorithm be used. Otherwise, the request is satisfied
     directly by calling operator new.
   </p><p>
     Suppose n == 1, then the allocator does the following:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
        Checks to see whether a free block exists somewhere in a region
        of memory close to the last satisfied request. If so, then that
        block is marked as allocated in the bit map and given to the
@@ -148,7 +148,7 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
     </p></li><li class="listitem"><p>
        Is there any block in whatever region of memory that we own
        free?  This is done by checking
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        The use count for each super block, and if that fails then
        </p></li><li class="listitem"><p>
          The individual bit-maps for each super block.
@@ -163,7 +163,7 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
        This process involves Refilling the internal exponentially
        growing memory pool. The said effect is achieved by calling
        _S_refill_pool which does the following:
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            Gets more memory from the Global Free List of the Required
            size.
          </p></li><li class="listitem"><p>
@@ -183,13 +183,13 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
 Thus, you can clearly see that the allocate function is nothing but a
 combination of the next-fit and first-fit algorithm optimized ONLY for
 single object allocations.
-</p></div><div class="section" title="deallocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.deallocate"/><code class="function">deallocate</code></h3></div></div></div><p>
+</p></div><div class="section" title="deallocate"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.deallocate"></a><code class="function">deallocate</code></h3></div></div></div><p>
     The deallocate function again is specialized for single objects ONLY.
     For all n belonging to &gt; 1, the operator delete is called without
     further ado, and the deallocate function returns.
   </p><p>
     However for n == 1, a series of steps are performed:
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
       We first need to locate that super-block which holds the memory
       location given to us by the user. For that purpose, we maintain
       a static variable _S_last_dealloc_index, which holds the index
@@ -214,7 +214,7 @@ single object allocations.
     the vector.  While doing this, we also make sure that the basic
     invariant is maintained by making sure that _S_last_request and
     _S_last_dealloc_index point to valid locations within the vector.
-  </p></div><div class="section" title="Questions"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.questions"/>Questions</h3></div></div></div><div class="section" title="1"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.1"/>1</h4></div></div></div><p>
+  </p></div><div class="section" title="Questions"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.questions"></a>Questions</h3></div></div></div><div class="section" title="1"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.1"></a>1</h4></div></div></div><p>
 Q1) The "Data Layout" section is
 cryptic. I have no idea of what you are trying to say. Layout of what?
 The free-list? Each bitmap? The Super Block?
@@ -224,7 +224,7 @@ size. In the example, a super block of size 32 x 1 is taken. The
 general formula for calculating the size of a super block is
 32 x sizeof(value_type) x 2^n, where n ranges from 0 to 32 for 32-bit
 systems.
-    </p></div><div class="section" title="2"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.2"/>2</h4></div></div></div><p>
+    </p></div><div class="section" title="2"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.2"></a>2</h4></div></div></div><p>
       And since I just mentioned the
 term `each bitmap', what in the world is meant by it? What does each
 bitmap manage? How does it relate to the super block? Is the Super
@@ -241,7 +241,7 @@ Block a bitmap as well?
       blocks' status. Each bit-map is made up of a number of size_t,
       whose exact number for a super-block of a given size I have just
       mentioned.
-    </p></div><div class="section" title="3"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.3"/>3</h4></div></div></div><p>
+    </p></div><div class="section" title="3"><div class="titlepage"><div><div><h4 class="title"><a id="bitmap.impl.question.3"></a>3</h4></div></div></div><p>
       How do the allocate and deallocate functions work in regard to
       bitmaps?
     </p><p>
@@ -270,13 +270,13 @@ Block a bitmap as well?
     </p><p>
       The bit-map now looks like this:
       1111111111111111111111111111111111111111111111111111111111111110
-    </p></div></div><div class="section" title="Locality"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.locality"/>Locality</h3></div></div></div><p>
+    </p></div></div><div class="section" title="Locality"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.locality"></a>Locality</h3></div></div></div><p>
     Another issue would be whether to keep the all bitmaps in a
     separate area in memory, or to keep them near the actual blocks
     that will be given out or allocated for the client. After some
     testing, I've decided to keep these bitmaps close to the actual
     blocks. This will help in 2 ways.
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Constant time access for the bitmap themselves, since no kind of
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Constant time access for the bitmap themselves, since no kind of
 look up will be needed to find the correct bitmap list or its
 equivalent.</p></li><li class="listitem"><p>And also this would preserve the cache as far as possible.</p></li></ol></div><p>
     So in effect, this kind of an allocator might prove beneficial from a
@@ -287,7 +287,7 @@ equivalent.</p></li><li class="listitem"><p>And also this would preserve the cac
     new_allocator's book keeping overhead is too much for small objects and
     single object allocations, though it preserves the locality of blocks
     very well when they are returned back to the allocator.
-  </p></div><div class="section" title="Overhead and Grow Policy"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.grow_policy"/>Overhead and Grow Policy</h3></div></div></div><p>
+  </p></div><div class="section" title="Overhead and Grow Policy"><div class="titlepage"><div><div><h3 class="title"><a id="bitmap.impl.grow_policy"></a>Overhead and Grow Policy</h3></div></div></div><p>
     Expected overhead per block would be 1 bit in memory. Also, once
     the address of the free list has been found, the cost for
     allocation/deallocation would be negligible, and is supposed to be
@@ -310,4 +310,4 @@ equivalent.</p></li><li class="listitem"><p>And also this would preserve the cac
     sizeof(size_t) x 8 which is the number of bits in an integer,
     which can fit exactly in a CPU register. Hence, the term given is
     exponential growth of the internal pool.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 21. The bitmap_allocator </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 22. Policy-Based Data Structures</td></tr></table></div></body></html>
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 21. The bitmap_allocator </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 22. Policy-Based Data Structures</td></tr></table></div></body></html>
index c5c2daf..d37a538 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Deprecated</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr/></div><div class="section" title="Deprecated"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.deprecated_sgi"/>Deprecated</h2></div></div></div><p>
+<!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>Deprecated</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="prev" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div class="section" title="Deprecated"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p>
      The SGI hashing classes <code class="classname">hash_set</code> and
      <code class="classname">hash_set</code> have been deprecated by the
      unordered_set, unordered_multiset, unordered_map,
       and sets.
    </p><p>Each of the associative containers map, multimap, set, and multiset
       have a counterpart which uses a
-      <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html">hashing
+      <a class="link" href="http://www.sgi.com/tech/stl/HashFunction.html" target="_top">hashing
       function</a> to do the arranging, instead of a strict weak ordering
       function.  The classes take as one of their template parameters a
       function object that will return the hash value; by default, an
       instantiation of
-      <a class="link" href="http://www.sgi.com/tech/stl/hash.html">hash</a>.
+      <a class="link" href="http://www.sgi.com/tech/stl/hash.html" target="_top">hash</a>.
       You should specialize this functor for your class, or define your own,
       before trying to use one of the hashing classes.
    </p><p>The hashing classes support all the usual associative container
@@ -56,4 +56,4 @@
       associative containers defined in the ISO C++ 2011 standard in the
       headers <code class="filename">&lt;unordered_map&gt;</code>
       and <code class="filename">&lt;unordered_set&gt;</code>.
-   </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html>
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_containers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_utilities.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html>
index 001502f..f7abf82 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="next" href="bk01pt03ch30s03.html" title="Use"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr></table><hr/></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.impl"/>Implementation</h2></div></div></div><div class="section" title="Using Builtin Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"/>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
+<!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>Implementation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="next" href="bk01pt03ch30s03.html" title="Use" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div class="section" title="Using Builtin Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Builtin Atomic Functions</h3></div></div></div><p>The functions for atomic operations described above are either
 implemented via compiler intrinsics (if the underlying host is
 capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred.  However, as
 the compiler builtins for atomics are not universally implemented,
@@ -22,14 +22,14 @@ If builtins are possible for bool-sized integral types,
 If builtins are possible for int-sized integral types,
 <code class="code">ATOMIC_INT_LOCK_FREE</code> will be defined.
 </p><p>For the following hosts, intrinsics are enabled by default.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>alpha</p></li><li class="listitem"><p>ia64</p></li><li class="listitem"><p>powerpc</p></li><li class="listitem"><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>alpha</p></li><li class="listitem"><p>ia64</p></li><li class="listitem"><p>powerpc</p></li><li class="listitem"><p>s390</p></li></ul></div><p>For others, some form of <code class="code">-march</code> may work. On
 non-ancient x86 hardware, <code class="code">-march=native</code> usually does the
 trick.</p><p> For hosts without compiler intrinsics, but with capable
 hardware, hand-crafted assembly is selected. This is the case for the following hosts:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>cris</p></li><li class="listitem"><p>hppa</p></li><li class="listitem"><p>i386</p></li><li class="listitem"><p>i486</p></li><li class="listitem"><p>m48k</p></li><li class="listitem"><p>mips</p></li><li class="listitem"><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
-</p><p> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html"> documentation</a>.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>cris</p></li><li class="listitem"><p>hppa</p></li><li class="listitem"><p>i386</p></li><li class="listitem"><p>i486</p></li><li class="listitem"><p>m48k</p></li><li class="listitem"><p>mips</p></li><li class="listitem"><p>sparc</p></li></ul></div><p>And for the rest, a simulated atomic lock via pthreads.
+</p><p> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="_top"> documentation</a>.
 </p><p> More details on the library fallbacks from the porting <a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">section</a>.
-</p></div><div class="section" title="Thread Abstraction"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"/>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
+</p></div><div class="section" title="Thread Abstraction"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.impl.thread"></a>Thread Abstraction</h3></div></div></div><p>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
 the thread interface for GCC. This layer is called "gthread," and is
 comprised of one header file that wraps the host's default thread layer with
 a POSIX-like interface.
@@ -37,9 +37,9 @@ a POSIX-like interface.
 the current host. In libstdc++ implementation files,
 &lt;bits/gthr.h&gt; is used to select the proper gthreads file.
 </p><p>Within libstdc++ sources, all calls to underlying thread functionality
-use this layer. More detail as to the specific interface can be found in the source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html">documentation</a>.
+use this layer. More detail as to the specific interface can be found in the source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html" target="_top">documentation</a>.
 </p><p>By design, the gthread layer is interoperable with the types,
 functions, and usage found in the usual &lt;pthread.h&gt; file,
 including <code class="code">pthread_t</code>, <code class="code">pthread_once_t</code>, <code class="code">pthread_create</code>,
 etc.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 30. Concurrency </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Use</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch30s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 30. Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Use</td></tr></table></div></body></html>
index 81df304..913d564 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Use</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency"/><link rel="prev" href="bk01pt03ch30s02.html" title="Implementation"/><link rel="next" href="bk01pt04.html" title="Part IV.  Appendices"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr></table><hr/></div><div class="section" title="Use"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.use"/>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
+<!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>Use</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link rel="prev" href="bk01pt03ch30s02.html" title="Implementation" /><link rel="next" href="bk01pt04.html" title="Part IV.  Appendices" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><th width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr></table><hr /></div><div class="section" title="Use"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical usage of the last two constructs is demonstrated as follows:
 </p><pre class="programlisting">
 #include &lt;ext/concurrence.h&gt;
 
@@ -31,6 +31,6 @@ the mutex as control moves out of this block.
 concurrence-related errors. These classes
 are: <code class="code">__concurrence_lock_error</code>, <code class="code">__concurrence_unlock_error</code>, <code class="code">__concurrence_wait_error</code>,
 and <code class="code">__concurrence_broadcast_error</code>.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part IV. 
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch30s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part IV. 
   Appendices
 </td></tr></table></div></body></html>
index caf9a8d..fb4ab30 100644 (file)
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title/><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="extensions.html" title="Part III.  Extensions"/><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"/></tr><tr><td align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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></title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="extensions.html" title="Part III.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr/></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id506349"/></h1></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="idp16390720"></a></h1></div></div></div><p>
   Here we will make an attempt at describing the non-Standard
   extensions to the library.  Some of these are from older versions of
   standard library components, namely SGI's STL, and some of these are
   GNU's.
 </p><p><span class="emphasis"><em>Before</em></span> you leap in and use any of these
 extensions, be aware of two things:
-</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
      Non-Standard means exactly that.
      </p><p>
        The behavior, and the very
@@ -21,7 +21,7 @@ extensions, be aware of two things:
        treat them differently, or...
      </p></li><li class="listitem"><p>
        You should know how to access these headers properly.
-     </p></li></ol></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td align="left" valign="top">Part III. 
+     </p></li></ol></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part III. 
   Extensions
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 16. Compile Time Checks</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 16. Compile Time Checks</td></tr></table></div></body></html>
index df80167..a99e188 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part IV.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="bk01pt03ch30s03.html" title="Use"/><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
+<!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>Part IV.  Appendices</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="bk01pt03ch30s03.html" title="Use" /><link rel="next" href="appendix_contributing.html" title="Appendix A.  Contributing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. 
   Appendices
-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part IV.  Appendices"><div class="titlepage"><div><div><h1 class="title"><a id="appendix"/>Part IV. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part IV.  Appendices"><div class="titlepage"><div><div><h1 class="title"><a id="appendix"></a>Part IV. 
   Appendices
 </h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="appendix"><a href="appendix_contributing.html">A. 
   Contributing
@@ -10,7 +10,7 @@
 </a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="appendix_porting.html">B. 
   Porting and Maintenance
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
+</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
   Qualifying Exception Safety Guarantees
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety.overview">Overview</a></span></dt><dt><span class="section"><a href="test.html#test.exception.safety.status">
@@ -37,7 +37,7 @@ Support for C++11 dialect.
   
 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
-  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr><tr><td align="left" valign="top">Use </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix A. 
+  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch30s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_contributing.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Use </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. 
   Contributing
   
 </td></tr></table></div></body></html>
index 91a4574..0464e85 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Bugs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="status.html" title="Chapter 1. Status"/><link rel="prev" href="license.html" title="License"/><link rel="next" href="setup.html" title="Chapter 2. Setup"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr/></div><div class="section" title="Bugs"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.bugs"/>Bugs</h2></div></div></div><div class="section" title="Implementation Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"/>Implementation Bugs</h3></div></div></div><p>
+<!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>Bugs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="section" title="Bugs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="section" title="Implementation Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
       Information on known bugs, details on efforts to fix them, and
-      fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/">GCC bug tracking system</a>,
+      fixed bugs are all available as part of the <a class="link" href="http://gcc.gnu.org/bugs/" target="_top">GCC bug tracking system</a>,
       with the category set to <code class="literal">libstdc++</code>.
-    </p></div><div class="section" title="Standard Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"/>Standard Bugs</h3></div></div></div><p>
+    </p></div><div class="section" title="Standard Bugs"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"></a>Standard Bugs</h3></div></div></div><p>
        Everybody's got issues.  Even the C++ Standard Library.
       </p><p>
        The Library Working Group, or LWG, is the ISO subcommittee responsible
@@ -15,9 +15,9 @@
        Here are the issues which have resulted in code changes to the library.
        The links are to the specific defect reports from a <span class="emphasis"><em>partial
        copy</em></span> of the Issues List.  You can read the full version online
-       at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
+       at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">ISO C++
        Committee homepage</a>, linked to on the
-       <a class="link" href="http://gcc.gnu.org/readings.html">GCC "Readings"
+       <a class="link" href="http://gcc.gnu.org/readings.html" target="_top">GCC "Readings"
        page</a>.  If
        you spend a lot of time reading the issues, we recommend downloading
        the ZIP file and reading them locally.
        and src directories for appearances of
        <code class="constant">_GLIBCXX_RESOLVE_LIB_DEFECTS</code> for examples
        of style.  Note that we usually do not make changes to the
-       code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR">DR</a> status.
-      </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5">5</a>:
+       code until an issue has reached <a class="link" href="../ext/lwg-active.html#DR" target="_top">DR</a> status.
+      </p><div class="variablelist"><dl><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#5" target="_top">5</a>:
        <span class="emphasis"><em>string::compare specification questionable</em></span>
     </span></dt><dd><p>This should be two overloaded functions rather than a single function.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17">17</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#17" target="_top">17</a>:
        <span class="emphasis"><em>Bad bool parsing</em></span>
     </span></dt><dd><p>Apparently extracting Boolean values was messed up...
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19">19</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#19" target="_top">19</a>:
        <span class="emphasis"><em>"Noconv" definition too vague</em></span>
     </span></dt><dd><p>If <code class="code">codecvt::do_in</code> returns <code class="code">noconv</code> there are
        no changes to the values in <code class="code">[to, to_limit)</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22">22</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#22" target="_top">22</a>:
        <span class="emphasis"><em>Member open vs flags</em></span>
     </span></dt><dd><p>Re-opening a file stream does <span class="emphasis"><em>not</em></span> clear the state flags.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23">23</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#23" target="_top">23</a>:
        <span class="emphasis"><em>Num_get overflow result</em></span>
     </span></dt><dd><p>Implement the proposed resolution.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25">25</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#25" target="_top">25</a>:
        <span class="emphasis"><em>String operator&lt;&lt; uses width() value wrong</em></span>
     </span></dt><dd><p>Padding issues.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48">48</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#48" target="_top">48</a>:
        <span class="emphasis"><em>Use of non-existent exception constructor</em></span>
     </span></dt><dd><p>An instance of <code class="code">ios_base::failure</code> is constructed instead.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49">49</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#49" target="_top">49</a>:
        <span class="emphasis"><em>Underspecification of ios_base::sync_with_stdio</em></span>
     </span></dt><dd><p>The return type is the <span class="emphasis"><em>previous</em></span> state of synchronization.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50">50</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#50" target="_top">50</a>:
        <span class="emphasis"><em>Copy constructor and assignment operator of ios_base</em></span>
     </span></dt><dd><p>These members functions are declared <code class="code">private</code> and are
        thus inaccessible.  Specifying the correct semantics of
        "copying stream state" was deemed too complicated.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60">60</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#60" target="_top">60</a>:
        <span class="emphasis"><em>What is a formatted input function?</em></span>
     </span></dt><dd><p>This DR made many widespread changes to <code class="code">basic_istream</code>
        and <code class="code">basic_ostream</code> all of which have been implemented.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63">63</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#63" target="_top">63</a>:
        <span class="emphasis"><em>Exception-handling policy for unformatted output</em></span>
     </span></dt><dd><p>Make the policy consistent with that of formatted input, unformatted
        input, and formatted output.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68">68</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#68" target="_top">68</a>:
        <span class="emphasis"><em>Extractors for char* should store null at end</em></span>
     </span></dt><dd><p>And they do now.  An editing glitch in the last item in the list of
        [27.6.1.2.3]/7.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74">74</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#74" target="_top">74</a>:
        <span class="emphasis"><em>Garbled text for codecvt::do_max_length</em></span>
     </span></dt><dd><p>The text of the standard was gibberish.  Typos gone rampant.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75">75</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#75" target="_top">75</a>:
        <span class="emphasis"><em>Contradiction in codecvt::length's argument types</em></span>
     </span></dt><dd><p>Change the first parameter to <code class="code">stateT&amp;</code> and implement
        the new effects paragraph.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83">83</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#83" target="_top">83</a>:
        <span class="emphasis"><em>string::npos vs. string::max_size()</em></span>
     </span></dt><dd><p>Safety checks on the size of the string should test against
        <code class="code">max_size()</code> rather than <code class="code">npos</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90">90</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#90" target="_top">90</a>:
        <span class="emphasis"><em>Incorrect description of operator&gt;&gt; for strings</em></span>
     </span></dt><dd><p>The effect contain <code class="code">isspace(c,getloc())</code> which must be
        replaced by <code class="code">isspace(c,is.getloc())</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91">91</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#91" target="_top">91</a>:
        <span class="emphasis"><em>Description of operator&gt;&gt; and getline() for string&lt;&gt;
            might cause endless loop</em></span>
     </span></dt><dd><p>They behave as a formatted input function and as an unformatted
        input function, respectively (except that <code class="code">getline</code> is
        not required to set <code class="code">gcount</code>).
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103">103</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#103" target="_top">103</a>:
        <span class="emphasis"><em>set::iterator is required to be modifiable, but this allows
            modification of keys.</em></span>
     </span></dt><dd><p>For associative containers where the value type is the same as
        the key type, both <code class="code">iterator</code> and <code class="code">const_iterator
        </code> are constant iterators.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109">109</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#109" target="_top">109</a>:
        <span class="emphasis"><em>Missing binders for non-const sequence elements</em></span>
     </span></dt><dd><p>The <code class="code">binder1st</code> and <code class="code">binder2nd</code> didn't have an
        <code class="code">operator()</code> taking a non-const parameter.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110">110</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#110" target="_top">110</a>:
        <span class="emphasis"><em>istreambuf_iterator::equal not const</em></span>
     </span></dt><dd><p>This was not a const member function.  Note that the DR says to
        replace the function with a const one; we have instead provided an
        overloaded version with identical contents.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117">117</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#117" target="_top">117</a>:
        <span class="emphasis"><em>basic_ostream uses nonexistent num_put member functions</em></span>
     </span></dt><dd><p><code class="code">num_put::put()</code> was overloaded on the wrong types.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118">118</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#118" target="_top">118</a>:
        <span class="emphasis"><em>basic_istream uses nonexistent num_get member functions</em></span>
     </span></dt><dd><p>Same as 117, but for <code class="code">num_get::get()</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129">129</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#129" target="_top">129</a>:
        <span class="emphasis"><em>Need error indication from seekp() and seekg()</em></span>
     </span></dt><dd><p>These functions set <code class="code">failbit</code> on error now.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130">130</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#130" target="_top">130</a>:
        <span class="emphasis"><em>Return type of container::erase(iterator) differs for associative containers</em></span>
     </span></dt><dd><p>Make member <code class="code">erase</code> return iterator for <code class="code">set</code>, <code class="code">multiset</code>, <code class="code">map</code>, <code class="code">multimap</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136">136</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#136" target="_top">136</a>:
        <span class="emphasis"><em>seekp, seekg setting wrong streams?</em></span>
     </span></dt><dd><p><code class="code">seekp</code> should only set the output stream, and
        <code class="code">seekg</code> should only set the input stream.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167">167</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#167" target="_top">167</a>:
        <span class="emphasis"><em>Improper use of traits_type::length()</em></span>
     </span></dt><dd><p><code class="code">op&lt;&lt;</code> with a <code class="code">const char*</code> was
        calculating an incorrect number of characters to write.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169">169</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#169" target="_top">169</a>:
        <span class="emphasis"><em>Bad efficiency of overflow() mandated</em></span>
     </span></dt><dd><p>Grow efficiently the internal array object.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171">171</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#171" target="_top">171</a>:
        <span class="emphasis"><em>Strange seekpos() semantics due to joint position</em></span>
     </span></dt><dd><p>Quite complex to summarize...
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181">181</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#181" target="_top">181</a>:
        <span class="emphasis"><em>make_pair() unintended behavior</em></span>
     </span></dt><dd><p>This function used to take its arguments as reference-to-const, now
        it copies them (pass by value).
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195">195</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#195" target="_top">195</a>:
        <span class="emphasis"><em>Should basic_istream::sentry's constructor ever set eofbit?</em></span>
     </span></dt><dd><p>Yes, it can, specifically if EOF is reached while skipping whitespace.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211">211</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#211" target="_top">211</a>:
        <span class="emphasis"><em>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</em></span>
     </span></dt><dd><p>If nothing is extracted into the string, <code class="code">op&gt;&gt;</code> now
        sets <code class="code">failbit</code> (which can cause an exception, etc., etc.).
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214">214</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#214" target="_top">214</a>:
        <span class="emphasis"><em>set::find() missing const overload</em></span>
     </span></dt><dd><p>Both <code class="code">set</code> and <code class="code">multiset</code> were missing
        overloaded find, lower_bound, upper_bound, and equal_range functions
        for const instances.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231">231</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#231" target="_top">231</a>:
        <span class="emphasis"><em>Precision in iostream?</em></span>
     </span></dt><dd><p>For conversion from a floating-point type, <code class="code">str.precision()</code>
        is specified in the conversion specification.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233">233</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#233" target="_top">233</a>:
        <span class="emphasis"><em>Insertion hints in associative containers</em></span>
     </span></dt><dd><p>Implement N1780, first check before then check after, insert as close
        to hint as possible.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235">235</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#235" target="_top">235</a>:
        <span class="emphasis"><em>No specification of default ctor for reverse_iterator</em></span>
     </span></dt><dd><p>The declaration of <code class="code">reverse_iterator</code> lists a default constructor.
        However, no specification is given what this constructor should do.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241">241</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#241" target="_top">241</a>:
        <span class="emphasis"><em>Does unique_copy() require CopyConstructible and Assignable?</em></span>
     </span></dt><dd><p>Add a helper for forward_iterator/output_iterator, fix the existing
        one for input_iterator/output_iterator to not rely on Assignability.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243">243</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#243" target="_top">243</a>:
        <span class="emphasis"><em>get and getline when sentry reports failure</em></span>
     </span></dt><dd><p>Store a null character only if the character array has a non-zero size.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251">251</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#251" target="_top">251</a>:
        <span class="emphasis"><em>basic_stringbuf missing allocator_type</em></span>
     </span></dt><dd><p>This nested typedef was originally not specified.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253">253</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#253" target="_top">253</a>:
        <span class="emphasis"><em>valarray helper functions are almost entirely useless</em></span>
     </span></dt><dd><p>Make the copy constructor and copy-assignment operator declarations
        public in gslice_array, indirect_array, mask_array, slice_array; provide
        definitions.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265">265</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#265" target="_top">265</a>:
        <span class="emphasis"><em>std::pair::pair() effects overly restrictive</em></span>
     </span></dt><dd><p>The default ctor would build its members from copies of temporaries;
        now it simply uses their respective default ctors.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266">266</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#266" target="_top">266</a>:
        <span class="emphasis"><em>bad_exception::~bad_exception() missing Effects clause</em></span>
     </span></dt><dd><p>The <code class="code">bad_</code>* classes no longer have destructors (they
        are trivial), since no description of them was ever given.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271">271</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#271" target="_top">271</a>:
        <span class="emphasis"><em>basic_iostream missing typedefs</em></span>
     </span></dt><dd><p>The typedefs it inherits from its base classes can't be used, since
        (for example) <code class="code">basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275">275</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#275" target="_top">275</a>:
        <span class="emphasis"><em>Wrong type in num_get::get() overloads</em></span>
     </span></dt><dd><p>Similar to 118.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280">280</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#280" target="_top">280</a>:
        <span class="emphasis"><em>Comparison of reverse_iterator to const reverse_iterator</em></span>
     </span></dt><dd><p>Add global functions with two template parameters.
        (NB: not added for now a templated assignment operator)
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292">292</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#292" target="_top">292</a>:
        <span class="emphasis"><em>Effects of a.copyfmt (a)</em></span>
     </span></dt><dd><p>If <code class="code">(this == &amp;rhs)</code> do nothing.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300">300</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#300" target="_top">300</a>:
        <span class="emphasis"><em>List::merge() specification incomplete</em></span>
     </span></dt><dd><p>If <code class="code">(this == &amp;x)</code> do nothing.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303">303</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#303" target="_top">303</a>:
        <span class="emphasis"><em>Bitset input operator underspecified</em></span>
     </span></dt><dd><p>Basically, compare the input character to
                    <code class="code">is.widen(0)</code> and <code class="code">is.widen(1)</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305">305</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#305" target="_top">305</a>:
        <span class="emphasis"><em>Default behavior of codecvt&lt;wchar_t, char,
                  mbstate_t&gt;::length()</em></span>
     </span></dt><dd><p>Do not specify what <code class="code">codecvt&lt;wchar_t, char,
                    mbstate_t&gt;::do_length</code> must return.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328">328</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#328" target="_top">328</a>:
        <span class="emphasis"><em>Bad sprintf format modifier in
                  money_put&lt;&gt;::do_put()</em></span>
     </span></dt><dd><p>Change the format string to "%.0Lf".
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365">365</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#365" target="_top">365</a>:
        <span class="emphasis"><em>Lack of const-qualification in clause 27</em></span>
     </span></dt><dd><p>Add const overloads of <code class="code">is_open</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387">387</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#387" target="_top">387</a>:
        <span class="emphasis"><em>std::complex over-encapsulated</em></span>
     </span></dt><dd><p>Add the <code class="code">real(T)</code> and <code class="code">imag(T)</code>
                    members;  in C++11 mode, also adjust the existing
                    <code class="code">real()</code> and <code class="code">imag()</code> members and
                    free functions.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389">389</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#389" target="_top">389</a>:
        <span class="emphasis"><em>Const overload of valarray::operator[] returns
                  by value</em></span>
     </span></dt><dd><p>Change it to return a <code class="code">const T&amp;</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396">396</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#396" target="_top">396</a>:
        <span class="emphasis"><em>what are characters zero and one</em></span>
     </span></dt><dd><p>Implement the proposed resolution.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402">402</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#402" target="_top">402</a>:
        <span class="emphasis"><em>Wrong new expression in [some_]allocator::construct</em></span>
     </span></dt><dd><p>Replace "new" with "::new".
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408">408</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408" target="_top">408</a>:
        <span class="emphasis"><em>
        Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
        </em></span>
     </span></dt><dd><p>Tweak the debug-mode checks in _Safe_iterator.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409">409</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#409" target="_top">409</a>:
        <span class="emphasis"><em>Closing an fstream should clear the error state</em></span>
     </span></dt><dd><p>Have <code class="code">open</code> clear the error flags.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431">431</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431" target="_top">431</a>:
        <span class="emphasis"><em>Swapping containers with unequal allocators</em></span>
     </span></dt><dd><p>Implement Option 3, as per N1599.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432">432</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#432" target="_top">432</a>:
        <span class="emphasis"><em>stringbuf::overflow() makes only one write position
            available</em></span>
     </span></dt><dd><p>Implement the resolution, beyond DR 169.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434">434</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#434" target="_top">434</a>:
        <span class="emphasis"><em>bitset::to_string() hard to use</em></span>
     </span></dt><dd><p>Add three overloads, taking fewer template arguments.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438">438</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#438" target="_top">438</a>:
        <span class="emphasis"><em>Ambiguity in the "do the right thing" clause</em></span>
     </span></dt><dd><p>Implement the resolution, basically cast less.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453">453</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#453" target="_top">453</a>:
        <span class="emphasis"><em>basic_stringbuf::seekoff need not always fail for an empty stream</em></span>
     </span></dt><dd><p>Don't fail if the next pointer is null and newoff is zero.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455">455</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#455" target="_top">455</a>:
        <span class="emphasis"><em>cerr::tie() and wcerr::tie() are overspecified</em></span>
     </span></dt><dd><p>Initialize cerr tied to cout and wcerr tied to wcout.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464">464</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#464" target="_top">464</a>:
        <span class="emphasis"><em>Suggestion for new member functions in standard containers</em></span>
     </span></dt><dd><p>Add <code class="code">data()</code> to <code class="code">std::vector</code> and
        <code class="code">at(const key_type&amp;)</code> to <code class="code">std::map</code>.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508">508</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#508" target="_top">508</a>:
        <span class="emphasis"><em>Bad parameters for ranlux64_base_01</em></span>
     </span></dt><dd><p>Fix the parameters.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512">512</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512" target="_top">512</a>:
        <span class="emphasis"><em>Seeding subtract_with_carry_01 from a single unsigned long</em></span>
     </span></dt><dd><p>Construct a <code class="code">linear_congruential</code> engine and seed with it.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526">526</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526" target="_top">526</a>:
        <span class="emphasis"><em>Is it undefined if a function in the standard changes in
            parameters?</em></span>
     </span></dt><dd><p>Use &amp;value.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538">538</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#538" target="_top">538</a>:
        <span class="emphasis"><em>241 again: Does unique_copy() require CopyConstructible
            and Assignable?</em></span>
     </span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
        input_iterator' value_type.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539">539</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#539" target="_top">539</a>:
        <span class="emphasis"><em>partial_sum and adjacent_difference should mention
            requirements</em></span>
     </span></dt><dd><p>We were almost doing the right thing, just use std::move
        in adjacent_difference.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541">541</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#541" target="_top">541</a>:
        <span class="emphasis"><em>shared_ptr template assignment and void</em></span>
     </span></dt><dd><p>Add an auto_ptr&lt;void&gt; specialization.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543">543</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#543" target="_top">543</a>:
        <span class="emphasis"><em>valarray slice default constructor</em></span>
     </span></dt><dd><p>Follow the straightforward proposed resolution.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550">550</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#550" target="_top">550</a>:
        <span class="emphasis"><em>What should the return type of pow(float,int) be?</em></span>
     </span></dt><dd><p>In C++11 mode, remove the pow(float,int), etc., signatures.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586">586</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#586" target="_top">586</a>:
        <span class="emphasis"><em>string inserter not a formatted function</em></span>
     </span></dt><dd><p>Change it to be a formatted output function (i.e. catch exceptions).
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596">596</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#596" target="_top">596</a>:
        <span class="emphasis"><em>27.8.1.3 Table 112 omits "a+" and "a+b" modes</em></span>
     </span></dt><dd><p>Add the missing modes to fopen_mode.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630">630</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#630" target="_top">630</a>:
        <span class="emphasis"><em>arrays of valarray</em></span>
     </span></dt><dd><p>Implement the simple resolution.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660">660</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#660" target="_top">660</a>:
        <span class="emphasis"><em>Missing bitwise operations</em></span>
     </span></dt><dd><p>Add the missing operations.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691">691</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#691" target="_top">691</a>:
        <span class="emphasis"><em>const_local_iterator cbegin, cend missing from TR1</em></span>
     </span></dt><dd><p>In C++11 mode add cbegin(size_type) and cend(size_type)
                    to the unordered containers.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693">693</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#693" target="_top">693</a>:
        <span class="emphasis"><em>std::bitset::all() missing</em></span>
     </span></dt><dd><p>Add it, consistently with the discussion.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695">695</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#695" target="_top">695</a>:
        <span class="emphasis"><em>ctype&lt;char&gt;::classic_table() not accessible</em></span>
     </span></dt><dd><p>Make the member functions table and classic_table public.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696">696</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#696" target="_top">696</a>:
        <span class="emphasis"><em>istream::operator&gt;&gt;(int&amp;) broken</em></span>
     </span></dt><dd><p>Implement the straightforward resolution.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761">761</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#761" target="_top">761</a>:
        <span class="emphasis"><em>unordered_map needs an at() member function</em></span>
     </span></dt><dd><p>In C++11 mode, add at() and at() const.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775">775</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#775" target="_top">775</a>:
        <span class="emphasis"><em>Tuple indexing should be unsigned?</em></span>
     </span></dt><dd><p>Implement the int -&gt; size_t replacements.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776">776</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#776" target="_top">776</a>:
        <span class="emphasis"><em>Undescribed assign function of std::array</em></span>
     </span></dt><dd><p>In C++11 mode, remove assign, add fill.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781">781</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#781" target="_top">781</a>:
        <span class="emphasis"><em>std::complex should add missing C99 functions</em></span>
     </span></dt><dd><p>In C++11 mode, add std::proj.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809">809</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#809" target="_top">809</a>:
        <span class="emphasis"><em>std::swap should be overloaded for array types</em></span>
     </span></dt><dd><p>Add the overload.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844">844</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#844" target="_top">844</a>:
        <span class="emphasis"><em>complex pow return type is ambiguous</em></span>
     </span></dt><dd><p>In C++11 mode, remove the pow(complex&lt;T&gt;, int) signature.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853">853</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#853" target="_top">853</a>:
        <span class="emphasis"><em>to_string needs updating with zero and one</em></span>
     </span></dt><dd><p>Update / add the signatures.
-    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865">865</a>:
+    </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-defects.html#865" target="_top">865</a>:
        <span class="emphasis"><em>More algorithms that throw away information</em></span>
     </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
                    by the resolution of the DR.
-    </p></dd></dl></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="license.html">Prev</a> </td><td align="center"><a accesskey="u" href="status.html">Up</a></td><td align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td align="left" valign="top">License </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
+    </p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">License </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
index c85b482..5738034 100644 (file)
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 15.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      mutex&#10;    , &#10;      thread&#10;    , &#10;      future&#10;    , &#10;      condition_variable&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics"/><link rel="next" href="extensions.html" title="Part III.  Extensions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
+<!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>Chapter 15.  Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    , &#10;      mutex&#10;    , &#10;      thread&#10;    , &#10;      future&#10;    , &#10;      condition_variable&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="atomics.html" title="Chapter 14.  Atomics" /><link rel="next" href="extensions.html" title="Part III.  Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. 
   Concurrency
   
-</th></tr><tr><td align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"/>Chapter 15. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15. 
   Concurrency
-  <a id="id506165" class="indexterm"/>
+  <a id="idp16368576" class="indexterm"></a>
 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
   Facilities for concurrent operation, and control thereof.
-</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency.api"/>API Reference</h2></div></div></div><p>
+</p><div class="section" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
     All items are declared in one of four standard header files.
   </p><p>
     In header <code class="filename">mutex</code>, class
     and <code class="classname">packaged_task</code>.
   </p><p>
     Full API details.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 14. 
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="atomics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 14. 
   Atomics
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part III. 
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part III. 
   Extensions
   
 </td></tr></table></div></body></html>
index ecc4b84..b7f0270 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Configure</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      configure&#10;    , &#10;      options&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="setup.html" title="Chapter 2. Setup"/><link rel="prev" href="setup.html" title="Chapter 2. Setup"/><link rel="next" href="make.html" title="Make"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr/></div><div class="section" title="Configure"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.configure"/>Configure</h2></div></div></div><p>
+<!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>Configure</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      configure&#10;    , &#10;      options&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="setup.html" title="Chapter 2. Setup" /><link rel="next" href="make.html" title="Make" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configure</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr></table><hr /></div><div class="section" title="Configure"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.configure"></a>Configure</h2></div></div></div><p>
   When configuring libstdc++, you'll have to configure the entire
   <span class="emphasis"><em>gccsrcdir</em></span> directory. Consider using the
   toplevel gcc configuration option
@@ -10,7 +10,7 @@
   Here are all of the configure options specific to libstdc++.  Keep
   in mind that
    
-   <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html">they
+   <a class="link" href="http://sourceware.org/autobook/autobook/autobook_14.html" target="_top">they
    all have opposite forms as well</a> (enable/disable and
    with/without).  The defaults are for the <span class="emphasis"><em>current
    development sources</em></span>, which may be different than those
@@ -53,7 +53,7 @@
        choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix
        (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets,
        'gnu' to specify a model based on functionality from the GNU C
-       library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/">glibc</a>, the GNU C
+       library (langinfo/iconv/gettext) (from <a class="link" href="http://sources.redhat.com/glibc/" target="_top">glibc</a>, the GNU C
        library), or 'generic' to use a generic "C"
        abstraction which consists of "C" locale info.
      </p><p>If not explicitly specified, the configure proccess tries
        (described next).
      </p></dd><dt><span class="term"><code class="code">--enable-threads=OPTION</code></span></dt><dd><p>Select a threading library.  A full description is
        given in the
-       general <a class="link" href="http://gcc.gnu.org/install/configure.html">compiler
+       general <a class="link" href="http://gcc.gnu.org/install/configure.html" target="_top">compiler
        configuration instructions</a>. This option can change the
        library ABI.
+     </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-threads</code></span></dt><dd><p>Enable C++11 threads support.  If not explicitly specified,
+        the  configure process enables it if possible.  It defaults to 'off'
+       on Solaris 8 and 9, where it would break symbol versioning.   This
+       option can change the library ABI.
      </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time</code></span></dt><dd><p>This is an abbreviated form of
        <code class="code">'--enable-libstdcxx-time=yes'</code>(described next).
      </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-time=OPTION</code></span></dt><dd><p>Enables link-type checks for the availability of the
      <span class="emphasis"><em>freestanding</em></span> environment, in which only a
      minimal set of headers are provided.  This option builds such an
      environment.
-     </p></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="setup.html">Prev</a> </td><td align="center"><a accesskey="u" href="setup.html">Up</a></td><td align="right"> <a accesskey="n" href="make.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 2. Setup </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Make</td></tr></table></div></body></html>
+     </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Setup </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Make</td></tr></table></div></body></html>
index ec46ca5..a139892 100644 (file)
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 9.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="facets.html" title="Facets"/><link rel="next" href="associative.html" title="Associative"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
+<!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>Chapter 9.  Containers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="facets.html" title="Facets" /><link rel="next" href="associative.html" title="Associative" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
   Containers
   
-</th></tr><tr><td align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"/>Chapter 9. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9. 
   Containers
-  <a id="id503211" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section" title="Sequences"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.sequences"/>Sequences</h2></div></div></div><div class="section" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"/>list</h3></div></div></div><div class="section" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"/>list::size() is O(n)</h4></div></div></div><p>
+  <a id="idp16014032" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="section" title="Sequences"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="section" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="section" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
      Yes it is, and that's okay.  This is a decision that we preserved
      when we imported SGI's STL implementation.  The following is
-     quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</a>:
+     quoted from <a class="link" href="http://www.sgi.com/tech/stl/FAQ.html" target="_top">their FAQ</a>:
    </p><div class="blockquote"><blockquote class="blockquote"><p>
        The size() member function, for list and slist, takes time
        proportional to the number of elements in the list.  This was a
         </p><pre class="programlisting">
         if (L.empty())
             ...
-        </pre></blockquote></div></div></div><div class="section" title="vector"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.vector"/>vector</h3></div></div></div><p>
-  </p><div class="section" title="Space Overhead Management"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.vector.management"/>Space Overhead Management</h4></div></div></div><p>
-     In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
+        </pre></blockquote></div></div></div><div class="section" title="vector"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.vector"></a>vector</h3></div></div></div><p>
+  </p><div class="section" title="Space Overhead Management"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.vector.management"></a>Space Overhead Management</h4></div></div></div><p>
+     In <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html" target="_top">this
      message to the list</a>, Daniel Kostecky announced work on an
      alternate form of <code class="code">std::vector</code> that would support
      hints on the number of elements to be over-allocated.  The design
      was also described, along with possible implementation choices.
    </p><p>
-     The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</a>
-     and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</a>.
-   </p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="facets.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr><tr><td align="left" valign="top">Facets </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Associative</td></tr></table></div></body></html>
+     The first two alpha releases were announced <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html" target="_top">here</a>
+     and <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html" target="_top">here</a>.
+   </p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Facets </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Associative</td></tr></table></div></body></html>
index 33ae476..13b1c9c 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="containers.html" title="Chapter 9.  Containers"/><link rel="prev" href="associative.html" title="Associative"/><link rel="next" href="iterators.html" title="Chapter 10.  Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="containers.html" title="Chapter 9.  Containers" /><link rel="prev" href="associative.html" title="Associative" /><link rel="next" href="iterators.html" title="Chapter 10.  Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><th width="60%" align="center">Chapter 9. 
   Containers
   
-</th><td align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers.c"/>Interacting with C</h2></div></div></div><div class="section" title="Containers vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="containers.c.vs_array"/>Containers vs. Arrays</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Containers vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="containers.c.vs_array"></a>Containers vs. Arrays</h3></div></div></div><p>
      You're writing some code and can't decide whether to use builtin
      arrays or some kind of container.  There are compelling reasons
      to use one of the container classes, but you're afraid that
@@ -84,7 +84,7 @@ template&lt;typename T, unsigned int sz&gt;
     inline unsigned int lengthof (T (&amp;)[sz]) { return sz; }
    </pre><p>
      looks just weird!  Hint:  unused parameters can be left nameless.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="associative.html">Prev</a> </td><td align="center"><a accesskey="u" href="containers.html">Up</a></td><td align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr><tr><td align="left" valign="top">Associative </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 10. 
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="associative.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="containers.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="iterators.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Associative </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 10. 
   Iterators
   
 </td></tr></table></div></body></html>
index 6d6e019..d3aed39 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Debugging Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      debug&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_exceptions.html" title="Exceptions"/><link rel="next" href="bk01pt02.html" title="Part II.  Standard Contents"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr></table><hr/></div><div class="section" title="Debugging Support"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.debug"/>Debugging Support</h2></div></div></div><p>
+<!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>Debugging Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      debug&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_exceptions.html" title="Exceptions" /><link rel="next" href="bk01pt02.html" title="Part II.  Standard Contents" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr></table><hr /></div><div class="section" title="Debugging Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.debug"></a>Debugging Support</h2></div></div></div><p>
   There are numerous things that can be done to improve the ease with
   which C++ binaries are debugged when using the GNU tool chain. Here
   are some of them.
-</p><div class="section" title="Using g++"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"/>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
+</p><div class="section" title="Using g++"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compiler"></a>Using <span class="command"><strong>g++</strong></span></h3></div></div></div><p>
     Compiler flags determine how debug information is transmitted
     between compilation and debug or analysis tools.
   </p><p>
   platform can be identified via the value set by the
   PREFERRED_DEBUGGING_TYPE macro in the gcc sources.
 </p><p>
-  Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options
+  Many other options are available: please see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options" target="_top">"Options
   for Debugging Your Program"</a> in Using the GNU Compiler
   Collection (GCC) for a complete list.
-</p></div><div class="section" title="Debug Versions of Library Binary Files"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"/>Debug Versions of Library Binary Files</h3></div></div></div><p>
+</p></div><div class="section" title="Debug Versions of Library Binary Files"><div class="titlepage"><div><div><h3 class="title"><a id="debug.req"></a>Debug Versions of Library Binary Files</h3></div></div></div><p>
   If you would like debug symbols in libstdc++, there are two ways to
   build libstdc++ with debug flags. The first is to run make from the
   toplevel in a freshly-configured tree with
@@ -52,7 +52,7 @@
 </pre><p>
   This quick and dirty approach is often sufficient for quick
   debugging tasks, when you cannot or don't want to recompile your
-  application to use the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>.</p></div><div class="section" title="Memory Leak Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"/>Memory Leak Hunting</h3></div></div></div><p>
+  application to use the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>.</p></div><div class="section" title="Memory Leak Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.memory"></a>Memory Leak Hunting</h3></div></div></div><p>
   There are various third party memory tracing and debug utilities
   that can be used to provide detailed memory allocation information
   about C++ code. An exhaustive list of tools is not going to be
   up the runtime environment, library, and test file, might be:
 </p><pre class="programlisting">
    valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
-</pre></div><div class="section" title="Data Race Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.races"/>Data Race Hunting</h3></div></div></div><p>
+</pre></div><div class="section" title="Data Race Hunting"><div class="titlepage"><div><div><h3 class="title"><a id="debug.races"></a>Data Race Hunting</h3></div></div></div><p>
   All synchronization primitives used in the library internals need to be
   understood by race detectors so that they do not produce false reports.
 </p><p>
 </p><p>
   The approach described above is known to work with the following race
   detection tools:
-  <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html">
+  <a class="link" href="http://valgrind.org/docs/manual/drd-manual.html" target="_top">
   DRD</a>,
-  <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html"> 
+  <a class="link" href="http://valgrind.org/docs/manual/hg-manual.html" target="_top"
   Helgrind</a>, and
-  <a class="link" href="http://code.google.com/p/data-race-test"> 
+  <a class="link" href="http://code.google.com/p/data-race-test" target="_top"
   ThreadSanitizer</a>.
 </p><p>
   With DRD, Helgrind and ThreadSanitizer you will need to define
   #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A)  ANNOTATE_HAPPENS_AFTER(A)
 </pre><p>
   Refer to the documentation of each particular tool for details.
-</p></div><div class="section" title="Using gdb"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"/>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
+</p></div><div class="section" title="Using gdb"><div class="titlepage"><div><div><h3 class="title"><a id="debug.gdb"></a>Using <span class="command"><strong>gdb</strong></span></h3></div></div></div><p>
   </p><p>
-  Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/">
+  Many options are available for GDB itself: please see <a class="link" href="http://sources.redhat.com/gdb/current/onlinedocs/gdb/" target="_top">
   "GDB features for C++" </a> in the GDB documentation. Also
   recommended: the other parts of this manual.
 </p><p>
   pretty-printers were not loaded.
 </p><p>
   For additional information on STL support and GDB please visit:
-  <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
+  <a class="link" href="http://sourceware.org/gdb/wiki/STLSupport" target="_top"> "GDB Support
   for STL" </a> in the GDB wiki.  Additionally, in-depth
   documentation and discussion of the pretty printing feature can be
   found in "Pretty Printing" node in the GDB manual.  You can find
   on-line versions of the GDB user manual in GDB's homepage, at
-  <a class="link" href="http://sourceware.org/gdb/"> "GDB: The GNU Project
+  <a class="link" href="http://sourceware.org/gdb/" target="_top"> "GDB: The GNU Project
   Debugger" </a>.
-</p></div><div class="section" title="Tracking uncaught exceptions"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"/>Tracking uncaught exceptions</h3></div></div></div><p>
+</p></div><div class="section" title="Tracking uncaught exceptions"><div class="titlepage"><div><div><h3 class="title"><a id="debug.exceptions"></a>Tracking uncaught exceptions</h3></div></div></div><p>
   The <a class="link" href="termination.html#support.termination.verbose" title="Verbose Terminate Handler">verbose
   termination handler</a> gives information about uncaught
   exceptions which are killing the program.  It is described in the
   linked-to page.
-</p></div><div class="section" title="Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"/>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">Debug Mode</a>
+</p></div><div class="section" title="Debug Mode"><div class="titlepage"><div><div><h3 class="title"><a id="debug.debug_mode"></a>Debug Mode</h3></div></div></div><p> The <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">Debug Mode</a>
   has compile and run-time checks for many containers.
-  </p></div><div class="section" title="Compile Time Checking"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"/>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks">Compile-Time
+  </p></div><div class="section" title="Compile Time Checking"><div class="titlepage"><div><div><h3 class="title"><a id="debug.compile_time_checks"></a>Compile Time Checking</h3></div></div></div><p> The <a class="link" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks">Compile-Time
   Checks</a> Extension has compile-time checks for many algorithms.
-  </p></div><div class="section" title="Profile-based Performance Analysis"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"/>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">Profile-based
+  </p></div><div class="section" title="Profile-based Performance Analysis"><div class="titlepage"><div><div><h3 class="title"><a id="debug.profile_mode"></a>Profile-based Performance Analysis</h3></div></div></div><p> The <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">Profile-based
   Performance Analysis</a> Extension has performance checks for many
   algorithms.
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr><tr><td align="left" valign="top">Exceptions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part II. 
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_exceptions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Exceptions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part II. 
     Standard Contents
   </td></tr></table></div></body></html>
index 99a90e5..4dc4451 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 17. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks"/><link rel="next" href="bk01pt03ch17s02.html" title="Semantics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 17. Debug Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      debug&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /><link rel="next" href="bk01pt03ch17s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 17. Debug Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 17. Debug Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"/>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
-    debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode.intro"/>Intro</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 17. Debug Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.debug_mode"></a>Chapter 17. Debug Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
+    debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.debug_mode.intro"></a>Intro</h2></div></div></div><p>
     By default, libstdc++ is built with efficiency in mind, and
     therefore performs little or no error checking that is not
     required by the C++ standard. This means that programs that
@@ -21,7 +21,7 @@
     The libstdc++ debug mode performs checking for many areas of the
     C++ standard, but the focus is on checking interactions among
     standard iterators, containers, and algorithms, including:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Safe iterators</em></span>: Iterators keep track of the
     container whose elements they reference, so errors such as
     incrementing a past-the-end iterator or dereferencing an iterator
     that points to a container that has been destructed are diagnosed
@@ -35,4 +35,4 @@
     the same predicate that was passed
     to <code class="code">set_intersection</code>; the libstdc++ debug mode will
     detect an error if the sequence is not sorted or was sorted by a
-    different predicate.</p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 16. Compile Time Checks </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Semantics</td></tr></table></div></body></html>
+    different predicate.</p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_compile_checks.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 16. Compile Time Checks </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Semantics</td></tr></table></div></body></html>
index aefd330..fa5fed4 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 5.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="termination.html" title="Termination"/><link rel="next" href="bk01pt02ch05s02.html" title="Concept Checking"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
+<!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>Chapter 5.  Diagnostics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="termination.html" title="Termination" /><link rel="next" href="bk01pt02ch05s02.html" title="Concept Checking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
   Diagnostics
   
-</th></tr><tr><td align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"/>Chapter 5. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5. 
   Diagnostics
-  <a id="id484626" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics.exceptions"/>Exceptions</h2></div></div></div><div class="section" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"/>API Reference</h3></div></div></div><p>
+  <a id="idp13808352" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="section" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
       All exception objects are defined in one of the standard header
       files: <code class="filename">exception</code>,
       <code class="filename">stdexcept</code>, <code class="filename">new</code>, and
@@ -23,7 +23,7 @@
       found in the source documentation.
     </p><p>
       Full API details.
-    </p></div><div class="section" title="Adding Data to exception"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.data"/>Adding Data to <code class="classname">exception</code></h3></div></div></div><p>
+    </p></div><div class="section" title="Adding Data to exception"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.data"></a>Adding Data to <code class="classname">exception</code></h3></div></div></div><p>
       The standard exception classes carry with them a single string as
       data (usually describing what went wrong or where the 'throw' took
     place).  It's good to remember that you can add your own data to
@@ -40,4 +40,4 @@
        int    e;
        DBID   id;     // some user-defined type
    };
-   </pre></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="termination.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr><tr><td align="left" valign="top">Termination </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Concept Checking</td></tr></table></div></body></html>
+   </pre></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="termination.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Termination </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concept Checking</td></tr></table></div></body></html>
index cde3e37..65e20c5 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>Writing and Generating Documentation</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="ISO C++, documentation, style, docbook, doxygen" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="next" href="internals.html" title="Porting to New Hardware or Operating Systems" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing and Generating Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr/></div><div class="section" title="Writing and Generating Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.doc"/>Writing and Generating Documentation</h2></div></div></div><div class="section" title="Introduction"><div class="titlepage"><div><div><h3 class="title"><a id="doc.intro"/>Introduction</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="section" title="Writing and Generating Documentation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.doc"></a>Writing and Generating Documentation</h2></div></div></div><div class="section" title="Introduction"><div class="titlepage"><div><div><h3 class="title"><a id="doc.intro"></a>Introduction</h3></div></div></div><p>
       Documentation for the GNU C++ Library is created from three
       independent sources: a manual, a FAQ, and an API reference.
     </p><p>
@@ -25,9 +25,9 @@
       reference. Although divergent, this conforms to the GNU Project
       recommendations as long as the output is of sufficient quality,
       as per
-      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation">
+      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Documentation" target="_top">
       GNU Manuals</a>.
-    </p></div><div class="section" title="Generating Documentation"><div class="titlepage"><div><div><h3 class="title"><a id="doc.generation"/>Generating Documentation</h3></div></div></div><p>
+    </p></div><div class="section" title="Generating Documentation"><div class="titlepage"><div><div><h3 class="title"><a id="doc.generation"></a>Generating Documentation</h3></div></div></div><p>
       Certain Makefile rules are required by the GNU Coding
       Standards. These standard rules generate HTML, PDF, XML, or man
       files. For each of the generative rules, there is an additional
            Generates multi-page HTML documentation, and installs it
            in the following directories:
          </p><p>
-           <code class="filename">
-             doc/libstdc++/libstdc++-api.html
-           </code>
+           <code class="filename">doc/libstdc++/libstdc++-api.html</code>
          </p><p>
-           <code class="filename">
-             doc/libstdc++/libstdc++-manual.html
-           </code>
+           <code class="filename">doc/libstdc++/libstdc++-manual.html</code>
          </p></dd><dt><span class="term">
          <span class="emphasis"><em>make pdf</em></span>
        , </span><span class="term">
       supported, and are always aliased to dummy rules. These
       unsupported formats are: <span class="emphasis"><em>info</em></span>,
       <span class="emphasis"><em>ps</em></span>, and <span class="emphasis"><em>dvi</em></span>.
-    </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"/>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id553885"/><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">coreutils</td><td style="text-align: center">8.5</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">bash</td><td style="text-align: center">4.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">doxygen</td><td style="text-align: center">1.7.0</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">graphviz</td><td style="text-align: center">2.26</td><td style="text-align: center">graphical hierarchies</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr></tbody></table></div></div><br class="table-break"/><p>
+    </p></div><div class="section" title="Doxygen"><div class="titlepage"><div><div><h3 class="title"><a id="doc.doxygen"></a>Doxygen</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idp22126320"></a><p class="title"><strong>Table B.1. Doxygen Prerequisites</strong></p><div class="table-contents"><table summary="Doxygen Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">coreutils</td><td align="center">8.5</td><td align="center">all</td></tr><tr><td align="center">bash</td><td align="center">4.1</td><td align="center">all</td></tr><tr><td align="center">doxygen</td><td align="center">1.7.6.1</td><td align="center">all</td></tr><tr><td align="center">graphviz</td><td align="center">2.26</td><td align="center">graphical hierarchies</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr></tbody></table></div></div><br class="table-break" /><p>
        Prerequisite tools are Bash 2.0 or later,
-       <a class="link" href="http://www.doxygen.org/">Doxygen</a>, and
-       the <a class="link" href="http://www.gnu.org/software/coreutils/">GNU
+       <a class="link" href="http://www.doxygen.org/" target="_top">Doxygen</a>, and
+       the <a class="link" href="http://www.gnu.org/software/coreutils/" target="_top">GNU
        coreutils</a>. (GNU versions of find, xargs, and possibly
        sed and grep are used, just because the GNU versions make
        things very easy.) 
       </p><p>
        To generate the pretty pictures and hierarchy
        graphs, the
-       <a class="link" href="http://www.graphviz.org">Graphviz</a> package
+       <a class="link" href="http://www.graphviz.org" target="_top">Graphviz</a> package
        will need to be installed. For PDF
-       output, <a class="link" href="http://www.tug.org/applications/pdftex/">
+       output, <a class="link" href="http://www.tug.org/applications/pdftex/" target="_top">
        pdflatex</a> is required.
-      </p></div><div class="section" title="Generating the Doxygen Files"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"/>Generating the Doxygen Files</h4></div></div></div><p>
+      </p><p>
+       Be warned the PDF file generated via doxygen is extremely
+       large. At last count, the PDF file is over three thousand
+       pages. Generating this document taxes the underlying TeX
+       formatting system, and will require the expansion of TeX's memory
+       capacity. Specifically, the <code class="literal">pool_size</code>
+       variable in the configuration file <code class="filename">texmf.cnf</code> may
+       need to be increased by a minimum factor of two.
+      </p></div><div class="section" title="Generating the Doxygen Files"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.rules"></a>Generating the Doxygen Files</h4></div></div></div><p>
        The following Makefile rules run Doxygen to generate HTML
        docs, XML docs, XML docs as a single file, PDF docs, and the
        man pages. These rules are not conditional! If the required
        If you wish to tweak the Doxygen settings, do so by editing
        <code class="filename">doc/doxygen/user.cfg.in</code>. Notes to fellow
        library hackers are written in triple-# comments.
-      </p></div><div class="section" title="Markup"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"/>Markup</h4></div></div></div><p>
+      </p></div><div class="section" title="Debugging Generation"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.debug"></a>Debugging Generation</h4></div></div></div><p>
+         Sometimes, mis-configuration of the pre-requisite tools can
+         lead to errors when attempting to build the
+         documentation. Here are some of the obvious errors, and ways
+         to fix some common issues that may appear quite cryptic.
+       </p><p>
+         First, if using a rule like <code class="code">make pdf</code>, try to
+         narrow down the scope of the error to either docbook
+         (<code class="code">make doc-pdf-docbook</code>) or doxygen (<code class="code">make
+         doc-pdf-doxygen</code>).
+       </p><p>
+         Working on the doxygen path only, closely examine the
+         contents of the following build directory:
+         <code class="filename">build/target/libstdc++-v3/doc/doxygen/latex</code>.
+         Pay attention to three files enclosed within, annotated as follows.
+       </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+   <span class="emphasis"><em>refman.tex</em></span>
+  </p><p>
+    The actual latex file, or partial latex file. This is generated
+    via <span class="command"><strong>doxygen</strong></span>, and is the LaTeX version of the
+    Doxygen XML file <code class="filename">libstdc++-api.xml</code>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <code class="filename">libstdc++-api.xml</code> is causing it.
+  </p></li><li class="listitem"><p>
+   <span class="emphasis"><em>refman.out</em></span>
+  </p><p>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <code class="filename">refman.tex</code> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <code class="filename">refman.tex</code> that is
+    incorrect, or will have clues at the end of the file with the dump
+    of the memory usage of LaTeX.
+  </p></li></ul></div><p>
+         If the error at hand is not obvious after examination, a
+         fall-back strategy is to start commenting out the doxygen
+         input sources, which can be found in
+         <code class="filename">doc/doxygen/user.cfg.in</code>, look for the
+         <code class="literal">INPUT</code> tag. Start by commenting out whole
+         directories of header files, until the offending header is
+         identified. Then, read the latex log files to try and find
+         surround text, and look for that in the offending header.
+       </p></div><div class="section" title="Markup"><div class="titlepage"><div><div><h4 class="title"><a id="doxygen.markup"></a>Markup</h4></div></div></div><p>
        In general, libstdc++ files should be formatted according to
        the rules found in the
        <a class="link" href="source_code_style.html" title="Coding Style">Coding Standard</a>. Before
        Adding Doxygen markup to a file (informally called
        <span class="quote">“<span class="quote">doxygenating</span>”</span>) is very simple. The Doxygen manual can be
        found
-       <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</a>.
+       <a class="link" href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman" target="_top">here</a>.
        We try to use a very-recent version of Doxygen.
       </p><p>
        For classes, use
        member functions.
       </p><p>
        Some commentary to accompany
-       the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
+       the first list in the <a class="link" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html" target="_top">Special
        Documentation Blocks</a> section of
        the Doxygen manual:
-      </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
+      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>For longer comments, use the Javadoc style...</p></li><li class="listitem"><p>
            ...not the Qt style. The intermediate *'s are preferred.
          </p></li><li class="listitem"><p>
            Use the triple-slash style only for one-line comments (the
        Complicated math functions should use the multi-line
        format. An example from <code class="filename">random.h</code>:
       </p><p>
-</p><div class="literallayout"><p><br/>
-/**<br/>
- * @brief A model of a linear congruential random number generator.<br/>
- *<br/>
- * @f[<br/>
- *     x_{i+1}\leftarrow(ax_{i} + c) \bmod m<br/>
- * @f]<br/>
- */<br/>
+</p><div class="literallayout"><p><br />
+/**<br />
+ * @brief A model of a linear congruential random number generator.<br />
+ *<br />
+ * @f[<br />
+ *     x_{i+1}\leftarrow(ax_{i} + c) \bmod m<br />
+ * @f]<br />
+ */<br />
 </p></div><p>
       </p><p>
        One area of note is the markup required for
        multiple directories, include part of the installed path to
        disambiguate. For example:
       </p><p>
-</p><div class="literallayout"><p><br/>
-/** @file debug/vector<br/>
- *  This file is a GNU debug extension to the Standard C++ Library.<br/>
- */<br/>
+</p><div class="literallayout"><p><br />
+/** @file debug/vector<br />
+ *  This file is a GNU debug extension to the Standard C++ Library.<br />
+ */<br />
 </p></div><p>
       </p><p>
        The other relevant detail for header files is the use of a
        <code class="literal">headername</code> in the <code class="literal">file</code>
        block. An example:
       </p><p>
-</p><div class="literallayout"><p><br/>
-/** @file bits/basic_string.h<br/>
- *  This is an internal header file, included by other library headers.<br/>
- *  Do not attempt to use it directly. @headername{string}<br/>
- */<br/>
+</p><div class="literallayout"><p><br />
+/** @file bits/basic_string.h<br />
+ *  This is an internal header file, included by other library headers.<br />
+ *  Do not attempt to use it directly. @headername{string}<br />
+ */<br />
 </p></div><p>
       </p><p>
        Be careful about using certain, special characters when
        writing Doxygen comments. Single and double quotes, and
        separators in filenames are two common trouble spots. When in
        doubt, consult the following table.
-      </p><div class="table"><a id="id554388"/><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Doxygen</th></tr></thead><tbody><tr><td style="text-align: left">\</td><td style="text-align: left">\\</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">\"</td></tr><tr><td style="text-align: left">'</td><td style="text-align: left">\'</td></tr><tr><td style="text-align: left">&lt;i&gt;</td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left">&lt;b&gt;</td><td style="text-align: left">@b word</td></tr><tr><td style="text-align: left">&lt;code&gt;</td><td style="text-align: left">@c word</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">@a word</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"/>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"/>Prerequisites</h4></div></div></div><div class="table"><a id="id554550"/><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col style="text-align: center" class="c1"/><col style="text-align: center" class="c2"/><col style="text-align: center" class="c3"/></colgroup><thead><tr><th style="text-align: center">Tool</th><th style="text-align: center">Version</th><th style="text-align: center">Required By</th></tr></thead><tbody><tr><td style="text-align: center">docbook5-style-xsl</td><td style="text-align: center">1.76.1</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xsltproc</td><td style="text-align: center">1.1.26</td><td style="text-align: center">all</td></tr><tr><td style="text-align: center">xmllint</td><td style="text-align: center">2.7.7</td><td style="text-align: center">validation</td></tr><tr><td style="text-align: center">dblatex</td><td style="text-align: center">0.3</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">pdflatex</td><td style="text-align: center">2007-59</td><td style="text-align: center">pdf output</td></tr><tr><td style="text-align: center">docbook2X</td><td style="text-align: center">0.8.8</td><td style="text-align: center">info output</td></tr><tr><td style="text-align: center">epub3 stylesheets</td><td style="text-align: center">b3</td><td style="text-align: center">epub output</td></tr></tbody></table></div></div><br class="table-break"/><p>
+      </p><div class="table"><a id="idp22201984"></a><p class="title"><strong>Table B.2. HTML to Doxygen Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="section" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc.docbook"></a>Docbook</h3></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><div class="table"><a id="idp22221360"></a><p class="title"><strong>Table B.3. Docbook Prerequisites</strong></p><div class="table-contents"><table summary="Docbook Prerequisites" border="1"><colgroup><col align="center" class="c1" /><col align="center" class="c2" /><col align="center" class="c3" /></colgroup><thead><tr><th align="center">Tool</th><th align="center">Version</th><th align="center">Required By</th></tr></thead><tbody><tr><td align="center">docbook5-style-xsl</td><td align="center">1.76.1</td><td align="center">all</td></tr><tr><td align="center">xsltproc</td><td align="center">1.1.26</td><td align="center">all</td></tr><tr><td align="center">xmllint</td><td align="center">2.7.7</td><td align="center">validation</td></tr><tr><td align="center">dblatex</td><td align="center">0.3</td><td align="center">pdf output</td></tr><tr><td align="center">pdflatex</td><td align="center">2007-59</td><td align="center">pdf output</td></tr><tr><td align="center">docbook2X</td><td align="center">0.8.8</td><td align="center">info output</td></tr><tr><td align="center">epub3 stylesheets</td><td align="center">b3</td><td align="center">epub output</td></tr></tbody></table></div></div><br class="table-break" /><p>
        Editing the DocBook sources requires an XML editor. Many
        exist: some notable options
        include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
        by a vendor package like <code class="filename">libxml2</code> and <code class="filename">docbook5-schemas-5.0-4</code>
       </p><p>
        For PDF output, something that transforms valid Docbook XML to PDF is
-       required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net">dblatex</a>,
+       required. Possible solutions include <a class="link" href="http://dblatex.sourceforge.net" target="_top">dblatex</a>,
        <span class="command"><strong>xmlto</strong></span>, or <span class="command"><strong>prince</strong></span>. Of
        these, <span class="command"><strong>dblatex</strong></span> is the default. Other
-       options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</a>. Please
+       options are listed on the DocBook web <a class="link" href="http://wiki.docbook.org/topic/DocBookPublishingTools" target="_top">pages</a>. Please
        consult the <code class="email">&lt;<a class="email" href="mailto:libstdc++@gcc.gnu.org">libstdc++@gcc.gnu.org</a>&gt;</code> list when
        preparing printed manuals for current best practice and
        suggestions.
       </p><p>
        For Texinfo output, something that transforms valid Docbook
-       XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/">docbook2X</a>.
+       XML to Texinfo is required. The default choice is <a class="link" href="http://docbook2x.sourceforge.net/" target="_top">docbook2X</a>.
       </p><p>
-       For epub output, the stylesheets for EPUB3 are required. These stylesheets are still in development. To validate the created file, epubcheck is necessary.
-      </p></div><div class="section" title="Generating the DocBook Files"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"/>Generating the DocBook Files</h4></div></div></div><p>
+       For epub output, the <a class="link" href="http://sourceforge.net/projects/docbook/files/epub3/" target="_top">stylesheets</a> for EPUB3 are required. These stylesheets are still in development. To validate the created file, <a class="link" href="https://code.google.com/p/epubcheck/" target="_top">epubcheck</a> is necessary.
+      </p></div><div class="section" title="Generating the DocBook Files"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.rules"></a>Generating the DocBook Files</h4></div></div></div><p>
        The following Makefile rules generate (in order): an HTML
        version of all the DocBook documentation, a PDF version of the
        same, and a single XML document.  These rules are not
        <strong class="userinput"><code>
 make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</code> doc-html-docbook
        </code></strong>
-      </pre></div><div class="section" title="Editing and Validation"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.validation"/>Editing and Validation</h4></div></div></div><p>
+      </pre></div><div class="section" title="Debugging Generation"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.debug"></a>Debugging Generation</h4></div></div></div><p>
+         Sometimes, mis-configuration of the pre-requisite tools can
+         lead to errors when attempting to build the
+         documentation. Here are some of the obvious errors, and ways
+         to fix some common issues that may appear quite cryptic.
+       </p><p>
+         First, if using a rule like <code class="code">make pdf</code>, try to
+         narrow down the scope of the error to either docbook
+         (<code class="code">make doc-pdf-docbook</code>) or doxygen (<code class="code">make
+         doc-pdf-doxygen</code>).
+       </p><p>
+         Working on the docbook path only, closely examine the
+         contents of the following build directory:
+         <code class="filename">build/target/libstdc++-v3/doc/docbook/latex</code>.
+         Pay attention to three files enclosed within, annotated as follows.
+       </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+   <span class="emphasis"><em>spine.tex</em></span>
+  </p><p>
+    The actual latex file, or partial latex file. This is generated
+    via <span class="command"><strong>dblatex</strong></span>, and is the LaTeX version of the
+    DocBook XML file <code class="filename">spine.xml</code>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <code class="filename">spine.xml</code> is causing it.
+  </p></li><li class="listitem"><p>
+   <span class="emphasis"><em>spine.out</em></span>
+  </p><p>
+    A log of the conversion from the XML form to the LaTeX form. This
+    is a linear list, from the beginning of the
+    <code class="filename">spine.xml</code> file: the last entry of this file
+    should be the end of the DocBook file. If it is truncated, then
+    you know that the last entry is the last part of the XML source
+    file that is valid. The error is after this point.
+  </p></li><li class="listitem"><p>
+   <span class="emphasis"><em>spine.log</em></span>
+  </p><p>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <code class="filename">spine.tex</code> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <code class="filename">spine.tex</code> that is
+    incorrect.
+  </p></li></ul></div><p>
+         If the error at hand is not obvious after examination, or if one
+         encounters the inscruitable <span class="quote">“<span class="quote">Incomplete
+         \ifmmode</span>”</span> error, a fall-back strategy is to start
+         commenting out parts of the XML document (regardless of what
+         this does to over-all document validity). Start by
+         commenting out each of the largest parts of the
+         <code class="filename">spine.xml</code> file, section by section,
+         until the offending section is identified.
+       </p></div><div class="section" title="Editing and Validation"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.validation"></a>Editing and Validation</h4></div></div></div><p>
        After editing the xml sources, please make sure that the XML
        documentation and markup is still valid. This can be
        done easily, with the following validation rule:
@@ -355,90 +455,90 @@ make <code class="literal">XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwal
        validation on the entire manual fails.
       </p><p>
        All Docbook xml sources should always validate. No excuses!
-      </p></div><div class="section" title="File Organization and Basics"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"/>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br/>
-      <span class="emphasis"><em>Which files are important</em></span><br/>
-<br/>
-      All Docbook files are in the directory<br/>
-      libstdc++-v3/doc/xml<br/>
-<br/>
-      Inside this directory, the files of importance:<br/>
-      spine.xml         - index to documentation set<br/>
-      manual/spine.xml  - index to manual<br/>
-      manual/*.xml     - individual chapters and sections of the manual<br/>
-      faq.xml                  - index to FAQ<br/>
-      api.xml                  - index to source level / API<br/>
-<br/>
-      All *.txml files are template xml files, i.e., otherwise empty files with<br/>
-      the correct structure, suitable for filling in with new information.<br/>
-<br/>
-      <span class="emphasis"><em>Canonical Writing Style</em></span><br/>
-<br/>
-      class template<br/>
-      function template<br/>
-      member function template<br/>
-      (via C++ Templates, Vandevoorde)<br/>
-<br/>
-      class in namespace std: allocator, not std::allocator<br/>
-<br/>
-      header file: iostream, not &lt;iostream&gt;<br/>
-<br/>
-<br/>
-      <span class="emphasis"><em>General structure</em></span><br/>
-<br/>
-      &lt;set&gt;<br/>
-      &lt;book&gt;<br/>
-      &lt;/book&gt;<br/>
-<br/>
-      &lt;book&gt;<br/>
-      &lt;chapter&gt;<br/>
-      &lt;/chapter&gt;<br/>
-      &lt;/book&gt;<br/>
-<br/>
-      &lt;book&gt;<br/>
-      &lt;part&gt;<br/>
-      &lt;chapter&gt;<br/>
-      &lt;section&gt;<br/>
-      &lt;/section&gt;<br/>
-<br/>
-      &lt;sect1&gt;<br/>
-      &lt;/sect1&gt;<br/>
-<br/>
-      &lt;sect1&gt;<br/>
-      &lt;sect2&gt;<br/>
-      &lt;/sect2&gt;<br/>
-      &lt;/sect1&gt;<br/>
-      &lt;/chapter&gt;<br/>
-<br/>
-      &lt;chapter&gt;<br/>
-      &lt;/chapter&gt;<br/>
-      &lt;/part&gt;<br/>
-      &lt;/book&gt;<br/>
-<br/>
-      &lt;/set&gt;<br/>
-    </p></div></div><div class="section" title="Markup By Example"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"/>Markup By Example</h4></div></div></div><p>
+      </p></div><div class="section" title="File Organization and Basics"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.examples"></a>File Organization and Basics</h4></div></div></div><div class="literallayout"><p><br />
+      <span class="emphasis"><em>Which files are important</em></span><br />
+<br />
+      All Docbook files are in the directory<br />
+      libstdc++-v3/doc/xml<br />
+<br />
+      Inside this directory, the files of importance:<br />
+      spine.xml         - index to documentation set<br />
+      manual/spine.xml  - index to manual<br />
+      manual/*.xml     - individual chapters and sections of the manual<br />
+      faq.xml                  - index to FAQ<br />
+      api.xml                  - index to source level / API<br />
+<br />
+      All *.txml files are template xml files, i.e., otherwise empty files with<br />
+      the correct structure, suitable for filling in with new information.<br />
+<br />
+      <span class="emphasis"><em>Canonical Writing Style</em></span><br />
+<br />
+      class template<br />
+      function template<br />
+      member function template<br />
+      (via C++ Templates, Vandevoorde)<br />
+<br />
+      class in namespace std: allocator, not std::allocator<br />
+<br />
+      header file: iostream, not &lt;iostream&gt;<br />
+<br />
+<br />
+      <span class="emphasis"><em>General structure</em></span><br />
+<br />
+      &lt;set&gt;<br />
+      &lt;book&gt;<br />
+      &lt;/book&gt;<br />
+<br />
+      &lt;book&gt;<br />
+      &lt;chapter&gt;<br />
+      &lt;/chapter&gt;<br />
+      &lt;/book&gt;<br />
+<br />
+      &lt;book&gt;<br />
+      &lt;part&gt;<br />
+      &lt;chapter&gt;<br />
+      &lt;section&gt;<br />
+      &lt;/section&gt;<br />
+<br />
+      &lt;sect1&gt;<br />
+      &lt;/sect1&gt;<br />
+<br />
+      &lt;sect1&gt;<br />
+      &lt;sect2&gt;<br />
+      &lt;/sect2&gt;<br />
+      &lt;/sect1&gt;<br />
+      &lt;/chapter&gt;<br />
+<br />
+      &lt;chapter&gt;<br />
+      &lt;/chapter&gt;<br />
+      &lt;/part&gt;<br />
+      &lt;/book&gt;<br />
+<br />
+      &lt;/set&gt;<br />
+    </p></div></div><div class="section" title="Markup By Example"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.markup"></a>Markup By Example</h4></div></div></div><p>
        Complete details on Docbook markup can be found in the DocBook
        Element Reference,
-       <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html">online</a>.
+       <a class="link" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
        An incomplete reference for HTML to Docbook conversion is
        detailed in the table below.
-      </p><div class="table"><a id="id555059"/><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">HTML</th><th style="text-align: left">Docbook</th></tr></thead><tbody><tr><td style="text-align: left">&lt;p&gt;</td><td style="text-align: left">&lt;para&gt;</td></tr><tr><td style="text-align: left">&lt;pre&gt;</td><td style="text-align: left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
-       &lt;literallayout&gt;</td></tr><tr><td style="text-align: left">&lt;ul&gt;</td><td style="text-align: left">&lt;itemizedlist&gt;</td></tr><tr><td style="text-align: left">&lt;ol&gt;</td><td style="text-align: left">&lt;orderedlist&gt;</td></tr><tr><td style="text-align: left">&lt;il&gt;</td><td style="text-align: left">&lt;listitem&gt;</td></tr><tr><td style="text-align: left">&lt;dl&gt;</td><td style="text-align: left">&lt;variablelist&gt;</td></tr><tr><td style="text-align: left">&lt;dt&gt;</td><td style="text-align: left">&lt;term&gt;</td></tr><tr><td style="text-align: left">&lt;dd&gt;</td><td style="text-align: left">&lt;listitem&gt;</td></tr><tr><td style="text-align: left">&lt;a href=""&gt;</td><td style="text-align: left">&lt;ulink url=""&gt;</td></tr><tr><td style="text-align: left">&lt;code&gt;</td><td style="text-align: left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td style="text-align: left">&lt;strong&gt;</td><td style="text-align: left">&lt;emphasis&gt;</td></tr><tr><td style="text-align: left">&lt;em&gt;</td><td style="text-align: left">&lt;emphasis&gt;</td></tr><tr><td style="text-align: left">"</td><td style="text-align: left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break"/><p>
+      </p><div class="table"><a id="idp22298992"></a><p class="title"><strong>Table B.4. HTML to Docbook XML Markup Comparison</strong></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
+       &lt;literallayout&gt;</td></tr><tr><td align="left">&lt;ul&gt;</td><td align="left">&lt;itemizedlist&gt;</td></tr><tr><td align="left">&lt;ol&gt;</td><td align="left">&lt;orderedlist&gt;</td></tr><tr><td align="left">&lt;il&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;dl&gt;</td><td align="left">&lt;variablelist&gt;</td></tr><tr><td align="left">&lt;dt&gt;</td><td align="left">&lt;term&gt;</td></tr><tr><td align="left">&lt;dd&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;a href=""&gt;</td><td align="left">&lt;ulink url=""&gt;</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td align="left">&lt;strong&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">"</td><td align="left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break" /><p>
   And examples of detailed markup for which there are no real HTML
   equivalents are listed in the table below.
-</p><div class="table"><a id="id555261"/><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Element</th><th style="text-align: left">Use</th></tr></thead><tbody><tr><td style="text-align: left">&lt;structname&gt;</td><td style="text-align: left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td style="text-align: left">&lt;classname&gt;</td><td style="text-align: left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td style="text-align: left">&lt;function&gt;</td><td style="text-align: left">
+</p><div class="table"><a id="idp22323136"></a><p class="title"><strong>Table B.5. Docbook XML Element Use</strong></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
        <p>&lt;function&gt;clear()&lt;/function&gt;</p>
        <p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
-      </td></tr><tr><td style="text-align: left">&lt;type&gt;</td><td style="text-align: left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td style="text-align: left">&lt;varname&gt;</td><td style="text-align: left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td style="text-align: left">&lt;literal&gt;</td><td style="text-align: left">
+      </td></tr><tr><td align="left">&lt;type&gt;</td><td align="left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td align="left">&lt;varname&gt;</td><td align="left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td align="left">&lt;literal&gt;</td><td align="left">
        <p>&lt;literal&gt;-Weffc++&lt;/literal&gt;</p>
        <p>&lt;literal&gt;rel_ops&lt;/literal&gt;</p>
-      </td></tr><tr><td style="text-align: left">&lt;constant&gt;</td><td style="text-align: left">
+      </td></tr><tr><td align="left">&lt;constant&gt;</td><td align="left">
        <p>&lt;constant&gt;_GNU_SOURCE&lt;/constant&gt;</p>
        <p>&lt;constant&gt;3.0&lt;/constant&gt;</p>
-      </td></tr><tr><td style="text-align: left">&lt;command&gt;</td><td style="text-align: left">&lt;command&gt;g++&lt;/command&gt;</td></tr><tr><td style="text-align: left">&lt;errortext&gt;</td><td style="text-align: left">&lt;errortext&gt;In instantiation of&lt;/errortext&gt;</td></tr><tr><td style="text-align: left">&lt;filename&gt;</td><td style="text-align: left">
+      </td></tr><tr><td align="left">&lt;command&gt;</td><td align="left">&lt;command&gt;g++&lt;/command&gt;</td></tr><tr><td align="left">&lt;errortext&gt;</td><td align="left">&lt;errortext&gt;In instantiation of&lt;/errortext&gt;</td></tr><tr><td align="left">&lt;filename&gt;</td><td align="left">
        <p>&lt;filename class="headerfile"&gt;ctype.h&lt;/filename&gt;</p>
        <p>&lt;filename class="directory"&gt;/home/gcc/build&lt;/filename&gt;</p>
        <p>&lt;filename class="libraryfile"&gt;libstdc++.so&lt;/filename&gt;</p>
-      </td></tr></tbody></table></div></div><br class="table-break"/></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix B. 
+      </td></tr></tbody></table></div></div><br class="table-break" /></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_porting.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix B. 
   Porting and Maintenance
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Porting to New Hardware or Operating Systems</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Porting to New Hardware or Operating Systems</td></tr></table></div></body></html>
index 4303d3f..93c460f 100644 (file)
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="support.html" title="Chapter 4.  Support"/><link rel="prev" href="support.html" title="Chapter 4.  Support"/><link rel="next" href="termination.html" title="Termination"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
+<!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>Dynamic Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="support.html" title="Chapter 4.  Support" /><link rel="next" href="termination.html" title="Termination" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Dynamic Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
   Support
   
-</th><td align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr/></div><div class="section" title="Dynamic Memory"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.memory"/>Dynamic Memory</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr></table><hr /></div><div class="section" title="Dynamic Memory"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.memory"></a>Dynamic Memory</h2></div></div></div><p>
     There are six flavors each of <code class="function">new</code> and
     <code class="function">delete</code>, so make certain that you're using the right
     ones. Here are quickie descriptions of <code class="function">new</code>:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        single object form, throwing a
        <code class="classname">bad_alloc</code> on errors; this is what most
        people are used to using
@@ -66,7 +66,7 @@
    </pre><p>
      <code class="classname">bad_alloc</code> is derived from the base <code class="classname">exception</code>
      class defined in Sect1 19.
-   </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="support.html">Prev</a> </td><td align="center"><a accesskey="u" href="support.html">Up</a></td><td align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 4. 
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="support.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="support.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="termination.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. 
   Support
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Termination</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Termination</td></tr></table></div></body></html>
index 744829a..e6a9d8c 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 25. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities"/><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 25. Algorithms</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_utilities.html" title="Chapter 24. Utilities" /><link rel="next" href="ext_numerics.html" title="Chapter 26. Numerics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 25. Algorithms</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 25. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"/>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 25. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.algorithms"></a>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 (count, count_if) is extended with two more versions of count
    and count_if.  The standard versions return their results.  The
    additional signatures return void, but take a final parameter by
    reference to which they assign their results, e.g.,
@@ -15,9 +15,9 @@
    copy_n (_InputIter first, _Size count, _OutputIter result);</pre><p>which copies the first 'count' elements at 'first' into 'result'.
 </p><p>25.3 (sorting 'n' heaps 'n' stuff) is extended with some helper
    predicates.  Look in the doxygen-generated pages for notes on these.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li class="listitem"><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">is_heap</code> tests whether or not a range is a heap.</p></li><li class="listitem"><p><code class="code">is_sorted</code> tests whether or not a range is sorted in
        nondescending order.</p></li></ul></div><p>25.3.8 (lexicographical_compare) is extended with
 </p><pre class="programlisting">
    lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,
                                 _InputIter2 first2, _InputIter2 last2)</pre><p>which does... what?
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 24. Utilities </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 26. Numerics</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_numerics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 24. Utilities </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 26. Numerics</td></tr></table></div></body></html>
index 63ffe75..306ca1a 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 16. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03pr01.html" title=""/><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 16. Compile Time Checks</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03pr01.html" title="" /><link rel="next" href="debug_mode.html" title="Chapter 17. Debug Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 16. Compile Time Checks</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 16. Compile Time Checks"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"/>Chapter 16. Compile Time Checks</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 16. Compile Time Checks"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.compile_checks"></a>Chapter 16. Compile Time Checks</h2></div></div></div><p>
     Also known as concept checking.
   </p><p>In 1999, SGI added <span class="emphasis"><em>concept checkers</em></span> to their implementation
       of the STL:  code which checked the template parameters of
@@ -19,7 +19,7 @@
    </p><p>The primary author of the checking code, Jeremy Siek, had already
       started work on a replacement implementation.  The new code has been
       formally reviewed and accepted into
-      <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm">the
+      <a class="link" href="http://www.boost.org/libs/concept_check/concept_check.htm" target="_top">the
       Boost libraries</a>, and we are pleased to incorporate it into the
       GNU C++ library.
    </p><p>The new version imposes a much smaller space overhead on the generated
@@ -37,4 +37,4 @@
    support for template parameter constraints based on concepts in the core
    language. This will obviate the need for the library-simulated concept
    checking described above.
-   </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr><tr><td align="left" valign="top"> </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 17. Debug Mode</td></tr></table></div></body></html>
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03pr01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug_mode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 17. Debug Mode</td></tr></table></div></body></html>
index f12e7c9..8a096ff 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 30. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling"/><link rel="next" href="bk01pt03ch30s02.html" title="Implementation"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 30. Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling" /><link rel="next" href="bk01pt03ch30s02.html" title="Implementation" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 30. Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 30. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"/>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency.design"/>Design</h2></div></div></div><div class="section" title="Interface to Locks and Mutexes"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"/>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 30. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.concurrency"></a>Chapter 30. Concurrency</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div class="section" title="Interface to Locks and Mutexes"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.threads"></a>Interface to Locks and Mutexes</h3></div></div></div><p>The file <code class="filename">&lt;ext/concurrence.h&gt;</code>
 contains all the higher-level
 constructs for playing with threads. In contrast to the atomics layer,
 the concurrence layer consists largely of types. All types are defined within <code class="code">namespace __gnu_cxx</code>.
@@ -17,7 +17,7 @@ that support multiple threads.)
 available locking
 policies: <code class="code">_S_single</code>, <code class="code">_S_mutex</code>,
 and <code class="code">_S_atomic</code>.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">_S_single</code></p><p>Indicates single-threaded code that does not need locking.
 </p></li><li class="listitem"><p><code class="code">_S_mutex</code></p><p>Indicates multi-threaded code using thread-layer abstractions.
 </p></li><li class="listitem"><p><code class="code">_S_atomic</code></p><p>Indicates multi-threaded code using atomic operations.
 </p></li></ul></div><p>The compile-time constant <code class="code">__default_lock_policy</code> is set
@@ -33,7 +33,7 @@ critical sections, while retaining exception-safety.
 These types have been superseded in the ISO C++ 2011 standard by the
 mutex and lock types defined in the header
 <code class="filename">&lt;mutex&gt;</code>.
-</p></div><div class="section" title="Interface to Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"/>Interface to Atomic Functions</h3></div></div></div><p>
+</p></div><div class="section" title="Interface to Atomic Functions"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.concurrency.design.atomics"></a>Interface to Atomic Functions</h3></div></div></div><p>
 Two functions and one type form the base of atomic support.
 </p><p>The type <code class="code">_Atomic_word</code> is a signed integral type
 supporting atomic operations.
@@ -47,7 +47,7 @@ void
 __atomic_add_dispatch(volatile _Atomic_word*, int);
 </pre><p>Both of these functions are declared in the header file
 &lt;ext/atomicity.h&gt;, and are in <code class="code">namespace __gnu_cxx</code>.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 <code class="code">
 __exchange_and_add_dispatch
 </code>
@@ -66,7 +66,7 @@ __exchange_and_add_dispatch
 </code>
 </p><p>
 Calls through to either of:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">__exchange_and_add</code>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">__exchange_and_add</code>
 </p><p>Multi-thread version. Inlined if compiler-generated builtin atomics
 can be used, otherwise resolved at link time to a non-builtin code
 sequence.
@@ -91,4 +91,4 @@ _GLIBCXX_WRITE_MEM_BARRIER
 </p><p>
 Which expand to the appropriate write and read barrier required by the
 host hardware and operating system.
-</p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 29. Demangling </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Implementation</td></tr></table></div></body></html>
+</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch30s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 29. Demangling </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Implementation</td></tr></table></div></body></html>
index e1be034..a856e8c 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 23. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="policy_data_structures_biblio.html" title="Acknowledgments"/><link rel="next" href="bk01pt03ch23s02.html" title="Deprecated"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 23. HP/SGI Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="policy_data_structures_ack.html" title="Acknowledgments" /><link rel="next" href="bk01pt03ch23s02.html" title="Deprecated" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_ack.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 23. HP/SGI Extensions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"/>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.sgi"/>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 23. HP/SGI Extensions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers"></a>Chapter 23. HP/SGI Extensions</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></div><div class="section" title="Backwards Compatibility"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards Compatibility</h2></div></div></div><p>A few extensions and nods to backwards-compatibility have
     been made with containers.  Those dealing with older SGI-style
     allocators are dealt with elsewhere.  The remaining ones all deal
     with bits:
@@ -39,4 +39,4 @@
 </p><pre class="programlisting">
    size_t _Find_first() const;
    size_t _Find_next (size_t prev) const;</pre><p>The same caveat given for the _Unchecked_* functions applies here also.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_biblio.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr><tr><td align="left" valign="top">Acknowledgments </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Deprecated</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_ack.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch23s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Acknowledgments </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Deprecated</td></tr></table></div></body></html>
index 455a705..79d9452 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 29. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output"/><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 29. Demangling</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 28. Input and Output" /><link rel="next" href="ext_concurrency.html" title="Chapter 30. Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 29. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"/>Chapter 29. Demangling</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 29. Demangling"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.demangle"></a>Chapter 29. Demangling</h2></div></div></div><p>
     Transforming C++ ABI identifiers (like RTTI symbols) into the
     original C++ source identifiers is called
     <span class="quote">“<span class="quote">demangling.</span>”</span>
   </p><p>
-    If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html">source
+    If you have read the <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html" target="_top">source
     documentation for <code class="code">namespace abi</code></a> then you are
     aware of the cross-vendor C++ ABI in use by GCC.  One of the
     exposed functions is used for demangling,
@@ -71,4 +71,4 @@ int main()
      be writing C++ in order to demangle C++.  (That also means we have to
      use crummy memory management facilities, so don't forget to free()
      the returned char array.)
-   </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 28. Input and Output </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 30. Concurrency</td></tr></table></div></body></html>
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 28. Input and Output </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 30. Concurrency</td></tr></table></div></body></html>
index 3443690..664103f 100644 (file)
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 28. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators"/><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 28. Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_iterators.html" title="Chapter 27. Iterators" /><link rel="next" href="ext_demangling.html" title="Chapter 29. Demangling" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 28. Input and Output</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 28. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"/>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 28. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io"></a>Chapter 28. Input and Output</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></div><p>
     Extensions allowing <code class="code">filebuf</code>s to be constructed from
     "C" types like  FILE*s and file descriptors.
-  </p><div class="section" title="Derived filebufs"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.io.filebuf_derived"/>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
+  </p><div class="section" title="Derived filebufs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.io.filebuf_derived"></a>Derived filebufs</h2></div></div></div><p>The v2 library included non-standard extensions to construct
       <code class="code">std::filebuf</code>s from C stdio types such as
       <code class="code">FILE*</code>s and POSIX file descriptors.
       Today the recommended way to use stdio types with libstdc++
       IOStreams is via the <code class="code">stdio_filebuf</code> class (see below),
       but earlier releases provided slightly different mechanisms.
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>3.0.x <code class="code">filebuf</code>s have another ctor with this signature:
        <code class="code">basic_filebuf(__c_file_type*, ios_base::openmode, int_type);
        </code>
         This comes in very handy in a number of places, such as
         attaching Unix sockets, pipes, and anything else which uses file
         descriptors, into the IOStream buffering classes.  The three
         arguments are as follows:
-        </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">__c_file_type*      F   </code>
+        </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p><code class="code">__c_file_type*      F   </code>
              // the __c_file_type typedef usually boils down to stdio's FILE
          </p></li><li class="listitem"><p><code class="code">ios_base::openmode  M   </code>
              // same as all the other uses of openmode
@@ -39,7 +39,7 @@
         the <code class="code">fd()</code> function were removed from the standard
         filebuf.  Instead, <code class="code">&lt;ext/stdio_filebuf.h&gt;</code> contains
         a derived class called
-        <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
+        <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html" target="_top"><code class="code">__gnu_cxx::stdio_filebuf</code></a>.
         This class can be constructed from a C <code class="code">FILE*</code> or a file
         descriptor, and provides the <code class="code">fd()</code> function.
-     </p></li></ul></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 27. Iterators </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 29. Demangling</td></tr></table></div></body></html>
+     </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 27. Iterators </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 29. Demangling</td></tr></table></div></body></html>
index 5085c6b..1689371 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 27. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics"/><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 27. Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_numerics.html" title="Chapter 26. Numerics" /><link rel="next" href="ext_io.html" title="Chapter 28. Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 27. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"/>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 27. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.iterators"></a>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 describes <code class="code">struct iterator</code>, which didn't exist in the
    original HP STL implementation (the language wasn't rich enough at the
    time).  For backwards compatibility, base classes are provided which
    declare the same nested typedefs:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>input_iterator</p></li><li class="listitem"><p>output_iterator</p></li><li class="listitem"><p>forward_iterator</p></li><li class="listitem"><p>bidirectional_iterator</p></li><li class="listitem"><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>input_iterator</p></li><li class="listitem"><p>output_iterator</p></li><li class="listitem"><p>forward_iterator</p></li><li class="listitem"><p>bidirectional_iterator</p></li><li class="listitem"><p>random_access_iterator</p></li></ul></div><p>24.3.4 describes iterator operation <code class="code">distance</code>, which takes
    two iterators and returns a result.  It is extended by another signature
    which takes two iterators and a reference to a result.  The result is
    modified, and the function returns nothing.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 26. Numerics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 28. Input and Output</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_numerics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_io.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 26. Numerics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 28. Input and Output</td></tr></table></div></body></html>
index b6337d7..f38ca14 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 26. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms"/><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 26. Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="ext_algorithms.html" title="Chapter 25. Algorithms" /><link rel="next" href="ext_iterators.html" title="Chapter 27. Iterators" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 26. Numerics</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 26. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"/>Chapter 26. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as <code class="code">accumulate</code>,
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 26. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.numerics"></a>Chapter 26. Numerics</h2></div></div></div><p>26.4, the generalized numeric operations such as <code class="code">accumulate</code>,
    are extended with the following functions:
 </p><pre class="programlisting">
    power (x, n);
    The operation functor must be associative.
 </p><p>The <code class="code">iota</code> function wins the award for Extension With the
    Coolest Name (the name comes from Ken Iverson's APL language.)  As
-   described in the <a class="link" href="http://www.sgi.com/tech/stl/iota.html">SGI
+   described in the <a class="link" href="http://www.sgi.com/tech/stl/iota.html" target="_top">SGI
    documentation</a>, it "assigns sequentially increasing values to a range.
    That is, it assigns <code class="code">value</code> to <code class="code">*first</code>,
    <code class="code">value + 1</code> to<code class="code"> *(first + 1)</code> and so on."
 </p><pre class="programlisting">
    void iota(_ForwardIter first, _ForwardIter last, _Tp value);</pre><p>The <code class="code">iota</code> function is included in the ISO C++ 2011 standard.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 25. Algorithms </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 27. Iterators</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_iterators.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 25. Algorithms </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 27. Iterators</td></tr></table></div></body></html>
index 9072df3..071ce4b 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 24. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch23s02.html" title="Deprecated"/><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 24. Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch23s02.html" title="Deprecated" /><link rel="next" href="ext_algorithms.html" title="Chapter 25. Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 24. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"/>Chapter 24. Utilities</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 24. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.util"></a>Chapter 24. Utilities</h2></div></div></div><p>
     The <code class="filename">&lt;functional&gt;</code> header
     contains many additional functors
     and helper functions, extending section 20.3.  They are
     implemented in the file stl_function.h:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication.
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">identity_element</code> for addition and multiplication.
   </p></li><li class="listitem"><p>The functor <code class="code">identity</code>, whose <code class="code">operator()</code>
       returns the argument unchanged.
   </p></li><li class="listitem"><p>Composition functors <code class="code">unary_function</code> and
@@ -39,4 +39,4 @@ get_temporary_buffer(5, (int*)0);
 </p><p>
   The specialized algorithms of section 20.4.4 are extended with
   <code class="code">uninitialized_copy_n</code>.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr><tr><td align="left" valign="top">Deprecated </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch23s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_algorithms.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Deprecated </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html>
index 3038342..6ba9484 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part III.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="io_and_c.html" title="Interacting with C"/><link rel="next" href="bk01pt03pr01.html" title=""/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
+<!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>Part III.  Extensions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link rel="next" href="bk01pt03pr01.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part III. 
   Extensions
   
-</th></tr><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"/>Part III. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part III. 
   Extensions
-  <a id="id506330" class="indexterm"/>
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
+  <a id="idp16388480" class="indexterm"></a>
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
     debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
            Configuring via Template Parameters
          </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
@@ -69,6 +69,4 @@
          Text <code class="function">modify</code> Up
        </a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
          Text <code class="function">modify</code> Down
-       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">
-       Bibliography
-      </a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> </td></tr></table></div></body></html>
+       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
index 8f800a3..bbcfaea 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="localization.html" title="Chapter 8.  Localization"/><link rel="prev" href="localization.html" title="Chapter 8.  Localization"/><link rel="next" href="containers.html" title="Chapter 9.  Containers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
+<!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>Facets</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="localization.html" title="Chapter 8.  Localization" /><link rel="prev" href="localization.html" title="Chapter 8.  Localization" /><link rel="next" href="containers.html" title="Chapter 9.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
   Localization
   
-</th><td align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization.facet"/>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"/>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"/>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id501036"/>Specializations</h5></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="idp15752864"></a>Specializations</h5></div></div></div><p>
 For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
 conversions are made between the internal character set (always UCS4
 on GNU/Linux) and whatever the currently selected locale for the
@@ -28,7 +28,7 @@ to wchar_t and wcsrtombs for conversions between wchar_t and char.
 </p><p>
 Neither of these two required specializations deals with Unicode
 characters.
-</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
    How to deal with the global locale issue?
    </p></li><li class="listitem"><p>
    How to deal with different types than char, wchar_t? </p></li><li class="listitem"><p>
@@ -50,30 +50,30 @@ characters.
    </p></li><li class="listitem"><p>
        Rename abstract base class. See if just smash-overriding is a
        better approach. Clarify, add sanity to naming.
-     </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id501160"/><p><span class="citetitle"><em class="citetitle">
+     </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15767920"></a><p><span class="citetitle"><em class="citetitle">
       The GNU C Library
-    </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6  Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="id501200"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6  Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry"><a id="idp15772672"></a><p><span class="citetitle"><em class="citetitle">
       Correspondence
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id501226"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15775760"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 14882:1998 Programming languages - C++
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id501245"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15778048"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 9899:1999 Programming languages - C
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="id501264"/><p><span class="title"><em>
-       <a class="link" href="http://www.unix.org/version3/ieee_std.html">
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)"><a id="idp15780320"></a><p><span class="title"><em>
+       <a class="link" href="http://www.unix.org/version3/ieee_std.html" target="_top">
        The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
        </a>
       </em>. </span><span class="copyright">Copyright © 1999 
-      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="id501291"/><p><span class="citetitle"><em class="citetitle">
+      The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry"><a id="idp15783568"></a><p><span class="citetitle"><em class="citetitle">
       The C++ Programming Language, Special Edition
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
        Addison Wesley
-      . </span></span></p></div><div class="biblioentry"><a id="id501329"/><p><span class="citetitle"><em class="citetitle">
+      . </span></span></p></div><div class="biblioentry"><a id="idp15788192"></a><p><span class="citetitle"><em class="citetitle">
       Standard C++ IOStreams and Locales
     </em>. </span><span class="subtitle">
       Advanced Programmer's Guide and Reference
     . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
        Addison Wesley Longman
-      . </span></span></p></div></div></div><div class="section" title="codecvt"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.codecvt"/>codecvt</h3></div></div></div><p>
+      . </span></span></p></div></div></div><div class="section" title="codecvt"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.codecvt"></a>codecvt</h3></div></div></div><p>
 The standard class codecvt attempts to address conversions between
 different character encoding schemes. In particular, the standard
 attempts to detail conversions between the implementation-defined wide
@@ -87,7 +87,7 @@ including Unicode and UTF8. Design issues and requirements are
 addressed, and examples of correct usage for both the required
 specializations for wide and narrow characters and the
 implementation-provided extended functionality are given.
-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.req"/>Requirements</h4></div></div></div><p>
+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.req"></a>Requirements</h4></div></div></div><p>
 Around page 425 of the C++ Standard, this charming heading comes into view:
 </p><div class="blockquote"><blockquote class="blockquote"><p>
 22.2.1.5 - Template class codecvt
@@ -133,7 +133,7 @@ third template parameter, stateT.</p><p>
 Two: The required conversions, by specifying mbstate_t as the third
 template parameter, imply an implementation strategy that is mostly
 (or wholly) based on the underlying C library, and the functions
-mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.design"/>Design</h4></div></div></div><div class="section" title="wchar_t Size"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.wchar_t_size"/><span class="type">wchar_t</span> Size</h5></div></div></div><p>
+mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.design"></a>Design</h4></div></div></div><div class="section" title="wchar_t Size"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.wchar_t_size"></a><span class="type">wchar_t</span> Size</h5></div></div></div><p>
       The simple implementation detail of wchar_t's size seems to
       repeatedly confound people. Many systems use a two byte,
       unsigned integral type to represent wide characters, and use an
@@ -145,7 +145,7 @@ mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Desi
       size for the type wchar_t.
     </p><p>
       Thus, portable C++ code cannot assume a byte size (or endianness) either.
-    </p></div><div class="section" title="Support for Unicode"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.unicode"/>Support for Unicode</h5></div></div></div><p>
+    </p></div><div class="section" title="Support for Unicode"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.unicode"></a>Support for Unicode</h5></div></div></div><p>
     Probably the most frequently asked question about code conversion
     is: "So dudes, what's the deal with Unicode strings?"
     The dude part is optional, but apparently the usefulness of
@@ -162,7 +162,7 @@ mcsrtombs and wcsrtombs in particular.</p></div><div class="section" title="Desi
     needed is some kind of generalized type that accounts for the
     issues that abstract encodings will need. The minimum information
     that is required includes:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        Identifiers for each of the codesets involved in the
        conversion. For example, using the iconv family of functions
        from the Single Unix Specification (what used to be called
@@ -213,7 +213,7 @@ mechanism may be required.
  Some way to enforce strict type checking on the internal and
   external types. As part of this, the size of the internal and
   external types will need to be known.
-</p></li></ul></div></div><div class="section" title="Other Issues"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.issues"/>Other Issues</h5></div></div></div><p>
+</p></li></ul></div></div><div class="section" title="Other Issues"><div class="titlepage"><div><div><h5 class="title"><a id="codecvt.design.issues"></a>Other Issues</h5></div></div></div><p>
 In addition, multi-threaded and multi-locale environments also impact
 the design and requirements for code conversions. In particular, they
 affect the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt;
@@ -245,7 +245,7 @@ For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
 conversions are made between the internal character set (always UCS4
 on GNU/Linux) and whatever the currently selected locale for the
 LC_CTYPE category implements.
-</p></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.impl"/>Implementation</h4></div></div></div><p>
+</p></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.impl"></a>Implementation</h4></div></div></div><p>
 The two required specializations are implemented as follows:
 </p><p>
 <code class="code">
@@ -347,7 +347,7 @@ Definitions for all the required codecvt member functions are provided
 for this specialization, and usage of codecvt&lt;internal character type,
 external character type, encoding_state&gt; is consistent with other
 codecvt usage.
-</p></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.use"/>Use</h4></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
+</p></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.use"></a>Use</h4></div></div></div><p>A conversions involving string literal.</p><pre class="programlisting">
   typedef codecvt_base::result                  result;
   typedef unsigned short                        unicode_t;
   typedef unicode_t                             int_type;
@@ -384,14 +384,14 @@ codecvt usage.
   VERIFY( !int_traits::compare(i_arr, i_lit, size) );
   VERIFY( efrom_next == e_lit + size );
   VERIFY( ito_next == i_arr + size );
-</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
    a. things that are sketchy, or remain unimplemented:
       do_encoding, max_length and length member functions
       are only weakly implemented. I have no idea how to do
       this correctly, and in a generic manner.  Nathan?
 </p></li><li class="listitem"><p>
    b. conversions involving std::string
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
       how should operators != and == work for string of
       different/same encoding?
       </p></li><li class="listitem"><p>
@@ -401,7 +401,7 @@ codecvt usage.
       conversions between narrow, wide, and unicode strings
       </p></li></ul></div></li><li class="listitem"><p>
    c. conversions involving std::filebuf and std::ostream
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
       how to initialize the state object in a
       standards-conformant manner?
       </p></li><li class="listitem"><p>
@@ -410,50 +410,50 @@ codecvt usage.
       </p></li><li class="listitem"><p>
       wchar_t/char internal buffers and conversions between
       internal/external buffers?
-      </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id501980"/><p><span class="citetitle"><em class="citetitle">
+      </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15866336"></a><p><span class="citetitle"><em class="citetitle">
       The GNU C Library
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
       Chapters 6 Character Set Handling and 7 Locales and Internationalization
-    . </span></p></div><div class="biblioentry"><a id="id502019"/><p><span class="citetitle"><em class="citetitle">
+    . </span></p></div><div class="biblioentry"><a id="idp15871088"></a><p><span class="citetitle"><em class="citetitle">
       Correspondence
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id502045"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15874176"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 14882:1998 Programming languages - C++
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id502064"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15876464"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 9899:1999 Programming languages - C
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id502083"/><p><span class="title"><em>
-       <a class="link" href="http://www.opengroup.org/austin">
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="idp15878736"></a><p><span class="title"><em>
+       <a class="link" href="http://www.opengroup.org/austin" target="_top">
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
        </a>
       </em>. </span><span class="copyright">Copyright © 2008 
        The Open Group/The Institute of Electrical and Electronics
        Engineers, Inc.
-      . </span></p></div><div class="biblioentry"><a id="id502110"/><p><span class="citetitle"><em class="citetitle">
+      . </span></p></div><div class="biblioentry"><a id="idp15881968"></a><p><span class="citetitle"><em class="citetitle">
       The C++ Programming Language, Special Edition
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
        Addison Wesley
-      . </span></span></p></div><div class="biblioentry"><a id="id502148"/><p><span class="citetitle"><em class="citetitle">
+      . </span></span></p></div><div class="biblioentry"><a id="idp15886592"></a><p><span class="citetitle"><em class="citetitle">
       Standard C++ IOStreams and Locales
     </em>. </span><span class="subtitle">
       Advanced Programmer's Guide and Reference
     . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
        Addison Wesley Longman
-      . </span></span></p></div><div class="biblioentry" title="A brief description of Normative Addendum 1"><a id="id502196"/><p><span class="title"><em>
-       <a class="link" href="http://www.lysator.liu.se/c/na1.html">
+      . </span></span></p></div><div class="biblioentry" title="A brief description of Normative Addendum 1"><a id="idp15892256"></a><p><span class="title"><em>
+       <a class="link" href="http://www.lysator.liu.se/c/na1.html" target="_top">
       A brief description of Normative Addendum 1
        </a>
-      </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry" title="The Unicode HOWTO"><a id="id502223"/><p><span class="title"><em>
-       <a class="link" href="http://tldp.org/HOWTO/Unicode-HOWTO.html">
+      </em>. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry" title="The Unicode HOWTO"><a id="idp15895504"></a><p><span class="title"><em>
+       <a class="link" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
          The Unicode HOWTO
        </a>
-      </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry" title="UTF-8 and Unicode FAQ for Unix/Linux"><a id="id502246"/><p><span class="title"><em>
-       <a class="link" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html">
+      </em>. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry" title="UTF-8 and Unicode FAQ for Unix/Linux"><a id="idp15898288"></a><p><span class="title"><em>
+       <a class="link" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
       UTF-8 and Unicode FAQ for Unix/Linux
        </a>
-      </em>. </span><span class="author"><span class="firstname">Markus</span> <span class="surname">Khun</span>. </span></p></div></div></div><div class="section" title="messages"><div class="titlepage"><div><div><h3 class="title"><a id="manual.localization.facet.messages"/>messages</h3></div></div></div><p>
+      </em>. </span><span class="author"><span class="firstname">Markus</span> <span class="surname">Khun</span>. </span></p></div></div></div><div class="section" title="messages"><div class="titlepage"><div><div><h3 class="title"><a id="manual.localization.facet.messages"></a>messages</h3></div></div></div><p>
 The std::messages facet implements message retrieval functionality
 equivalent to Java's java.text.MessageFormat .using either GNU gettext
 or IEEE 1003.1-200 functions.
-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.req"/>Requirements</h4></div></div></div><p>
+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.req"></a>Requirements</h4></div></div></div><p>
 The std::messages facet is probably the most vaguely defined facet in
 the standard library. It's assumed that this facility was built into
 the standard library in order to convert string literals from one
@@ -502,7 +502,7 @@ be found, returns dfault.
 -6- Effects: Releases unspecified resources associated with cat.
 -7- Notes: The limit on such resources, if any, is implementation-defined.
 </em></span>
-</p></blockquote></div></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.design"/>Design</h4></div></div></div><p>
+</p></blockquote></div></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.design"></a>Design</h4></div></div></div><p>
 A couple of notes on the standard.
 </p><p>
 First, why is <code class="code">messages_base::catalog</code> specified as a typedef
@@ -535,7 +535,7 @@ It is implicitly assumed that the locale for the default message
 string in 'get' is in the "C" locale. Thus, all source code is assumed
 to be written in English, so translations are always from "en_US" to
 other, explicitly named locales.
-</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.impl"/>Implementation</h4></div></div></div><div class="section" title="Models"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.models"/>Models</h5></div></div></div><p>
+</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.impl"></a>Implementation</h4></div></div></div><div class="section" title="Models"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.models"></a>Models</h5></div></div></div><p>
     This is a relatively simple class, on the face of it. The standard
     specifies very little in concrete terms, so generic
     implementations that are conforming yet do very little are the
@@ -546,7 +546,7 @@ other, explicitly named locales.
   </p><p>
     Three different mechanisms have been provided, selectable via
     configure flags:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        generic
      </p><p>
        This model does very little, and is what is used by default.
@@ -576,7 +576,7 @@ A new, standards-conformant non-virtual member function signature was
 added for 'open' so that a directory could be specified with a given
 message catalog. This simplifies calling conventions for the gnu
 model.
-</p></div><div class="section" title="The GNU Model"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.gnu"/>The GNU Model</h5></div></div></div><p>
+</p></div><div class="section" title="The GNU Model"><div class="titlepage"><div><div><h5 class="title"><a id="messages.impl.gnu"></a>The GNU Model</h5></div></div></div><p>
     The messages facet, because it is retrieving and converting
     between characters sets, depends on the ctype and perhaps the
     codecvt facet in a given locale. In addition, underlying "C"
@@ -588,7 +588,7 @@ model.
     Making the message catalogs can be initially tricky, but become
     quite simple with practice. For complete info, see the gettext
     documentation. Here's an idea of what is required:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        Make a source file with the required string literals that need
        to be translated. See <code class="code">intl/string_literals.cc</code> for
        an example.
@@ -619,7 +619,7 @@ model.
    <code class="code">
    use_facet&lt;messages&lt;char&gt; &gt;(loc_de).open("libstdc++", locale(), dir);
    </code>
-   </p></li></ul></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.use"/>Use</h4></div></div></div><p>
+   </p></li></ul></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.use"></a>Use</h4></div></div></div><p>
    A simple example using the GNU model of message conversion.
  </p><pre class="programlisting">
 #include &lt;iostream&gt;
@@ -641,9 +641,9 @@ void test01()
   cout &lt;&lt; "thank you in german:" &lt;&lt; s02 &lt;&lt; '\n';
   mssg_de.close(cat_de);
 }
-</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</pre></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     Things that are sketchy, or remain unimplemented:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
          _M_convert_from_char, _M_convert_to_char are in flux,
          depending on how the library ends up doing character set
          conversions. It might not be possible to do a real character
@@ -691,47 +691,47 @@ void test01()
    model. As of this writing, it is unknown how to query to see
    if a specified message catalog exists using the gettext
    package.
-   </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id502922"/><p><span class="citetitle"><em class="citetitle">
+   </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15979248"></a><p><span class="citetitle"><em class="citetitle">
       The GNU C Library
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
-    . </span></p></div><div class="biblioentry"><a id="id502962"/><p><span class="citetitle"><em class="citetitle">
+    . </span></p></div><div class="biblioentry"><a id="idp15984000"></a><p><span class="citetitle"><em class="citetitle">
       Correspondence
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id502987"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15987088"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 14882:1998 Programming languages - C++
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id503006"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15989376"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 9899:1999 Programming languages - C
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id503025"/><p><span class="title"><em>
-       <a class="link" href="http://www.opengroup.org/austin">
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="idp15991648"></a><p><span class="title"><em>
+       <a class="link" href="http://www.opengroup.org/austin" target="_top">
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
        </a>
       </em>. </span><span class="copyright">Copyright © 2008 
        The Open Group/The Institute of Electrical and Electronics
        Engineers, Inc.
-      . </span></p></div><div class="biblioentry"><a id="id503052"/><p><span class="citetitle"><em class="citetitle">
+      . </span></p></div><div class="biblioentry"><a id="idp15994880"></a><p><span class="citetitle"><em class="citetitle">
       The C++ Programming Language, Special Edition
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
        Addison Wesley
-      . </span></span></p></div><div class="biblioentry"><a id="id503091"/><p><span class="citetitle"><em class="citetitle">
+      . </span></span></p></div><div class="biblioentry"><a id="idp15999504"></a><p><span class="citetitle"><em class="citetitle">
       Standard C++ IOStreams and Locales
     </em>. </span><span class="subtitle">
       Advanced Programmer's Guide and Reference
     . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
        Addison Wesley Longman
-      . </span></span></p></div><div class="biblioentry" title="API Specifications, Java Platform"><a id="id503138"/><p><span class="title"><em>
-       <a class="link" href="http://java.sun.com/reference/api/index.html">
+      . </span></span></p></div><div class="biblioentry" title="API Specifications, Java Platform"><a id="idp16005168"></a><p><span class="title"><em>
+       <a class="link" href="http://java.sun.com/reference/api/index.html" target="_top">
        API Specifications, Java Platform
        </a>
       </em>. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
 java.util.Locale, java.util.ResourceBundle
-    . </span></p></div><div class="biblioentry" title="GNU gettext tools, version 0.10.38, Native Language Support Library and Tools."><a id="id503158"/><p><span class="title"><em>
-       <a class="link" href="http://www.gnu.org/software/gettext">
+    . </span></p></div><div class="biblioentry" title="GNU gettext tools, version 0.10.38, Native Language Support Library and Tools."><a id="idp16007504"></a><p><span class="title"><em>
+       <a class="link" href="http://www.gnu.org/software/gettext" target="_top">
       GNU gettext tools, version 0.10.38, Native Language Support
       Library and Tools.
        </a>
-      </em>. </span></p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="localization.html">Prev</a> </td><td align="center"><a accesskey="u" href="localization.html">Up</a></td><td align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 8. 
+      </em>. </span></p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="localization.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 8. 
   Localization
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 9. 
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 9. 
   Containers
   
 </td></tr></table></div></body></html>
index 44f5727..b68e366 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="stringstreams.html" title="Memory Based Streams"/><link rel="next" href="io_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
+<!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>File Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="stringstreams.html" title="Memory Based Streams" /><link rel="next" href="io_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
   Input and Output
   
-</th><td align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="File Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.filestreams"/>File Based Streams</h2></div></div></div><div class="section" title="Copying a File"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.copying_a_file"/>Copying a File</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="File Based Streams"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.filestreams"></a>File Based Streams</h2></div></div></div><div class="section" title="Copying a File"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.copying_a_file"></a>Copying a File</h3></div></div></div><p>
   </p><p>So you want to copy a file quickly and easily, and most important,
       completely portably.  And since this is C++, you have an open
       ifstream (call it IN) and an open ofstream (call it OUT):
@@ -49,7 +49,7 @@
       The operators shown above are all defined in the parent
       basic_ostream class and are therefore available with all possible
       descendants.
-   </p></div><div class="section" title="Binary Input and Output"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.binary"/>Binary Input and Output</h3></div></div></div><p>
+   </p></div><div class="section" title="Binary Input and Output"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.filestreams.binary"></a>Binary Input and Output</h3></div></div></div><p>
     </p><p>The first and most important thing to remember about binary I/O is
       that opening a file with <code class="code">ios::binary</code> is not, repeat
       <span class="emphasis"><em>not</em></span>, the only thing you have to do.  It is not a silver
@@ -87,7 +87,7 @@
       of <span class="emphasis"><em>formatting</em></span> functions and classes to perform something
       which <span class="emphasis"><em>requires</em></span> that formatting not be done?  There are a
       seemingly infinite number of solutions, and a few are listed here:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><span class="quote">“<span class="quote">Derive your own fstream-type classes and write your own
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="quote">“<span class="quote">Derive your own fstream-type classes and write your own
          &lt;&lt;/&gt;&gt; operators to do binary I/O on whatever data
          types you're using.</span>”</span>
        </p><p>
    </p><p>
       An instructive thread from comp.lang.c++.moderated delved off into
       this topic starting more or less at
-      <a class="link" href="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d">this</a>
+      <a class="link" href="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d" target="_top">this</a>
       post and continuing to the end of the thread. (The subject heading is "binary iostreams" on both comp.std.c++
       and comp.lang.c++.moderated.) Take special note of the replies by James Kanze and Dietmar Kühl.
    </p><p>Briefly, the problems of byte ordering and type sizes mean that
       between arbitrary programs, or across a network, or from one
       invocation of a program to another invocation of the same program
       on a different platform, etc.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Memory Based Streams </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="io_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Memory Based Streams </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
index a203d3e..2bb9a0b 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="next" href="numerics_and_c.html" title="Interacting with C"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
+<!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>Generalized Operations</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="next" href="numerics_and_c.html" title="Interacting with C" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Generalized Operations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
   Numerics
   
-</th><td align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr/></div><div class="section" title="Generalized Operations"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.generalized_ops"/>Generalized Operations</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr></table><hr /></div><div class="section" title="Generalized Operations"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.generalized_ops"></a>Generalized Operations</h2></div></div></div><p>
   </p><p>There are four generalized functions in the &lt;numeric&gt; header
       that follow the same conventions as those in &lt;algorithm&gt;.  Each
       of them is overloaded:  one signature for common default operations,
       and a second for fully general operations.  Their names are
       self-explanatory to anyone who works with numerics on a regular basis:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="code">accumulate</code></p></li><li class="listitem"><p><code class="code">inner_product</code></p></li><li class="listitem"><p><code class="code">chapterial_sum</code></p></li><li class="listitem"><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="code">accumulate</code></p></li><li class="listitem"><p><code class="code">inner_product</code></p></li><li class="listitem"><p><code class="code">chapterial_sum</code></p></li><li class="listitem"><p><code class="code">adjacent_difference</code></p></li></ul></div><p>Here is a simple example of the two forms of <code class="code">accumulate</code>.
    </p><pre class="programlisting">
    int   ar[50];
    int   someval = somefunction();
@@ -26,7 +26,7 @@
       and multiplies all the members of the array; here we must obviously
       use 1 as a starting value instead of 0.
    </p><p>The other three functions have similar dual-signature forms.
-   </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><td align="center"><a accesskey="u" href="numerics.html">Up</a></td><td align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 12. 
+   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="numerics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="numerics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="numerics_and_c.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 12. 
   Numerics
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Interacting with C</td></tr></table></div></body></html>
index 0d0ba6d..315710a 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="../index.html" title="The GNU C++ Library"/><link rel="prev" href="../index.html" title="The GNU C++ Library"/><link rel="next" href="intro.html" title="Part I.  Introduction"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr/></div><div class="book" title="The GNU C++ Library Manual"><div class="titlepage"><div><div><h1 class="title"><a id="manual"/>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"/> <span class="surname"/></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 
-      <a class="link" href="http://www.fsf.org">FSF</a>
-    </p></div></div><hr/></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I. 
+<!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>The GNU C++ Library Manual</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="../index.html" title="The GNU C++ Library" /><link rel="prev" href="../index.html" title="The GNU C++ Library" /><link rel="next" href="intro.html" title="Part I.  Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library Manual</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library Manual"><div class="titlepage"><div><div><h1 class="title"><a id="manual"></a>The GNU C++ Library Manual</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname"></span></h3></div><div class="author"><h3 class="author"><span class="firstname">Paolo</span> <span class="surname">Carlini</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Phil</span> <span class="surname">Edwards</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Doug</span> <span class="surname">Gregor</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Dhruv</span> <span class="surname">Matani</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jason</span> <span class="surname">Merrill</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Mark</span> <span class="surname">Mitchell</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Nathan</span> <span class="surname">Myers</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Felix</span> <span class="surname">Natter</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Stefan</span> <span class="surname">Olsson</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Ami</span> <span class="surname">Tavory</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Jonathan</span> <span class="surname">Wakely</span></h3></div></div></div><div><p class="copyright">Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 
+      <a class="link" href="http://www.fsf.org" target="_top">FSF</a>
+    </p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="part"><a href="intro.html">I. 
   Introduction
   
 </a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="bk01pt02.html">II. 
 </a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="section"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></dd><dt><span class="chapter"><a href="utilities.html">6. 
   Utilities
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13894640">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13898192">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13911488">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15484560">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15507072">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15514368">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15528992">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15545344">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15548928">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></dd><dt><span class="chapter"><a href="strings.html">7. 
   Strings
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="localization.html">8. 
   Localization
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
+</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15752864">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="containers.html">9. 
   Containers
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><span class="section"><a href="containers.html#containers.sequences.vector">vector</a></span></dt><dd><dl><dt><span class="section"><a href="containers.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="section"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt><dd><dl><dt><span class="section"><a href="associative.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><span class="section"><a href="associative.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="iterators.html">10. 
@@ -46,7 +46,7 @@
 </a></span></dt><dd><dl><dt><span class="section"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="extensions.html">III. 
   Extensions
   
-</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt03pr01.html"/></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
+</a></span></dt><dd><dl><dt><span class="preface"><a href="bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="section"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.wrappers">The Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_iter">Safe Iterators</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.precond">Precondition Checking</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.link">Link- and run-time coexistence of release- and
     debug-mode components</a></span></dt><dt><span class="section"><a href="bk01pt03ch17s04.html#methods.coexistence.alt">Alternatives for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="mt_allocator.html">20. The mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="bitmap_allocator.html">21. The bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.free_list_store">Free List Store</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block">Super Block</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.super_block_data">Super Block Data Layout</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.max_wasted">Maximum Wasted Percentage</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.allocate"><code class="function">allocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.deallocate"><code class="function">deallocate</code></a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.1">1</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.2">2</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.locality">Locality</a></span></dt><dt><span class="section"><a href="bk01pt03ch21s02.html#bitmap.impl.grow_policy">Overhead and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="policy_data_structures.html">22. Policy-Based Data Structures</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
            Configuring via Template Parameters
          </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
          Text <code class="function">modify</code> Up
        </a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
          Text <code class="function">modify</code> Down
-       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">
-       Bibliography
-      </a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="bk01pt04.html">IV. 
+       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_containers.html">23. HP/SGI Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility</a></span></dt><dt><span class="section"><a href="bk01pt03ch23s02.html">Deprecated</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">24. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">26. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">27. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">28. Input and Output</a></span></dt><dd><dl><dt><span class="section"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">29. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">30. Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="section"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s02.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="section"><a href="bk01pt03ch30s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch30s03.html">Use</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="bk01pt04.html">IV. 
   Appendices
 </a></span></dt><dd><dl><dt><span class="appendix"><a href="appendix_contributing.html">A. 
   Contributing
 </a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="section"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="section"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="section"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="section"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="section"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="section"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></dd><dt><span class="appendix"><a href="appendix_porting.html">B. 
   Porting and Maintenance
   
-</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
+</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview">Overview</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.basic">General Process</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.overview.map">What Comes from Where</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure">Configure</a></span></dt><dd><dl><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="section"><a href="appendix_porting.html#build_hacking.configure.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="section"><a href="appendix_porting.html#build_hacking.make">Make</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html">Writing and Generating Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doc.intro">Introduction</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.generation">Generating Documentation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doc.doxygen">Doxygen</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#doxygen.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.rules">Generating the Doxygen Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#doxygen.markup">Markup</a></span></dt></dl></dd><dt><span class="section"><a href="documentation_hacking.html#doc.docbook">Docbook</a></span></dt><dd><dl><dt><span class="section"><a href="documentation_hacking.html#docbook.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.rules">Generating the DocBook Files</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.debug">Debugging Generation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.validation">Editing and Validation</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.examples">File Organization and Basics</a></span></dt><dt><span class="section"><a href="documentation_hacking.html#docbook.markup">Markup By Example</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="section"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="section"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="section"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="section"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="section"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="section"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization">Organization</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.organization.layout">Directory Layout</a></span></dt><dt><span class="section"><a href="test.html#test.organization.naming">Naming Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.run.basic">Basic</a></span></dt><dt><span class="section"><a href="test.html#test.run.variations">Variations</a></span></dt><dt><span class="section"><a href="test.html#test.run.permutations">Permutations</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="section"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.harness.dejagnu">Dejagnu Harness Details</a></span></dt><dt><span class="section"><a href="test.html#test.harness.utils">Utilities</a></span></dt></dl></dd><dt><span class="section"><a href="test.html#test.special">Special Topics</a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety">
   Qualifying Exception Safety Guarantees
   
 </a></span></dt><dd><dl><dt><span class="section"><a href="test.html#test.exception.safety.overview">Overview</a></span></dt><dt><span class="section"><a href="test.html#test.exception.safety.status">
@@ -146,21 +144,21 @@ Support for C++11 dialect.
   
 </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D. 
     <acronym class="acronym">GNU</acronym> General Public License version 3
-  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#id516222">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#id516278">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#id516541">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#id516665">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#id516742">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#id517306">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#id517828">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#id519449">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
+  </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>22.1. <a href="policy_data_structures.html#idp17575248">Node Invariants</a></dt><dt>22.2. <a href="policy_data_structures.html#idp17581968">Underlying Associative Data Structures</a></dt><dt>22.3. <a href="policy_data_structures.html#idp17613664">Range Iteration in Different Data Structures</a></dt><dt>22.4. <a href="policy_data_structures.html#idp17628576">Point Iteration in Hash Data Structures</a></dt><dt>22.5. <a href="policy_data_structures.html#idp17637776">Effect of erase in different underlying data structures</a></dt><dt>22.6. <a href="policy_data_structures.html#idp17705360">Underlying Priority Queue Data Structures</a></dt><dt>22.7. <a href="policy_data_structures_using.html#idp17768064">Exception Hierarchy</a></dt><dt>22.8. <a href="policy_data_structures_design.html#idp17962720">Non-unique Mapping Standard Containers</a></dt><dt>22.9. <a href="policy_data_structures_design.html#fig.pbds_embedded_lists_2">
            Effect of embedded lists in
            <code class="classname">std::multimap</code>
-         </a></dt><dt>22.10. <a href="policy_data_structures_design.html#id519645">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#id519810">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#id519922">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#id520174">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#id520506">Hash functions, ranged-hash functions, and
-             range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#id521043">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#id521102">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#id521241">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#id521400">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#id521656">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#id521721">Standard resize policy trigger sequence
-               diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#id521756">Standard resize policy size sequence
-               diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#id522406">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#id522484">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#id522594">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#id522691">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#id522759">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#id522945">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#id523317">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#id523405">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#id523660">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#id523706">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#id524238">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#id524529">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#id552980">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#id399802">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id431070">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#id433760">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id473964">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id478045">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id478273">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id478577">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id478783">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id479212">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id479461">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id479602">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id479778">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id479824">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id479877">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id480175">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id480298">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id480409">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id506882">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id507256">Debugging Containers C++11</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id508844">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id510967">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id511849">Profile Diagnostics</a></dt><dt>21.1. <a href="bk01pt03ch21s02.html#id515279">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#id553885">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#id554388">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#id554550">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#id555059">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#id555261">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#id560820">Extension Allocators</a></dt><dt>B.7. <a href="api.html#id561050">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#id520621">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#id520670">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#id520708">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#id520723">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#id520803">
+         </a></dt><dt>22.10. <a href="policy_data_structures_design.html#idp17986224">Non-unique Mapping Containers</a></dt><dt>22.11. <a href="policy_data_structures_design.html#idp18006032">Point Iterator Hierarchy</a></dt><dt>22.12. <a href="policy_data_structures_design.html#idp18019376">Invalidation Guarantee Tags Hierarchy</a></dt><dt>22.13. <a href="policy_data_structures_design.html#idp18049600">Container Tag Hierarchy</a></dt><dt>22.14. <a href="policy_data_structures_design.html#idp18089744">Hash functions, ranged-hash functions, and
+             range-hashing functions</a></dt><dt>22.15. <a href="policy_data_structures_design.html#idp18154176">Insert hash sequence diagram</a></dt><dt>22.16. <a href="policy_data_structures_design.html#idp18161232">Insert hash sequence diagram with a null policy</a></dt><dt>22.17. <a href="policy_data_structures_design.html#idp18178048">Hash policy class diagram</a></dt><dt>22.18. <a href="policy_data_structures_design.html#idp18197088">Balls and bins</a></dt><dt>22.19. <a href="policy_data_structures_design.html#idp18227776">Insert resize sequence diagram</a></dt><dt>22.20. <a href="policy_data_structures_design.html#idp18235600">Standard resize policy trigger sequence
+               diagram</a></dt><dt>22.21. <a href="policy_data_structures_design.html#idp18239760">Standard resize policy size sequence
+               diagram</a></dt><dt>22.22. <a href="policy_data_structures_design.html#idp18317728">Tree node invariants</a></dt><dt>22.23. <a href="policy_data_structures_design.html#idp18327168">Tree node invalidation</a></dt><dt>22.24. <a href="policy_data_structures_design.html#idp18340336">A tree and its update policy</a></dt><dt>22.25. <a href="policy_data_structures_design.html#idp18352000">Restoring node invariants</a></dt><dt>22.26. <a href="policy_data_structures_design.html#idp18360176">Insert update sequence</a></dt><dt>22.27. <a href="policy_data_structures_design.html#idp18382432">Useless update path</a></dt><dt>22.28. <a href="policy_data_structures_design.html#idp18427056">A PATRICIA trie</a></dt><dt>22.29. <a href="policy_data_structures_design.html#idp18437488">A trie and its update policy</a></dt><dt>22.30. <a href="policy_data_structures_design.html#idp18468000">A simple list</a></dt><dt>22.31. <a href="policy_data_structures_design.html#idp18473584">The counter algorithm</a></dt><dt>22.32. <a href="policy_data_structures_design.html#idp18537424">Underlying Priority-Queue Data-Structures.</a></dt><dt>22.33. <a href="policy_data_structures_design.html#idp18572464">Priority-Queue Data-Structure Tags.</a></dt><dt>B.1. <a href="appendix_porting.html#idp21998848">Configure and Build File Dependencies</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="status.html#idp4061552">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#idp7562848">C++ 2011 Implementation Status</a></dt><dt>1.3. <a href="status.html#idp2271168">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#idp12526624">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#idp13018432">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#idp13045856">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#idp13082336">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#idp13107072">C++ 2011 Library Headers</a></dt><dt>3.5. <a href="using_headers.html#idp13158512">C++ 2011 Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#idp13188400">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#idp13205328">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#idp13226400">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#idp13231920">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#idp13238320">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#idp13274048">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#idp13288816">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#idp13302192">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#idp16454656">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#idp16499552">Debugging Containers C++11</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#idp16689952">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#idp16944832">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#idp17050544">Profile Diagnostics</a></dt><dt>21.1. <a href="bk01pt03ch21s02.html#idp17461952">Bitmap Allocator Memory Map</a></dt><dt>B.1. <a href="documentation_hacking.html#idp22126320">Doxygen Prerequisites</a></dt><dt>B.2. <a href="documentation_hacking.html#idp22201984">HTML to Doxygen Markup Comparison</a></dt><dt>B.3. <a href="documentation_hacking.html#idp22221360">Docbook Prerequisites</a></dt><dt>B.4. <a href="documentation_hacking.html#idp22298992">HTML to Docbook XML Markup Comparison</a></dt><dt>B.5. <a href="documentation_hacking.html#idp22323136">Docbook XML Element Use</a></dt><dt>B.6. <a href="api.html#idp22990128">Extension Allocators</a></dt><dt>B.7. <a href="api.html#idp23017760">Extension Allocators Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List of Equations</strong></p><dl><dt>22.1. <a href="policy_data_structures_design.html#idp18103552">Ranged Hash Function</a></dt><dt>22.2. <a href="policy_data_structures_design.html#idp18109440">Range-Hashing, Division Method</a></dt><dt>22.3. <a href="policy_data_structures_design.html#idp18113952">Division via Prime Modulo</a></dt><dt>22.4. <a href="policy_data_structures_design.html#idp18115776">Division via Bit Mask</a></dt><dt>22.5. <a href="policy_data_structures_design.html#idp18125408">
                A Standard String Hash Function
-             </a></dt><dt>22.6. <a href="policy_data_structures_design.html#id520854">
+             </a></dt><dt>22.6. <a href="policy_data_structures_design.html#idp18131552">
                Only k String DNA Hash
-             </a></dt><dt>22.7. <a href="policy_data_structures_design.html#id521446">
+             </a></dt><dt>22.7. <a href="policy_data_structures_design.html#idp18202592">
                Probability of Probe Sequence of Length k
-             </a></dt><dt>22.8. <a href="policy_data_structures_design.html#id521502">
+             </a></dt><dt>22.8. <a href="policy_data_structures_design.html#idp18209360">
                Probability Probe Sequence in Some Bin
-             </a></dt></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td align="center"> </td><td align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Part I. 
+             </a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
   Introduction
   
 </td></tr></table></div></body></html>
index 48b190b..8d3c02a 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      internals&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation"/><link rel="next" href="test.html" title="Test"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>Porting to New Hardware or Operating Systems</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      internals&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="documentation_hacking.html" title="Writing and Generating Documentation" /><link rel="next" href="test.html" title="Test" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Porting to New Hardware or Operating Systems</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr/></div><div class="section" title="Porting to New Hardware or Operating Systems"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting.internals"/>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr></table><hr /></div><div class="section" title="Porting to New Hardware or Operating Systems"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.internals"></a>Porting to New Hardware or Operating Systems</h2></div></div></div><p>
 </p><p>This document explains how to port libstdc++ (the GNU C++ library) to
 a new target.
 </p><p>In order to make the GNU C++ library (libstdc++) work with a new
@@ -20,7 +20,7 @@ works.  It is difficult to test the C++ compiler without a working
 library, but you should at least try some minimal test cases.
    </p><p>(Note that what we think of as a "target," the library refers to as
 a "host."  The comment at the top of <code class="code">configure.ac</code> explains why.)
-   </p><div class="section" title="Operating System"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"/>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
+   </p><div class="section" title="Operating System"><div class="titlepage"><div><div><h3 class="title"><a id="internals.os"></a>Operating System</h3></div></div></div><p>If you are porting to a new operating system (as opposed to a new chip
 using an existing operating system), you will need to create a new
 directory in the <code class="code">config/os</code> hierarchy.  For example, the IRIX
 configuration files are all in <code class="code">config/os/irix</code>.  There is no set
@@ -99,7 +99,7 @@ this:
 #endif
 </pre><p>We recommend copying an existing <code class="code">os_defines.h</code> to use as a
 starting point.
-   </p></div><div class="section" title="CPU"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"/>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
+   </p></div><div class="section" title="CPU"><div class="titlepage"><div><div><h3 class="title"><a id="internals.cpu"></a>CPU</h3></div></div></div><p>If you are porting to a new chip (as opposed to a new operating system
 running on an existing chip), you will need to create a new directory in the
 <code class="code">config/cpu</code> hierarchy.  Much like the <a class="link" href="internals.html#internals.os" title="Operating System">Operating system</a> setup,
 there are no strict rules on how to organize the CPU configuration
@@ -117,7 +117,7 @@ example, <code class="code">alpha</code>, <code class="code">alphaev5</code>, an
    </p><p>The <code class="code">cpu_include_dir</code> sets default locations for the files controlling
 <a class="link" href="internals.html#internals.thread_safety" title="Thread Safety">Thread safety</a> and <a class="link" href="internals.html#internals.numeric_limits" title="Numeric Limits">Numeric limits</a>, if the defaults are not
 appropriate for your chip.
-   </p></div><div class="section" title="Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"/>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
+   </p></div><div class="section" title="Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="internals.char_types"></a>Character Types</h3></div></div></div><p>The library requires that you provide three header files to implement
 character classification, analogous to that provided by the C libraries
 <code class="code">&lt;ctype.h&gt;</code> header.  You can model these on the files provided in
 <code class="code">config/os/generic</code>.  However, these files will almost
@@ -276,7 +276,7 @@ from <code class="code">__low</code> up until <code class="code">__high</code> i
         ++__low;
        return __low;
      }
-</pre></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"/>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
+</pre></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="internals.thread_safety"></a>Thread Safety</h3></div></div></div><p>The C++ library string functionality requires a couple of atomic
 operations to provide thread-safety.  If you don't take any special
 action, the library will use stub versions of these functions that are
 not thread-safe.  They will work fine, unless your applications are
@@ -331,7 +331,7 @@ must be equivalent to those provided here, but using atomic operations:
      {
        *__mem += __val;
      }
-</pre></div><div class="section" title="Numeric Limits"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"/>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
+</pre></div><div class="section" title="Numeric Limits"><div class="titlepage"><div><div><h3 class="title"><a id="internals.numeric_limits"></a>Numeric Limits</h3></div></div></div><p>The C++ library requires information about the fundamental data types,
 such as the minimum and maximum representable values of each type.
 You can define each of these values individually, but it is usually
 easiest just to indicate how many bits are used in each of the data
@@ -343,7 +343,7 @@ same values, you can provide a CPU-specific file instead so that you
 do not have to provide the same definitions for each operating system.
 To take that approach, create a new file called <code class="code">cpu_limits.h</code> in
 your CPU configuration directory (see <a class="link" href="internals.html#internals.cpu" title="CPU">CPU</a>).
-   </p></div><div class="section" title="Libtool"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"/>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
+   </p></div><div class="section" title="Libtool"><div class="titlepage"><div><div><h3 class="title"><a id="internals.libtool"></a>Libtool</h3></div></div></div><p>The C++ library is compiled, archived and linked with libtool.
 Explaining the full workings of libtool is beyond the scope of this
 document, but there are a few, particular bits that are necessary for
 porting.
@@ -365,4 +365,4 @@ do this is to build the library using <code class="code">gcc -shared</code>.
 <code class="code">ltcf-c.sh</code> in the top-level directory.  Find the switch statement
 that sets <code class="code">archive_cmds</code>.  Here, adjust the setting for your
 operating system.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="test.html">Next</a></td></tr><tr><td align="left" valign="top">Writing and Generating Documentation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Test</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="documentation_hacking.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="test.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing and Generating Documentation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Test</td></tr></table></div></body></html>
index c691c17..966b526 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Part I.  Introduction</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="index.html" title="The GNU C++ Library Manual"/><link rel="prev" href="index.html" title="The GNU C++ Library Manual"/><link rel="next" href="status.html" title="Chapter 1. Status"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
+<!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>Part I.  Introduction</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" href="index.html" title="The GNU C++ Library Manual" /><link rel="next" href="status.html" title="Chapter 1. Status" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. 
   Introduction
   
-</th></tr><tr><td align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr/></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"/>Part I. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
   Introduction
-  <a id="id388470" class="indexterm"/>
-</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="index.html">Prev</a> </td><td align="center"><a accesskey="u" href="index.html">Up</a></td><td align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td align="left" valign="top">The GNU C++ Library Manual </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
+  <a id="idp9094432" class="indexterm"></a>
+</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
index e05c50e..e038fee 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 13.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="numerics_and_c.html" title="Interacting with C"/><link rel="next" href="streambufs.html" title="Stream Buffers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
+<!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>Chapter 13.  Input and Output</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="numerics_and_c.html" title="Interacting with C" /><link rel="next" href="streambufs.html" title="Stream Buffers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. 
   Input and Output
   
-</th></tr><tr><td align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 13.  Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"/>Chapter 13. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13.  Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13. 
   Input and Output
-  <a id="id504933" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.objects"/>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
+  <a id="idp16220688" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="section"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="section"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="section"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="section"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="section"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="section"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="section"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="section" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
       only include the headers you really need.  Many people simply include
       &lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
       your runtime as well.</em></span>  Here are some tips on which header to use
       the standard objects in that source file; you'll pay less startup
       time.  Only include the header files you need to in general; your
       compile times will go down when there's less parsing work to do.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Stream Buffers</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Stream Buffers</td></tr></table></div></body></html>
index 425d165..155a2f6 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="fstreams.html" title="File Based Streams"/><link rel="next" href="atomics.html" title="Chapter 14.  Atomics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="fstreams.html" title="File Based Streams" /><link rel="next" href="atomics.html" title="Chapter 14.  Atomics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
   Input and Output
   
-</th><td align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.c"/>Interacting with C</h2></div></div></div><div class="section" title="Using FILE* and file descriptors"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.FILE"/>Using FILE* and file descriptors</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Using FILE* and file descriptors"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.FILE"></a>Using FILE* and file descriptors</h3></div></div></div><p>
       See the <a class="link" href="ext_io.html" title="Chapter 28. Input and Output">extensions</a> for using
       <span class="type">FILE</span> and <span class="type">file descriptors</span> with
       <code class="classname">ofstream</code> and
       <code class="classname">ifstream</code>.
-    </p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.sync"/>Performance</h3></div></div></div><p>
+    </p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.c.sync"></a>Performance</h3></div></div></div><p>
       Pathetic Performance? Ditch C.
     </p><p>It sounds like a flame on C, but it isn't.  Really.  Calm down.
       I'm just saying it to get your attention.
@@ -51,7 +51,7 @@
       <code class="code">clog</code>, and their wide-character counterchapters).  File stream
       objects that you declare yourself have no such requirement and are fully
       buffered.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr><tr><td align="left" valign="top">File Based Streams </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 14. 
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="atomics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">File Based Streams </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 14. 
   Atomics
   
 </td></tr></table></div></body></html>
index f8abfbb..06b010c 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 10.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="containers_and_c.html" title="Interacting with C"/><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
+<!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>Chapter 10.  Iterators</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="containers_and_c.html" title="Interacting with C" /><link rel="next" href="algorithms.html" title="Chapter 11.  Algorithms" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. 
   Iterators
   
-</th></tr><tr><td align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 10.  Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"/>Chapter 10. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10.  Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10. 
   Iterators
-  <a id="id504099" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section" title="Predefined"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators.predefined"/>Predefined</h2></div></div></div><div class="section" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"/>Iterators vs. Pointers</h3></div></div></div><p>
+  <a id="idp16120304" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="section"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="section"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="section" title="Predefined"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="section" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
      The following
 FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
 iterators are not implemented as pointers.  They are a generalization
@@ -44,7 +44,7 @@ classes.
       down through inheritance, so while the compiler has to do work
       looking up all the names, your runtime code does not.  (This has
       been a prime concern from the beginning.)
-   </p></div><div class="section" title="One Past the End"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.end"/>One Past the End</h3></div></div></div><p>This starts off sounding complicated, but is actually very easy,
+   </p></div><div class="section" title="One Past the End"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.end"></a>One Past the End</h3></div></div></div><p>This starts off sounding complicated, but is actually very easy,
       especially towards the end.  Trust me.
    </p><p>Beginners usually have a little trouble understand the whole
       'past-the-end' thing, until they remember their early algebra classes
@@ -53,7 +53,7 @@ classes.
    </p><p>First, some history, and a reminder of some of the funkier rules in
       C and C++ for builtin arrays.  The following rules have always been
       true for both languages:
-   </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
+   </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>You can point anywhere in the array, <span class="emphasis"><em>or to the first element
          past the end of the array</em></span>.  A pointer that points to one
          past the end of the array is guaranteed to be as unique as a
          pointer to somewhere inside the array, so that you can compare
@@ -124,7 +124,7 @@ classes.
       sequences very simple to recognize:  if the two endpoints compare
       equal, then the {array, sequence, container, whatever} is empty.
    </p><p>Just don't dereference <code class="code">end()</code>.
-   </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr><tr><td align="left" valign="top">Interacting with C </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 11. 
+   </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="containers_and_c.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Interacting with C </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 11. 
   Algorithms
   
 </td></tr></table></div></body></html>
index 52a63ff..a87ae4d 100644 (file)
@@ -1,93 +1,93 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="status.html" title="Chapter 1. Status"/><link rel="prev" href="status.html" title="Chapter 1. Status"/><link rel="next" href="bugs.html" title="Bugs"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr/></div><div class="section" title="License"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.license"/>License</h2></div></div></div><p>
+<!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>License</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="status.html" title="Chapter 1. Status" /><link rel="next" href="bugs.html" title="Bugs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr></table><hr /></div><div class="section" title="License"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.license"></a>License</h2></div></div></div><p>
     There are two licenses affecting GNU libstdc++: one for the code,
     and one for the documentation.
     </p><p>
       There is a license section in the FAQ regarding common <a class="link" href="../faq.html#faq.license">questions</a>. If you have more
-      questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html">gcc mailing list</a>.
-    </p><div class="section" title="The Code: GPL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"/>The Code: GPL</h3></div></div></div><p>
+      questions, ask the FSF or the <a class="link" href="http://gcc.gnu.org/lists.html" target="_top">gcc mailing list</a>.
+    </p><div class="section" title="The Code: GPL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.gpl"></a>The Code: GPL</h3></div></div></div><p>
       The source code is distributed under the <a class="link" href="appendix_gpl.html" title="Appendix D.  GNU General Public License version 3">GNU General Public License version 3</a>,
       with the addition under section 7 of an exception described in
       the <span class="quote">“<span class="quote">GCC Runtime Library Exception, version 3.1</span>”</span>
       as follows (or see the file COPYING.RUNTIME):
-    </p><div class="literallayout"><p><br/>
-GCC RUNTIME LIBRARY EXCEPTION<br/>
-<br/>
-Version 3.1, 31 March 2009<br/>
-<br/>
-Copyright (C) 2009 <a class="link" href="http://www.fsf.org">Free Software Foundation, Inc.</a><br/>
-<br/>
-Everyone is permitted to copy and distribute verbatim copies of this<br/>
-license document, but changing it is not allowed.<br/>
-<br/>
-This GCC Runtime Library Exception ("Exception") is an additional<br/>
-permission under section 7 of the GNU General Public License, version<br/>
-3 ("GPLv3"). It applies to a given file (the "Runtime Library") that<br/>
-bears a notice placed by the copyright holder of the file stating that<br/>
-the file is governed by GPLv3 along with this Exception.<br/>
-<br/>
-When you use GCC to compile a program, GCC may combine portions of<br/>
-certain GCC header files and runtime libraries with the compiled<br/>
-program. The purpose of this Exception is to allow compilation of<br/>
-non-GPL (including proprietary) programs to use, in this way, the<br/>
-header files and runtime libraries covered by this Exception.<br/>
-<br/>
-0. Definitions.<br/>
-<br/>
-A file is an "Independent Module" if it either requires the Runtime<br/>
-Library for execution after a Compilation Process, or makes use of an<br/>
-interface provided by the Runtime Library, but is not otherwise based<br/>
-on the Runtime Library.<br/>
-<br/>
-"GCC" means a version of the GNU Compiler Collection, with or without<br/>
-modifications, governed by version 3 (or a specified later version) of<br/>
-the GNU General Public License (GPL) with the option of using any<br/>
-subsequent versions published by the FSF.<br/>
-<br/>
-"GPL-compatible Software" is software whose conditions of propagation,<br/>
-modification and use would permit combination with GCC in accord with<br/>
-the license of GCC.<br/>
-<br/>
-"Target Code" refers to output from any compiler for a real or virtual<br/>
-target processor architecture, in executable form or suitable for<br/>
-input to an assembler, loader, linker and/or execution<br/>
-phase. Notwithstanding that, Target Code does not include data in any<br/>
-format that is used as a compiler intermediate representation, or used<br/>
-for producing a compiler intermediate representation.<br/>
-<br/>
-The "Compilation Process" transforms code entirely represented in<br/>
-non-intermediate languages designed for human-written code, and/or in<br/>
-Java Virtual Machine byte code, into Target Code. Thus, for example,<br/>
-use of source code generators and preprocessors need not be considered<br/>
-part of the Compilation Process, since the Compilation Process can be<br/>
-understood as starting with the output of the generators or<br/>
-preprocessors.<br/>
-<br/>
-A Compilation Process is "Eligible" if it is done using GCC, alone or<br/>
-with other GPL-compatible software, or if it is done without using any<br/>
-work based on GCC. For example, using non-GPL-compatible Software to<br/>
-optimize any GCC intermediate representations would not qualify as an<br/>
-Eligible Compilation Process.<br/>
-<br/>
-1. Grant of Additional Permission.<br/>
-<br/>
-You have permission to propagate a work of Target Code formed by<br/>
-combining the Runtime Library with Independent Modules, even if such<br/>
-propagation would otherwise violate the terms of GPLv3, provided that<br/>
-all Target Code was generated by Eligible Compilation Processes. You<br/>
-may then convey such a combination under terms of your choice,<br/>
-consistent with the licensing of the Independent Modules.<br/>
-<br/>
-2. No Weakening of GCC Copyleft.<br/>
-<br/>
-The availability of this Exception does not imply any general<br/>
-presumption that third-party software is unaffected by the copyleft<br/>
-requirements of the license of GCC.<br/>
+    </p><div class="literallayout"><p><br />
+GCC RUNTIME LIBRARY EXCEPTION<br />
+<br />
+Version 3.1, 31 March 2009<br />
+<br />
+Copyright (C) 2009 <a class="link" href="http://www.fsf.org" target="_top">Free Software Foundation, Inc.</a><br />
+<br />
+Everyone is permitted to copy and distribute verbatim copies of this<br />
+license document, but changing it is not allowed.<br />
+<br />
+This GCC Runtime Library Exception ("Exception") is an additional<br />
+permission under section 7 of the GNU General Public License, version<br />
+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that<br />
+bears a notice placed by the copyright holder of the file stating that<br />
+the file is governed by GPLv3 along with this Exception.<br />
+<br />
+When you use GCC to compile a program, GCC may combine portions of<br />
+certain GCC header files and runtime libraries with the compiled<br />
+program. The purpose of this Exception is to allow compilation of<br />
+non-GPL (including proprietary) programs to use, in this way, the<br />
+header files and runtime libraries covered by this Exception.<br />
+<br />
+0. Definitions.<br />
+<br />
+A file is an "Independent Module" if it either requires the Runtime<br />
+Library for execution after a Compilation Process, or makes use of an<br />
+interface provided by the Runtime Library, but is not otherwise based<br />
+on the Runtime Library.<br />
+<br />
+"GCC" means a version of the GNU Compiler Collection, with or without<br />
+modifications, governed by version 3 (or a specified later version) of<br />
+the GNU General Public License (GPL) with the option of using any<br />
+subsequent versions published by the FSF.<br />
+<br />
+"GPL-compatible Software" is software whose conditions of propagation,<br />
+modification and use would permit combination with GCC in accord with<br />
+the license of GCC.<br />
+<br />
+"Target Code" refers to output from any compiler for a real or virtual<br />
+target processor architecture, in executable form or suitable for<br />
+input to an assembler, loader, linker and/or execution<br />
+phase. Notwithstanding that, Target Code does not include data in any<br />
+format that is used as a compiler intermediate representation, or used<br />
+for producing a compiler intermediate representation.<br />
+<br />
+The "Compilation Process" transforms code entirely represented in<br />
+non-intermediate languages designed for human-written code, and/or in<br />
+Java Virtual Machine byte code, into Target Code. Thus, for example,<br />
+use of source code generators and preprocessors need not be considered<br />
+part of the Compilation Process, since the Compilation Process can be<br />
+understood as starting with the output of the generators or<br />
+preprocessors.<br />
+<br />
+A Compilation Process is "Eligible" if it is done using GCC, alone or<br />
+with other GPL-compatible software, or if it is done without using any<br />
+work based on GCC. For example, using non-GPL-compatible Software to<br />
+optimize any GCC intermediate representations would not qualify as an<br />
+Eligible Compilation Process.<br />
+<br />
+1. Grant of Additional Permission.<br />
+<br />
+You have permission to propagate a work of Target Code formed by<br />
+combining the Runtime Library with Independent Modules, even if such<br />
+propagation would otherwise violate the terms of GPLv3, provided that<br />
+all Target Code was generated by Eligible Compilation Processes. You<br />
+may then convey such a combination under terms of your choice,<br />
+consistent with the licensing of the Independent Modules.<br />
+<br />
+2. No Weakening of GCC Copyleft.<br />
+<br />
+The availability of this Exception does not imply any general<br />
+presumption that third-party software is unaffected by the copyleft<br />
+requirements of the license of GCC.<br />
     </p></div><p>
       Hopefully that text is self-explanatory.  If it isn't, you need to speak
       to your lawyer, or the Free Software Foundation.
-    </p></div><div class="section" title="The Documentation: GPL, FDL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"/>The Documentation: GPL, FDL</h3></div></div></div><p>
+    </p></div><div class="section" title="The Documentation: GPL, FDL"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.license.fdl"></a>The Documentation: GPL, FDL</h3></div></div></div><p>
       The documentation shipped with the library and made available over
       the web, excluding the pages generated from source comments, are
       copyrighted by the Free Software Foundation, and placed under the
@@ -102,4 +102,4 @@ requirements of the license of GCC.<br/>
     </p><p>
       If you plan on making copies of the documentation, please let us know.
       We can probably offer suggestions.
-    </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="status.html">Prev</a> </td><td align="center"><a accesskey="u" href="status.html">Up</a></td><td align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 1. Status </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Bugs</td></tr></table></div></body></html>
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="status.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bugs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Status </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Bugs</td></tr></table></div></body></html>
index c247e1b..eb08727 100644 (file)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="strings.html" title="Chapter 7.  Strings"/><link rel="next" href="facets.html" title="Facets"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
+<!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>Chapter 8.  Localization</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="strings.html" title="Chapter 7.  Strings" /><link rel="next" href="facets.html" title="Facets" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
   Localization
   
-</th></tr><tr><td align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 8.  Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"/>Chapter 8. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8.  Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8. 
   Localization
-  <a id="id500383" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#id501036">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization.locales"/>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"/>locale</h3></div></div></div><p>
+  <a id="idp15674528" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locales.locale.req">Requirements</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.design">Design</a></span></dt><dt><span class="section"><a href="localization.html#locales.locale.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#locale.impl.c">Interacting with "C" locales</a></span></dt></dl></dd><dt><span class="section"><a href="localization.html#locales.locale.future">Future</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.ctype.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#idp15752864">Specializations</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.ctype.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.codecvt.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.design">Design</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#codecvt.design.wchar_t_size"><span class="type">wchar_t</span> Size</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.unicode">Support for Unicode</a></span></dt><dt><span class="section"><a href="facets.html#codecvt.design.issues">Other Issues</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.codecvt.impl">Implementation</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.codecvt.future">Future</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#facet.messages.req">Requirements</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.design">Design</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#messages.impl.models">Models</a></span></dt><dt><span class="section"><a href="facets.html#messages.impl.gnu">The GNU Model</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html#facet.messages.use">Use</a></span></dt><dt><span class="section"><a href="facets.html#facet.messages.future">Future</a></span></dt></dl></dd></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
 Describes the basic locale object, including nested
 classes id, facet, and the reference-counted implementation object,
 class _Impl.
-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.req"/>Requirements</h4></div></div></div><p>
+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.req"></a>Requirements</h4></div></div></div><p>
 Class locale is non-templatized and has two distinct types nested
 inside of it:
 </p><div class="blockquote"><blockquote class="blockquote"><p>
@@ -26,7 +26,7 @@ called numpunct is the data object that can be used to query for the
 thousands separator in the locale.
 </p><p>
 Literally, a facet is strictly defined:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
       Containing the following public data member:
     </p><p>
       <code class="code">static locale::id id;</code>
@@ -48,14 +48,14 @@ class id
 </em></span>
 </p></blockquote></div><p>
 Provides an index for looking up specific facets.
-</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.design"/>Design</h4></div></div></div><p>
+</p></div><div class="section" title="Design"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.design"></a>Design</h4></div></div></div><p>
 The major design challenge is fitting an object-orientated and
 non-global locale design on top of POSIX and other relevant standards,
 which include the Single Unix (nee X/Open.)
 </p><p>
 Because C and earlier versions of POSIX fall down so completely,
 portability is an issue.
-</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.impl"/>Implementation</h4></div></div></div><div class="section" title="Interacting with &quot;C&quot; locales"><div class="titlepage"><div><div><h5 class="title"><a id="locale.impl.c"/>Interacting with "C" locales</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interacting with &quot;C&quot; locales"><div class="titlepage"><div><div><h5 class="title"><a id="locale.impl.c"></a>Interacting with "C" locales</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        <code class="code">`locale -a`</code> displays available locales.
      </p><div class="blockquote"><blockquote class="blockquote"><pre class="programlisting">
 af_ZA
@@ -385,7 +385,7 @@ global locale" (emphasis Paolo), that is:
   particular on the working of locale(""), which constructs the locale
   object from the environment of the running program, that is, in
   practice, the set of LC_ALL, LANG, etc. variable of the shell.
-</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.future"/>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p></div></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.future"></a>Future</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        Locale initialization: at what point does _S_classic, _S_global
        get initialized? Can named locales assume this initialization
        has already taken place?
@@ -403,35 +403,35 @@ global locale" (emphasis Paolo), that is:
        What should non-required facet instantiations do?  If the
        generic implementation is provided, then how to end-users
        provide specializations?
-   </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id500746"/><p><span class="citetitle"><em class="citetitle">
+   </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp15718112"></a><p><span class="citetitle"><em class="citetitle">
       The GNU C Library
     </em>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
       Chapters 6 Character Set Handling and 7 Locales and
       Internationalization
-    . </span></p></div><div class="biblioentry"><a id="id500786"/><p><span class="citetitle"><em class="citetitle">
+    . </span></p></div><div class="biblioentry"><a id="idp15722880"></a><p><span class="citetitle"><em class="citetitle">
       Correspondence
-    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="id500811"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry"><a id="idp15725968"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 14882:1998 Programming languages - C++
-    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="id500830"/><p><span class="citetitle"><em class="citetitle">
+    </em>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry"><a id="idp15728256"></a><p><span class="citetitle"><em class="citetitle">
       ISO/IEC 9899:1999 Programming languages - C
-    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id500849"/><p><span class="title"><em>
-       <a class="link" href="http://www.opengroup.org/austin/">
+    </em>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="idp15730528"></a><p><span class="title"><em>
+       <a class="link" href="http://www.opengroup.org/austin/" target="_top">
       System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
        </a>
       </em>. </span><span class="copyright">Copyright © 2008 
        The Open Group/The Institute of Electrical and Electronics
        Engineers, Inc.
-      . </span></p></div><div class="biblioentry"><a id="id500876"/><p><span class="citetitle"><em class="citetitle">
+      . </span></p></div><div class="biblioentry"><a id="idp15733760"></a><p><span class="citetitle"><em class="citetitle">
       The C++ Programming Language, Special Edition
     </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
        Addison Wesley
-      . </span></span></p></div><div class="biblioentry"><a id="id500915"/><p><span class="citetitle"><em class="citetitle">
+      . </span></span></p></div><div class="biblioentry"><a id="idp15738384"></a><p><span class="citetitle"><em class="citetitle">
       Standard C++ IOStreams and Locales
     </em>. </span><span class="subtitle">
       Advanced Programmer's Guide and Reference
     . </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
        Addison Wesley Longman
-      . </span></span></p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="strings.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 7. 
+      . </span></span></p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="strings.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. 
   Strings
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Facets</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Facets</td></tr></table></div></body></html>
index f032333..1fbbf8f 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="setup.html" title="Chapter 2. Setup"/><link rel="prev" href="configure.html" title="Configure"/><link rel="next" href="using.html" title="Chapter 3. Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr/></div><div class="section" title="Make"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.make"/>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
-      <a class="link" href="http://gcc.gnu.org/install/">GCC Installation
+<!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>Make</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="setup.html" title="Chapter 2. Setup" /><link rel="prev" href="configure.html" title="Configure" /><link rel="next" href="using.html" title="Chapter 3. Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Make</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Setup</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr /></div><div class="section" title="Make"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.make"></a>Make</h2></div></div></div><p>If you have never done this before, you should read the basic
+      <a class="link" href="http://gcc.gnu.org/install/" target="_top">GCC Installation
       Instructions</a> first.  Read <span class="emphasis"><em>all of them</em></span>.
       <span class="emphasis"><em>Twice.</em></span>
    </p><p>Then type: <span class="command"><strong>make</strong></span>, and congratulations, you've
 started to build.
-</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="configure.html">Prev</a> </td><td align="center"><a accesskey="u" href="setup.html">Up</a></td><td align="right"> <a accesskey="n" href="using.html">Next</a></td></tr><tr><td align="left" valign="top">Configure </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 3. Using</td></tr></table></div></body></html>
+</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="configure.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Configure </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Using</td></tr></table></div></body></html>
index b77ad79..49eebd7 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="pairs.html" title="Pairs"/><link rel="next" href="traits.html" title="Traits"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
+<!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>Memory</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="pairs.html" title="Pairs" /><link rel="next" href="traits.html" title="Traits" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
   Utilities
   
-</th><td align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr/></div><div class="section" title="Memory"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.memory"/>Memory</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr></table><hr /></div><div class="section" title="Memory"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.memory"></a>Memory</h2></div></div></div><p>
     Memory contains three general areas. First, function and operator
     calls via <code class="function">new</code> and <code class="function">delete</code>
     operator or member function calls.  Second, allocation via
     <code class="classname">allocator</code>. And finally, smart pointer and
     intelligent pointer abstractions.
-  </p><div class="section" title="Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.allocator"/>Allocators</h3></div></div></div><p>
+  </p><div class="section" title="Allocators"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.allocator"></a>Allocators</h3></div></div></div><p>
  Memory management for Standard Library entities is encapsulated in a
  class template called <code class="classname">allocator</code>. The
  <code class="classname">allocator</code> abstraction is used throughout the
@@ -17,9 +17,9 @@
  algorithms, and parts of iostreams. This class, and base classes of
  it, are the superset of available free store (<span class="quote">“<span class="quote">heap</span>”</span>)
  management classes.
-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.req"/>Requirements</h4></div></div></div><p>
+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.req"></a>Requirements</h4></div></div></div><p>
     The C++ standard only gives a few directives in this area:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        When you add elements to a container, and the container must
        allocate more memory to hold them, the container makes the
        request via its <span class="type">Allocator</span> template
        </p></li></ul></div><p>
      Complete details can be found in the C++ standard, look in
      <code class="constant">[20.4 Memory]</code>.
-   </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.design_issues"/>Design Issues</h4></div></div></div><p>
+   </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.design_issues"></a>Design Issues</h4></div></div></div><p>
     The easiest way of fulfilling the requirements is to call
     <code class="function">operator new</code> each time a container needs
     memory, and to call <code class="function">operator delete</code> each time
-    the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html">slower</a>
+    the container releases memory. This method may be <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html" target="_top">slower</a>
     than caching the allocations and re-using previously-allocated
     memory, but has the advantage of working correctly across a wide
     variety of hardware and operating systems, including large
@@ -93,7 +93,7 @@
     or loading and unloading shared objects in memory. As such, using
     caching allocators on systems that do not support
     <code class="function">abi::__cxa_atexit</code> is not recommended.
-  </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"/>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id485345"/>Interface Design</h5></div></div></div><p>
+  </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="idp13894640"></a>Interface Design</h5></div></div></div><p>
      The only allocator interface that
      is supported is the standard C++ interface. As such, all STL
      containers have been adjusted, and all external allocators have
    </p><p>
      The base class that <code class="classname">allocator</code> is derived from
      may not be user-configurable.
-</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id485374"/>Selecting Default Allocation Policy</h5></div></div></div><p>
+</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="idp13898192"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
      It's difficult to pick an allocation strategy that will provide
    maximum utility, without excessively penalizing some behavior. In
    fact, it's difficult just deciding which typical actions to measure
    </p><p>
      Three synthetic benchmarks have been created that provide data
      that is used to compare different C++ allocators. These tests are:
-   </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+   </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
        Insertion.
        </p><p>
        Over multiple iterations, various STL container
      objects have elements inserted to some maximum amount. A variety
      of allocators are tested.
-     Test source for <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup">sequence</a>
-     and <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup">associative</a>
+     Test source for <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup" target="_top">sequence</a>
+     and <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup" target="_top">associative</a>
      containers.
        </p></li><li class="listitem"><p>
        Insertion and erasure in a multi-threaded environment.
      on a per-thread basis, as well as measuring thread contention
      for memory resources.
      Test source
-    <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup">here</a>.
+    <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup" target="_top">here</a>.
        </p></li><li class="listitem"><p>
         A threaded producer/consumer model.
        </p><p>
        Test source for
-     <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup">sequence</a>
+     <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup" target="_top">sequence</a>
      and
-     <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup">associative</a>
+     <a class="link" href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup" target="_top">associative</a>
      containers.
      </p></li></ol></div><p>
      The current default choice for
      <code class="classname">allocator</code> is
      <code class="classname">__gnu_cxx::new_allocator</code>.
-   </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id485485"/>Disabling Memory Caching</h5></div></div></div><p>
+   </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="idp13911488"></a>Disabling Memory Caching</h5></div></div></div><p>
       In use, <code class="classname">allocator</code> may allocate and
       deallocate using implementation-specified strategies and
       heuristics. Because of this, every call to an allocator object's
      environment, it likely means that you linked against objects
      built against the older library (objects which might still using the
      cached allocations...).
-  </p></div></div><div class="section" title="Using a Specific Allocator"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.using"/>Using a Specific Allocator</h4></div></div></div><p>
+  </p></div></div><div class="section" title="Using a Specific Allocator"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.using"></a>Using a Specific Allocator</h4></div></div></div><p>
      You can specify different memory management schemes on a
      per-container basis, by overriding the default
      <span class="type">Allocator</span> template parameter.  For example, an easy
       Likewise, a debugging form of whichever allocator is currently in use:
     </p><pre class="programlisting">
     std::deque &lt;int, __gnu_cxx::debug_allocator&lt;std::allocator&lt;int&gt; &gt; &gt;  debug_deque;
-      </pre></div><div class="section" title="Custom Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.custom"/>Custom Allocators</h4></div></div></div><p>
+      </pre></div><div class="section" title="Custom Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.custom"></a>Custom Allocators</h4></div></div></div><p>
     Writing a portable C++ allocator would dictate that the interface
     would look much like the one specified for
     <code class="classname">allocator</code>. Additional member functions, but
      Probably the best place to start would be to copy one of the
    extension allocators: say a simple one like
    <code class="classname">new_allocator</code>.
-   </p></div><div class="section" title="Extension Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.ext"/>Extension Allocators</h4></div></div></div><p>
+   </p></div><div class="section" title="Extension Allocators"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.ext"></a>Extension Allocators</h4></div></div></div><p>
     Several other allocators are provided as part of this
     implementation.  The location of the extension allocators and their
     names have changed, but in all cases, functionality is
     chart to track the changes.
   </p><p>
     More details on each of these extension allocators follows.
-  </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+  </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
        <code class="classname">new_allocator</code>
        </p><p>
         Simply wraps <code class="function">::operator new</code>
         A high-performance allocator that uses a bit-map to keep track
         of the used and unused memory locations. It has its own
         documentation, found <a class="link" href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator">here</a>.
-       </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id485936"/><p><span class="citetitle"><em class="citetitle">
+       </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="idp13965488"></a><p><span class="citetitle"><em class="citetitle">
     ISO/IEC 14882:1998 Programming languages - C++
     </em>. </span>
       isoc++_1998
-    <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry" title="The Standard Librarian: What Are Allocators Good For?"><a id="id485951"/><p><span class="title"><em>
-       <a class="link" href="http://www.drdobbs.com/cpp/184403759">
+    <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry" title="The Standard Librarian: What Are Allocators Good For?"><a id="idp13967328"></a><p><span class="title"><em>
+       <a class="link" href="http://www.drdobbs.com/cpp/184403759" target="_top">
       The Standard Librarian: What Are Allocators Good For?
        </a>
       </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
        C/C++ Users Journal
-      . </span></span></p></div><div class="biblioentry" title="The Hoard Memory Allocator"><a id="id485982"/><p><span class="title"><em>
-       <a class="link" href="http://www.cs.umass.edu/~emery/hoard">
+      . </span></span></p></div><div class="biblioentry" title="The Hoard Memory Allocator"><a id="idp13971056"></a><p><span class="title"><em>
+       <a class="link" href="http://www.cs.umass.edu/~emery/hoard" target="_top">
       The Hoard Memory Allocator
        </a>
-      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry" title="Reconsidering Custom Memory Allocation"><a id="id486005"/><p><span class="title"><em>
-       <a class="link" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf">
+      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry" title="Reconsidering Custom Memory Allocation"><a id="idp13973840"></a><p><span class="title"><em>
+       <a class="link" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
       Reconsidering Custom Memory Allocation
        </a>
-      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry" title="Allocator Types"><a id="id486057"/><p><span class="title"><em>
-       <a class="link" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html">
+      </em>. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry" title="Allocator Types"><a id="idp13980000"></a><p><span class="title"><em>
+       <a class="link" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
       Allocator Types
        </a>
       </em>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
        C/C++ Users Journal
-      . </span></span></p></div><div class="biblioentry"><a id="id486096"/><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
+      . </span></span></p></div><div class="biblioentry"><a id="idp13984736"></a><p><span class="citetitle"><em class="citetitle">The C++ Programming Language</em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
        Addison Wesley
-      . </span></span></p></div><div class="biblioentry"><a id="id486133"/><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"/>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"/>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
+      . </span></span></p></div><div class="biblioentry"><a id="idp13989168"></a><p><span class="citetitle"><em class="citetitle">Yalloc: A Recycling C++ Allocator</em>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
    happen with misuse of the <code class="classname">auto_ptr</code> class
    template (called <acronym class="acronym">AP</acronym> here) would take some
    time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
       to die.  AP is trivial to write, however, so you could write your
       own <code class="code">auto_array_ptr</code> for that situation (in fact, this has
       been done many times; check the mailing lists, Usenet, Boost, etc).
-   </p></div><div class="section" title="Use in Containers"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.using"/>Use in Containers</h4></div></div></div><p>
+   </p></div><div class="section" title="Use in Containers"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.using"></a>Use in Containers</h4></div></div></div><p>
   </p><p>All of the <a class="link" href="containers.html" title="Chapter 9.  Containers">containers</a>
       described in the standard library require their contained types
       to have, among other things, a copy constructor like this:
     }
    </pre><p>
 Should you try this with the checks enabled, you will see an error.
-   </p></div></div><div class="section" title="shared_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.shared_ptr"/>shared_ptr</h3></div></div></div><p>
+   </p></div></div><div class="section" title="shared_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.shared_ptr"></a>shared_ptr</h3></div></div></div><p>
 The shared_ptr class template stores a pointer, usually obtained via new,
 and implements shared ownership semantics.
-</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.req"/>Requirements</h4></div></div></div><p>
+</p><div class="section" title="Requirements"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.req"></a>Requirements</h4></div></div></div><p>
   </p><p>
     The standard deliberately doesn't require a reference-counted
     implementation, allowing other techniques such as a
     circular-linked-list.
   </p><p>
-  </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.design_issues"/>Design Issues</h4></div></div></div><p>
+  </p></div><div class="section" title="Design Issues"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.design_issues"></a>Design Issues</h4></div></div></div><p>
 The <code class="classname">shared_ptr</code> code is kindly donated to GCC by the Boost
 project and the original authors of the code. The basic design and
 algorithms are from Boost, the notes below describe details specific to
@@ -444,7 +444,7 @@ drops to zero.
 Derived classes override those functions to destroy resources in a context
 where the correct dynamic type is known. This is an application of the
 technique known as type erasure.
-  </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"/>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id486484"/>Class Hierarchy</h5></div></div></div><p>
+  </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="idp15484560"></a>Class Hierarchy</h5></div></div></div><p>
 A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
 type <span class="type">T*</span> and an object of type
 <code class="classname">__shared_count</code>. The shared_count contains a
@@ -491,9 +491,9 @@ C++11-only features are: rvalue-ref/move support, allocator support,
 aliasing constructor, make_shared &amp; allocate_shared. Additionally,
 the constructors taking <code class="classname">auto_ptr</code> parameters are
 deprecated in C++11 mode.
-    </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id486672"/>Thread Safety</h5></div></div></div><p>
+    </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="idp15507072"></a>Thread Safety</h5></div></div></div><p>
 The
-<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
+<a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety" target="_top">Thread
 Safety</a> section of the Boost shared_ptr documentation says "shared_ptr
 objects offer the same level of thread safety as built-in types."
 The implementation must ensure that concurrent updates to separate shared_ptr
@@ -536,7 +536,7 @@ compiler, standard library, platform etc. For the version of
 shared_ptr in libstdc++ the compiler and library are fixed, which
 makes things much simpler: we have an atomic CAS or we don't, see Lock
 Policy below for details.
-</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id486733"/>Selecting Lock Policy</h5></div></div></div><p>
+</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="idp15514368"></a>Selecting Lock Policy</h5></div></div></div><p>
     </p><p>
 There is a single <code class="classname">_Sp_counted_base</code> class,
 which is a template parameterized on the enum
@@ -552,11 +552,11 @@ specialization will be used. This design is necessary because it would
 not be conforming for <code class="classname">shared_ptr</code> to have an
 extra template parameter, even if it had a default value.  The
 available policies are:
-    </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+    </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
        <code class="constant">_S_Atomic</code>
        </p><p>
 Selected when GCC supports a builtin atomic compare-and-swap operation
-on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html">Atomic
+on the target processor (see <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" target="_top">Atomic
 Builtins</a>.)  The reference counts are maintained using a lock-free
 algorithm and GCC's atomic builtins, which provide the required memory
 synchronisation.
@@ -577,7 +577,7 @@ used when libstdc++ is built without <code class="literal">--enable-threads</cod
        <code class="filename">ext/atomicity.h</code>, which detect if the program
        is multi-threaded.  If only one thread of execution exists in
        the program then less expensive non-atomic operations are used.
-     </p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id486854"/>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
+     </p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="idp15528992"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
 <code class="code">const_pointer_cast</code></span></dt><dd><p>
 As noted in N2351, these functions can be implemented non-intrusively using
 the alias constructor.  However the aliasing constructor is only available
@@ -610,13 +610,13 @@ is called.  Users should not try to use this.
 As well as the extra constructors, this implementation also needs some
 members of _Sp_counted_deleter to be protected where they could otherwise
 be private.
-    </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"/>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id499306"/>Examples</h5></div></div></div><p>
+    </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="idp15545344"></a>Examples</h5></div></div></div><p>
       Examples of use can be found in the testsuite, under
       <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>,
       <code class="filename">testsuite/20_util/shared_ptr</code>
       and
       <code class="filename">testsuite/20_util/weak_ptr</code>.
-    </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id499336"/>Unresolved Issues</h5></div></div></div><p>
+    </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="idp15548928"></a>Unresolved Issues</h5></div></div></div><p>
       The <span class="emphasis"><em><code class="classname">shared_ptr</code> atomic access</em></span>
       clause in the C++11 standard is not implemented in GCC.
     </p><p>
@@ -652,33 +652,33 @@ be private.
     </p><p>
       tr1::_Sp_deleter could be a private member of tr1::__shared_count but it
       would alter the ABI.
-    </p></div></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.ack"/>Acknowledgments</h4></div></div></div><p>
+    </p></div></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.ack"></a>Acknowledgments</h4></div></div></div><p>
     The original authors of the Boost shared_ptr, which is really nice
     code to work with, Peter Dimov in particular for his help and
     invaluable advice on thread safety.  Phillip Jordan and Paolo
     Carlini for the lock policy implementation.
-  </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"/>Bibliography</h4></div></div></div><div class="biblioentry" title="Improving shared_ptr for C++0x, Revision 2"><a id="id499429"/><p><span class="title"><em>
-       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm">
+  </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="Improving shared_ptr for C++0x, Revision 2"><a id="idp15560160"></a><p><span class="title"><em>
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
       Improving shared_ptr for C++0x, Revision 2
        </a>
       </em>. </span><span class="subtitle">
       N2351
-    . </span></p></div><div class="biblioentry" title="C++ Standard Library Active Issues List"><a id="id499448"/><p><span class="title"><em>
-       <a class="link" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html">
+    . </span></p></div><div class="biblioentry" title="C++ Standard Library Active Issues List"><a id="idp15562448"></a><p><span class="title"><em>
+       <a class="link" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
       C++ Standard Library Active Issues List
        </a>
       </em>. </span><span class="subtitle">
       N2456
-    . </span></p></div><div class="biblioentry" title="Working Draft, Standard for Programming Language C++"><a id="id499467"/><p><span class="title"><em>
-       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf">
+    . </span></p></div><div class="biblioentry" title="Working Draft, Standard for Programming Language C++"><a id="idp15564736"></a><p><span class="title"><em>
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
       Working Draft, Standard for Programming Language C++
        </a>
       </em>. </span><span class="subtitle">
       N2461
-    . </span></p></div><div class="biblioentry" title="Boost C++ Libraries documentation, shared_ptr"><a id="id499486"/><p><span class="title"><em>
-       <a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm">
+    . </span></p></div><div class="biblioentry" title="Boost C++ Libraries documentation, shared_ptr"><a id="idp15567040"></a><p><span class="title"><em>
+       <a class="link" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">
       Boost C++ Libraries documentation, shared_ptr
        </a>
       </em>. </span><span class="subtitle">
       N2461
-    . </span></p></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr><tr><td align="left" valign="top">Pairs </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Traits</td></tr></table></div></body></html>
+    . </span></p></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pairs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="traits.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Pairs </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Traits</td></tr></table></div></body></html>
index 8b3ad4d..5efda94 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 20. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch19s07.html" title="Diagnostics"/><link rel="next" href="bk01pt03ch20s02.html" title="Design Issues"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 20. The mt_allocator</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      allocator&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch19s07.html" title="Diagnostics" /><link rel="next" href="bk01pt03ch20s02.html" title="Design Issues" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 20. The mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"/>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></div><p>
-</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="allocator.mt.intro"/>Intro</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 20. The mt_allocator"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.allocator.mt"></a>Chapter 20. The mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s02.html">Design Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s02.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s03.html">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.tune">Tunable Parameters</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.init">Initialization</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s03.html#allocator.mt.deallocation">Deallocation Notes</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch20s04.html">Single Thread Example</a></span></dt><dt><span class="section"><a href="bk01pt03ch20s05.html">Multiple Thread Example</a></span></dt></dl></div><p>
+</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.intro"></a>Intro</h2></div></div></div><p>
   The mt allocator [hereinafter referred to simply as "the allocator"]
   is a fixed size (power of two) allocator that was initially
   developed specifically to suit the needs of multi threaded
@@ -20,4 +20,4 @@
 </p><p>
   The aim of this document is to describe - from an application point of
   view - the "inner workings" of the allocator.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr><tr><td align="left" valign="top">Diagnostics </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design Issues</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch19s07.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch20s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Diagnostics </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design Issues</td></tr></table></div></body></html>
index 0b53910..887eca4 100644 (file)
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 12.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms"/><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
+<!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>Chapter 12.  Numerics</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="algorithms.html" title="Chapter 11.  Algorithms" /><link rel="next" href="generalized_numeric_operations.html" title="Generalized Operations" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. 
   Numerics
   
-</th></tr><tr><td align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 12.  Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"/>Chapter 12. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12.  Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12. 
   Numerics
-  <a id="id504587" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section" title="Complex"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.complex"/>Complex</h2></div></div></div><p>
-  </p><div class="section" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"/>complex Processing</h3></div></div></div><p>
+  <a id="idp16179040" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="section"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="section"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="section"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="section"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="section"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="section" title="Complex"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
+  </p><div class="section" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
     </p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
       <span class="emphasis"><em>complicated</em></span>, with the not-quite-gratuitously-incompatible
       addition of complex types to the C language.  David Tribble has
       compiled a list of C++98 and C99 conflict points; his description of
       C's new type versus those of C++ and how to get them playing together
       nicely is
-<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex">here</a>.
+<a class="link" href="http://david.tribble.com/text/cdiffs.htm#C99-complex" target="_top">here</a>.
    </p><p><code class="code">complex&lt;&gt;</code> is intended to be instantiated with a
       floating-point type.  As long as you meet that and some other basic
       requirements, then the resulting instantiation has all of the usual
@@ -24,7 +24,7 @@
       and <code class="code">op&gt;&gt;</code> that work with iostreams: <code class="code">op&lt;&lt;</code>
       prints <code class="code">(u,v)</code> and <code class="code">op&gt;&gt;</code> can read <code class="code">u</code>,
       <code class="code">(u)</code>, and <code class="code">(u,v)</code>.
-   </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 11. 
+   </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="algorithms.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 11. 
   Algorithms
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Generalized Operations</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Generalized Operations</td></tr></table></div></body></html>
index b6ee490..0897edb 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="numerics.html" title="Chapter 12.  Numerics"/><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations"/><link rel="next" href="io.html" title="Chapter 13.  Input and Output"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
+<!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>Interacting with C</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="numerics.html" title="Chapter 12.  Numerics" /><link rel="prev" href="generalized_numeric_operations.html" title="Generalized Operations" /><link rel="next" href="io.html" title="Chapter 13.  Input and Output" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" align="center">Chapter 12. 
   Numerics
   
-</th><td align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr/></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics.c"/>Interacting with C</h2></div></div></div><div class="section" title="Numerics vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.array"/>Numerics vs. Arrays</h3></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
+</th><td width="20%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr></table><hr /></div><div class="section" title="Interacting with C"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.c"></a>Interacting with C</h2></div></div></div><div class="section" title="Numerics vs. Arrays"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.array"></a>Numerics vs. Arrays</h3></div></div></div><p>One of the major reasons why FORTRAN can chew through numbers so well
       is that it is defined to be free of pointer aliasing, an assumption
       that C89 is not allowed to make, and neither is C++98.  C99 adds a new
       keyword, <code class="code">restrict</code>, to apply to individual pointers.  The
@@ -18,7 +18,7 @@
       speaking this is only one of the five template classes, and they are
       designed to be familiar to people who have worked with the BLAS
       libraries before.
-   </p></div><div class="section" title="C99"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.c99"/>C99</h3></div></div></div><p>In addition to the other topics on this page, we'll note here some
+   </p></div><div class="section" title="C99"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.c.c99"></a>C99</h3></div></div></div><p>In addition to the other topics on this page, we'll note here some
       of the C99 features that appear in libstdc++.
    </p><p>The C99 features depend on the <code class="code">--enable-c99</code> configure flag.
       This flag is already on by default, but it can be disabled by the
@@ -31,7 +31,7 @@
       are supported, as is the <code class="code">lldiv_t</code> typedef.  Also supported
       are the wide character functions using 'long long', like
       <code class="code">wcstoll</code>.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td align="center"><a accesskey="u" href="numerics.html">Up</a></td><td align="right"> <a accesskey="n" href="io.html">Next</a></td></tr><tr><td align="left" valign="top">Generalized Operations </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 13. 
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="numerics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="io.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Generalized Operations </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 13. 
   Input and Output
   
 </td></tr></table></div></body></html>
index e5c0263..130c632 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="next" href="memory.html" title="Memory"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
+<!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>Pairs</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="next" href="memory.html" title="Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Pairs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
   Utilities
   
-</th><td align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr/></div><div class="section" title="Pairs"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.pairs"/>Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
+</th><td width="20%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr></table><hr /></div><div class="section" title="Pairs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.pairs"></a>Pairs</h2></div></div></div><p>The <code class="code">pair&lt;T1,T2&gt;</code> is a simple and handy way to
       carry around a pair of objects.  One is of type T1, and another of
       type T2; they may be the same type, but you don't get anything
       extra if they are.  The two members can be accessed directly, as
@@ -38,7 +38,7 @@
       instance of a pair instantiated on their respective types:
    </p><pre class="programlisting">
     pair&lt;int,MyClass&gt; p = make_pair(4,myobject);
-   </pre></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 6. 
+   </pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="utilities.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="memory.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. 
   Utilities
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Memory</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Memory</td></tr></table></div></body></html>
index 8ad6814..1776f5b 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 18. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch17s04.html" title="Design"/><link rel="next" href="bk01pt03ch18s02.html" title="Semantics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 18. Parallel Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      parallel&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch17s04.html" title="Design" /><link rel="next" href="bk01pt03ch18s02.html" title="Semantics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 18. Parallel Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"/>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> The libstdc++ parallel mode is an experimental parallel
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 18. Parallel Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode"></a>Chapter 18. Parallel Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.compile">Compile Time Switches</a></span></dt><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> The libstdc++ parallel mode is an experimental parallel
 implementation of many algorithms the C++ Standard Library.
 </p><p>
 Several of the standard algorithms, for instance
@@ -11,14 +11,14 @@ Several of the standard algorithms, for instance
 annotations. These parallel mode constructs and can be invoked by
 explicit source declaration or by compiling existing sources with a
 specific compiler flag.
-</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.parallel_mode.intro"/>Intro</h2></div></div></div><p>The following library components in the include
-<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
-<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"/>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id510512"/><p><span class="citetitle"><em class="citetitle">
+</p><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
+<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
+<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="idp16890112"></a><p><span class="citetitle"><em class="citetitle">
       Parallelization of Bulk Operations for STL Dictionaries
     </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
        Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
-      . </span></span></p></div><div class="biblioentry"><a id="id510554"/><p><span class="citetitle"><em class="citetitle">
+      . </span></span></p></div><div class="biblioentry"><a id="idp16895184"></a><p><span class="citetitle"><em class="citetitle">
       The Multi-Core Standard Template Library
     </em>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
         Euro-Par 2007: Parallel Processing. (LNCS 4641)
-      . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Semantics</td></tr></table></div></body></html>
+      . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Semantics</td></tr></table></div></body></html>
index ee89d19..c2e9f88 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures_design.html" title="Design"/><link rel="next" href="policy_data_structures_biblio.html" title="Acknowledgments"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr></table><hr/></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.test"/>Testing</h2></div></div></div><div class="section" title="Regression"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"/>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
+<!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>Testing</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_design.html" title="Design" /><link rel="next" href="policy_data_structures_ack.html" title="Acknowledgments" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Testing</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_ack.html">Next</a></td></tr></table><hr /></div><div class="section" title="Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.test"></a>Testing</h2></div></div></div><div class="section" title="Regression"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The library contains a single comprehensive regression test.
     For a given container type in this library, the test creates
     an object of the container type and an object of the
     corresponding standard type (e.g., <code class="classname">std::set</code>). It
     this library's containers and the containers' value-types are
     configured to use this allocator.</p><p>For granularity, the test is split into the
     several sources, each checking only some containers.</p><p>For more details, consult the files in
-    <code class="filename">testsuite/ext/pb_ds/regression</code>.</p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.performance"/>Performance</h3></div></div></div><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.hash"/>Hash-Based</h4></div></div></div><p/><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.text_find"/>
+    <code class="filename">testsuite/ext/pb_ds/regression</code>.
+    </p></div><div class="section" title="Performance"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.test.performance"></a>Performance</h3></div></div></div><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.hash"></a>Hash-Based</h4></div></div></div><p></p><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.text_find"></a>
          Text <code class="function">find</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.info"></a>
            Description
          </h6></div></div></div><p>
            This test inserts a number of values with keys from an
            time for <code class="function">find</code> as a function of
          the number of values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/text_find_timing_test.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/text_find_timing_test.cc</code>
          </p><p>
            And uses the data file:
-           <code class="filename">
-             filethirty_years_among_the_dead_preproc.txt
-           </code>
+           <code class="filename">filethirty_years_among_the_dead_preproc.txt</code>
          </p><p>The test checks the effect of different range-hashing
          functions, trigger policies, and cache-hashing policies.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for the native
          and collision-chaining hash types the the function
          applied being a text find timing test using
          <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_text_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_text_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_sth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.text_find.observations"></a>
            Observations
          </h6></div></div></div><p>In this setting, the range-hashing scheme affects performance
          more than other policies. As the results show, containers using
          library's implementation. (Unfortunately, it was not possible to run
          the tests with <code class="classname">std::tr1::unordered_map</code> 's
          <code class="classname">cache_hash_code = true</code> , as it appeared to
-         malfuntion.)</p></div></div><div class="section" title="Integer find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_find"/>
+         malfuntion.)</p></div></div><div class="section" title="Integer find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_find"></a>
          Integer <code class="function">find</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with uniform
          integer keys into a container, then performs a series of finds
          for <code class="function">find</code> as a function of the number of values
          inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/random_int_find_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/random_int_find_timing.cc</code>
          </p><p>The test checks the effect of different underlying
          hash-tables,
-         range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.results"/>
+         range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.results"></a>
            Results
          </h6></div></div></div><p>
            There are two sets of results for this type, one for
          </p><p>The first graphic below shows the results for the native and
          collision-chaining hash types. The function applied being a random
          integer timing test using <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>
          </p><p>And the second graphic shows the results for the native and
          general-probe hash types. The function applied being a random
          integer timing test using <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mod_quadp_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">gp_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">quadratic_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mask_linp_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      gp_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">linear_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_find.observations"></a>
            Observations
          </h6></div></div></div><p>In this setting, the choice of underlying hash-table affects
          performance most, then the range-hashing scheme and, only finally,
          above graphics should be noted that
          <code class="classname">std::tr1::unordered_map</code> are hard-wired
          currently to mod-based schemes.
-         </p></div></div><div class="section" title="Integer Subscript find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_find"/>
+         </p></div></div><div class="section" title="Integer Subscript find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_find"></a>
          Integer Subscript <code class="function">find</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with uniform
          integer keys into a container, then performs a series of finds
          for <code class="function">operator[]</code> as a function of the number of
          values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/random_int_subscript_find_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/random_int_subscript_find_timing.cc</code>
          </p><p>The test checks the effect of different underlying
-         hash-tables, range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.results"/>
+         hash-tables, range-hashing functions, and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.results"></a>
            Results
          </h6></div></div></div><p>
            There are two sets of results for this type, one for
          and collision-chaining hash types, using as the function
          applied an integer subscript timing test with
          <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_subscript_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_subscript_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>
          </p><p>And the second graphic shows the results for the native and
          general-probe hash types. The function applied being a random
          integer timing test using <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_subscript_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_subscript_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mod_quadp_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">gp_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">quadratic_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mask_linp_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      gp_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">linear_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_find.observations"></a>
            Observations
          </h6></div></div></div><p>This test shows similar results to Hash-Based
-         Integer <code class="classname">find</code> Find Timing test.</p></div></div><div class="section" title="Integer Subscript insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_insert"/>
+         Integer <code class="classname">find</code> Find Timing test.</p></div></div><div class="section" title="Integer Subscript insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.int_subscript_insert"></a>
          Integer Subscript <code class="function">insert</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with uniform i.i.d.
          integer keys into a container, using
          <code class="function">operator[]</code> as a function of the number of
          values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/random_int_subscript_insert_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/random_int_subscript_insert_timing.cc</code>
          </p><p>The test checks the effect of different underlying
-         hash-tables.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.results"/>
+         hash-tables.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.results"></a>
            Results
          </h6></div></div></div><p>
            There are two sets of results for this type, one for
          and collision-chaining hash types, using as the function
          applied an integer subscript timing test with
          <code class="function">insert</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_cc_hash_int_subscript_insert.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_cc_hash_int_subscript_insert.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>
          </p><p>And the second graphic shows the results for the native and
          general-probe hash types. The function applied being a random
          integer timing test using <code class="function">find</code>.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_gp_hash_int_subscript_insert.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_gp_hash_int_subscript_insert.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mod_quadp_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">gp_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">quadratic_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mask_linp_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      gp_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">linear_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.int_subscript_insert.observations"></a>
            Observations
          </h6></div></div></div><p>In this setting, as in Hash-Based Text
          <code class="function">find</code> Find Timing test and Hash-Based
          Integer <code class="function">find</code> Find Timing test , the choice
          of underlying hash-table underlying hash-table affects performance
          most, then the range-hashing scheme, and
-         finally any other policies.</p><p>There are some differences, however:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>In this setting, probing tables function sometimes more
+         finally any other policies.</p><p>There are some differences, however:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In this setting, probing tables function sometimes more
            efficiently than collision-chaining tables.
            This is explained shortly.</p></li><li class="listitem"><p>The performance graphs have a "saw-tooth" shape. The
            average insert time rises and falls. As values are inserted
            <code class="function">find</code> Find Timing Test and Hash-Based
            Integer <code class="function">find</code> Find Timing Test.
            Unsurprisingly, however, containers with lower α<sub>max</sub> perform worse in this case,
-         since more re-hashes are performed.</p></div></div><div class="section" title="Integer find with Skewed-Distribution"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.zlob_int_find"/>
+         since more re-hashes are performed.</p></div></div><div class="section" title="Integer find with Skewed-Distribution"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.zlob_int_find"></a>
          Integer <code class="function">find</code> with Skewed-Distribution
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with a markedly
          non-uniform integer keys into a container, then performs
          the containers. The keys are generated as follows. First, a
          uniform integer is created. Then it is then shifted left 8 bits.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc</code>
          </p><p>The test checks the effect of different range-hashing
-         functions and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.results"/>
+         functions and trigger policies.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_zlob_int_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_zlob_int_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mod_quadp_prime_1div2_nsth_map
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">gp_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">quadratic_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.zlob_int_find.observations"></a>
            Observations
          </h6></div></div></div><p>In this setting, the distribution of keys is so skewed that
          the underlying hash-table type affects performance marginally.
          performance is bad, a χ<sup>2</sup> test can be used
          to check how to transform it into a more uniform
          distribution.</p><p>For this reason, this library's default range-hashing
-         function is mask-based.</p></div></div><div class="section" title="Erase Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.erase_mem"/>
+         function is mask-based.</p></div></div><div class="section" title="Erase Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.hash.erase_mem"></a>
          Erase Memory Use
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of uniform integer keys
          into a container, then erases all keys except one. It measures
          the final size of the container.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc</code>
          </p><p>The test checks how containers adjust internally as their
-         logical size decreases.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.results"/>
+         logical size decreases.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for the native, collision-chaining, and general-probing hash types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_int_erase_mem.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_hash_int_erase_mem.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    n_hash_map_ncah
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_map</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">cache_hash_code</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="constant">false</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mod_prime_1div1_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mod_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_prime_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/1
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    cc_hash_mask_exp_1div2_nsth_map
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="5" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="5" align="left">
                    gp_hash_mask_linp_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">gp_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Probe_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">linear_probe_fn</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="hash.erase_mem.observations"></a>
            Observations
          </h6></div></div></div><p>The standard's hash-based containers act very differently than trees in
          this respect. When erasing numerous keys from an standard
          depending on whether the container is tree-based or hash-based.
          This is a fundamental consequence of the standard's interface for
          associative containers, and it is not due to a specific
-         implementation.</p></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.branch"/>Branch-Based</h4></div></div></div><p/><div class="section" title="Text insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_insert"/>
+         implementation.</p></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h4 class="title"><a id="performance.branch"></a>Branch-Based</h4></div></div></div><p></p><div class="section" title="Text insert"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_insert"></a>
          Text <code class="function">insert</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an arbitrary
          text ([ wickland96thirty ]) into a container
          values inserted.</p><p>The test checks the effect of different underlying
          data structures.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/tree_text_insert_timing.cc
-           </code>
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.results"/>
+           <code class="filename">performance/ext/pb_ds/tree_text_insert_timing.cc</code>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.results"></a>
            Results
          </h6></div></div></div><p>The three graphics below show the results for the native
          tree and this library's node-based trees, the native tree and
          and this library's PATRICIA-trie, respectively.
          </p><p>The graphic immediately below shows the results for the
          native tree type and several node-based tree types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_node.png" style="text-align: middle"/></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_node.png" align="middle" /></div><p>
              The abbreviated names in the legend of the graphic above are
              instantiated with the types in the following table.
-           </p></div><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+           </p></div><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_map
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::map</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    splay_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">splay_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rb_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the
          native tree type and a vector-based tree type.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_vector.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_vector.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_map
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::map</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    ov_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">ov_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the
          native tree type and a PATRICIA trie type.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_insert_trie.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_insert_trie.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_map
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::map</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pat_trie_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pat_trie_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_insert.observations"></a>
            Observations
          </h6></div></div></div><p>Observing the first graphic implies that for this setting, a splay tree
          (<code class="classname">tree</code> with <code class="classname">Tag
          encountered, a new "hash-table" is built A large fan-out PATRICIA
          trie, however, doe does well in look-ups (see Branch-Based
          Text <code class="function">find</code> Find Timing Test). It may be
-         beneficial in semi-static settings.</p></div></div><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_find"/>
+         beneficial in semi-static settings.</p></div></div><div class="section" title="Text find"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_find"></a>
          Text <code class="function">find</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([wickland96thirty]) into
          for <code class="function">find</code> as a function of the number of
          values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/text_find_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/text_find_timing.cc</code>
          </p><p>The test checks the effect of different underlying
-         data structures.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.results"/>
+         data structures.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native tree type and several other tree types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_map
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::map</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    splay_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">splay_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rb_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    ov_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">ov_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pat_trie_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pat_trie_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_find.observations"></a>
            Observations
          </h6></div></div></div><p>For this setting, a splay tree (<code class="classname">tree</code>
          with <code class="classname">Tag
          </code> = <code class="classname">splay_tree_tag</code>) does not do
-         well. This is possibly due to two reasons:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A splay tree is not guaranteed to be balanced [motwani95random]. If a
+         well. This is possibly due to two reasons:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A splay tree is not guaranteed to be balanced [motwani95random]. If a
            splay tree contains n nodes, its average root-leaf
            path can be m &gt;&gt; log(n).</p></li><li class="listitem"><p>Assume a specific root-leaf search path has length
            m, and the search-target node has distance m'
          by a sub-trie. A large-fan-out PATRICIA trie does not do well on
          modifications (see Tree-Based and Trie-Based
          Text Insert Timing Test). Therefore, it is possibly beneficial in
-         semi-static settings.</p></div></div><div class="section" title="Text find with Locality-of-Reference"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_lor_find"/>
+         semi-static settings.</p></div></div><div class="section" title="Text find with Locality-of-Reference"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.text_lor_find"></a>
          Text <code class="function">find</code> with Locality-of-Reference
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          key. It measures the average time for <code class="function">find</code> as a
          function of the number of values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/tree_text_lor_find_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/tree_text_lor_find_timing.cc</code>
          </p><p>The test checks the effect of different underlying
-         data structures in a locality-of-reference setting.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.results"/>
+         data structures in a locality-of-reference setting.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native tree type and several other tree types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_text_lor_find.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_text_lor_find.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_map
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::map</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    splay_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">splay_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rb_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    ov_tree_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">ov_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pat_trie_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pat_trie_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.text_lor_find.observations"></a>
            Observations
          </h6></div></div></div><p>For this setting, an ordered-vector tree
          (<code class="classname">tree</code> with <code class="classname">Tag</code>
          tree all share approximately the same performance.</p><p>A splay tree (<code class="classname">tree</code>
          with <code class="classname">Tag</code> = <code class="classname">splay_tree_tag</code>) does
          much better, since each (successful) find "bubbles" the
-         corresponding node to the root of the tree.</p></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.split_join"/>
+         corresponding node to the root of the tree.</p></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.split_join"></a>
          <code class="function">split</code> and <code class="function">join</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.info"></a>
            Description
          </h6></div></div></div><p>This test a container, inserts into a number of values, splits
          the container at the median, and joins the two containers. (If the
          and joining the containers as a function of the number of
          values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/tree_split_join_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/tree_split_join_timing.cc</code>
          </p><p>The test checks the performance difference of <code class="function">join</code>
          as opposed to a sequence of <code class="function">insert</code> operations; by
          implication, this test checks the most efficient way to erase a
          sub-sequence from a tree-like-based container, since this can
          always be performed by a small sequence of splits and joins.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native tree type and several other tree types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_split_join.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_split_join.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_set
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::set</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    splay_tree_set
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">splay_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rb_tree_set
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    ov_tree_set
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">ov_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pat_trie_map
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pat_trie_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.split_join.observations"></a>
            Observations
          </h6></div></div></div><p>In this test, the native red-black trees must be split and
          joined externally, through a sequence of <code class="function">erase</code> and
          via <code class="classname">container_traits</code>).</p><p>It is important to note that <code class="function">split</code> and
          <code class="function">join</code> are not esoteric methods - they are the most
          efficient means of erasing a contiguous range of values from a
-         tree based container.</p></div></div><div class="section" title="Order-Statistics"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.order_statistics"/>
+         tree based container.</p></div></div><div class="section" title="Order-Statistics"><div class="titlepage"><div><div><h5 class="title"><a id="performance.branch.order_statistics"></a>
          Order-Statistics
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.info"></a>
            Description
          </h6></div></div></div><p>This test creates a container, inserts random integers into the
          the container, and then checks the order-statistics of the
          time for such queries as a function of the number of values
          inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/tree_order_statistics_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/tree_order_statistics_timing.cc</code>
          </p><p>The test checks the performance difference of policies based
-         on node-invariant as opposed to a external functions.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.results"/>
+         on node-invariant as opposed to a external functions.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native tree type and several other tree types.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_order_statistics.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_tree_order_statistics.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_set
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::set</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    splay_tree_ost_set
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">splay_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">tree_order_statistics_node_update</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rb_tree_ost_set
-                 </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">tree_order_statistics_node_update</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="branch.order_statistics.observations"></a>
            Observations
          </h6></div></div></div><p>In this test, the native red-black tree can support
          order-statistics queries only externally, by performing a
          tree (<code class="classname">tree</code>
          with <code class="classname">Tag =</code> <code class="classname">rb_tree_tag</code> ) is
          logarithmic in the number of elements. Consequently, the splay
-         tree has worse performance than the red-black tree.</p></div></div></div><div class="section" title="Multimap"><div class="titlepage"><div><div><h4 class="title"><a id="performance.multimap"/>Multimap</h4></div></div></div><p/><div class="section" title="Text find with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_small"/>
+         tree has worse performance than the red-black tree.</p></div></div></div><div class="section" title="Multimap"><div class="titlepage"><div><div><h4 class="title"><a id="performance.multimap"></a>Multimap</h4></div></div></div><p></p><div class="section" title="Text find with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_small"></a>
          Text <code class="function">find</code> with Small Secondary-to-Primary Key Ratios 
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          a primary key. For the native multimaps, it searches a range
          obtained using <code class="classname">std::equal_range</code> on a primary key.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_find_timing_small.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_find_timing_small.cc</code>
          </p><p>The test checks the find-time scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_small.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div><div class="section" title="Text find with Large Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_large"/>
+         Considerations.</p></div></div><div class="section" title="Text find with Large Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_find_large"></a>
          Text <code class="function">find</code> with Large Secondary-to-Primary Key Ratios 
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          a primary key. For the native multimaps, it searches a range
          obtained using <code class="classname">std::equal_range</code> on a primary key.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_find_timing_large.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_find_timing_large.cc</code>
          </p><p>The test checks the find-time scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_find_large.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_small"/>
+         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_small"></a>
          Text <code class="function">insert</code> with Small
          Secondary-to-Primary Key Ratios
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          <code class="classname">std::equal_range</code>, and inserts a value only if it was
          not contained already.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_insert_timing_small.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_insert_timing_small.cc</code>
          </p><p>The test checks the insert-time scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_small_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_small_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_small.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_large"/>
+         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_large"></a>
          Text <code class="function">insert</code> with Small
          Secondary-to-Primary Key Ratios
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          <code class="classname">std::equal_range</code>, and inserts a value only if it was
          not contained already.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_insert_timing_large.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_insert_timing_large.cc</code>
          </p><p>The test checks the insert-time scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_large_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_large.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_small"/>
+         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_small"></a>
          Text <code class="function">insert</code> with Small
          Secondary-to-Primary Key Ratios Memory Use
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          to primary keys ranges to about 20.</p><p>The test measures the memory use as a function of the number
          of values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc</code>
          </p><p>The test checks the memory scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_mem_small_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_mem_small_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_small.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_large"/>
+         Considerations.</p></div></div><div class="section" title="Text insert with Small Secondary-to-Primary Key Ratios Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.multimap.text_insert_mem_large"></a>
          Text <code class="function">insert</code> with Small
          Secondary-to-Primary Key Ratios Memory Use
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of pairs into a container. The
          first item of each pair is a string from an arbitrary text
          to primary keys ranges to about 20.</p><p>The test measures the memory use as a function of the number
          of values inserted.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc</code>
          </p><p>The test checks the memory scalability of different
-         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.results"/>
+         "multimap" designs.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.results"></a>
            Results
          </h6></div></div></div><p>The graphic below show the results for "multimaps" which
          use a tree-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_insert_mem_large_s2p_tree.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_insert_mem_large_s2p_tree.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="5" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="5" align="left" valign="top">
                    <code class="classname">tree</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rb_tree_tag</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Node_Update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">null_node_update</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
                  </td></tr></tbody></table></div><p>The graphic below show the results for "multimaps" which
          use a hash-based container for primary keys.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_multimap_text_find_large_s2p_hash.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/><col style="text-align: left" class="c7"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /><col align="left" class="c7" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    n_hash_mmap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::tr1::unordered_multimap</code>
-                 </td><td colspan="6" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="6" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_lu_mtf_set
-                 </td></tr><tr><td rowspan="4" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="4" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left">
                    <code class="classname">Mapped</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">list_update</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Update_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">lu_move_to_front_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td colspan="7" style="text-align: left">
+                 </td><td colspan="2" align="left"> </td></tr><tr bgcolor="#B0B0B0"><td colspan="7" align="left">
                    rb_tree_mmap_cc_hash_mask_exp_1div2_nsth_set
-                 </td></tr><tr><td rowspan="6" style="text-align: left" valign="top">
+                 </td></tr><tr><td rowspan="6" align="left" valign="top">
                    <code class="classname">
                      cc_hash_table
                    </code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="4" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="4" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="3" align="left" valign="top">
                    <code class="classname">Mapped</code>
-                 </td><td rowspan="3" style="text-align: left" valign="top">
+                 </td><td rowspan="3" align="left" valign="top">
                    <code class="classname">cc_hash_table</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Comb_Hash_Fn</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">direct_mask_range_hashing</code>
-                 </td><td colspan="2" style="text-align: left"> </td></tr><tr><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td colspan="2" align="left"> </td></tr><tr><td rowspan="2" align="left" valign="top">
                    <code class="classname">Resize_Policy</code>
-                 </td><td rowspan="2" style="text-align: left" valign="top">
+                 </td><td rowspan="2" align="left" valign="top">
                    <code class="classname">hash_standard_resize_policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Size_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_exponential_size_policy</code>
-                 </td></tr><tr><td style="text-align: left" valign="top">
+                 </td></tr><tr><td align="left" valign="top">
                    <code class="classname">Trigger_Policy</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">hash_load_check_resize_trigger</code> with
                    α<sub>min</sub> = 1/8 and α<sub>max</sub> = 1/2
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="multimap.text_insert_mem_large.observations"></a>
            Observations
          </h6></div></div></div><p>See Observations::Mapping-Semantics
-         Considerations.</p></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="performance.priority_queue"/>Priority Queue</h4></div></div></div><div class="section" title="Text push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push"/>
+         Considerations.</p></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="performance.priority_queue"></a>Priority Queue</h4></div></div></div><div class="section" title="Text push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push"></a>
          Text <code class="function">push</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          for <code class="function">push</code> as a function of the number of values
          pushed.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_push_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_push_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.results"></a>
            Results
          </h6></div></div></div><p>The two graphics below show the results for the native
          priority_queues and this library's priority_queues.
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_push.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_push.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the binary-heap
          based native priority queues and this library's pairing-heap
          priority_queue data structures.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_push.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_push.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push.observations"></a>
            Observations
          </h6></div></div></div><p>Pairing heaps (<code class="classname">priority_queue</code> with
          <code class="classname">Tag</code> = <code class="classname">pairing_heap_tag</code>)
          operation, and the deque implementation is possibly hampered by
          its need to manipulate a relatively-complex type (deques
          support a O(1) <code class="function">push_front</code>, even though it is
-         not used by <code class="classname">std::priority_queue</code>.)</p></div></div><div class="section" title="Text push and pop"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push_pop"/>
+         not used by <code class="classname">std::priority_queue</code>.)</p></div></div><div class="section" title="Text push and pop"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_push_pop"></a>
          Text <code class="function">push</code> and <code class="function">pop</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          <code class="classname">pop</code> . It measures the average time for <code class="classname">push</code>
          as a function of the number of values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.results"></a>
            Results
          </h6></div></div></div><p>The two graphics below show the results for the native
          priority_queues and this library's priority_queues.
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_push_pop.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_push_pop.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the native priority
          queues and this library's pairing-heap priority_queue data
          structures.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_push_pop.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_push_pop.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code> adapting <code class="classname">std::vector</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_push_pop.observations"></a>
            Observations
          </h6></div></div></div><p>These results are very similar to Priority Queue Text
          <code class="function">push</code> Timing Test. As stated there, pairing heaps
          of <code class="function">push</code> operations, pairing heaps are better
          in this case. See Priority Queue Random
          Integer <code class="function">push</code> and <code class="function">pop</code>
-         Timing Test for a case which is different.</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push"/>
+         Timing Test for a case which is different.</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push"></a>
          Integer <code class="function">push</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with integer keys
          into a container using <code class="function">push</code>. It
          measures the average time for <code class="function">push</code> as a
          function of the number of values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_random_int_push_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.results"></a>
            Results
          </h6></div></div></div><p>The two graphics below show the results for the native
          priority_queues and this library's priority_queues.
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_int_push.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_int_push.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the binary-heap
          based native priority queues and this library's
          priority_queue data structures.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_binary_priority_queue_int_push.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_binary_priority_queue_int_push.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code> adapting <code class="classname">std::vector</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push.observations"></a>
            Observations
          </h6></div></div></div><p>Binary heaps are the most suited for sequences of
          <code class="function">push</code> and <code class="function">pop</code> operations of primitive types
          such types in arrays, they outperform even pairing heaps. (See
          Priority
          Queue Text <code class="function">push</code> Timing Test for the case of
-         non-primitive types.)</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push_pop"/>
+         non-primitive types.)</p></div></div><div class="section" title="Integer push"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.int_push_pop"></a>
          Integer <code class="function">push</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with integer keys
          into a container using <code class="function">push</code> , then removes them
          <code class="function">push</code> and <code class="function">pop</code> as a function
          of the number of values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_int_push_pop.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_int_push_pop.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.int_push_pop.observations"></a>
            Observations
          </h6></div></div></div><p>Binary heaps are the most suited for sequences of
          <code class="function">push</code> and <code class="function">pop</code> operations of primitive types
          types.)</p><p>At first glance it seems that the standard's vector-based
          priority queue is approximately on par with this
          library's corresponding priority queue. There are two
-         differences however:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>The standard's priority queue does not downsize the underlying
+         differences however:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The standard's priority queue does not downsize the underlying
            vector (or deque) as the priority queue becomes smaller
            (see Priority Queue
            Text <code class="function">pop</code> Memory Use Test). It is therefore
            the number of
            <code class="function">pop</code> operations is at most that of <code class="function">push</code>
            operations, the test here is the "best" for the standard's
-           priority queue.</p></li></ol></div></div></div><div class="section" title="Text pop Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_pop"/>
+           priority queue.</p></li></ol></div></div></div><div class="section" title="Text pop Memory Use"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_pop"></a>
          Text <code class="function">pop</code> Memory Use
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          container. It measures the memory use as a function of the
          number of values pushed to the container.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_pop_mem.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_pop_mem.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_pop.observations"></a>
            Observations
          </h6></div></div></div><p>The priority queue implementations (excluding the standard's) use
          memory proportionally to the number of values they hold:
          impede performance compared to the standard's priority
          queues.</p><p>See Hash-Based Erase
          Memory Use Test for a similar phenomenon regarding priority
-         queues.</p></div></div><div class="section" title="Text join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_join"/>
+         queues.</p></div></div><div class="section" title="Text join"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_join"></a>
          Text <code class="function">join</code>
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          one container and pushes them into the other. The test measures
          the average time as a function of the number of values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_join_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_join_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures.
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.results"></a>
            Results
          </h6></div></div></div><p>The graphic immediately below shows the results for the
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_join.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_join.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_join.observations"></a>
            Observations
          </h6></div></div></div><p>In this test the node-based heaps perform <code class="function">join</code> in
          either logarithmic or constant time. The binary heap requires
          and <code class="function">size()</code> (since they are enough to expose
          the underlying array), but this is impossible for
          a <code class="classname">std::deque</code>-based standard priority queue.
-         Without heapify, the cost is super-linear.</p></div></div><div class="section" title="Text modify Up"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_up"/>
+         Without heapify, the cost is super-linear.</p></div></div><div class="section" title="Text modify Up"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_up"></a>
          Text <code class="function">modify</code> Up
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          time for <code class="function">modify</code> as a function of the number of
          values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc</code>
          </p><p>The test checks the effect of different underlying data
          structures for graph algorithms settings.  Note that making an
          arbitrary value larger (in the sense of the priority queue's
          comparison functor) corresponds to decrease-key in standard graph
          algorithms [clrs2001].
-         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.results"/>
+         </p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.results"></a>
            Results
          </h6></div></div></div><p>The two graphics below show the results for the native
          priority_queues and this library's priority_queues.
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_modify_up.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_modify_up.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the
          native priority queues and this library's pairing and thin heap
          priority_queue data structures.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_modify_up_thin.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_modify_up_thin.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_up.observations"></a>
            Observations
          </h6></div></div></div><p>As noted above, increasing an arbitrary value (in the sense of
          the priority queue's comparison functor) is very common in
          finding the appropriate value, then use the range-type iterator
          for the <code class="function">modify</code> operation.</p><p>The explanation for the standard's priority queues' performance
          is similar to that in Priority Queue Text
-         <code class="function">join</code> Timing Test.</p></div></div><div class="section" title="Text modify Down"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_down"/>
+         <code class="function">join</code> Timing Test.</p></div></div><div class="section" title="Text modify Down"><div class="titlepage"><div><div><h5 class="title"><a id="performance.priority_queue.text_modify_down"></a>
          Text <code class="function">modify</code> Down
-       </h5></div></div></div><p/><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.info"/>
+       </h5></div></div></div><p></p><div class="section" title="Description"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.info"></a>
            Description
          </h6></div></div></div><p>This test inserts a number of values with keys from an
          arbitrary text ([ wickland96thirty ]) into
          time for <code class="function">modify</code> as a function of the number of
          values.</p><p>
            It uses the test file:
-           <code class="filename">
-             performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc
-           </code>
+           <code class="filename">performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc</code>
          </p><p>The main purpose of this test is to contrast Priority Queue
-         Text <code class="classname">modify</code> Up Timing Test.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.results"/>
+         Text <code class="classname">modify</code> Up Timing Test.</p></div><div class="section" title="Results"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.results"></a>
            Results
          </h6></div></div></div><p>The two graphics below show the results for the native
          priority_queues and this library's priority_queues.
          native priority_queue type instantiated with different underlying
          container types versus several different versions of library's
          priority_queues.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_text_modify_down.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_text_modify_down.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_vector
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::vector</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    n_pq_deque
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Sequence</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">std::deque</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binary_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binary_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    rc_binomial_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">rc_binomial_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
                  </td></tr></tbody></table></div><p>The graphic below shows the results for the
          native priority queues and this library's pairing and thin heap
          priority_queue data structures.
-         </p><div class="informalfigure"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pairing_priority_queue_text_modify_down_thin.png" style="text-align: middle"/></div></div><p>
+         </p><div class="informalfigure"><div class="mediaobject" align="center"><img src="../images/pbds_pairing_priority_queue_text_modify_down_thin.png" align="middle" /></div></div><p>
            The abbreviated names in the legend of the graphic above are
            instantiated with the types in the following table.
-         </p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/></colgroup><thead><tr><th style="text-align: left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th style="text-align: left"><span class="emphasis"><em>Parameter</em></span></th><th style="text-align: left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+         </p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left"><span class="emphasis"><em>Name/Instantiating Type</em></span></th><th align="left"><span class="emphasis"><em>Parameter</em></span></th><th align="left"><span class="emphasis"><em>Details</em></span></th></tr></thead><tbody><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    thin_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">thin_heap_tag</code>
-                 </td></tr><tr style="background-color: #B0B0B0"><td colspan="3" style="text-align: left">
+                 </td></tr><tr bgcolor="#B0B0B0"><td colspan="3" align="left">
                    pairing_heap
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">Tag</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    <code class="classname">pairing_heap_tag</code>
-                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.observations"/>
+                 </td></tr></tbody></table></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h6 class="title"><a id="priority_queue.text_modify_down.observations"></a>
            Observations
          </h6></div></div></div><p>Most points in these results are similar to Priority Queue
          Text <code class="function">modify</code> Up Timing Test.</p><p>It is interesting to note, however, that as opposed to that
          (in the sense of the priority queue's comparison functor), and
          so Priority Queue
          Text <code class="classname">modify</code> Up Timing Test - is more interesting
-         than this test.</p></div></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.test.performance.observations"/>Observations</h4></div></div></div><div class="section" title="Associative"><div class="titlepage"><div><div><h5 class="title"><a id="observations.associative"/>Associative</h5></div></div></div><div class="section" title="Underlying Data-Structure Families"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.underlying"/>
+         than this test.</p></div></div></div><div class="section" title="Observations"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.test.performance.observations"></a>Observations</h4></div></div></div><div class="section" title="Associative"><div class="titlepage"><div><div><h5 class="title"><a id="observations.associative"></a>Associative</h5></div></div></div><div class="section" title="Underlying Data-Structure Families"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.underlying"></a>
            Underlying Data-Structure Families
          </h6></div></div></div><p>In general, hash-based containers have better timing performance
          than containers based on different underlying-data structures. The
          order-preservation, or the ability to utilize node invariants. If
          memory-use is the major factor, an ordered-vector tree gives
          optimal results (albeit with high modificiation costs), and a
-         list-based container gives reasonable results.</p></div><div class="section" title="Hash-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash"/>
+         list-based container gives reasonable results.</p></div><div class="section" title="Hash-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash"></a>
            Hash-Based Containers
          </h6></div></div></div><p>Hash-based containers are typically either collision
          chaining or probing. Collision-chaining
          useful also in multithreaded applications where each thread
          manipulates a hash-based container: in the standard, allocators have
          class-wise semantics (see [meyers96more] - Item 10); a
-         probing container might incur less contention in this case.</p></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash_policies"/>
+         probing container might incur less contention in this case.</p></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.hash_policies"></a>
            Hash Policies
          </h6></div></div></div><p>In hash-based containers, the range-hashing scheme seems to
          affect performance more than other considerations. In most
          function.</p><p>An orthogonal consideration is the trigger policy. This
          presents difficult tradeoffs. E.g., different load
          factors in a load-check trigger policy yield a
-         space/amortized-cost tradeoff.</p></div><div class="section" title="Branch-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.branch"/>
+         space/amortized-cost tradeoff.</p></div><div class="section" title="Branch-Based Containers"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.branch"></a>
            Branch-Based Containers
          </h6></div></div></div><p>In general, there are several families of tree-based
          underlying data structures: balanced node-based trees
          maintaining such trees is higher than that of balanced trees.
          Moderate-fan-out trees might be useful for sequences where each
          element has a limited number of choices, e.g., DNA
-         strings.</p></div><div class="section" title="Mapping-Semantics"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.mapping_semantics"/>
+         strings.</p></div><div class="section" title="Mapping-Semantics"><div class="titlepage"><div><div><h6 class="title"><a id="observations.associative.mapping_semantics"></a>
            Mapping-Semantics
          </h6></div></div></div><p>Different mapping semantics were discussed in the introduction and design sections.Here
          the focus will be on the case where a keys can be composed into
          primary keys and secondary keys. (In the case where some keys
          are completely identical, it is trivial that one should use an
          associative container mapping values to size types.) In this
-         case there are (at least) five possibilities:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Use an associative container that allows equivalent-key
+         case there are (at least) five possibilities:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Use an associative container that allows equivalent-key
            values (such as <code class="classname">std::multimap</code>)</p></li><li class="listitem"><p>Use a unique-key value associative container that maps
            each primary key to some complex associative container of
            secondary keys, say a tree-based or hash-based container.
          but with very high constants; using 1 with a tree-based
          container, the cost is Θ(nlog(mn)). Using 2, 3,
          and 4, the expected cost is Θ(n), but typically
-         with far lower costs than 1. 5 is similar to 1.</p></div></div><div class="section" title="Priority_Queue"><div class="titlepage"><div><div><h5 class="title"><a id="observations.priority_queue"/>Priority_Queue</h5></div></div></div><div class="section" title="Complexity"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.complexity"/>Complexity</h6></div></div></div><p>The following table shows the complexities of the different
+         with far lower costs than 1. 5 is similar to 1.</p></div></div><div class="section" title="Priority_Queue"><div class="titlepage"><div><div><h5 class="title"><a id="observations.priority_queue"></a>Priority_Queue</h5></div></div></div><div class="section" title="Complexity"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.complexity"></a>Complexity</h6></div></div></div><p>The following table shows the complexities of the different
          underlying data structures in terms of orders of growth. It is
          interesting to note that this table implies something about the
          constants of the operations as well (see Amortized <code class="function">push</code>
-         and <code class="function">pop</code> operations).</p><div class="informaltable"><table border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/><col style="text-align: left" class="c6"/></colgroup><thead><tr><th style="text-align: left"> </th><th style="text-align: left"><span class="emphasis"><em><code class="function">push</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">pop</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">modify</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">erase</code></em></span></th><th style="text-align: left"><span class="emphasis"><em><code class="function">join</code></em></span></th></tr></thead><tbody><tr><td style="text-align: left">
+         and <code class="function">pop</code> operations).</p><div class="informaltable"><table border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /><col align="left" class="c6" /></colgroup><thead><tr><th align="left"> </th><th align="left"><span class="emphasis"><em><code class="function">push</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">pop</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">modify</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">erase</code></em></span></th><th align="left"><span class="emphasis"><em><code class="function">join</code></em></span></th></tr></thead><tbody><tr><td align="left">
                    <code class="classname">std::priority_queue</code>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n)) Worst
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n log(n)) Worst
                    <sub>[std note 1]</sub>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n log(n))
                    <sub>[std note 2]</sub>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n log(n))
                    <sub>[std note 1]</sub>
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
                    &lt;<code class="classname">Tag</code> =
                    <code class="classname">pairing_heap_tag</code>&gt;
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    O(1)
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    O(1)
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
                    &lt;<code class="classname">Tag</code> =
                    <code class="classname">binary_heap_tag</code>&gt;
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n)
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n)
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n)
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
                    &lt;<code class="classname">Tag</code> =
                    <code class="classname">binomial_heap_tag</code>&gt;
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n)) worst
                    O(1) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>
                    &lt;<code class="classname">Tag</code> =
                    <code class="classname">rc_binomial_heap_tag</code>&gt;
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    O(1)
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n))
-                 </td></tr><tr><td style="text-align: left">
+                 </td></tr><tr><td align="left">
                    <code class="classname">priority_queue</code>&lt;<code class="classname">Tag</code> =
                    <code class="classname">thin_heap_tag</code>&gt;
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    O(1)
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(log(n)) worst
                    O(1) amortized,
                    or Θ(log(n)) amortized
                    <sub>[thin_heap_note]</sub>
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n) worst
                    Θ(log(n)) amortized
-                 </td><td style="text-align: left">
+                 </td><td align="left">
                    Θ(n)
                  </td></tr></tbody></table></div><p>[std note 1] This
          is not a property of the algorithm, but rather due to the fact
          of the priority queue's comparison functor), then the amortized
          time is O(1), but if II) it decreases it, then the
          amortized time is the same as the worst case time. Note that
-         for most algorithms, I) is important and II) is not.</p></div><div class="section" title="Amortized push and pop operations"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.amortized_ops"/>
+         for most algorithms, I) is important and II) is not.</p></div><div class="section" title="Amortized push and pop operations"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.amortized_ops"></a>
            Amortized <code class="function">push</code>
            and <code class="function">pop</code> operations
          </h6></div></div></div><p>In many cases, a priority queue is needed primarily for
          terms of constants.</p><p>As the table shows, the "least constrained" underlying
          data structures are binary heaps and pairing heaps.
          Consequently, it is not surprising that they perform best in
-         terms of amortized constants.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Pairing heaps seem to perform best for non-primitive
+         terms of amortized constants.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Pairing heaps seem to perform best for non-primitive
            types (e.g., <code class="classname">std::string</code>s), as shown by
            Priority
            Queue Text <code class="function">push</code> Timing Test and Priority
            Queue Random Integer <code class="function">push</code> Timing Test and
            Priority
            Queue Random Integer <code class="function">push</code> and <code class="function">pop</code> Timing
-           Test.</p></li></ol></div></div><div class="section" title="Graph Algorithms"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.graphs"/>
+           Test.</p></li></ol></div></div><div class="section" title="Graph Algorithms"><div class="titlepage"><div><div><h6 class="title"><a id="observations.priority_queue.graphs"></a>
            Graph Algorithms
          </h6></div></div></div><p>In some graph algorithms, a decrease-key operation is
          required [clrs2001];
          as well. It is difficult to find an a-priori characterization of
          graphs in which the actual number of <code class="function">modify</code>
          operations will dwarf the number of <code class="function">push</code> and
-         <code class="function">pop</code> operations.</p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_biblio.html">Next</a></td></tr><tr><td align="left" valign="top">Design </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Acknowledgments</td></tr></table></div></body></html>
+         <code class="function">pop</code> operations.</p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_ack.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Design </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Acknowledgments</td></tr></table></div></body></html>
index fc520cc..c50dc39 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 22. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch21s02.html" title="Implementation"/><link rel="next" href="policy_data_structures_using.html" title="Using"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 22. Policy-Based Data Structures</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch21s02.html" title="Implementation" /><link rel="next" href="policy_data_structures_using.html" title="Using" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 22. Policy-Based Data Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 22. Policy-Based Data Structures"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"/>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
+</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 22. Policy-Based Data Structures"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.containers.pbds"></a>Chapter 22. Policy-Based Data Structures</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues">Performance Issues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span class="section"><a href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.policy">Policy Choices</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures</a></span></dt><dt><span class="section"><a href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use</a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.configuring">
            Configuring via Template Parameters
          </a></span></dt><dt><span class="section"><a href="policy_data_structures_using.html#pbds.using.tutorial.traits">
            Querying Container Attributes
@@ -65,9 +65,7 @@
          Text <code class="function">modify</code> Up
        </a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
          Text <code class="function">modify</code> Down
-       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_biblio.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">
-       Bibliography
-      </a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.intro"/>Intro</h2></div></div></div><p>
+       </a></span></dt></dl></dd><dt><span class="section"><a href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span class="section"><a href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="section"><a href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span class="bibliography"><a href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.intro"></a>Intro</h2></div></div></div><p>
       This is a library of policy-based elementary data structures:
       associative containers and priority queues. It is designed for
       high-performance, flexibility, semantic safety, and conformance to
@@ -75,7 +73,7 @@
       <code class="literal">std::tr1</code> (except for some points where it differs
       by design).
     </p><p>
-    </p><div class="section" title="Performance Issues"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.issues"/>Performance Issues</h3></div></div></div><p>
+    </p><div class="section" title="Performance Issues"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.issues"></a>Performance Issues</h3></div></div></div><p>
       </p><p>
        An attempt is made to categorize the wide variety of possible
        container designs in terms of performance-impacting factors. These
@@ -95,7 +93,7 @@
       </p><p>
        Specific issues found while unraveling performance factors in the
        design of associative containers and priority queues follow.
-      </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.associative"/>Associative</h4></div></div></div><p>
+      </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.associative"></a>Associative</h4></div></div></div><p>
          Associative containers depend on their composite policies to a very
          large extent. Implicitly hard-wiring policies can hamper their
          performance and limit their functionality. An efficient hash-based
          is a red-black tree, then splitting a reference to the container is
          exception-free; if it is an ordered-vector tree, exceptions can be
          thrown.
-       </p></div><div class="section" title="Priority Que"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.priority_queue"/>Priority Que</h4></div></div></div><p>
+       </p></div><div class="section" title="Priority Que"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.issues.priority_queue"></a>Priority Que</h4></div></div></div><p>
          Priority queues are useful when one needs to efficiently access a
          minimum (or maximum) value as the set of values changes.
        </p><p>
          expense of more difference in the the kinds of operations that the
          underlying data structure can support. These differences pose a
          challenge when creating a uniform interface for priority queues.
-       </p></div></div><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.motivation"/>Goals</h3></div></div></div><p>
+       </p></div></div><div class="section" title="Goals"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.intro.motivation"></a>Goals</h3></div></div></div><p>
        Many fine associative-container libraries were already written,
        most notably, the C++ standard's associative containers. Why
        then write another library? This section shows some possible
        only then adding hash-based containers, which are fundamentally
        different), did not standardize priority queues as containers,
        and (in our opinion) overloads the iterator concept.
-      </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.associative"/>Associative</h4></div></div></div><p>
-       </p><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.policy"/>Policy Choices</h5></div></div></div><p>
+      </p><div class="section" title="Associative"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.associative"></a>Associative</h4></div></div></div><p>
+       </p><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.policy"></a>Policy Choices</h5></div></div></div><p>
            Associative containers require a relatively large number of
            policies to function efficiently in various settings. In some
            cases this is needed for making their common operations more
            efficient, and in other cases this allows them to support a
            larger set of operations
-         </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                Hash-based containers, for example, support look-up and
                insertion methods (<code class="function">find</code> and
                <code class="function">insert</code>). In order to locate elements
                these invariants, one must supply some policy that is aware
                of these changes.  Without this, it would be better to use a
                linked list (in itself very efficient for these purposes).
-             </p></li></ol></div><div class="figure"><a id="id516222"/><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_node_invariants.png" style="text-align: middle" alt="Node Invariants"/></div></div></div><br class="figure-break"/></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"/>Underlying Data Structures</h5></div></div></div><p>
+             </p></li></ol></div><div class="figure"><a id="idp17575248"></a><p class="title"><strong>Figure 22.1. Node Invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_node_invariants.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
            The standard C++ library contains associative containers based on
            red-black trees and collision-chaining hash tables. These are
            very useful, but they are not ideal for all types of
          </p><p>
            The figure below shows the different underlying data structures
            currently supported in this library.
-         </p><div class="figure"><a id="id516278"/><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_different_underlying_dss_1.png" style="text-align: middle" alt="Underlying Associative Data Structures"/></div></div></div><br class="figure-break"/><p>
+         </p><div class="figure"><a id="idp17581968"></a><p class="title"><strong>Figure 22.2. Underlying Associative Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_1.png" align="middle" alt="Underlying Associative Data Structures" /></div></div></div><br class="figure-break" /><p>
            A shows a collision-chaining hash-table, B shows a probing
            hash-table, C shows a red-black tree, D shows a splay tree, E shows
            a tree based on an ordered vector(implicit in the order of the
            There are various other differences based on the container's
            underlying data structure. For one, they can be constructed by,
            and queried for, different policies. Furthermore:
-         </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                Containers based on C, D, E and F store elements in a
                meaningful order; the others store elements in a meaningless
                (and probably time-varying) order. By implication, only
            library iterators, for example) can ease generic manipulation of
            associative containers based on different underlying data
            structures.
-         </p></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.iterators"/>Iterators</h5></div></div></div><p>
+         </p></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.iterators"></a>Iterators</h5></div></div></div><p>
            Iterators are centric to the design of the standard library
            containers, because of the container/algorithm/iterator
            decomposition that allows an algorithm to operate on a range
            "ds_gen.html#find_range"&gt;Design::Associative
            Containers::Data-Structure Genericity::Point-Type and Range-Type
            Methods</span></em>.
-         </p><div class="section" title="Using Point Iterators for Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"/>Using Point Iterators for Range Operations</h6></div></div></div><p>
+         </p><div class="section" title="Using Point Iterators for Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.using"></a>Using Point Iterators for Range Operations</h6></div></div></div><p>
              Suppose <code class="classname">cntnr</code> is some associative
              container, and say <code class="varname">c</code> is an object of
              type <code class="classname">cntnr</code>. Then what will be the outcome
              no guarantee that the elements traversed will coincide with the
              <span class="emphasis"><em>logical</em></span> elements between 1 and 5, as in
              label B.
-           </p><div class="figure"><a id="id516541"/><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterators_range_ops_1.png" style="text-align: middle" alt="Node Invariants"/></div></div></div><br class="figure-break"/><p>
+           </p><div class="figure"><a id="idp17613664"></a><p class="title"><strong>Figure 22.3. Range Iteration in Different Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_1.png" align="middle" alt="Node Invariants" /></div></div></div><br class="figure-break" /><p>
              In our opinion, this problem is not caused just because
              red-black trees are order preserving while
              collision-chaining hash tables are (generally) not - it
              Consequently, applying an algorithm to a sequence obtained from most
              containers may or may not make sense, but applying it to a
              sub-sequence of a self-organizing container does not.
-           </p></div><div class="section" title="Cost to Point Iterators to Enable Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.cost"/>Cost to Point Iterators to Enable Range Operations</h6></div></div></div><p>
+           </p></div><div class="section" title="Cost to Point Iterators to Enable Range Operations"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.cost"></a>Cost to Point Iterators to Enable Range Operations</h6></div></div></div><p>
              Suppose <code class="varname">c</code> is some collision-chaining
              hash-based container object, and one calls
            </p><pre class="programlisting">c.find(3)</pre><p>
              list, as in the graphic below, label B.  Here the iterators are as
              light as can be, but the hash-table's operations are more
              complicated.
-           </p><div class="figure"><a id="id516665"/><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterators_range_ops_2.png" style="text-align: middle" alt="Point Iteration in Hash Data Structures"/></div></div></div><br class="figure-break"/><p>
+           </p><div class="figure"><a id="idp17628576"></a><p class="title"><strong>Figure 22.4. Point Iteration in Hash Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterators_range_ops_2.png" align="middle" alt="Point Iteration in Hash Data Structures" /></div></div></div><br class="figure-break" /><p>
              It should be noted that containers based on collision-chaining
              hash-tables are not the only ones with this type of behavior;
              many other self-organizing data structures display it as well.
-           </p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.invalidation"/>Invalidation Guarantees</h6></div></div></div><p>Consider the following snippet:</p><pre class="programlisting">
+           </p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h6 class="title"><a id="associative.iterators.invalidation"></a>Invalidation Guarantees</h6></div></div></div><p>Consider the following snippet:</p><pre class="programlisting">
              it = c.find(3);
              c.erase(5);
            </pre><p>
              container. The graphic below shows three cases: A1 and A2 show
              a red-black tree; B1 and B2 show a probing hash-table; C1 and C2
              show a collision-chaining hash table.
-           </p><div class="figure"><a id="id516742"/><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_invalidation_guarantee_erase.png" style="text-align: middle" alt="Effect of erase in different underlying data structures"/></div></div></div><br class="figure-break"/><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+           </p><div class="figure"><a id="idp17637776"></a><p class="title"><strong>Figure 22.5. Effect of erase in different underlying data structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_guarantee_erase.png" align="middle" alt="Effect of erase in different underlying data structures" /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                  Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can
                  be de-referenced and incremented. The sequence of iterators
                  changed, but in a way that is well-defined by the interface.
              to express whether <code class="varname">it</code> is valid or not. This
              is true also for <code class="function">insert</code>. Again, the
              iterator concept seems overloaded.
-           </p></div></div><div class="section" title="Functional"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.functions"/>Functional</h5></div></div></div><p>
+           </p></div></div><div class="section" title="Functional"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.associative.functions"></a>Functional</h5></div></div></div><p>
          </p><p>
            The design of the functional overlay to the underlying data
            structures differs slightly from some of the conventions used in
            rubric, the standard associative containers lack some useful
            methods, and provide other methods which would be better
            removed.
-         </p><div class="section" title="erase"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.erase"/><code class="function">erase</code></h6></div></div></div><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         </p><div class="section" title="erase"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.erase"></a><code class="function">erase</code></h6></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                  Order-preserving standard associative containers provide the
                  method
                </p><pre class="programlisting">
                  is almost certain to do something
                  different than erasing all elements whose keys are between 2
                  and 5, and is likely to produce other undefined behavior.
-               </p></li></ol></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.split"/>
+               </p></li></ol></div></div><div class="section" title="split and join"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.split"></a>
                <code class="function">split</code> and <code class="function">join</code>
              </h6></div></div></div><p>
              It is well-known that tree-based and trie-based container
              choices for tree-based container methods, especially, since as
              noted just before, they are efficient replacements for erasing
              sub-sequences.
-           </p></div><div class="section" title="insert"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.insert"/>
+           </p></div><div class="section" title="insert"><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.insert"></a>
                <code class="function">insert</code>
              </h6></div></div></div><p>
              The standard associative containers provide methods of the form
              similar to constructors taking a range given by a pair of
              iterators; the constructors, however, are transactional, whereas
              the insert methods are not; this is possibly confusing.
-           </p></div><div class="section" title="operator== and operator&lt;="><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.compare"/>
+           </p></div><div class="section" title="operator== and operator&lt;="><div class="titlepage"><div><div><h6 class="title"><a id="motivation.associative.functions.compare"></a>
                <code class="function">operator==</code> and <code class="function">operator&lt;=</code>
              </h6></div></div></div><p>
              Associative containers are parametrized by policies allowing to
              equivalence; also, are two containers considered equivalent if
              they store the same values in different order? this is an
              arbitrary decision.
-           </p></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.priority_queue"/>Priority Queues</h4></div></div></div><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.policy"/>Policy Choices</h5></div></div></div><p>
+           </p></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.intro.motivation.priority_queue"></a>Priority Queues</h4></div></div></div><div class="section" title="Policy Choices"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.policy"></a>Policy Choices</h5></div></div></div><p>
            Priority queues are containers that allow efficiently inserting
            values and accessing the maximal value (in the sense of the
            container's comparison functor). Their interface
            container <code class="classname">std::priorityqueue</code> indeed support
            these methods, but little else. For algorithmic and
            software-engineering purposes, other methods are needed:
-         </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                Many graph algorithms (see
                <a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>) require increasing a
                value in a priority queue (again, in the sense of the
                ask why do priority queues need to support iterators, since
                they are self-organizing containers with a different purpose
                than abstracting sequences. There are several reasons:
-             </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+             </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
                    Iterators (even in self-organizing containers) are
                    useful for many purposes: cross-referencing
                    containers, serialization, and debugging code that uses
                    comparing the iterator returned by <code class="function">find</code> to the
                    iterator returned by <code class="function">end</code>, and not by comparing a
                    pointer returned by <code class="function">find</code> to <span class="type">NULL</span>.
-                 </p></li></ol></div></li></ol></div></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.underlying"/>Underlying Data Structures</h5></div></div></div><p>
+                 </p></li></ol></div></li></ol></div></div><div class="section" title="Underlying Data Structures"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.underlying"></a>Underlying Data Structures</h5></div></div></div><p>
            There are three main implementations of priority queues: the
            first employs a binary heap, typically one which uses a
            sequence; the second uses a tree (or forest of trees), which is
            typically less structured than an associative container's tree;
            the third simply uses an associative container. These are
            shown in the figure below with labels A1 and A2, B, and C.
-         </p><div class="figure"><a id="id517306"/><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_different_underlying_dss_2.png" style="text-align: middle" alt="Underlying Priority Queue Data Structures"/></div></div></div><br class="figure-break"/><p>
+         </p><div class="figure"><a id="idp17705360"></a><p class="title"><strong>Figure 22.6. Underlying Priority Queue Data Structures</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_different_underlying_dss_2.png" align="middle" alt="Underlying Priority Queue Data Structures" /></div></div></div><br class="figure-break" /><p>
            No single implementation can completely replace any of the
            others. Some have better <code class="function">push</code>
            and <code class="function">pop</code> amortized performance, some have
            important for priority queues, since the invalidation guarantees
            of one of the most useful data structures - binary heaps - is
            markedly different than those of most of the others.
-         </p></div><div class="section" title="Binary Heaps"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.binary_heap"/>Binary Heaps</h5></div></div></div><p>
+         </p></div><div class="section" title="Binary Heaps"><div class="titlepage"><div><div><h5 class="title"><a id="motivation.priority_queue.binary_heap"></a>Binary Heaps</h5></div></div></div><p>
            Binary heaps are one of the most useful underlying
            data structures for priority queues. They are very efficient in
            terms of memory (since they don't require per-value structure
            several reasons why a binary-heap priority queue
            may be better implemented as a container instead of a
            sequence adapter:
-         </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                <code class="classname">std::priority_queue</code> cannot erase values
                from its adapted sequence (irrespective of the sequence
                type). This means that the memory use of
              </p></li><li class="listitem"><p>
                There does not seem to be a systematic way to determine
                what exactly can be done with the priority queue.
-             </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+             </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
                    If <code class="classname">p</code> is a priority queue adapting an
                    <code class="classname">std::vector</code>, then it is possible to iterate over
                    all values by using <code class="function">&amp;p.top()</code> and
                <code class="classname">std::priority_queue</code>, however, this will generally
                change the order of growth of the entire sequence of
                operations.
-             </p></li></ol></div></div></div></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.biblio"/>
-       Bibliography
-      </h2></div></div></div><div class="biblioentry" title="STL Exception Handling Contract"><a id="biblio.abrahams97exception"/><p>[biblio.abrahams97exception] <span class="title"><em>
-       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
+             </p></li></ol></div></div></div></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="STL Exception Handling Contract"><a id="biblio.abrahams97exception"></a><p>[biblio.abrahams97exception] <span class="title"><em>
+       <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf" target="_top">
          STL Exception Handling Contract
        </a>
       </em>. </span><span class="date">1997. </span><span class="author"><span class="firstname">
            Abrahams
          </span>. </span><span class="publisher"><span class="publishername">
          ISO SC22/WG21
-       . </span></span></p></div><div class="biblioentry" title="Modern C++ Design: Generic Programming and Design Patterns Applied"><a id="biblio.alexandrescu01modern"/><p>[biblio.alexandrescu01modern] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Modern C++ Design: Generic Programming and Design Patterns Applied"><a id="biblio.alexandrescu01modern"></a><p>[biblio.alexandrescu01modern] <span class="title"><em>
        Modern C++ Design: Generic Programming and Design Patterns Applied
       </em>. </span><span class="date">
        2001
            Alexandrescu
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem"><a id="biblio.andrew04mtf"/><p>[biblio.andrew04mtf] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem"><a id="biblio.andrew04mtf"></a><p>[biblio.andrew04mtf] <span class="title"><em>
        MTF, Bit, and COMB: A Guide to Deterministic and Randomized
        Algorithms for the List Update Problem
       </em>. </span><span class="authorgroup"><span class="firstname">
              D.
            </span> <span class="surname">
              Gleich
-           </span>. </span></p></div><div class="biblioentry" title="Why You Shouldn't Use set - and What You Should Use Instead"><a id="biblio.austern00noset"/><p>[biblio.austern00noset] <span class="title"><em>
+           </span>. </span></p></div><div class="biblioentry" title="Why You Shouldn't Use set - and What You Should Use Instead"><a id="biblio.austern00noset"></a><p>[biblio.austern00noset] <span class="title"><em>
        Why You Shouldn't Use set - and What You Should Use Instead
       </em>. </span><span class="date">
        April, 2000
            Austern
          </span>. </span><span class="publisher"><span class="publishername">
          C++ Report
-       . </span></span></p></div><div class="biblioentry" title="A Proposal to Add Hashtables to the Standard Library"><a id="biblio.austern01htprop"/><p>[biblio.austern01htprop] <span class="title"><em>
-       <a class="link" href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
+       . </span></span></p></div><div class="biblioentry" title="A Proposal to Add Hashtables to the Standard Library"><a id="biblio.austern01htprop"></a><p>[biblio.austern01htprop] <span class="title"><em>
+       <a class="link" href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html" target="_top">
          A Proposal to Add Hashtables to the Standard Library
        </a>
       </em>. </span><span class="date">
            Austern
          </span>. </span><span class="publisher"><span class="publishername">
          ISO SC22/WG21
-       . </span></span></p></div><div class="biblioentry" title="Segmented iterators and hierarchical algorithms"><a id="biblio.austern98segmentedit"/><p>[biblio.austern98segmentedit] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Segmented iterators and hierarchical algorithms"><a id="biblio.austern98segmentedit"></a><p>[biblio.austern98segmentedit] <span class="title"><em>
        Segmented iterators and hierarchical algorithms
       </em>. </span><span class="date">
        April, 1998
            Austern
          </span>. </span><span class="publisher"><span class="publishername">
          Generic Programming
-       . </span></span></p></div><div class="biblioentry" title="Boost Timer Library"><a id="biblio.dawestimer"/><p>[biblio.dawestimer] <span class="title"><em>
-       <a class="link" href="www.boost.org/doc/libs/release/libs/timer/">
+       . </span></span></p></div><div class="biblioentry" title="Boost Timer Library"><a id="biblio.dawestimer"></a><p>[biblio.dawestimer] <span class="title"><em>
+       <a class="link" href="www.boost.org/doc/libs/release/libs/timer/" target="_top">
          Boost Timer Library
        </a>
       </em>. </span><span class="author"><span class="firstname">
            Dawes
          </span>. </span><span class="publisher"><span class="publishername">
          Boost
-       . </span></span></p></div><div class="biblioentry" title="Boost Pool Library"><a id="biblio.clearypool"/><p>[biblio.clearypool] <span class="title"><em>
-       <a class="link" href="www.boost.org/doc/libs/release/libs/pool/">
+       . </span></span></p></div><div class="biblioentry" title="Boost Pool Library"><a id="biblio.clearypool"></a><p>[biblio.clearypool] <span class="title"><em>
+       <a class="link" href="www.boost.org/doc/libs/release/libs/pool/" target="_top">
          Boost Pool Library
        </a>
       </em>. </span><span class="author"><span class="firstname">
            Cleary
          </span>. </span><span class="publisher"><span class="publishername">
          Boost
-       . </span></span></p></div><div class="biblioentry" title="Boost Type Traits Library"><a id="biblio.maddocktraits"/><p>[biblio.maddocktraits] <span class="title"><em>
-       <a class="link" href="www.boost.org/doc/libs/release/libs/type_traits/">
+       . </span></span></p></div><div class="biblioentry" title="Boost Type Traits Library"><a id="biblio.maddocktraits"></a><p>[biblio.maddocktraits] <span class="title"><em>
+       <a class="link" href="www.boost.org/doc/libs/release/libs/type_traits/" target="_top">
          Boost Type Traits Library
        </a>
       </em>. </span><span class="authorgroup"><span class="firstname">
              Cleary
            </span>. </span><span class="publisher"><span class="publishername">
          Boost
-       . </span></span></p></div><div class="biblioentry" title="Worst-case efficient priority queues"><a id="biblio.brodal96priority"/><p>[biblio.brodal96priority] <span class="title"><em>
-       <a class="link" href="http://portal.acm.org/citation.cfm?id=313883">
+       . </span></span></p></div><div class="biblioentry" title="Worst-case efficient priority queues"><a id="biblio.brodal96priority"></a><p>[biblio.brodal96priority] <span class="title"><em>
+       <a class="link" href="https://dl.acm.org/citation.cfm?id=313883" target="_top">
          Worst-case efficient priority queues
        </a>
       </em>. </span><span class="author"><span class="firstname">
            Gerth
          </span> <span class="surname">
            Stolting Brodal
-         </span>. </span></p></div><div class="biblioentry" title="Efficient C++ Programming Techniques"><a id="biblio.bulkamayheweff"/><p>[biblio.bulkamayheweff] <span class="title"><em>
+         </span>. </span></p></div><div class="biblioentry" title="Efficient C++ Programming Techniques"><a id="biblio.bulkamayheweff"></a><p>[biblio.bulkamayheweff] <span class="title"><em>
        Efficient C++ Programming Techniques
       </em>. </span><span class="date">
        1997
              Mayhew
            </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Introduction to Algorithms, 2nd edition"><a id="biblio.clrs2001"/><p>[biblio.clrs2001] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Introduction to Algorithms, 2nd edition"><a id="biblio.clrs2001"></a><p>[biblio.clrs2001] <span class="title"><em>
        Introduction to Algorithms, 2nd edition
       </em>. </span><span class="date">
        2001
              Stein
            </span>. </span><span class="publisher"><span class="publishername">
          MIT Press
-       . </span></span></p></div><div class="biblioentry" title="Balls and bins: A study in negative dependence"><a id="biblio.dubhashi98neg"/><p>[biblio.dubhashi98neg] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Balls and bins: A study in negative dependence"><a id="biblio.dubhashi98neg"></a><p>[biblio.dubhashi98neg] <span class="title"><em>
        Balls and bins: A study in negative dependence
       </em>. </span><span class="date">
        1998
              Ranjan
            </span>. </span><span class="publisher"><span class="publishername">
          Random Structures and Algorithms 13
-       . </span></span></p></div><div class="biblioentry" title="Extendible hashing - a fast access method for dynamic files"><a id="biblio.fagin79extendible"/><p>[biblio.fagin79extendible] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Extendible hashing - a fast access method for dynamic files"><a id="biblio.fagin79extendible"></a><p>[biblio.fagin79extendible] <span class="title"><em>
        Extendible hashing - a fast access method for dynamic files
       </em>. </span><span class="date">
        1979
              Strong
            </span>. </span><span class="publisher"><span class="publishername">
          ACM Trans. Database Syst. 4
-       . </span></span></p></div><div class="biblioentry" title="Ptset: Sets of integers implemented as Patricia trees"><a id="biblio.filliatre2000ptset"/><p>[biblio.filliatre2000ptset] <span class="title"><em>
-       <a class="link" href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
+       . </span></span></p></div><div class="biblioentry" title="Ptset: Sets of integers implemented as Patricia trees"><a id="biblio.filliatre2000ptset"></a><p>[biblio.filliatre2000ptset] <span class="title"><em>
+       <a class="link" href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml" target="_top">
          Ptset: Sets of integers implemented as Patricia trees
        </a>
       </em>. </span><span class="date">
            Jean-Christophe
          </span> <span class="surname">
            Filliatre
-         </span>. </span></p></div><div class="biblioentry" title="The pairing heap: a new form of self-adjusting heap"><a id="biblio.fredman86pairing"/><p>[biblio.fredman86pairing] <span class="title"><em>
-       <a class="link" href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
+         </span>. </span></p></div><div class="biblioentry" title="The pairing heap: a new form of self-adjusting heap"><a id="biblio.fredman86pairing"></a><p>[biblio.fredman86pairing] <span class="title"><em>
+       <a class="link" href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf" target="_top">
          The pairing heap: a new form of self-adjusting heap
        </a>
       </em>. </span><span class="date">
              R. E.
            </span> <span class="surname">
              Tarjan
-           </span>. </span></p></div><div class="biblioentry" title="Design Patterns - Elements of Reusable Object-Oriented Software"><a id="biblio.gof"/><p>[biblio.gof] <span class="title"><em>
+           </span>. </span></p></div><div class="biblioentry" title="Design Patterns - Elements of Reusable Object-Oriented Software"><a id="biblio.gof"></a><p>[biblio.gof] <span class="title"><em>
        Design Patterns - Elements of Reusable Object-Oriented Software
       </em>. </span><span class="date">
        1995
              Vlissides
            </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Order-preserving key transformations"><a id="biblio.garg86order"/><p>[biblio.garg86order] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Order-preserving key transformations"><a id="biblio.garg86order"></a><p>[biblio.garg86order] <span class="title"><em>
        Order-preserving key transformations
       </em>. </span><span class="date">
        1986
              Gotlieb
            </span>. </span><span class="publisher"><span class="publishername">
          Trans. Database Syst. 11
-       . </span></span></p></div><div class="biblioentry" title="Making a real hash of things"><a id="biblio.hyslop02making"/><p>[biblio.hyslop02making] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Making a real hash of things"><a id="biblio.hyslop02making"></a><p>[biblio.hyslop02making] <span class="title"><em>
        Making a real hash of things
       </em>. </span><span class="date">
        May 2002
              Sutter
            </span>. </span><span class="publisher"><span class="publishername">
          C++ Report
-       . </span></span></p></div><div class="biblioentry" title="The C++ Standard Library - A Tutorial and Reference"><a id="biblio.jossutis01stl"/><p>[biblio.jossutis01stl] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="The C++ Standard Library - A Tutorial and Reference"><a id="biblio.jossutis01stl"></a><p>[biblio.jossutis01stl] <span class="title"><em>
        The C++ Standard Library - A Tutorial and Reference
       </em>. </span><span class="date">
        2001
            Jossutis
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="New Heap Data Structures"><a id="biblio.kt99fat_heaps"/><p>[biblio.kt99fat_heaps] <span class="title"><em>
-       <a class="link" href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
+       . </span></span></p></div><div class="biblioentry" title="New Heap Data Structures"><a id="biblio.kt99fat_heaps"></a><p>[biblio.kt99fat_heaps] <span class="title"><em>
+       <a class="link" href="http://www.cs.princeton.edu/research/techreps/TR-597-99" target="_top">
          New Heap Data Structures
        </a>
       </em>. </span><span class="date">
              Robert E.
            </span> <span class="surname">
              Tarjan
-           </span>. </span></p></div><div class="biblioentry" title="Are Set Iterators Mutable or Immutable?"><a id="biblio.kleft00sets"/><p>[biblio.kleft00sets] <span class="title"><em>
+           </span>. </span></p></div><div class="biblioentry" title="Are Set Iterators Mutable or Immutable?"><a id="biblio.kleft00sets"></a><p>[biblio.kleft00sets] <span class="title"><em>
        Are Set Iterators Mutable or Immutable?
       </em>. </span><span class="date">
        October 2000
              Kleft
            </span>. </span><span class="publisher"><span class="publishername">
          C/C++ Users Jornal
-       . </span></span></p></div><div class="biblioentry" title="The Art of Computer Programming - Sorting and Searching"><a id="biblio.knuth98sorting"/><p>[biblio.knuth98sorting] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="The Art of Computer Programming - Sorting and Searching"><a id="biblio.knuth98sorting"></a><p>[biblio.knuth98sorting] <span class="title"><em>
        The Art of Computer Programming - Sorting and Searching
       </em>. </span><span class="date">
        1998
            Knuth
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Data abstraction and hierarchy"><a id="biblio.liskov98data"/><p>[biblio.liskov98data] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Data abstraction and hierarchy"><a id="biblio.liskov98data"></a><p>[biblio.liskov98data] <span class="title"><em>
        Data abstraction and hierarchy
       </em>. </span><span class="date">
        May 1998
            Liskov
          </span>. </span><span class="publisher"><span class="publishername">
          SIGPLAN Notices 23
-       . </span></span></p></div><div class="biblioentry" title="Linear hashing: A new tool for file and table addressing"><a id="biblio.litwin80lh"/><p>[biblio.litwin80lh] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Linear hashing: A new tool for file and table addressing"><a id="biblio.litwin80lh"></a><p>[biblio.litwin80lh] <span class="title"><em>
        Linear hashing: A new tool for file and table addressing
       </em>. </span><span class="date">
        June 1980
            Litwin
          </span>. </span><span class="publisher"><span class="publishername">
          Proceedings of International Conference on Very Large Data Bases
-       . </span></span></p></div><div class="biblioentry" title="Deamortization - Part 2: Binomial Heaps"><a id="biblio.maverik_lowerbounds"/><p>[biblio.maverik_lowerbounds] <span class="title"><em>
-       <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
+       . </span></span></p></div><div class="biblioentry" title="Deamortization - Part 2: Binomial Heaps"><a id="biblio.maverik_lowerbounds"></a><p>[biblio.maverik_lowerbounds] <span class="title"><em>
+       <a class="link" href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps" target="_top">
          Deamortization - Part 2: Binomial Heaps
        </a>
       </em>. </span><span class="date">
            Maverik
          </span> <span class="surname">
            Woo
-         </span>. </span></p></div><div class="biblioentry" title="More Effective C++: 35 New Ways to Improve Your Programs and Designs"><a id="biblio.meyers96more"/><p>[biblio.meyers96more] <span class="title"><em>
+         </span>. </span></p></div><div class="biblioentry" title="More Effective C++: 35 New Ways to Improve Your Programs and Designs"><a id="biblio.meyers96more"></a><p>[biblio.meyers96more] <span class="title"><em>
        More Effective C++: 35 New Ways to Improve Your Programs and Designs
       </em>. </span><span class="date">
        1996
            Meyers
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="How Non-Member Functions Improve Encapsulation"><a id="biblio.meyers00nonmember"/><p>[biblio.meyers00nonmember] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="How Non-Member Functions Improve Encapsulation"><a id="biblio.meyers00nonmember"></a><p>[biblio.meyers00nonmember] <span class="title"><em>
        How Non-Member Functions Improve Encapsulation
       </em>. </span><span class="date">
        2000
            Meyers
          </span>. </span><span class="publisher"><span class="publishername">
          C/C++ Users Journal
-       . </span></span></p></div><div class="biblioentry" title="Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library"><a id="biblio.meyers01stl"/><p>[biblio.meyers01stl] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library"><a id="biblio.meyers01stl"></a><p>[biblio.meyers01stl] <span class="title"><em>
        Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
       </em>. </span><span class="date">
        2001
            Meyers
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Class Template, Member Template - or Both?"><a id="biblio.meyers02both"/><p>[biblio.meyers02both] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Class Template, Member Template - or Both?"><a id="biblio.meyers02both"></a><p>[biblio.meyers02both] <span class="title"><em>
        Class Template, Member Template - or Both?
       </em>. </span><span class="date">
        2003
            Meyers
          </span>. </span><span class="publisher"><span class="publishername">
          C/C++ Users Journal
-       . </span></span></p></div><div class="biblioentry" title="Randomized Algorithms"><a id="biblio.motwani95random"/><p>[biblio.motwani95random] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Randomized Algorithms"><a id="biblio.motwani95random"></a><p>[biblio.motwani95random] <span class="title"><em>
        Randomized Algorithms
       </em>. </span><span class="date">
        2003
              Raghavan
            </span>. </span><span class="publisher"><span class="publishername">
          Cambridge University Press
-       . </span></span></p></div><div class="biblioentry" title="COM: Component Model Object Technologies"><a id="biblio.mscom"/><p>[biblio.mscom] <span class="title"><em>
-       <a class="link" href="http://www.microsoft.com/com">
+       . </span></span></p></div><div class="biblioentry" title="COM: Component Model Object Technologies"><a id="biblio.mscom"></a><p>[biblio.mscom] <span class="title"><em>
+       <a class="link" href="https://www.microsoft.com/com/" target="_top">
          COM: Component Model Object Technologies
        </a>
       </em>. </span><span class="publisher"><span class="publishername">
          Microsoft
-       . </span></span></p></div><div class="biblioentry" title="Rationale for Adding Hash Tables to the C++ Standard Template Library"><a id="biblio.musser95rationale"/><p>[biblio.musser95rationale] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Rationale for Adding Hash Tables to the C++ Standard Template Library"><a id="biblio.musser95rationale"></a><p>[biblio.musser95rationale] <span class="title"><em>
        Rationale for Adding Hash Tables to the C++ Standard Template Library
       </em>. </span><span class="date">
        1995
            David R.
          </span> <span class="surname">
            Musser
-         </span>. </span></p></div><div class="biblioentry" title="STL Tutorial and Reference Guide"><a id="biblio.musser96stltutorial"/><p>[biblio.musser96stltutorial] <span class="title"><em>
+         </span>. </span></p></div><div class="biblioentry" title="STL Tutorial and Reference Guide"><a id="biblio.musser96stltutorial"></a><p>[biblio.musser96stltutorial] <span class="title"><em>
        STL Tutorial and Reference Guide
       </em>. </span><span class="date">
        1996
              Saini
            </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Priority Queues and the STL"><a id="biblio.nelson96stlpq"/><p>[biblio.nelson96stlpq] <span class="title"><em>
-       <a class="link" href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
+       . </span></span></p></div><div class="biblioentry" title="Priority Queues and the STL"><a id="biblio.nelson96stlpq"></a><p>[biblio.nelson96stlpq] <span class="title"><em>
+       <a class="link" href="http://www.dogma.net/markn/articles/pq_stl/priority.htm" target="_top">Priority Queues and the STL
        </a>
       </em>. </span><span class="date">
        January 1996
            Nelson
          </span>. </span><span class="publisher"><span class="publishername">
          Dr. Dobbs Journal
-       . </span></span></p></div><div class="biblioentry" title="Fast mergeable integer maps"><a id="biblio.okasaki98mereable"/><p>[biblio.okasaki98mereable] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Fast mergeable integer maps"><a id="biblio.okasaki98mereable"></a><p>[biblio.okasaki98mereable] <span class="title"><em>
        Fast mergeable integer maps
       </em>. </span><span class="date">
        September 1998
              Gill
            </span>. </span><span class="publisher"><span class="publishername">
          In Workshop on ML
-       . </span></span></p></div><div class="biblioentry" title="Standard Template Library Programmer's Guide"><a id="biblio.sgi_stl"/><p>[biblio.sgi_stl] <span class="title"><em>
-       <a class="link" href="http://www.sgi.com/tech/stl">
+       . </span></span></p></div><div class="biblioentry" title="Standard Template Library Programmer's Guide"><a id="biblio.sgi_stl"></a><p>[biblio.sgi_stl] <span class="title"><em>
+       <a class="link" href="http://www.sgi.com/tech/stl/" target="_top">
          Standard Template Library Programmer's Guide
        </a>
       </em>. </span><span class="author"><span class="firstname">
            Austern
          </span>. </span><span class="publisher"><span class="publishername">
          SGI
-       . </span></span></p></div><div class="biblioentry" title="select"><a id="biblio.select_man"/><p>[biblio.select_man] <span class="title"><em>
-       <a class="link" href="http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select">
+       . </span></span></p></div><div class="biblioentry" title="select"><a id="biblio.select_man"></a><p>[biblio.select_man] <span class="title"><em>
+       <a class="link" href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html" target="_top">
          select
        </a>
-      </em>. </span></p></div><div class="biblioentry" title="Amortized Efficiency of List Update Problems"><a id="biblio.sleator84amortized"/><p>[biblio.sleator84amortized] <span class="title"><em>
+      </em>. </span></p></div><div class="biblioentry" title="Amortized Efficiency of List Update Problems"><a id="biblio.sleator84amortized"></a><p>[biblio.sleator84amortized] <span class="title"><em>
        Amortized Efficiency of List Update Problems
       </em>. </span><span class="date">
        1984
              Tarjan
            </span>. </span><span class="publisher"><span class="publishername">
          ACM Symposium on Theory of Computing
-       . </span></span></p></div><div class="biblioentry" title="Self-Adjusting Binary Search Trees"><a id="biblio.sleator85self"/><p>[biblio.sleator85self] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="Self-Adjusting Binary Search Trees"><a id="biblio.sleator85self"></a><p>[biblio.sleator85self] <span class="title"><em>
        Self-Adjusting Binary Search Trees
       </em>. </span><span class="date">
        1985
              Tarjan
            </span>. </span><span class="publisher"><span class="publishername">
          ACM Symposium on Theory of Computing
-       . </span></span></p></div><div class="biblioentry" title="The Standard Template Library"><a id="biblio.stepanov94standard"/><p>[biblio.stepanov94standard] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="The Standard Template Library"><a id="biblio.stepanov94standard"></a><p>[biblio.stepanov94standard] <span class="title"><em>
        The Standard Template Library
       </em>. </span><span class="date">
        1984
              M.
            </span> <span class="surname">
              Lee
-           </span>. </span></p></div><div class="biblioentry" title="The C++ Programming Langugage"><a id="biblio.stroustrup97cpp"/><p>[biblio.stroustrup97cpp] <span class="title"><em>
+           </span>. </span></p></div><div class="biblioentry" title="The C++ Programming Langugage"><a id="biblio.stroustrup97cpp"></a><p>[biblio.stroustrup97cpp] <span class="title"><em>
        The C++ Programming Langugage
       </em>. </span><span class="date">
        1997
            Stroustrup
          </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="C++ Templates: The Complete Guide"><a id="biblio.vandevoorde2002cpptemplates"/><p>[biblio.vandevoorde2002cpptemplates] <span class="title"><em>
+       . </span></span></p></div><div class="biblioentry" title="C++ Templates: The Complete Guide"><a id="biblio.vandevoorde2002cpptemplates"></a><p>[biblio.vandevoorde2002cpptemplates] <span class="title"><em>
        C++ Templates: The Complete Guide
       </em>. </span><span class="date">
        2002
              Josuttis
            </span>. </span><span class="publisher"><span class="publishername">
          Addison-Wesley Publishing Company
-       . </span></span></p></div><div class="biblioentry" title="Thirty Years Among the Dead"><a id="biblio.wickland96thirty"/><p>[biblio.wickland96thirty] <span class="title"><em>
-       <a class="link" href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
+       . </span></span></p></div><div class="biblioentry" title="Thirty Years Among the Dead"><a id="biblio.wickland96thirty"></a><p>[biblio.wickland96thirty] <span class="title"><em>
+       <a class="link" href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip" target="_top">
          Thirty Years Among the Dead
        </a>
       </em>. </span><span class="date">
            Wickland
          </span>. </span><span class="publisher"><span class="publishername">
          National Psychological Institute
-       . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr><tr><td align="left" valign="top">Implementation </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Using</td></tr></table></div></body></html>
+       . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch21s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Using</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html b/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html
new file mode 100644 (file)
index 0000000..9676af8
--- /dev/null
@@ -0,0 +1,29 @@
+<?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>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_based_data_structures_test.html" title="Testing" /><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p>
+      Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
+      Laboratories), and Benjamin Kosnik (Red Hat).
+    </p><p>
+      This library was partially written at
+      <a class="link" href="http://www.haifa.il.ibm.com/" target="_top">IBM's Haifa Research Labs</a>.
+      It is based heavily on policy-based design and uses many useful
+      techniques from Modern C++ Design: Generic Programming and Design
+      Patterns Applied by Andrei Alexandrescu.
+    </p><p>
+      Two ideas are borrowed from the SGI-STL implementation:
+    </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+         The prime-based resize policies use a list of primes taken from
+         the SGI-STL implementation.
+       </p></li><li class="listitem"><p>
+         The red-black trees contain both a root node and a header node
+         (containing metadata), connected in a way that forward and
+         reverse iteration can be performed efficiently.
+       </p></li></ol></div><p>
+      Some test utilities borrow ideas from
+      <a class="link" href="http://www.boost.org/doc/libs/release/libs/timer/index.html" target="_top">boost::timer</a>.
+    </p><p>
+      We would like to thank Scott Meyers for useful comments (without
+      attributing to him any flaws in the design or implementation of the
+      library).
+    </p><p>We would like to thank Matt Austern for the suggestion to
+    include tries.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Testing </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 23. HP/SGI Extensions</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html b/libstdc++-v3/doc/html/manual/policy_data_structures_biblio.html
deleted file mode 100644 (file)
index aaaef16..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Acknowledgments</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_based_data_structures_test.html" title="Testing"/><link rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Acknowledgments</th></tr><tr><td align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr></table><hr/></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h2 class="title"><a id="pbds.ack"/>Acknowledgments</h2></div></div></div><p>
-      Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
-      Laboratories), and Benjamin Kosnik (Red Hat).
-    </p><p>
-      This library was partially written at
-      <a class="link" href="http://www.haifa.il.ibm.com/">IBM's Haifa Research Labs</a>.
-      It is based heavily on policy-based design and uses many useful
-      techniques from Modern C++ Design: Generic Programming and Design
-      Patterns Applied by Andrei Alexandrescu.
-    </p><p>
-      Two ideas are borrowed from the SGI-STL implementation:
-    </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
-         The prime-based resize policies use a list of primes taken from
-         the SGI-STL implementation.
-       </p></li><li class="listitem"><p>
-         The red-black trees contain both a root node and a header node
-         (containing metadata), connected in a way that forward and
-         reverse iteration can be performed efficiently.
-       </p></li></ol></div><p>
-      Some test utilities borrow ideas from
-      <a class="link" href="http://www.boost.org/doc/libs/release/libs/timer/index.html">boost::timer</a>.
-    </p><p>
-      We would like to thank Scott Meyers for useful comments (without
-      attributing to him any flaws in the design or implementation of the
-      library).
-    </p><p>We would like to thank Matt Austern for the suggestion to
-    include tries.</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_based_data_structures_test.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="ext_containers.html">Next</a></td></tr><tr><td align="left" valign="top">Testing </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 23. HP/SGI Extensions</td></tr></table></div></body></html>
index f1f1416..877460b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures_using.html" title="Using"/><link rel="next" href="policy_based_data_structures_test.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 align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title"><a id="containers.pbds.design"/>Design</h2></div></div></div><p/><div class="section" title="Concepts"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"/>Concepts</h3></div></div></div><div class="section" title="Null Policy Classes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"/>Null Policy Classes</h4></div></div></div><p>
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures_using.html" title="Using" /><link rel="next" href="policy_based_data_structures_test.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="policy_data_structures_using.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div class="section" title="Concepts"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div class="section" title="Null Policy Classes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.null_type"></a>Null Policy Classes</h4></div></div></div><p>
        Associative containers are typically parametrized by various
        policies. For example, a hash-based associative container is
        parametrized by a hash-functor, transforming each key into an
@@ -27,7 +27,7 @@
        places simplifications are made possible with this technique
        include node updates in tree and trie data structures, and hash
        and probe functions for hash data structures.
-      </p></div><div class="section" title="Map and Set Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.associative_semantics"/>Map and Set Semantics</h4></div></div></div><div class="section" title="Distinguishing Between Maps and Sets"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.set_vs_map"/>
+      </p></div><div class="section" title="Map and Set Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.associative_semantics"></a>Map and Set Semantics</h4></div></div></div><div class="section" title="Distinguishing Between Maps and Sets"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.set_vs_map"></a>
            Distinguishing Between Maps and Sets
          </h5></div></div></div><p>
          Anyone familiar with the standard knows that there are four kinds
@@ -93,7 +93,7 @@
        </p><p>
          When one uses a "multimap," one should choose with care the
          type of container used for secondary keys.
-       </p></div><div class="section" title="Alternatives to std::multiset and std::multimap"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.multi"/>Alternatives to <code class="classname">std::multiset</code> and <code class="classname">std::multimap</code></h5></div></div></div><p>
+       </p></div><div class="section" title="Alternatives to std::multiset and std::multimap"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.associative_semantics.multi"></a>Alternatives to <code class="classname">std::multiset</code> and <code class="classname">std::multimap</code></h5></div></div></div><p>
          Brace onself: this library does not contain containers like
          <code class="classname">std::multimap</code> or
          <code class="classname">std::multiset</code>. Instead, these data
          naturally; collision-chaining hash tables (label B) store
          equivalent-key values in the same bucket, the bucket can be
          arranged so that equivalent-key values are consecutive.
-       </p><div class="figure"><a id="id519449"/><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_1.png" style="text-align: middle" alt="Non-unique Mapping Standard Containers"/></div></div></div><br class="figure-break"/><p>
+       </p><div class="figure"><a id="idp17962720"></a><p class="title"><strong>Figure 22.8. Non-unique Mapping Standard Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique Mapping Standard Containers" /></div></div></div><br class="figure-break" /><p>
          Put differently, the standards' non-unique mapping
          associative-containers are associative containers that map
          primary keys to linked lists that are embedded into the
          containers from the first graphic above, this time with
          the embedded linked lists of the grayed nodes marked
          explicitly.
-       </p><div class="figure"><a id="fig.pbds_embedded_lists_2"/><p class="title"><strong>Figure 22.9. 
+       </p><div class="figure"><a id="fig.pbds_embedded_lists_2"></a><p class="title"><strong>Figure 22.9. 
            Effect of embedded lists in
            <code class="classname">std::multimap</code>
-         </strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_2.png" style="text-align: middle" alt="Effect of embedded lists in std::multimap"/></div></div></div><br class="figure-break"/><p>
+         </strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_2.png" align="middle" alt="Effect of embedded lists in std::multimap" /></div></div></div><br class="figure-break" /><p>
          These embedded linked lists have several disadvantages.
-       </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
              The underlying data structure embeds the linked lists
              according to its own consideration, which means that the
              search path for a value might include several different
          The above reasons hold even when the ratio of secondary keys to
          primary keys (or average number of identical keys) is small, but
          when it is large, there are more severe problems:
-       </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
              The underlying data structures order the links inside each
              embedded linked-lists according to their internal
              considerations, which effectively means that each of the
          first graphic above. Labels A and B, respectively. Each shaded
          box represents some size-type or secondary
          associative-container.
-       </p><div class="figure"><a id="id519645"/><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_embedded_lists_3.png" style="text-align: middle" alt="Non-unique Mapping Containers"/></div></div></div><br class="figure-break"/><p>
+       </p><div class="figure"><a id="idp17986224"></a><p class="title"><strong>Figure 22.10. Non-unique Mapping Containers</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique Mapping Containers" /></div></div></div><br class="figure-break" /><p>
          In the first example above, then, one would use an associative
          container mapping each user to an associative container which
          maps each application id to a start time (see
        </p><p>
          See the discussion in list-based container types for containers
          especially suited as secondary associative-containers.
-       </p></div></div><div class="section" title="Iterator Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.iterator_semantics"/>Iterator Semantics</h4></div></div></div><div class="section" title="Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.point_and_range"/>Point and Range Iterators</h5></div></div></div><p>
+       </p></div></div><div class="section" title="Iterator Semantics"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.iterator_semantics"></a>Iterator Semantics</h4></div></div></div><div class="section" title="Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.point_and_range"></a>Point and Range Iterators</h5></div></div></div><p>
          Iterator concepts are bifurcated in this design, and are
          comprised of point-type and range-type iteration.
        </p><p>
        implementation, including that of C++ standard library
        components), but in this design, it is made explicit. They are
        distinct types.
-       </p></div><div class="section" title="Distinguishing Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.both"/>Distinguishing Point and Range Iterators</h5></div></div></div><p>When using this library, is necessary to differentiate
+       </p></div><div class="section" title="Distinguishing Point and Range Iterators"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.iterator_semantics.both"></a>Distinguishing Point and Range Iterators</h5></div></div></div><p>When using this library, is necessary to differentiate
        between two types of methods and iterators: point-type methods and
        iterators, and range-type methods and iterators. Each associative
        container's interface includes the methods:</p><pre class="programlisting">
        shows invariants for order-preserving containers: point-type
        iterators are synonymous with range-type iterators.
        Orthogonally,  <span class="emphasis"><em>C</em></span>shows invariants for "set"
-       containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="id519810"/><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_point_iterator_hierarchy.png" style="text-align: middle" alt="Point Iterator Hierarchy"/></div></div></div><br class="figure-break"/><p>Note that point-type iterators in self-organizing containers
+       containers: iterators are synonymous with const iterators.</p><div class="figure"><a id="idp18006032"></a><p class="title"><strong>Figure 22.11. Point Iterator Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_point_iterator_hierarchy.png" align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br class="figure-break" /><p>Note that point-type iterators in self-organizing containers
        (hash-based associative containers) lack movement
        operators, such as <code class="literal">operator++</code> - in fact, this
        is the reason why this library differentiates from the standard C++ librarys
        a concept in C++ standardese, which is the category of iterators
        with no movement capabilities.) All other standard C++ library
        tags, such as <code class="literal">forward_iterator_tag</code> retain their
-       common use.</p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.design.concepts.invalidation"/>Invalidation Guarantees</h5></div></div></div><p>
+       common use.</p></div><div class="section" title="Invalidation Guarantees"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.design.concepts.invalidation"></a>Invalidation Guarantees</h5></div></div></div><p>
          If one manipulates a container object, then iterators previously
          obtained from it can be invalidated. In some cases a
          previously-obtained iterator cannot be de-referenced; in other cases,
          to the question of whether point-type iterators and range-type
          iterators are valid. The graphic below shows tags corresponding to
          different types of invalidation guarantees.
-       </p><div class="figure"><a id="id519922"/><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_invalidation_tag_hierarchy.png" style="text-align: middle" alt="Invalidation Guarantee Tags Hierarchy"/></div></div></div><br class="figure-break"/><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+       </p><div class="figure"><a id="idp18019376"></a><p class="title"><strong>Figure 22.12. Invalidation Guarantee Tags Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" align="middle" alt="Invalidation Guarantee Tags Hierarchy" /></div></div></div><br class="figure-break" /><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
              <code class="classname">basic_invalidation_guarantee</code>
              corresponds to a basic guarantee that a point-type iterator,
              a found pointer, or a found reference, remains valid as long
          our opinion, an invalidation-guarantee hierarchy would solve
          these problems in all container types - not just associative
          containers.
-       </p></div></div><div class="section" title="Genericity"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.genericity"/>Genericity</h4></div></div></div><p>
+       </p></div></div><div class="section" title="Genericity"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.concepts.genericity"></a>Genericity</h4></div></div></div><p>
        The design attempts to address the following problem of
        data-structure genericity. When writing a function manipulating
        a generic container object, what is the behavior of the object?
       </pre><p>
        then one needs to address the following questions in the body
        of <code class="function">some_op_sequence</code>:
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            Which types and methods does <code class="literal">Cntnr</code> support?
            Containers based on hash tables can be queries for the
            hash-functor type and object; this is meaningless for tree-based
            capabilities? What is the relationship between two different
            data structures, if anything?
          </p></li></ul></div><p>The remainder of this section explains these issues in
-      detail.</p><div class="section" title="Tag"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.tag"/>Tag</h5></div></div></div><p>
+      detail.</p><div class="section" title="Tag"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.tag"></a>Tag</h5></div></div></div><p>
          Tags are very useful for manipulating generic types. For example, if
          <code class="literal">It</code> is an iterator class, then <code class="literal">typename
          It::iterator_category</code> or <code class="literal">typename
        </p><p>
          This library contains a container tag hierarchy corresponding to the
          diagram below.
-       </p><div class="figure"><a id="id520174"/><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_container_tag_hierarchy.png" style="text-align: middle" alt="Container Tag Hierarchy"/></div></div></div><br class="figure-break"/><p>
+       </p><div class="figure"><a id="idp18049600"></a><p class="title"><strong>Figure 22.13. Container Tag Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_container_tag_hierarchy.png" align="middle" alt="Container Tag Hierarchy" /></div></div></div><br class="figure-break" /><p>
          Given any container <span class="type">Cntnr</span>, the tag of
          the underlying data structure can be found via <code class="literal">typename
          Cntnr::container_category</code>.
-       </p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.traits"/>Traits</h5></div></div></div><p/><p>Additionally, a traits mechanism can be used to query a
+       </p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h5 class="title"><a id="concepts.genericity.traits"></a>Traits</h5></div></div></div><p></p><p>Additionally, a traits mechanism can be used to query a
        container type for its attributes. Given any container
        <code class="literal">Cntnr</code>, then <code class="literal">&lt;Cntnr&gt;</code>
        is a traits class identifying the properties of the
          otherwise <code class="classname">container_traits&lt;Cntnr&gt;::split_join_can_throw</code>
          will yield a compilation error. (This is somewhat similar to a
          compile-time version of the COM model).
-       </p></div></div></div><div class="section" title="By Container"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.container"/>By Container</h3></div></div></div><div class="section" title="hash"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.hash"/>hash</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.interface"/>Interface</h5></div></div></div><p>
+       </p></div></div></div><div class="section" title="By Container"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.design.container"></a>By Container</h3></div></div></div><div class="section" title="hash"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.hash"></a>hash</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.interface"></a>Interface</h5></div></div></div><p>
          The collision-chaining hash-based container has the
        following declaration.</p><pre class="programlisting">
          template&lt;
          bool Store_Hash = false,
          typename Allocator = std::allocator&lt;char&gt; &gt;
          class cc_hash_table;
-       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Hash_Fn</code> is a key hashing functor.</p></li><li class="listitem"><p><code class="classname">Eq_Fn</code> is a key equivalence functor.</p></li><li class="listitem"><p><code class="classname">Comb_Hash_Fn</code> is a range-hashing_functor;
+       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Hash_Fn</code> is a key hashing functor.</p></li><li class="listitem"><p><code class="classname">Eq_Fn</code> is a key equivalence functor.</p></li><li class="listitem"><p><code class="classname">Comb_Hash_Fn</code> is a range-hashing_functor;
          it describes how to translate hash values into positions
          within the table. </p></li><li class="listitem"><p><code class="classname">Resize_Policy</code> describes how a container object
          should change its internal size. </p></li><li class="listitem"><p><code class="classname">Store_Hash</code> indicates whether the hash value
          typename Allocator =  std::allocator&lt;char&gt; &gt;
          class gp_hash_table;
        </pre><p>The parameters are identical to those of the
-       collision-chaining container, except for the following.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes how to transform a probe
+       collision-chaining container, except for the following.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes how to transform a probe
          sequence into a sequence of positions within the table.</p></li><li class="listitem"><p><code class="classname">Probe_Fn</code> describes a probe sequence policy.</p></li></ol></div><p>Some of the default template values depend on the values of
-       other parameters, and are explained below.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.details"/>Details</h5></div></div></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.hash_policies"/>Hash Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.general"/>General</h6></div></div></div><p>Following is an explanation of some functions which hashing
-           involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="id520506"/><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
-             range-hashing functions</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" style="text-align: middle" alt="Hash functions, ranged-hash functions, and range-hashing functions"/></div></div></div><br class="figure-break"/><p>Let U be a domain (e.g., the integers, or the
+       other parameters, and are explained below.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.hash.details"></a>Details</h5></div></div></div><div class="section" title="Hash Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.hash_policies"></a>Hash Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.general"></a>General</h6></div></div></div><p>Following is an explanation of some functions which hashing
+           involves. The graphic below illustrates the discussion.</p><div class="figure"><a id="idp18089744"></a><p class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, and
+             range-hashing functions</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" align="middle" alt="Hash functions, ranged-hash functions, and range-hashing functions" /></div></div></div><br class="figure-break" /><p>Let U be a domain (e.g., the integers, or the
            strings of 3 characters). A hash-table algorithm needs to map
            elements of U "uniformly" into the range [0,..., m -
            1] (where m is a non-negative integral value, and
            Z<sub>+</sub>,</p><p>which maps a non-negative hash value, and a non-negative
            range upper-bound into a non-negative integral in the range
            between 0 (inclusive) and the range upper bound (exclusive),
-           i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="id520621"/><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
+           i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a id="idp18103552"></a><p class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div class="equation-contents"><span class="mathphrase">
                f(u , m) = g(h(u), m)
-             </span></div></div><br class="equation-break"/><p>From the above, it is obvious that given g and
+             </span></div></div><br class="equation-break" /><p>From the above, it is obvious that given g and
            h, f can always be composed (however the converse
            is not true). The standard's hash-based containers allow specifying
            a hash function, and use a hard-wired range-hashing function;
            probe function transforming the hash value into a
            sequence of hash values, and a range-hashing function
            transforming the sequence of hash values into a sequence of
-           positions.</p></div><div class="section" title="Range Hashing"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.range"/>Range Hashing</h6></div></div></div><p>Some common choices for range-hashing functions are the
+           positions.</p></div><div class="section" title="Range Hashing"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.range"></a>Range Hashing</h6></div></div></div><p>Some common choices for range-hashing functions are the
            division, multiplication, and middle-square methods (<a class="xref" href="policy_data_structures.html#biblio.knuth98sorting" title="The Art of Computer Programming - Sorting and Searching">[biblio.knuth98sorting]</a>), defined
-           as</p><div class="equation"><a id="id520670"/><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
+           as</p><div class="equation"><a id="idp18109440"></a><p class="title"><strong>Equation 22.2. Range-Hashing, Division Method</strong></p><div class="equation-contents"><span class="mathphrase">
                g(r, m) = r mod m
-             </span></div></div><br class="equation-break"/><p>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</p><p>respectively, for some positive integrals u and
+             </span></div></div><br class="equation-break" /><p>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</p><p>respectively, for some positive integrals u and
            v (typically powers of 2), and some a. Each of
            these range-hashing functions works best for some different
            setting.</p><p>The division method (see above) is a
            implement using the low
            level % (modulo) operation (for any m), or the
            low level &amp; (bit-mask) operation (for the case where
-           m is a power of 2), i.e.,</p><div class="equation"><a id="id520708"/><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
+           m is a power of 2), i.e.,</p><div class="equation"><a id="idp18113952"></a><p class="title"><strong>Equation 22.3. Division via Prime Modulo</strong></p><div class="equation-contents"><span class="mathphrase">
                g(r, m) = r % m
-             </span></div></div><br class="equation-break"/><p>and</p><div class="equation"><a id="id520723"/><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
+             </span></div></div><br class="equation-break" /><p>and</p><div class="equation"><a id="idp18115776"></a><p class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div class="equation-contents"><span class="mathphrase">
                g(r, m) = r &amp; m - 1, (with m =
                2<sup>k</sup> for some k)
-             </span></div></div><br class="equation-break"/><p>respectively.</p><p>The % (modulo) implementation has the advantage that for
+             </span></div></div><br class="equation-break" /><p>respectively.</p><p>The % (modulo) implementation has the advantage that for
            m a prime far from a power of 2, g(r, m) is
            affected by all the bits of r (minimizing the chance of
            collision). It has the disadvantage of using the costly modulo
            relying on the fast bit-wise and operation. It has the
            disadvantage that for g(r, m) is affected only by the
            low order bits of r. This method is hard-wired into
-           Dinkumware's implementation.</p></div><div class="section" title="Ranged Hash"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.ranged"/>Ranged Hash</h6></div></div></div><p>In cases it is beneficial to allow the
+           Dinkumware's implementation.</p></div><div class="section" title="Ranged Hash"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.ranged"></a>Ranged Hash</h6></div></div></div><p>In cases it is beneficial to allow the
            client to directly specify a ranged-hash hash function. It is
            true, that the writer of the ranged-hash function cannot rely
            on the values of m having specific numerical properties
              s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]
            </p><p>be a string of t characters, each of which is from
            domain S. Consider the following ranged-hash
-           function:</p><div class="equation"><a id="id520803"/><p class="title"><strong>Equation 22.5. 
+           function:</p><div class="equation"><a id="idp18125408"></a><p class="title"><strong>Equation 22.5. 
                A Standard String Hash Function
              </strong></p><div class="equation-contents"><span class="mathphrase">
                f<sub>1</sub>(s, m) = ∑ <sub>i =
                0</sub><sup>t - 1</sup> s<sub>i</sub> a<sup>i</sup> mod m
-             </span></div></div><br class="equation-break"/><p>where a is some non-negative integral value. This is
+             </span></div></div><br class="equation-break" /><p>where a is some non-negative integral value. This is
            the standard string-hashing function used in SGI's
            implementation (with a = 5). Its advantage is that
            it takes into account all of the characters of the string.</p><p>Now assume that s is the string representation of a
            of a long DNA sequence (and so S = {'A', 'C', 'G',
            'T'}). In this case, scanning the entire string might be
            prohibitively expensive. A possible alternative might be to use
-           only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="id520854"/><p class="title"><strong>Equation 22.6. 
+           only the first k characters of the string, where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash function</p><div class="equation"><a id="idp18131552"></a><p class="title"><strong>Equation 22.6. 
                Only k String DNA Hash
              </strong></p><div class="equation-contents"><span class="mathphrase">
                f<sub>2</sub>(s, m) = ∑ <sub>i
                = 0</sub><sup>k - 1</sup> s<sub>i</sub> a<sup>i</sup> mod m 
-             </span></div></div><br class="equation-break"/><p>requiring scanning over only</p><p>k = log<sub>4</sub>( m )</p><p>characters.</p><p>Other more elaborate hash-functions might scan k
+             </span></div></div><br class="equation-break" /><p>requiring scanning over only</p><p>k = log<sub>4</sub>( m )</p><p>characters.</p><p>Other more elaborate hash-functions might scan k
            characters starting at a random position (determined at each
            resize), or scanning k random positions (determined at
            each resize), i.e., using</p><p>f<sub>3</sub>(s, m) = ∑ <sub>i =
            1</sup> s<sub>r</sub>i a<sup>r<sub>i</sub></sup> mod
            m ,</p><p>respectively, for r<sub>0</sub>,..., r<sub>k-1</sub>
            each in the (inclusive) range [0,...,t-1].</p><p>It should be noted that the above functions cannot be
-           decomposed as per a ranged hash composed of hash and range hashing.</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.implementation"/>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of
+           decomposed as per a ranged hash composed of hash and range hashing.</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="details.hash_policies.implementation"></a>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of
            the above in this library. It first explains range-hashing
            functions in collision-chaining tables, then ranged-hash
            functions in collision-chaining tables, then probing-based
            tables, and finally lists the relevant classes in this
-           library.</p><div class="section" title="Range-Hashing and Ranged-Hashes in Collision-Chaining Tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.collision-chaining"/>
+           library.</p><div class="section" title="Range-Hashing and Ranged-Hashes in Collision-Chaining Tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.collision-chaining"></a>
                Range-Hashing and Ranged-Hashes in Collision-Chaining Tables
              </h6></div></div></div><p><code class="classname">cc_hash_table</code> is
              parametrized by <code class="classname">Hash_Fn</code> and <code class="classname">Comb_Hash_Fn</code>, a
              the container transforms the key into a non-negative integral
              using the hash functor (points B and C), and transforms the
              result into a position using the combining functor (points D
-             and E).</p><div class="figure"><a id="id521043"/><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" style="text-align: middle" alt="Insert hash sequence diagram"/></div></div></div><br class="figure-break"/><p>If <code class="classname">cc_hash_table</code>'s
+             and E).</p><div class="figure"><a id="idp18154176"></a><p class="title"><strong>Figure 22.15. Insert hash sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" align="middle" alt="Insert hash sequence diagram" /></div></div></div><br class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s
              hash-functor, <code class="classname">Hash_Fn</code> is instantiated by <code class="classname">null_type</code> , then <code class="classname">Comb_Hash_Fn</code> is taken to be
              a ranged-hash function. The graphic below shows an <code class="function">insert</code> sequence
              diagram. The user inserts an element (point A), the container
              transforms the key into a position using the combining functor
-             (points B and C).</p><div class="figure"><a id="id521102"/><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" style="text-align: middle" alt="Insert hash sequence diagram with a null policy"/></div></div></div><br class="figure-break"/></div><div class="section" title="Probing tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"/>
+             (points B and C).</p><div class="figure"><a id="idp18161232"></a><p class="title"><strong>Figure 22.16. Insert hash sequence diagram with a null policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" alt="Insert hash sequence diagram with a null policy" /></div></div></div><br class="figure-break" /></div><div class="section" title="Probing tables"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.probe"></a>
                Probing tables
              </h6></div></div></div><p><code class="classname">gp_hash_table</code> is parametrized by
              <code class="classname">Hash_Fn</code>, <code class="classname">Probe_Fn</code>,
              functor, <code class="classname">Probe_Fn</code> is a functor for offsets
              from a hash value, and <code class="classname">Comb_Probe_Fn</code>
              transforms a probe sequence into a sequence of positions within
-             the table.</p></div><div class="section" title="Pre-Defined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.predefined"/>
+             the table.</p></div><div class="section" title="Pre-Defined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="hash_policies.implementation.predefined"></a>
                Pre-Defined Policies
              </h6></div></div></div><p>This library contains some pre-defined classes
-             implementing range-hashing and probing functions:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">direct_mask_range_hashing</code>
+             implementing range-hashing and probing functions:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">direct_mask_range_hashing</code>
                and <code class="classname">direct_mod_range_hashing</code>
                are range-hashing functions based on a bit-mask and a modulo
                operation, respectively.</p></li><li class="listitem"><p><code class="classname">linear_probe_fn</code>, and
                a linear probe and a quadratic probe function,
                respectively.</p></li></ol></div><p>
                The graphic below shows the relationships.
-             </p><div class="figure"><a id="id521241"/><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_hash_policy_cd.png" style="text-align: middle" alt="Hash policy class diagram"/></div></div></div><br class="figure-break"/></div></div></div><div class="section" title="Resize Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"/>Resize Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"/>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
+             </p><div class="figure"><a id="idp18178048"></a><p class="title"><strong>Figure 22.17. Hash policy class diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" alt="Hash policy class diagram" /></div></div></div><br class="figure-break" /></div></div></div><div class="section" title="Resize Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.resize_policies"></a>Resize Policies</h6></div></div></div><div class="section" title="General"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, as opposed to trees, do not naturally grow or
            shrink. It is necessary to specify policies to determine how
            and when a hash table should change its size. Usually, resize
-           policies can be decomposed into orthogonal policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A size policy indicating how a hash table
+           policies can be decomposed into orthogonal policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A size policy indicating how a hash table
              should grow (e.g., it should multiply by powers of
              2).</p></li><li class="listitem"><p>A trigger policy indicating when a hash
              table should grow (e.g., a load factor is
-             exceeded).</p></li></ol></div></div><div class="section" title="Size Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.size"/>Size Policies</h6></div></div></div><p>Size policies determine how a hash table changes size. These
+             exceeded).</p></li></ol></div></div><div class="section" title="Size Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.size"></a>Size Policies</h6></div></div></div><p>Size policies determine how a hash table changes size. These
            policies are simple, and there are relatively few sensible
            options. An exponential-size policy (with the initial size and
            growth factors both powers of 2) works well with a mask-based
            hard-wired policy used by Dinkumware. A
            prime-list based policy works well with a modulo-prime range
            hashing function and is the hard-wired policy used by SGI's
-           implementation.</p></div><div class="section" title="Trigger Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.trigger"/>Trigger Policies</h6></div></div></div><p>Trigger policies determine when a hash table changes size.
+           implementation.</p></div><div class="section" title="Trigger Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.trigger"></a>Trigger Policies</h6></div></div></div><p>Trigger policies determine when a hash table changes size.
            Following is a description of two policies: load-check
            policies, and collision-check policies.</p><p>Load-check policies are straightforward. The user specifies
            two factors, Α<sub>min</sub> and
            and some load factor be denoted by Α. We would like to
            calculate the minimal length of k, such that if there were Α
            m elements in the hash table, a probe sequence of length k would
-           be found with probability at most 1/m.</p><div class="figure"><a id="id521400"/><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_balls_and_bins.png" style="text-align: middle" alt="Balls and bins"/></div></div></div><br class="figure-break"/><p>Denote the probability that a probe sequence of length
+           be found with probability at most 1/m.</p><div class="figure"><a id="idp18197088"></a><p class="title"><strong>Figure 22.18. Balls and bins</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" /></div></div></div><br class="figure-break" /><p>Denote the probability that a probe sequence of length
            k appears in bin i by p<sub>i</sub>, the
            length of the probe sequence of bin i by
-           l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="id521446"/><p class="title"><strong>Equation 22.7. 
+           l<sub>i</sub>, and assume uniform distribution. Then</p><div class="equation"><a id="idp18202592"></a><p class="title"><strong>Equation 22.7. 
                Probability of Probe Sequence of Length k
              </strong></p><div class="equation-contents"><span class="mathphrase">
                p<sub>1</sub> = 
-             </span></div></div><br class="equation-break"/><p>P(l<sub>1</sub> ≥ k) =</p><p>
+             </span></div></div><br class="equation-break" /><p>P(l<sub>1</sub> ≥ k) =</p><p>
              P(l<sub>1</sub> ≥ α ( 1 + k / α - 1) ≤ (a)
            </p><p>
              e ^ ( - ( α ( k / α - 1 )<sup>2</sup> ) /2)
            l<sub>i</sub> are negatively-dependent
            (<a class="xref" href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and bins: A study in negative dependence">[biblio.dubhashi98neg]</a>)
            . Let
-           I(.) denote the indicator function. Then</p><div class="equation"><a id="id521502"/><p class="title"><strong>Equation 22.8. 
+           I(.) denote the indicator function. Then</p><div class="equation"><a id="idp18209360"></a><p class="title"><strong>Equation 22.8. 
                Probability Probe Sequence in Some Bin
              </strong></p><div class="equation-contents"><span class="mathphrase">
                P( exists<sub>i</sub> l<sub>i</sub> ≥ k ) = 
-             </span></div></div><br class="equation-break"/><p>P ( ∑ <sub>i = 1</sub><sup>m</sup>
+             </span></div></div><br class="equation-break" /><p>P ( ∑ <sub>i = 1</sub><sup>m</sup>
            I(l<sub>i</sub> ≥ k) ≥ 1 ) =</p><p>P ( ∑ <sub>i = 1</sub><sup>m</sup> I (
            l<sub>i</sub> ≥ k ) ≥ m p<sub>1</sub> ( 1 + 1 / (m
            p<sub>1</sub>) - 1 ) ) ≤ (a)</p><p>e ^ ( ( - m p<sub>1</sub> ( 1 / (m p<sub>1</sub>)
            be applied to negatively-dependent variables (<a class="xref" href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and bins: A study in negative dependence">[biblio.dubhashi98neg]</a>). Inserting the first probability
            equation into the second one, and equating with 1/m, we
            obtain</p><p>k ~ √ ( 2 α ln 2 m ln(m) )
-           ) .</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl"/>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of the
+           ) .</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl"></a>Implementation</h6></div></div></div><p>This sub-subsection describes the implementation of the
            above in this library. It first describes resize policies and
            their decomposition into trigger and size policies, then
            describes pre-defined classes, and finally discusses controlled
-           access the policies' internals.</p><div class="section" title="Decomposition"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.decomposition"/>Decomposition</h6></div></div></div><p>Each hash-based container is parametrized by a
+           access the policies' internals.</p><div class="section" title="Decomposition"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.decomposition"></a>Decomposition</h6></div></div></div><p>Each hash-based container is parametrized by a
              <code class="classname">Resize_Policy</code> parameter; the container derives
              <code class="classname">public</code>ly from <code class="classname">Resize_Policy</code>. For
              example:</p><pre class="programlisting">
              a resize is needed, and if so, what is the new size (points D
              to G); following the resize, it notifies the policy that a
              resize has completed (point H); finally, the element is
-             inserted, and the policy notified (point I).</p><div class="figure"><a id="id521656"/><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" style="text-align: middle" alt="Insert resize sequence diagram"/></div></div></div><br class="figure-break"/><p>In practice, a resize policy can be usually orthogonally
+             inserted, and the policy notified (point I).</p><div class="figure"><a id="idp18227776"></a><p class="title"><strong>Figure 22.19. Insert resize sequence diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" alt="Insert resize sequence diagram" /></div></div></div><br class="figure-break" /><p>In practice, a resize policy can be usually orthogonally
              decomposed to a size policy and a trigger policy. Consequently,
              the library contains a single class for instantiating a resize
              policy: <code class="classname">hash_standard_resize_policy</code>
              both, and acts as a standard delegate (<a class="xref" href="policy_data_structures.html#biblio.gof" title="Design Patterns - Elements of Reusable Object-Oriented Software">[biblio.gof]</a>)
              to these policies.</p><p>The two graphics immediately below show sequence diagrams
              illustrating the interaction between the standard resize policy
-             and its trigger and size policies, respectively.</p><div class="figure"><a id="id521721"/><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
-               diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" style="text-align: middle" alt="Standard resize policy trigger sequence diagram"/></div></div></div><br class="figure-break"/><div class="figure"><a id="id521756"/><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
-               diagram</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_insert_resize_sequence_diagram3.png" style="text-align: middle" alt="Standard resize policy size sequence diagram"/></div></div></div><br class="figure-break"/></div><div class="section" title="Predefined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.predefined"/>Predefined Policies</h6></div></div></div><p>The library includes the following
-             instantiations of size and trigger policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">hash_load_check_resize_trigger</code>
+             and its trigger and size policies, respectively.</p><div class="figure"><a id="idp18235600"></a><p class="title"><strong>Figure 22.20. Standard resize policy trigger sequence
+               diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" alt="Standard resize policy trigger sequence diagram" /></div></div></div><br class="figure-break" /><div class="figure"><a id="idp18239760"></a><p class="title"><strong>Figure 22.21. Standard resize policy size sequence
+               diagram</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_insert_resize_sequence_diagram3.png" align="middle" alt="Standard resize policy size sequence diagram" /></div></div></div><br class="figure-break" /></div><div class="section" title="Predefined Policies"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.predefined"></a>Predefined Policies</h6></div></div></div><p>The library includes the following
+             instantiations of size and trigger policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">hash_load_check_resize_trigger</code>
                implements a load check trigger policy.</p></li><li class="listitem"><p><code class="classname">cc_hash_max_collision_check_resize_trigger</code>
                implements a collision check trigger policy.</p></li><li class="listitem"><p><code class="classname">hash_exponential_size_policy</code>
                implements an exponential-size policy (which should be used
              instantiated by <code class="classname">hash_load_check_resize_trigger</code>,
              or <code class="classname">cc_hash_max_collision_check_resize_trigger</code>;
              <code class="classname">Size_Policy</code> is instantiated by <code class="classname">hash_exponential_size_policy</code>,
-             or <code class="classname">hash_prime_size_policy</code>.</p></div><div class="section" title="Controling Access to Internals"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.internals"/>Controling Access to Internals</h6></div></div></div><p>There are cases where (controlled) access to resize
+             or <code class="classname">hash_prime_size_policy</code>.</p></div><div class="section" title="Controling Access to Internals"><div class="titlepage"><div><div><h6 class="title"><a id="resize_policies.impl.internals"></a>Controling Access to Internals</h6></div></div></div><p>There are cases where (controlled) access to resize
              policies' internals is beneficial. E.g., it is sometimes
              useful to query a hash-table for the table's actual size (as
              opposed to its <code class="function">size()</code> - the number of values it
              </pre><p>which resizes the container. Implementations of
              <code class="classname">Resize_Policy</code> can export public methods for resizing
              the container externally; these methods internally call
-             <code class="classname">do_resize</code> to resize the table.</p></div></div></div><div class="section" title="Policy Interactions"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.policy_interaction"/>Policy Interactions</h6></div></div></div><p>
+             <code class="classname">do_resize</code> to resize the table.</p></div></div></div><div class="section" title="Policy Interactions"><div class="titlepage"><div><div><h6 class="title"><a id="container.hash.details.policy_interaction"></a>Policy Interactions</h6></div></div></div><p>
          </p><p>Hash-tables are unfortunately especially susceptible to
          choice of policies. One of the more complicated aspects of this
          is that poor combinations of good policies can form a poor
-         container. Following are some considerations.</p><div class="section" title="probe/size/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.probesizetrigger"/>probe/size/trigger</h6></div></div></div><p>Some combinations do not work well for probing containers.
+         container. Following are some considerations.</p><div class="section" title="probe/size/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.probesizetrigger"></a>probe/size/trigger</h6></div></div></div><p>Some combinations do not work well for probing containers.
            For example, combining a quadratic probe policy with an
            exponential size policy can yield a poor container: when an
            element is inserted, a trigger policy might decide that there
            the unused entries.</p><p>Unfortunately, this library cannot detect such problems at
            compilation (they are halting reducible). It therefore defines
            an exception class <code class="classname">insert_error</code> to throw an
-           exception in this case.</p></div><div class="section" title="hash/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.hashtrigger"/>hash/trigger</h6></div></div></div><p>Some trigger policies are especially susceptible to poor
+           exception in this case.</p></div><div class="section" title="hash/trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.hashtrigger"></a>hash/trigger</h6></div></div></div><p>Some trigger policies are especially susceptible to poor
            hash functions. Suppose, as an extreme case, that the hash
            function transforms each key to the same hash value. After some
            inserts, a collision detecting policy will always indicate that
            the container needs to grow.</p><p>The library, therefore, by design, limits each operation to
            one resize. For each <code class="classname">insert</code>, for example, it queries
-           only once whether a resize is needed.</p></div><div class="section" title="equivalence functors/storing hash values/hash"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.eqstorehash"/>equivalence functors/storing hash values/hash</h6></div></div></div><p><code class="classname">cc_hash_table</code> and
+           only once whether a resize is needed.</p></div><div class="section" title="equivalence functors/storing hash values/hash"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.eqstorehash"></a>equivalence functors/storing hash values/hash</h6></div></div></div><p><code class="classname">cc_hash_table</code> and
            <code class="classname">gp_hash_table</code> are
            parametrized by an equivalence functor and by a
            <code class="classname">Store_Hash</code> parameter. If the latter parameter is
            collisions for other types.</p><p>If a ranged-hash function or ranged probe function is
            directly supplied, however, then it makes no sense to store the
            hash value with each entry. This library's container will
-           fail at compilation, by design, if this is attempted.</p></div><div class="section" title="size/load-check trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.sizeloadtrigger"/>size/load-check trigger</h6></div></div></div><p>Assume a size policy issues an increasing sequence of sizes
+           fail at compilation, by design, if this is attempted.</p></div><div class="section" title="size/load-check trigger"><div class="titlepage"><div><div><h6 class="title"><a id="policy_interaction.sizeloadtrigger"></a>size/load-check trigger</h6></div></div></div><p>Assume a size policy issues an increasing sequence of sizes
            a, a q, a q<sup>1</sup>, a q<sup>2</sup>, ... For
            example, an exponential size policy might issue the sequence of
            sizes 8, 16, 32, 64, ...</p><p>If a load-check trigger policy is used, with loads
            α<sub>min</sub> and α<sub>max</sub>,
-           respectively, then it is a good idea to have:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>α<sub>max</sub> ~ 1 / q</p></li><li class="listitem"><p>α<sub>min</sub> &lt; 1 / (2 q)</p></li></ol></div><p>This will ensure that the amortized hash cost of each
+           respectively, then it is a good idea to have:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>α<sub>max</sub> ~ 1 / q</p></li><li class="listitem"><p>α<sub>min</sub> &lt; 1 / (2 q)</p></li></ol></div><p>This will ensure that the amortized hash cost of each
            modifying operation is at most approximately 3.</p><p>α<sub>min</sub> ~ α<sub>max</sub> is, in
            any case, a bad choice, and α<sub>min</sub> &gt;
-           α <sub>max</sub> is horrendous.</p></div></div></div></div><div class="section" title="tree"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.tree"/>tree</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.interface"/>Interface</h5></div></div></div><p>The tree-based container has the following declaration:</p><pre class="programlisting">
+           α <sub>max</sub> is horrendous.</p></div></div></div></div><div class="section" title="tree"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.tree"></a>tree</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.interface"></a>Interface</h5></div></div></div><p>The tree-based container has the following declaration:</p><pre class="programlisting">
          template&lt;
          typename Key,
          typename Mapped,
          class Node_Update = null_node_update,
          typename Allocator = std::allocator&lt;char&gt; &gt;
          class tree;
-       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a key comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
+       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a key comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
          to use.</p></li><li class="listitem"><p><code class="classname">Node_Update</code> is a policy for updating node
          invariants.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
          type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
        Note that containers based on the former two contain more types
        and methods than the latter (e.g.,
        <code class="classname">reverse_iterator</code> and <code class="classname">rbegin</code>), and different
-       exception and invalidation guarantees.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.details"/>Details</h5></div></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node"/>Node Invariants</h6></div></div></div><p>Consider the two trees in the graphic below, labels A and B. The first
+       exception and invalidation guarantees.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.tree.details"></a>Details</h5></div></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node"></a>Node Invariants</h6></div></div></div><p>Consider the two trees in the graphic below, labels A and B. The first
          is a tree of floats; the second is a tree of pairs, each
          signifying a geometric line interval. Each element in a tree is refered to as a node of the tree. Of course, each of
          these trees can support the usual queries: the first can easily
          each node, and maintains node invariants (see <a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>.) The first stores in
          each node the size of the sub-tree rooted at the node; the
          second stores at each node the maximal endpoint of the
-         intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="id522406"/><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_invariants.png" style="text-align: middle" alt="Tree node invariants"/></div></div></div><br class="figure-break"/><p>Supporting such trees is difficult for a number of
-         reasons:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>There must be a way to specify what a node's metadata
+         intervals at the sub-tree rooted at the node.</p><div class="figure"><a id="idp18317728"></a><p class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node invariants" /></div></div></div><br class="figure-break" /><p>Supporting such trees is difficult for a number of
+         reasons:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>There must be a way to specify what a node's metadata
            should be (if any).</p></li><li class="listitem"><p>Various operations can invalidate node
            invariants.  The graphic below shows how a right rotation,
            performed on A, results in B, with nodes x and y having
            metadata.</p></li><li class="listitem"><p>It is not feasible to know in advance which methods trees
            can support. Besides the usual <code class="classname">find</code> method, the
            first tree can support a <code class="classname">find_by_order</code> method, while
-           the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="id522484"/><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_invalidations.png" style="text-align: middle" alt="Tree node invalidation"/></div></div></div><br class="figure-break"/><p>These problems are solved by a combination of two means:
+           the second can support an <code class="classname">overlaps</code> method.</p></li></ol></div><div class="figure"><a id="idp18327168"></a><p class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree node invalidation" /></div></div></div><br class="figure-break" /><p>These problems are solved by a combination of two means:
          node iterators, and template-template node updater
-         parameters.</p><div class="section" title="Node Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.iterators"/>Node Iterators</h6></div></div></div><p>Each tree-based container defines two additional iterator
+         parameters.</p><div class="section" title="Node Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.iterators"></a>Node Iterators</h6></div></div></div><p>Each tree-based container defines two additional iterator
            types, <code class="classname">const_node_iterator</code>
            and <code class="classname">node_iterator</code>.
            These iterators allow descending from a node to one of its
              node_end(); 
            </pre><p>The first pairs return node iterators corresponding to the
            root node of the tree; the latter pair returns node iterators
-           corresponding to a just-after-leaf node.</p></div><div class="section" title="Node Updator"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.updator"/>Node Updator</h6></div></div></div><p>The tree-based containers are parametrized by a
+           corresponding to a just-after-leaf node.</p></div><div class="section" title="Node Updator"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.node.updator"></a>Node Updator</h6></div></div></div><p>The tree-based containers are parametrized by a
            <code class="classname">Node_Update</code> template-template parameter. A
            tree-based container instantiates
            <code class="classname">Node_Update</code> to some
            <code class="classname">node_update</code> class, and publicly subclasses
            <code class="classname">node_update</code>. The graphic below shows this
            scheme, as well as some predefined policies (which are explained
-           below).</p><div class="figure"><a id="id522594"/><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_tree_node_updator_policy_cd.png" style="text-align: middle" alt="A tree and its update policy"/></div></div></div><br class="figure-break"/><p><code class="classname">node_update</code> (an instantiation of
+           below).</p><div class="figure"><a id="idp18340336"></a><p class="title"><strong>Figure 22.24. A tree and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A tree and its update policy" /></div></div></div><br class="figure-break" /><p><code class="classname">node_update</code> (an instantiation of
            <code class="classname">Node_Update</code>) must define <code class="classname">metadata_type</code> as
            the type of metadata it requires. For order statistics,
            e.g., <code class="classname">metadata_type</code> might be <code class="classname">size_t</code>.
            <code class="classname">nd_it</code>. For example, say node x in the
            graphic below label A has an invalid invariant, but its' children,
            y and z have valid invariants. After the invocation, all three
-           nodes should have valid invariants, as in label B.</p><div class="figure"><a id="id522691"/><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_restoring_node_invariants.png" style="text-align: middle" alt="Restoring node invariants"/></div></div></div><br class="figure-break"/><p>When a tree operation might invalidate some node invariant,
+           nodes should have valid invariants, as in label B.</p><div class="figure"><a id="idp18352000"></a><p class="title"><strong>Figure 22.25. Restoring node invariants</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_restoring_node_invariants.png" align="middle" alt="Restoring node invariants" /></div></div></div><br class="figure-break" /><p>When a tree operation might invalidate some node invariant,
            it invokes this method in its <code class="classname">node_update</code> base to
            restore the invariant. For example, the graphic below shows
            an <code class="function">insert</code> operation (point A); the tree performs some
            C, and D). (It is well known that any <code class="function">insert</code>,
            <code class="function">erase</code>, <code class="function">split</code> or <code class="function">join</code>, can restore
            all node invariants by a small number of node invariant updates (<a class="xref" href="policy_data_structures.html#biblio.clrs2001" title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>)
-           .</p><div class="figure"><a id="id522759"/><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_update_seq_diagram.png" style="text-align: middle" alt="Insert update sequence"/></div></div></div><br class="figure-break"/><p>To complete the description of the scheme, three questions
-           need to be answered:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>How can a tree which supports order statistics define a
+           .</p><div class="figure"><a id="idp18360176"></a><p class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert update sequence" /></div></div></div><br class="figure-break" /><p>To complete the description of the scheme, three questions
+           need to be answered:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>How can a tree which supports order statistics define a
              method such as <code class="classname">find_by_order</code>?</p></li><li class="listitem"><p>How can the node updater base access methods of the
              tree?</p></li><li class="listitem"><p>How can the following cyclic dependency be resolved?
              <code class="classname">node_update</code> is a base class of the tree, yet it
              uses node iterators defined in the tree (its child).</p></li></ol></div><p>The first two questions are answered by the fact that
            <code class="classname">node_update</code> (an instantiation of
            <code class="classname">Node_Update</code>) is a <span class="emphasis"><em>public</em></span> base class
-           of the tree. Consequently:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Any public methods of
+           of the tree. Consequently:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Any public methods of
              <code class="classname">node_update</code> are automatically methods of
              the tree (<a class="xref" href="policy_data_structures.html#biblio.alexandrescu01modern" title="Modern C++ Design: Generic Programming and Design Patterns Applied">[biblio.alexandrescu01modern]</a>).
              Thus an order-statistics node updater,
            support order statistics or interval overlap queries.
            Seemingly, in this case a redundant policy - a policy which
            doesn't affect nodes' contents would suffice. This, would lead
-           to the following drawbacks:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>Each node would carry a useless metadata object, wasting
+           to the following drawbacks:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Each node would carry a useless metadata object, wasting
              space.</p></li><li class="listitem"><p>The tree cannot know if its
              <code class="classname">Node_Update</code> policy actually modifies a
              node's metadata (this is halting reducible). In the graphic
              below, assume the shaded node is inserted. The tree would have
              to traverse the useless path shown to the root, applying
-             redundant updates all the way.</p></li></ol></div><div class="figure"><a id="id522945"/><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_rationale_null_node_updator.png" style="text-align: middle" alt="Useless update path"/></div></div></div><br class="figure-break"/><p>A null policy class, <code class="classname">null_node_update</code>
+             redundant updates all the way.</p></li></ol></div><div class="figure"><a id="idp18382432"></a><p class="title"><strong>Figure 22.27. Useless update path</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_rationale_null_node_updator.png" align="middle" alt="Useless update path" /></div></div></div><br class="figure-break" /><p>A null policy class, <code class="classname">null_node_update</code>
            solves both these problems. The tree detects that node
-           invariants are irrelevant, and defines all accordingly.</p></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.details.split"/>Split and Join</h6></div></div></div><p>Tree-based containers support split and join methods.
+           invariants are irrelevant, and defines all accordingly.</p></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.tree.details.split"></a>Split and Join</h6></div></div></div><p>Tree-based containers support split and join methods.
          It is possible to split a tree so that it passes
          all nodes with keys larger than a given key to a different
          tree. These methods have the following advantages over the
          alternative of externally inserting to the destination
-         tree and erasing from the source tree:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>These methods are efficient - red-black trees are split
+         tree and erasing from the source tree:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>These methods are efficient - red-black trees are split
            and joined in poly-logarithmic complexity; ordered-vector
            trees are split and joined at linear complexity. The
            alternatives have super-linear complexity.</p></li><li class="listitem"><p>Aside from orders of growth, these operations perform
            few allocations and de-allocations. For red-black trees, allocations are not performed,
-           and the methods are exception-free. </p></li></ol></div></div></div></div><div class="section" title="Trie"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.trie"/>Trie</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.interface"/>Interface</h5></div></div></div><p>The trie-based container has the following declaration:</p><pre class="programlisting">
+           and the methods are exception-free. </p></li></ol></div></div></div></div><div class="section" title="Trie"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.trie"></a>Trie</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.interface"></a>Interface</h5></div></div></div><p>The trie-based container has the following declaration:</p><pre class="programlisting">
          template&lt;typename Key,
          typename Mapped,
          typename Cmp_Fn = std::less&lt;Key&gt;,
          class Node_Update = null_node_update,
          typename Allocator = std::allocator&lt;char&gt; &gt;
          class trie;
-       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">E_Access_Traits</code> is described in below.</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
+       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Key</code> is the key type.</p></li><li class="listitem"><p><code class="classname">Mapped</code> is the mapped-policy.</p></li><li class="listitem"><p><code class="classname">E_Access_Traits</code> is described in below.</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
          to use, and is described shortly.</p></li><li class="listitem"><p><code class="classname">Node_Update</code> is a policy for updating node
          invariants. This is described below.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
          type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
        (this implementation follows <a class="xref" href="policy_data_structures.html#biblio.okasaki98mereable" title="Fast mergeable integer maps">[biblio.okasaki98mereable]</a> and 
        <a class="xref" href="policy_data_structures.html#biblio.filliatre2000ptset" title="Ptset: Sets of integers implemented as Patricia trees">[biblio.filliatre2000ptset]</a>). 
        </p><p>A (PATRICIA) trie is similar to a tree, but with the
-       following differences:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>It explicitly views keys as a sequence of elements.
+       following differences:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>It explicitly views keys as a sequence of elements.
          E.g., a trie can view a string as a sequence of
          characters; a trie can view a number as a sequence of
          bits.</p></li><li class="listitem"><p>It is not (necessarily) binary. Each node has fan-out n
          + 1, where n is the number of distinct
          elements.</p></li><li class="listitem"><p>It stores values only at leaf nodes.</p></li><li class="listitem"><p>Internal nodes have the properties that A) each has at
          least two children, and B) each shares the same prefix with
-         any of its descendant.</p></li></ol></div><p>A (PATRICIA) trie has some useful properties:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>It can be configured to use large node fan-out, giving it
+         any of its descendant.</p></li></ol></div><p>A (PATRICIA) trie has some useful properties:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>It can be configured to use large node fan-out, giving it
          very efficient find performance (albeit at insertion
          complexity and size).</p></li><li class="listitem"><p>It works well for common-prefix keys.</p></li><li class="listitem"><p>It can support efficiently queries such as which
          keys match a certain prefix. This is sometimes useful in file
          systems and routers, and for "type-ahead" aka predictive text matching
-         on mobile devices.</p></li></ol></div></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.details"/>Details</h5></div></div></div><div class="section" title="Element Access Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.etraits"/>Element Access Traits</h6></div></div></div><p>A trie inherently views its keys as sequences of elements.
+         on mobile devices.</p></li></ol></div></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.trie.details"></a>Details</h5></div></div></div><div class="section" title="Element Access Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.etraits"></a>Element Access Traits</h6></div></div></div><p>A trie inherently views its keys as sequences of elements.
          For example, a trie can view a string as a sequence of
          characters. A trie needs to map each of n elements to a
          number in {0, n - 1}. For example, a trie can map a
          (const) iterators, and that the <code class="classname">value_type</code> of this
          iterator can be cast to a <code class="classname">size_t</code>. There are several
          reasons, though, to decouple the mechanism by which the trie
-         accesses its keys' elements from the trie:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>In some cases, the numerical value of an element is
+         accesses its keys' elements from the trie:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In some cases, the numerical value of an element is
            inappropriate. Consider a trie storing DNA strings. It is
            logical to use a trie with a fan-out of 5 = 1 + |{'A', 'C',
            'G', 'T'}|. This requires mapping 'T' to 3, though.</p></li><li class="listitem"><p>In some cases the keys' iterators are different than what
          sub-tree with leafs "a" and "as". The maximal common prefix is
          "a". The internal node contains, consequently, to const
          iterators, one pointing to <code class="varname">'a'</code>, and the other to
-         <code class="varname">'s'</code>.</p><div class="figure"><a id="id523317"/><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_pat_trie.png" style="text-align: middle" alt="A PATRICIA trie"/></div></div></div><br class="figure-break"/></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"/>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
+         <code class="varname">'s'</code>.</p><div class="figure"><a id="idp18427056"></a><p class="title"><strong>Figure 22.28. A PATRICIA trie</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" align="middle" alt="A PATRICIA trie" /></div></div></div><br class="figure-break" /></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.node"></a>Node Invariants</h6></div></div></div><p>Trie-based containers support node invariants, as do
          tree-based containers. There are two minor
          differences, though, which, unfortunately, thwart sharing them
-         sharing the same node-updating policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>A trie's <code class="classname">Node_Update</code> template-template
+         sharing the same node-updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>A trie's <code class="classname">Node_Update</code> template-template
              parameter is parametrized by <code class="classname">E_Access_Traits</code>, while
              a tree's <code class="classname">Node_Update</code> template-template parameter is
            parametrized by <code class="classname">Cmp_Fn</code>.</p></li><li class="listitem"><p>Tree-based containers store values in all nodes, while
            trie-based containers (at least in this implementation) store
            values in leafs.</p></li></ol></div><p>The graphic below shows the scheme, as well as some predefined
-         policies (which are explained below).</p><div class="figure"><a id="id523405"/><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_trie_node_updator_policy_cd.png" style="text-align: middle" alt="A trie and its update policy"/></div></div></div><br class="figure-break"/><p>This library offers the following pre-defined trie node
-         updating policies:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         policies (which are explained below).</p><div class="figure"><a id="idp18437488"></a><p class="title"><strong>Figure 22.29. A trie and its update policy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A trie and its update policy" /></div></div></div><br class="figure-break" /><p>This library offers the following pre-defined trie node
+         updating policies:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                <code class="classname">trie_order_statistics_node_update</code>
                supports order statistics.
              </p></li><li class="listitem"><p><code class="classname">trie_prefix_search_node_update</code>
            supports searching for ranges that match a given prefix.</p></li><li class="listitem"><p><code class="classname">null_node_update</code>
-           is the null node updater.</p></li></ol></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.split"/>Split and Join</h6></div></div></div><p>Trie-based containers support split and join methods; the
+           is the null node updater.</p></li></ol></div></div><div class="section" title="Split and Join"><div class="titlepage"><div><div><h6 class="title"><a id="container.trie.details.split"></a>Split and Join</h6></div></div></div><p>Trie-based containers support split and join methods; the
          rationale is equal to that of tree-based containers supporting
-         these methods.</p></div></div></div><div class="section" title="List"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.list"/>List</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.interface"/>Interface</h5></div></div></div><p>The list-based container has the following declaration:</p><pre class="programlisting">
+         these methods.</p></div></div></div><div class="section" title="List"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.list"></a>List</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.interface"></a>Interface</h5></div></div></div><p>The list-based container has the following declaration:</p><pre class="programlisting">
          template&lt;typename Key,
          typename Mapped,
          typename Eq_Fn = std::equal_to&lt;Key&gt;,
          typename Update_Policy = move_to_front_lu_policy&lt;&gt;,
          typename Allocator = std::allocator&lt;char&gt; &gt;
          class list_update;
-       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
              <code class="classname">Key</code> is the key type.
            </p></li><li class="listitem"><p>
              <code class="classname">Mapped</code> is the mapped-policy.
        useful manner? Remarkably, many on-line competitive
        algorithms exist for reordering lists to reflect access
        prediction. (See <a class="xref" href="policy_data_structures.html#biblio.motwani95random" title="Randomized Algorithms">[biblio.motwani95random]</a> and <a class="xref" href="policy_data_structures.html#biblio.andrew04mtf" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem">[biblio.andrew04mtf]</a>).
-       </p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.details"/>Details</h5></div></div></div><p>
-       </p><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.ds"/>Underlying Data Structure</h6></div></div></div><p>The graphic below shows a
+       </p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.list.details"></a>Details</h5></div></div></div><p>
+       </p><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.ds"></a>Underlying Data Structure</h6></div></div></div><p>The graphic below shows a
          simple list of integer keys. If we search for the integer 6, we
          are paying an overhead: the link with key 6 is only the fifth
          link; if it were the first link, it could be accessed
-         faster.</p><div class="figure"><a id="id523660"/><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_simple_list.png" style="text-align: middle" alt="A simple list"/></div></div></div><br class="figure-break"/><p>List-update algorithms reorder lists as elements are
+         faster.</p><div class="figure"><a id="idp18468000"></a><p class="title"><strong>Figure 22.30. A simple list</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_simple_list.png" align="middle" alt="A simple list" /></div></div></div><br class="figure-break" /><p>List-update algorithms reorder lists as elements are
          accessed. They try to determine, by the access history, which
          keys to move to the front of the list. Some of these algorithms
          require adding some metadata alongside each entry.</p><p>For example, in the graphic below label A shows the counter
          predetermined value, say 10, as shown in label C, the count is set
          to 0 and the node is moved to the front of the list, as in label
          D.
-         </p><div class="figure"><a id="id523706"/><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_list_update.png" style="text-align: middle" alt="The counter algorithm"/></div></div></div><br class="figure-break"/></div><div class="section" title="Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"/>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
+         </p><div class="figure"><a id="idp18473584"></a><p class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_list_update.png" align="middle" alt="The counter algorithm" /></div></div></div><br class="figure-break" /></div><div class="section" title="Policies"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this library allows instantiating lists with policies
          implementing any algorithm moving nodes to the front of the
          list (policies implementing algorithms interchanging nodes are
          unsupported).</p><p>Associative containers based on lists are parametrized by a
          the list. The latter type is very useful in this library,
          since there is no need to associate metadata with each element.
          (See <a class="xref" href="policy_data_structures.html#biblio.andrew04mtf" title="MTF, Bit, and COMB: A Guide to Deterministic and Randomized Algorithms for the List Update Problem">[biblio.andrew04mtf]</a> 
-         </p></div><div class="section" title="Use in Multimaps"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.mapped"/>Use in Multimaps</h6></div></div></div><p>In this library, there are no equivalents for the standard's
+         </p></div><div class="section" title="Use in Multimaps"><div class="titlepage"><div><div><h6 class="title"><a id="container.list.details.mapped"></a>Use in Multimaps</h6></div></div></div><p>In this library, there are no equivalents for the standard's
          multimaps and multisets; instead one uses an associative
          container mapping primary keys to secondary keys.</p><p>List-based containers are especially useful as associative
          containers for secondary keys. In fact, they are implemented
          associative-containers in situations where the average ratio of
          secondary keys to primary keys is low (or even 1).</p><p>In order to reduce the per-container memory overhead as much
          as possible, they are implemented as closely as possible to
-         singly-linked lists.</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         singly-linked lists.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                List-based containers do not store internally the number
                of values that they hold. This means that their <code class="function">size</code>
                method has linear complexity (just like <code class="classname">std::list</code>).
                object (a hash-based container object holds a
                hash functor). List-based containers, conversely, only have
                class-wide policy objects.
-             </p></li></ol></div></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.priority_queue"/>Priority Queue</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.interface"/>Interface</h5></div></div></div><p>The priority queue container has the following
+             </p></li></ol></div></div></div></div><div class="section" title="Priority Queue"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.design.container.priority_queue"></a>Priority Queue</h4></div></div></div><div class="section" title="Interface"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.interface"></a>Interface</h5></div></div></div><p>The priority queue container has the following
        declaration:
        </p><pre class="programlisting">
          template&lt;typename  Value_Type,
          typename  Tag = pairing_heap_tag,
          typename  Allocator = std::allocator&lt;char &gt; &gt;
          class priority_queue;
-       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p><code class="classname">Value_Type</code> is the value type.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a value comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
+       </pre><p>The parameters have the following meaning:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><code class="classname">Value_Type</code> is the value type.</p></li><li class="listitem"><p><code class="classname">Cmp_Fn</code> is a value comparison functor</p></li><li class="listitem"><p><code class="classname">Tag</code> specifies which underlying data structure
          to use.</p></li><li class="listitem"><p><code class="classname">Allocator</code> is an allocator
          type.</p></li></ol></div><p>The <code class="classname">Tag</code> parameter specifies which underlying
        data structure to use. Instantiating it by<code class="classname">pairing_heap_tag</code>,<code class="classname">binary_heap_tag</code>,
        insufficient for manipulating priority-queues. </p><p>Different settings require different priority-queue
        implementations which are described in later; see traits
        discusses ways to differentiate between the different traits of
-       different implementations.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.details"/>Details</h5></div></div></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.iterators"/>Iterators</h6></div></div></div><p>There are many different underlying-data structures for
+       different implementations.</p></div><div class="section" title="Details"><div class="titlepage"><div><div><h5 class="title"><a id="container.priority_queue.details"></a>Details</h5></div></div></div><div class="section" title="Iterators"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.iterators"></a>Iterators</h6></div></div></div><p>There are many different underlying-data structures for
          implementing priority queues. Unfortunately, most such
          structures are oriented towards making <code class="function">push</code> and
          <code class="function">top</code> efficient, and consequently don't allow efficient
          this data and a priority queue's iterator. Using the embedded
          method would need to use two associative containers. Similar
          problems might arise in cases where a value can reside
-         simultaneously in many priority queues.</p></div><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.d"/>Underlying Data Structure</h6></div></div></div><p>There are three main implementations of priority queues: the
+         simultaneously in many priority queues.</p></div><div class="section" title="Underlying Data Structure"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.d"></a>Underlying Data Structure</h6></div></div></div><p>There are three main implementations of priority queues: the
          first employs a binary heap, typically one which uses a
          sequence; the second uses a tree (or forest of trees), which is
          typically less structured than an associative container's tree;
          the third simply uses an associative container. These are
-         shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="id524238"/><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" style="text-align: middle" alt="Underlying Priority-Queue Data-Structures."/></div></div></div><br class="figure-break"/><p>Roughly speaking, any value that is both pushed and popped
+         shown in the graphic below, in labels A1 and A2, label B, and label C.</p><div class="figure"><a id="idp18537424"></a><p class="title"><strong>Figure 22.32. Underlying Priority-Queue Data-Structures.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_different_underlying_dss.png" align="middle" alt="Underlying Priority-Queue Data-Structures." /></div></div></div><br class="figure-break" /><p>Roughly speaking, any value that is both pushed and popped
          from a priority queue must incur a logarithmic expense (in the
          amortized sense). Any priority queue implementation that would
          avoid this, would violate known bounds on comparison-based
          of <code class="function">push</code> and <code class="function">pop</code> operations.</p><p>This library implements different algorithms using a
          single class: <code class="classname">priority_queue</code>.
          Instantiating the <code class="classname">Tag</code> template parameter, "selects"
-         the implementation:</p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+         the implementation:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
              Instantiating <code class="classname">Tag = binary_heap_tag</code> creates
              a binary heap of the form in represented in the graphic with labels A1 or A2. The former is internally
              selected by priority_queue
          at all; the priority queue itself is an associative container.
          Most associative containers are too structured to compete with
          priority queues in terms of <code class="function">push</code> and <code class="function">pop</code>
-         performance.</p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.traits"/>Traits</h6></div></div></div><p>It would be nice if all priority queues could
+         performance.</p></div><div class="section" title="Traits"><div class="titlepage"><div><div><h6 class="title"><a id="container.priority_queue.details.traits"></a>Traits</h6></div></div></div><p>It would be nice if all priority queues could
          share exactly the same behavior regardless of implementation. Sadly, this is not possible. Just one for instance is in join operations: joining
          two binary heaps might throw an exception (not corrupt
          any of the heaps on which it operates), but joining two pairing
          container <code class="classname">Cntnr</code>, the tag of the underlying
          data structure can be found via <code class="classname">typename 
          Cntnr::container_category</code>; this is one of the possible tags shown in the graphic below.
-         </p><div class="figure"><a id="id524529"/><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" style="text-align: middle" alt="Priority-Queue Data-Structure Tags."/></div></div></div><br class="figure-break"/><p>Additionally, a traits mechanism can be used to query a
+         </p><div class="figure"><a id="idp18572464"></a><p class="title"><strong>Figure 22.33. Priority-Queue Data-Structure Tags.</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" align="middle" alt="Priority-Queue Data-Structure Tags." /></div></div></div><br class="figure-break" /><p>Additionally, a traits mechanism can be used to query a
          container type for its attributes. Given any container
          <code class="classname">Cntnr</code>, then </p><pre class="programlisting">__gnu_pbds::container_traits&lt;Cntnr&gt;</pre><p>
          is a traits class identifying the properties of the
            <code class="function">erase</code> operations is non-negligible (say
            super-logarithmic in the total sequence of operations) - binary
            heaps will perform badly.
-         </p></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr><tr><td align="left" valign="top">Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Testing</td></tr></table></div></body></html>
+         </p></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_based_data_structures_test.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Testing</td></tr></table></div></body></html>
index ec2bc1e..03812ee 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures"/><link rel="next" href="policy_data_structures_design.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 align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr/></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title"><a id="containers.pbds.using"/>Using</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"/>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
+<!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-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;&#9;ISO C++&#10;      , &#10;&#9;policy&#10;      , &#10;&#9;container&#10;      , &#10;&#9;data&#10;      , &#10;&#9;structure&#10;      , &#10;&#9;associated&#10;      , &#10;&#9;tree&#10;      , &#10;&#9;trie&#10;      , &#10;&#9;hash&#10;      , &#10;&#9;metaprogramming&#10;      " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" href="policy_data_structures.html" title="Chapter 22. Policy-Based Data Structures" /><link rel="next" href="policy_data_structures_design.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="policy_data_structures.html">Prev</a> </td><th width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr></table><hr /></div><div class="section" title="Using"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="containers.pbds.using"></a>Using</h2></div></div></div><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The library contains only header files, and does not require any
       other libraries except the standard C++ library . All classes are
       defined in namespace <code class="code">__gnu_pbds</code>. The library internally
       uses macros beginning with <code class="code">PB_DS</code>, but
        Further dependencies are necessary to create the visual output
        for the performance tests. To create these graphs, an
        additional package is needed: <span class="command"><strong>pychart</strong></span>.
-      </p></div><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.organization"/>Organization</h3></div></div></div><p>
+      </p></div><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.organization"></a>Organization</h3></div></div></div><p>
        The various data structures are organized as follows.
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            Branch-Based
-         </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+         </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
                <code class="classname">basic_branch</code>
                is an abstract base class for branched-based
                associative-containers
@@ -29,7 +29,7 @@
                associative-containers
              </p></li></ul></div></li><li class="listitem"><p>
            Hash-Based
-         </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+         </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
                <code class="classname">basic_hash_table</code>
                is an abstract base class for hash-based
                associative-containers
                associative-containers
              </p></li></ul></div></li><li class="listitem"><p>
            List-Based
-         </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+         </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
                <code class="classname">list_update</code>
                list-based update-policy associative container
              </p></li></ul></div></li><li class="listitem"><p>
            Heap-Based
-         </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+         </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
                <code class="classname">priority_queue</code>
                A priority queue.
              </p></li></ul></div></li></ul></div><p>
@@ -62,7 +62,7 @@
        In addition, there are the following diagnostics classes,
        used to report errors specific to this library's data
        structures.
-      </p><div class="figure"><a id="id517828"/><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" style="text-align: center"><img src="../images/pbds_exception_hierarchy.png" style="text-align: middle" alt="Exception Hierarchy"/></div></div></div><br class="figure-break"/></div><div class="section" title="Tutorial"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"/>Tutorial</h3></div></div></div><div class="section" title="Basic Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"/>Basic Use</h4></div></div></div><p>
+      </p><div class="figure"><a id="idp17768064"></a><p class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception Hierarchy" /></div></div></div><br class="figure-break" /></div><div class="section" title="Tutorial"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div class="section" title="Basic Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p>
          For the most part, the policy-based containers containers in
          namespace <code class="literal">__gnu_pbds</code> have the same interface as
          the equivalent containers in the standard C++ library, except for
        </pre><p>
          so all hash-based associative containers inherit the same
          hash-functor accessor methods.
-       </p></div><div class="section" title="Configuring via Template Parameters"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.configuring"/>
+       </p></div><div class="section" title="Configuring via Template Parameters"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.configuring"></a>
            Configuring via Template Parameters
          </h4></div></div></div><p>
          In general, each of this library's containers is
        by one of them.</p><p>Note that as opposed to the
        <code class="classname">std::priority_queue</code>,
        <code class="classname">__gnu_pbds::priority_queue</code> is not a
-       sequence-adapter; it is a regular container.</p></div><div class="section" title="Querying Container Attributes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.traits"/>
+       sequence-adapter; it is a regular container.</p></div><div class="section" title="Querying Container Attributes"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.traits"></a>
            Querying Container Attributes
-         </h4></div></div></div><p/><p>A containers underlying data structure
+         </h4></div></div></div><p></p><p>A containers underlying data structure
        affect their performance; Unfortunately, they can also affect
        their interface. When manipulating generically associative
        containers, it is often useful to be able to statically
        </pre><p>is the container's invalidation guarantee. Invalidation
        guarantees are especially important regarding priority queues,
        since in this library's design, iterators are practically the
-       only way to manipulate them.</p></div><div class="section" title="Point and Range Iteration"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.point_range_iteration"/>
+       only way to manipulate them.</p></div><div class="section" title="Point and Range Iteration"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.tutorial.point_range_iteration"></a>
            Point and Range Iteration
-         </h4></div></div></div><p/><p>This library differentiates between two types of methods
+         </h4></div></div></div><p></p><p>This library differentiates between two types of methods
        and iterators: point-type, and range-type. For example,
        <code class="function">find</code> and <code class="function">insert</code> are point-type methods, since
        they each deal with a specific element; their returned
        </pre><p>
          gives one of three pre-determined types that answer this
          query.
-       </p></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.examples"/>Examples</h3></div></div></div><p>
+       </p></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h3 class="title"><a id="pbds.using.examples"></a>Examples</h3></div></div></div><p>
        Additional code examples are provided in the source
        distribution, as part of the regression and performance
        testsuite.
-      </p><div class="section" title="Intermediate Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.basic"/>Intermediate Use</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="section" title="Intermediate Use"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.basic"></a>Intermediate Use</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
              Basic use of maps:
              <code class="filename">basic_map.cc</code>
            </p></li><li class="listitem"><p>
            </p></li><li class="listitem"><p>
              Conditionally erasing values from a priority queue:
              <code class="filename">priority_queue_erase_if.cc</code>
-           </p></li></ul></div></div><div class="section" title="Querying with container_traits"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.query"/>Querying with <code class="classname">container_traits</code> </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+           </p></li></ul></div></div><div class="section" title="Querying with container_traits"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.query"></a>Querying with <code class="classname">container_traits</code> </h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
              Using <code class="classname">container_traits</code> to query
              about underlying data structure behavior:
              <code class="filename">assoc_container_traits.cc</code>
              Using <code class="classname">container_traits</code>
              to query about underlying data structure behavior:
              <code class="filename">priority_queue_container_traits.cc</code>
-           </p></li></ul></div></div><div class="section" title="By Container Method"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.container"/>By Container Method</h4></div></div></div><p/><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.hash"/>Hash-Based</h5></div></div></div><div class="section" title="size Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.resize"/>size Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+           </p></li></ul></div></div><div class="section" title="By Container Method"><div class="titlepage"><div><div><h4 class="title"><a id="pbds.using.examples.container"></a>By Container Method</h4></div></div></div><p></p><div class="section" title="Hash-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.hash"></a>Hash-Based</h5></div></div></div><div class="section" title="size Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.resize"></a>size Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                  Setting the initial size of a hash-based container
                  object:
                  <code class="filename">hash_initial_size.cc</code>
                </p></li><li class="listitem"><p>
                  Changing the load factors of a hash-based container
                  object: <code class="filename">hash_load_set_change.cc</code>
-               </p></li></ul></div></div><div class="section" title="Hashing Function Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.hashor"/>Hashing Function Related</h6></div></div></div><p/><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+               </p></li></ul></div></div><div class="section" title="Hashing Function Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.hash.hashor"></a>Hashing Function Related</h6></div></div></div><p></p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                  Using a modulo range-hashing function for the case of an
                  unknown skewed key distribution:
                  <code class="filename">hash_mod.cc</code>
                </p></li><li class="listitem"><p>
                  Writing a ranged-hash functor:
                  <code class="filename">ranged_hash.cc</code>
-               </p></li></ul></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.branch"/>Branch-Based</h5></div></div></div><div class="section" title="split or join Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.split"/>split or join Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+               </p></li></ul></div></div></div><div class="section" title="Branch-Based"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.branch"></a>Branch-Based</h5></div></div></div><div class="section" title="split or join Related"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.split"></a>split or join Related</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                  Joining two tree-based container objects:
                  <code class="filename">tree_join.cc</code>
                </p></li><li class="listitem"><p>
                  Order statistics while joining two tree-based container
                  objects:
                  <code class="filename">tree_order_statistics_join.cc</code>
-               </p></li></ul></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.invariants"/>Node Invariants</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+               </p></li></ul></div></div><div class="section" title="Node Invariants"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.invariants"></a>Node Invariants</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                  Using trees for order statistics:
                  <code class="filename">tree_order_statistics.cc</code>
                </p></li><li class="listitem"><p>
                  Augmenting trees to support operations on line
                  intervals:
                  <code class="filename">tree_intervals.cc</code>
-               </p></li></ul></div></div><div class="section" title="trie"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.trie"/>trie</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+               </p></li></ul></div></div><div class="section" title="trie"><div class="titlepage"><div><div><h6 class="title"><a id="pbds.using.examples.container.branch.trie"></a>trie</h6></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                  Using a PATRICIA trie for DNA strings:
                  <code class="filename">trie_dna.cc</code>
                </p></li><li class="listitem"><p>
                  Using a PATRICIA
                  trie for finding all entries whose key matches a given prefix:
                  <code class="filename">trie_prefix_search.cc</code>
-               </p></li></ul></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.priority_queue"/>Priority Queues</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+               </p></li></ul></div></div></div><div class="section" title="Priority Queues"><div class="titlepage"><div><div><h5 class="title"><a id="pbds.using.examples.container.priority_queue"></a>Priority Queues</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                Cross referencing an associative container and a priority
                queue: <code class="filename">priority_queue_xref.cc</code>
              </p></li><li class="listitem"><p>
                very simple version of Dijkstra's shortest path
                algorithm:
                <code class="filename">priority_queue_dijkstra.cc</code>
-             </p></li></ul></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><td align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 22. Policy-Based Data Structures </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
+             </p></li></ul></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="policy_data_structures.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="policy_data_structures.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="policy_data_structures_design.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 22. Policy-Based Data Structures </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
index 01aac41..a3bbab1 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 19. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="extensions.html" title="Part III.  Extensions"/><link rel="prev" href="bk01pt03ch18s05.html" title="Testing"/><link rel="next" href="bk01pt03ch19s02.html" title="Design"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
+<!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>Chapter 19. Profile Mode</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      library&#10;    , &#10;      profile&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="bk01pt03ch18s05.html" title="Testing" /><link rel="next" href="bk01pt03ch19s02.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 19. Profile Mode</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><th width="60%" align="center">Part III. 
   Extensions
   
-</th><td align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 19. Profile Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"/>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode.intro"/>Intro</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 19. Profile Mode"><div class="titlepage"><div><div><h2 class="title"><a id="manual.ext.profile_mode"></a>Chapter 19. Profile Mode</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="section"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dd><dl><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level</a></span></dt><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing</a></span></dt></dl></dd><dt><span class="section"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></div><div class="section" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.intro"></a>Intro</h2></div></div></div><p>
   <span class="emphasis"><em>Goal: </em></span>Give performance improvement advice based on
   recognition of suboptimal usage patterns of the standard library.
   </p><p>
   various components at interesting entry/exit points to/from the standard
   library.  Process trace, recognize suboptimal patterns, give advice.
   For details, see
-  <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
+  <a class="link" href="http://dx.doi.org/10.1109/CGO.2009.36" target="_top">paper presented at
    CGO 2009</a>.
   </p><p>
   <span class="emphasis"><em>Strengths: </em></span>
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
   Unintrusive solution.  The application code does not require any
   modification.
   </p></li><li class="listitem"><p> The advice is call context sensitive, thus capable of
   </p></li></ul></div><p>
   </p><p>
   <span class="emphasis"><em>Drawbacks: </em></span>
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
   You must recompile the application code with custom options.
   </p></li><li class="listitem"><p>You must run the application on representative input.
   The advice is input dependent.
   </p></li><li class="listitem"><p>
   The execution time will increase, in some cases by factors.
   </p></li></ul></div><p>
-  </p><div class="section" title="Using the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"/>Using the Profile Mode</h3></div></div></div><p>
+  </p><div class="section" title="Using the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.using"></a>Using the Profile Mode</h3></div></div></div><p>
   This is the anticipated common workflow for program <code class="code">foo.cc</code>:
 </p><pre class="programlisting">
 $ cat foo.cc
@@ -54,7 +54,7 @@ vector-size: improvement = 3: call stack = 0x804842c ...
 </pre><p>
   </p><p>
   Anatomy of a warning:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
   Warning id.  This is a short descriptive string for the class
   that this warning belongs to.  E.g., "vector-to-list".
   </p></li><li class="listitem"><p>
@@ -94,11 +94,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
   We believe such warnings can help users understand the performance
   behavior of their application better, which can lead to changes
   at a higher abstraction level.
-  </p></div><div class="section" title="Tuning the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"/>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
+  </p></div><div class="section" title="Tuning the Profile Mode"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.tuning"></a>Tuning the Profile Mode</h3></div></div></div><p>Compile time switches and environment variables (see also file
    profiler.h).  Unless specified otherwise, they can be set at compile time
    using -D_&lt;name&gt; or by setting variable &lt;name&gt;
    in the environment where the program is run, before starting execution.
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
    <code class="code">_GLIBCXX_PROFILE_NO_&lt;diagnostic&gt;</code>:
    disable specific diagnostics.
    See section Diagnostics for possible values.
@@ -138,9 +138,9 @@ vector-size: improvement = 3: call stack = 0x804842c ...
    call context.
    (Environment variable not supported.)
    </p></li></ul></div><p>
-  </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"/>Bibliography</h2></div></div></div><div class="biblioentry"><a id="id514403"/><p><span class="citetitle"><em class="citetitle">
+  </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry"><a id="idp17357280"></a><p><span class="citetitle"><em class="citetitle">
       Perflint: A Context Sensitive Performance Advisor for C++ Programs
     </em>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
        Proceedings of the 2009 International Symposium on Code Generation
        and Optimization
-      . </span></span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><td align="center"><a accesskey="u" href="extensions.html">Up</a></td><td align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr><tr><td align="left" valign="top">Testing </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design</td></tr></table></div></body></html>
+      . </span></span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="extensions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch19s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Testing </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
index 5ce28a4..c83774b 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="bugs.html" title="Bugs"/><link rel="next" href="configure.html" title="Configure"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<!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>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="bugs.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><th width="60%" align="center">Part I. 
   Introduction
   
-</th><td align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 2. Setup"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"/>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
+</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 2. Setup"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></div><p>To transform libstdc++ sources into installed include files
    and properly built binaries useful for linking to other software is
    a multi-step process. Steps include getting the sources,
    configuring and building the sources, testing, and installation.
    make install
    </pre><p>
      Each step is described in more detail in the following sections.
-   </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.prereq"/>Prerequisites</h2></div></div></div><p>
+   </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.prereq"></a>Prerequisites</h2></div></div></div><p>
   Because libstdc++ is part of GCC, the primary source for
    installation instructions is
-   <a class="link" href="http://gcc.gnu.org/install/">the GCC install page</a>.
+   <a class="link" href="http://gcc.gnu.org/install/" target="_top">the GCC install page</a>.
    In particular, list of prerequisite software needed to build the library
-   <a class="link" href="http://gcc.gnu.org/install/prerequisites.html">
+   <a class="link" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">
    starts with those requirements.</a> The same pages also list
    the tools you will need if you wish to modify the source.
 </p><p>
@@ -32,7 +32,7 @@
   </p><p>As of GCC 4.0.1 the minimum version of binutils required to build
       libstdc++ is <code class="code">2.15.90.0.1.1</code>. You can get snapshots
       (as well as releases) of binutils from
-      <a class="link" href="ftp://sources.redhat.com/pub/binutils/">
+      <a class="link" href="ftp://sources.redhat.com/pub/binutils/" target="_top">
       ftp://sources.redhat.com/pub/binutils</a>.
       Older releases of libstdc++ do not require such a recent version,
       but to take full advantage of useful space-saving features and
@@ -87,7 +87,7 @@ zh_TW               BIG5
       libstdc++ after "C" locales are installed is not necessary.
       </p><p>
        To install support for locales, do only one of the following:
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>install all locales</p></li><li class="listitem"><p>install just the necessary locales</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>with Debian GNU/Linux:</p><p> Add the above list, as shown, to the file
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>install all locales</p></li><li class="listitem"><p>install just the necessary locales</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>with Debian GNU/Linux:</p><p> Add the above list, as shown, to the file
              <code class="code">/etc/locale.gen</code> </p><p> run <code class="code">/usr/sbin/locale-gen</code> </p></li><li class="listitem"><p>on most Unix-like operating systems:</p><p><code class="code"> localedef -i de_DE -f ISO-8859-1 de_DE </code></p><p>(repeat for each entry in the above list) </p></li><li class="listitem"><p>
               Instructions for other operating systems solicited.
-           </p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td align="left" valign="top">Bugs </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Configure</td></tr></table></div></body></html>
+           </p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bugs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Bugs </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Configure</td></tr></table></div></body></html>
index 3de6bb2..0927ece 100644 (file)
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Coding Style</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions"/><link rel="next" href="source_design_notes.html" title="Design Notes"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<!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>Coding Style</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_organization.html" title="Directory Layout and Source Conventions" /><link rel="next" href="source_design_notes.html" title="Design Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Coding Style</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
   Contributing
   
-</th><td align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr/></div><div class="section" title="Coding Style"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.coding_style"/>Coding Style</h2></div></div></div><p>
-  </p><div class="section" title="Bad Identifiers"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"/>Bad Identifiers</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr></table><hr /></div><div class="section" title="Coding Style"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.coding_style"></a>Coding Style</h2></div></div></div><p>
+  </p><div class="section" title="Bad Identifiers"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.bad_identifiers"></a>Bad Identifiers</h3></div></div></div><p>
       Identifiers that conflict and should be avoided.
-    </p><div class="literallayout"><p><br/>
-      This is the list of names <span class="quote">“<span class="quote">reserved to the<br/>
-      implementation</span>”</span> that have been claimed by certain<br/>
-      compilers and system headers of interest, and should not be used<br/>
-      in the library. It will grow, of course.  We generally are<br/>
-      interested in names that are not all-caps, except for those like<br/>
-      "_T"<br/>
-<br/>
-      For Solaris:<br/>
-      _B<br/>
-      _C<br/>
-      _L<br/>
-      _N<br/>
-      _P<br/>
-      _S<br/>
-      _U<br/>
-      _X<br/>
-      _E1<br/>
-      ..<br/>
-      _E24<br/>
-<br/>
-      Irix adds:<br/>
-      _A<br/>
-      _G<br/>
-<br/>
-      MS adds:<br/>
-      _T<br/>
-<br/>
-      BSD adds:<br/>
-      __used<br/>
-      __unused<br/>
-      __inline<br/>
-      _Complex<br/>
-      __istype<br/>
-      __maskrune<br/>
-      __tolower<br/>
-      __toupper<br/>
-      __wchar_t<br/>
-      __wint_t<br/>
-      _res<br/>
-      _res_ext<br/>
-      __tg_*<br/>
-<br/>
-      SPU adds:<br/>
-      __ea<br/>
-<br/>
-      For GCC:<br/>
-<br/>
-      [Note that this list is out of date. It applies to the old<br/>
-      name-mangling; in G++ 3.0 and higher a different name-mangling is<br/>
-      used. In addition, many of the bugs relating to G++ interpreting<br/>
-      these names as operators have been fixed.]<br/>
-<br/>
-      The full set of __* identifiers (combined from gcc/cp/lex.c and<br/>
-      gcc/cplus-dem.c) that are either old or new, but are definitely<br/>
-      recognized by the demangler, is:<br/>
-<br/>
-      __aa<br/>
-      __aad<br/>
-      __ad<br/>
-      __addr<br/>
-      __adv<br/>
-      __aer<br/>
-      __als<br/>
-      __alshift<br/>
-      __amd<br/>
-      __ami<br/>
-      __aml<br/>
-      __amu<br/>
-      __aor<br/>
-      __apl<br/>
-      __array<br/>
-      __ars<br/>
-      __arshift<br/>
-      __as<br/>
-      __bit_and<br/>
-      __bit_ior<br/>
-      __bit_not<br/>
-      __bit_xor<br/>
-      __call<br/>
-      __cl<br/>
-      __cm<br/>
-      __cn<br/>
-      __co<br/>
-      __component<br/>
-      __compound<br/>
-      __cond<br/>
-      __convert<br/>
-      __delete<br/>
-      __dl<br/>
-      __dv<br/>
-      __eq<br/>
-      __er<br/>
-      __ge<br/>
-      __gt<br/>
-      __indirect<br/>
-      __le<br/>
-      __ls<br/>
-      __lt<br/>
-      __max<br/>
-      __md<br/>
-      __method_call<br/>
-      __mi<br/>
-      __min<br/>
-      __minus<br/>
-      __ml<br/>
-      __mm<br/>
-      __mn<br/>
-      __mult<br/>
-      __mx<br/>
-      __ne<br/>
-      __negate<br/>
-      __new<br/>
-      __nop<br/>
-      __nt<br/>
-      __nw<br/>
-      __oo<br/>
-      __op<br/>
-      __or<br/>
-      __pl<br/>
-      __plus<br/>
-      __postdecrement<br/>
-      __postincrement<br/>
-      __pp<br/>
-      __pt<br/>
-      __rf<br/>
-      __rm<br/>
-      __rs<br/>
-      __sz<br/>
-      __trunc_div<br/>
-      __trunc_mod<br/>
-      __truth_andif<br/>
-      __truth_not<br/>
-      __truth_orif<br/>
-      __vc<br/>
-      __vd<br/>
-      __vn<br/>
-<br/>
-      SGI badnames:<br/>
-      __builtin_alloca<br/>
-      __builtin_fsqrt<br/>
-      __builtin_sqrt<br/>
-      __builtin_fabs<br/>
-      __builtin_dabs<br/>
-      __builtin_cast_f2i<br/>
-      __builtin_cast_i2f<br/>
-      __builtin_cast_d2ll<br/>
-      __builtin_cast_ll2d<br/>
-      __builtin_copy_dhi2i<br/>
-      __builtin_copy_i2dhi<br/>
-      __builtin_copy_dlo2i<br/>
-      __builtin_copy_i2dlo<br/>
-      __add_and_fetch<br/>
-      __sub_and_fetch<br/>
-      __or_and_fetch<br/>
-      __xor_and_fetch<br/>
-      __and_and_fetch<br/>
-      __nand_and_fetch<br/>
-      __mpy_and_fetch<br/>
-      __min_and_fetch<br/>
-      __max_and_fetch<br/>
-      __fetch_and_add<br/>
-      __fetch_and_sub<br/>
-      __fetch_and_or<br/>
-      __fetch_and_xor<br/>
-      __fetch_and_and<br/>
-      __fetch_and_nand<br/>
-      __fetch_and_mpy<br/>
-      __fetch_and_min<br/>
-      __fetch_and_max<br/>
-      __lock_test_and_set<br/>
-      __lock_release<br/>
-      __lock_acquire<br/>
-      __compare_and_swap<br/>
-      __synchronize<br/>
-      __high_multiply<br/>
-      __unix<br/>
-      __sgi<br/>
-      __linux__<br/>
-      __i386__<br/>
-      __i486__<br/>
-      __cplusplus<br/>
-      __embedded_cplusplus<br/>
-      // long double conversion members mangled as __opr<br/>
-      // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html<br/>
-      __opr<br/>
-    </p></div></div><div class="section" title="By Example"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"/>By Example</h3></div></div></div><div class="literallayout"><p><br/>
-      This library is written to appropriate C++ coding standards. As such,<br/>
-      it is intended to precede the recommendations of the GNU Coding<br/>
-      Standard, which can be referenced in full here:<br/>
-<br/>
-      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br/>
-<br/>
-      The rest of this is also interesting reading, but skip the "Design<br/>
-      Advice" part.<br/>
-<br/>
-      The GCC coding conventions are here, and are also useful:<br/>
-      <a class="link" href="http://gcc.gnu.org/codingconventions.html">http://gcc.gnu.org/codingconventions.html</a><br/>
-<br/>
-      In addition, because it doesn't seem to be stated explicitly anywhere<br/>
-      else, there is an 80 column source limit.<br/>
-<br/>
-      <code class="filename">ChangeLog</code> entries for member functions should use the<br/>
-      classname::member function name syntax as follows:<br/>
-<br/>
-<code class="code"><br/>
-1999-04-15  Dennis Ritchie  &lt;dr@att.com&gt;<br/>
-<br/>
-      * src/basic_file.cc (__basic_file::open): Fix thinko in<br/>
-      _G_HAVE_IO_FILE_OPEN bits.<br/>
-</code><br/>
-<br/>
-      Notable areas of divergence from what may be previous local practice<br/>
-      (particularly for GNU C) include:<br/>
-<br/>
-      01. Pointers and references<br/>
-      <code class="code"><br/>
-        char* p = "flop";<br/>
-        char&amp; c = *p;<br/>
-          -NOT-<br/>
-        char *p = "flop";  // wrong<br/>
-        char &amp;c = *p;      // wrong<br/>
-      </code><br/>
-<br/>
-      Reason: In C++, definitions are mixed with executable code. Here,<br/>
-      <code class="code">p</code> is being initialized, not <code class="code">*p</code>.  This is near-universal<br/>
-      practice among C++ programmers; it is normal for C hackers<br/>
-      to switch spontaneously as they gain experience.<br/>
-<br/>
-      02. Operator names and parentheses<br/>
-      <code class="code"><br/>
-        operator==(type)<br/>
-          -NOT-<br/>
-        operator == (type)  // wrong<br/>
-      </code><br/>
-<br/>
-      Reason: The <code class="code">==</code> is part of the function name. Separating<br/>
-      it makes the declaration look like an expression.<br/>
-<br/>
-      03. Function names and parentheses<br/>
-      <code class="code"><br/>
-        void mangle()<br/>
-          -NOT-<br/>
-        void mangle ()  // wrong<br/>
-      </code><br/>
-<br/>
-      Reason: no space before parentheses (except after a control-flow<br/>
-      keyword) is near-universal practice for C++. It identifies the<br/>
-      parentheses as the function-call operator or declarator, as<br/>
-      opposed to an expression or other overloaded use of parentheses.<br/>
-<br/>
-      04. Template function indentation<br/>
-      <code class="code"><br/>
-        template&lt;typename T&gt;<br/>
-          void<br/>
-          template_function(args)<br/>
-          { }<br/>
-          -NOT-<br/>
-        template&lt;class T&gt;<br/>
-        void template_function(args) {};<br/>
-      </code><br/>
-<br/>
-      Reason: In class definitions, without indentation whitespace is<br/>
-      needed both above and below the declaration to distinguish<br/>
-      it visually from other members. (Also, re: "typename"<br/>
-      rather than "class".)  <code class="code">T</code> often could be <code class="code">int</code>, which is<br/>
-      not a class. ("class", here, is an anachronism.)<br/>
-<br/>
-      05. Template class indentation<br/>
-      <code class="code"><br/>
-        template&lt;typename _CharT, typename _Traits&gt;<br/>
-          class basic_ios : public ios_base<br/>
-          {<br/>
-          public:<br/>
-            // Types:<br/>
-          };<br/>
-          -NOT-<br/>
-        template&lt;class _CharT, class _Traits&gt;<br/>
-        class basic_ios : public ios_base<br/>
-          {<br/>
-          public:<br/>
-            // Types:<br/>
-          };<br/>
-          -NOT-<br/>
-        template&lt;class _CharT, class _Traits&gt;<br/>
-          class basic_ios : public ios_base<br/>
-        {<br/>
-          public:<br/>
-            // Types:<br/>
-        };<br/>
-      </code><br/>
-<br/>
-      06. Enumerators<br/>
-      <code class="code"><br/>
-        enum<br/>
-        {<br/>
-          space = _ISspace,<br/>
-          print = _ISprint,<br/>
-          cntrl = _IScntrl<br/>
-        };<br/>
-          -NOT-<br/>
-        enum { space = _ISspace, print = _ISprint, cntrl = _IScntrl };<br/>
-      </code><br/>
-<br/>
-      07. Member initialization lists<br/>
-      All one line, separate from class name.<br/>
-<br/>
-      <code class="code"><br/>
-        gribble::gribble()<br/>
-        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
-        { }<br/>
-          -NOT-<br/>
-        gribble::gribble() : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
-        { }<br/>
-      </code><br/>
-<br/>
-      08. Try/Catch blocks<br/>
-      <code class="code"><br/>
-        try<br/>
-          {<br/>
-            //<br/>
-          }<br/>
-        catch (...)<br/>
-          {<br/>
-            //<br/>
-          }<br/>
-          -NOT-<br/>
-        try {<br/>
-          //<br/>
-        } catch(...) {<br/>
-          //<br/>
-        }<br/>
-      </code><br/>
-<br/>
-      09. Member functions declarations and definitions<br/>
-      Keywords such as extern, static, export, explicit, inline, etc<br/>
-      go on the line above the function name. Thus<br/>
-<br/>
-      <code class="code"><br/>
-      virtual int<br/>
-      foo()<br/>
-      -NOT-<br/>
-      virtual int foo()<br/>
-      </code><br/>
-<br/>
-      Reason: GNU coding conventions dictate return types for functions<br/>
-      are on a separate line than the function name and parameter list<br/>
-      for definitions. For C++, where we have member functions that can<br/>
-      be either inline definitions or declarations, keeping to this<br/>
-      standard allows all member function names for a given class to be<br/>
-      aligned to the same margin, increasing readability.<br/>
-<br/>
-<br/>
-      10. Invocation of member functions with "this-&gt;"<br/>
-      For non-uglified names, use <code class="code">this-&gt;name</code> to call the function.<br/>
-<br/>
-      <code class="code"><br/>
-      this-&gt;sync()<br/>
-      -NOT-<br/>
-      sync()<br/>
-      </code><br/>
-<br/>
-      Reason: Koenig lookup.<br/>
-<br/>
-      11. Namespaces<br/>
-      <code class="code"><br/>
-      namespace std<br/>
-      {<br/>
-        blah blah blah;<br/>
-      } // namespace std<br/>
-<br/>
-      -NOT-<br/>
-<br/>
-      namespace std {<br/>
-        blah blah blah;<br/>
-      } // namespace std<br/>
-      </code><br/>
-<br/>
-      12. Spacing under protected and private in class declarations:<br/>
-      space above, none below<br/>
-      i.e.<br/>
-<br/>
-      <code class="code"><br/>
-      public:<br/>
-        int foo;<br/>
-<br/>
-      -NOT-<br/>
-      public:<br/>
-<br/>
-        int foo;<br/>
-      </code><br/>
-<br/>
-      13. Spacing WRT return statements.<br/>
-      no extra spacing before returns, no parenthesis<br/>
-      i.e.<br/>
-<br/>
-      <code class="code"><br/>
-      }<br/>
-      return __ret;<br/>
-<br/>
-      -NOT-<br/>
-      }<br/>
-<br/>
-      return __ret;<br/>
-<br/>
-      -NOT-<br/>
-<br/>
-      }<br/>
-      return (__ret);<br/>
-      </code><br/>
-<br/>
-<br/>
-      14. Location of global variables.<br/>
-      All global variables of class type, whether in the "user visible"<br/>
-      space (e.g., <code class="code">cin</code>) or the implementation namespace, must be defined<br/>
-      as a character array with the appropriate alignment and then later<br/>
-      re-initialized to the correct value.<br/>
-<br/>
-      This is due to startup issues on certain platforms, such as AIX.<br/>
-      For more explanation and examples, see <code class="filename">src/globals.cc</code>. All such<br/>
-      variables should be contained in that file, for simplicity.<br/>
-<br/>
-      15. Exception abstractions<br/>
-      Use the exception abstractions found in <code class="filename">functexcept.h</code>, which allow<br/>
-      C++ programmers to use this library with <code class="literal">-fno-exceptions</code>.  (Even if<br/>
-      that is rarely advisable, it's a necessary evil for backwards<br/>
-      compatibility.)<br/>
-<br/>
-      16. Exception error messages<br/>
-      All start with the name of the function where the exception is<br/>
-      thrown, and then (optional) descriptive text is added. Example:<br/>
-<br/>
-      <code class="code"><br/>
-      __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));<br/>
-      </code><br/>
-<br/>
-      Reason: The verbose terminate handler prints out <code class="code">exception::what()</code>,<br/>
-      as well as the typeinfo for the thrown exception. As this is the<br/>
-      default terminate handler, by putting location info into the<br/>
-      exception string, a very useful error message is printed out for<br/>
-      uncaught exceptions. So useful, in fact, that non-programmers can<br/>
-      give useful error messages, and programmers can intelligently<br/>
-      speculate what went wrong without even using a debugger.<br/>
-<br/>
-      17. The doxygen style guide to comments is a separate document,<br/>
-      see index.<br/>
-<br/>
-      The library currently has a mixture of GNU-C and modern C++ coding<br/>
-      styles. The GNU C usages will be combed out gradually.<br/>
-<br/>
-      Name patterns:<br/>
-<br/>
-      For nonstandard names appearing in Standard headers, we are constrained<br/>
-      to use names that begin with underscores. This is called "uglification".<br/>
-      The convention is:<br/>
-<br/>
-      Local and argument names:  <code class="literal">__[a-z].*</code><br/>
-<br/>
-      Examples:  <code class="code">__count  __ix  __s1</code><br/>
-<br/>
-      Type names and template formal-argument names: <code class="literal">_[A-Z][^_].*</code><br/>
-<br/>
-      Examples:  <code class="code">_Helper  _CharT  _N</code><br/>
-<br/>
-      Member data and function names: <code class="literal">_M_.*</code><br/>
-<br/>
-      Examples:  <code class="code">_M_num_elements  _M_initialize ()</code><br/>
-<br/>
-      Static data members, constants, and enumerations: <code class="literal">_S_.*</code><br/>
-<br/>
-      Examples: <code class="code">_S_max_elements  _S_default_value</code><br/>
-<br/>
-      Don't use names in the same scope that differ only in the prefix,<br/>
-      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.<br/>
-      (The most tempting of these seem to be and "_T" and "__sz".)<br/>
-<br/>
-      Names must never have "__" internally; it would confuse name<br/>
-      unmanglers on some targets. Also, never use "__[0-9]", same reason.<br/>
-<br/>
-      --------------------------<br/>
-<br/>
-      [BY EXAMPLE]<br/>
-      <code class="code"><br/>
-<br/>
-      #ifndef  _HEADER_<br/>
-      #define  _HEADER_ 1<br/>
-<br/>
-      namespace std<br/>
-      {<br/>
-        class gribble<br/>
-        {<br/>
-        public:<br/>
-          gribble() throw();<br/>
-<br/>
-          gribble(const gribble&amp;);<br/>
-<br/>
-          explicit<br/>
-          gribble(int __howmany);<br/>
-<br/>
-          gribble&amp;<br/>
-          operator=(const gribble&amp;);<br/>
-<br/>
-          virtual<br/>
-          ~gribble() throw ();<br/>
-<br/>
-          // Start with a capital letter, end with a period.<br/>
-          inline void<br/>
-          public_member(const char* __arg) const;<br/>
-<br/>
-          // In-class function definitions should be restricted to one-liners.<br/>
-          int<br/>
-          one_line() { return 0 }<br/>
-<br/>
-          int<br/>
-          two_lines(const char* arg)<br/>
-          { return strchr(arg, 'a'); }<br/>
-<br/>
-          inline int<br/>
-          three_lines();  // inline, but defined below.<br/>
-<br/>
-          // Note indentation.<br/>
-          template&lt;typename _Formal_argument&gt;<br/>
-            void<br/>
-            public_template() const throw();<br/>
-<br/>
-          template&lt;typename _Iterator&gt;<br/>
-            void<br/>
-            other_template();<br/>
-<br/>
-        private:<br/>
-          class _Helper;<br/>
-<br/>
-          int _M_private_data;<br/>
-          int _M_more_stuff;<br/>
-          _Helper* _M_helper;<br/>
-          int _M_private_function();<br/>
-<br/>
-          enum _Enum<br/>
-            {<br/>
-              _S_one,<br/>
-              _S_two<br/>
-            };<br/>
-<br/>
-          static void<br/>
-          _S_initialize_library();<br/>
-        };<br/>
-<br/>
-        // More-or-less-standard language features described by lack, not presence.<br/>
-      # ifndef _G_NO_LONGLONG<br/>
-        extern long long _G_global_with_a_good_long_name;  // avoid globals!<br/>
-      # endif<br/>
-<br/>
-        // Avoid in-class inline definitions, define separately;<br/>
-        // likewise for member class definitions:<br/>
-        inline int<br/>
-        gribble::public_member() const<br/>
-        { int __local = 0; return __local; }<br/>
-<br/>
-        class gribble::_Helper<br/>
-        {<br/>
-          int _M_stuff;<br/>
-<br/>
-          friend class gribble;<br/>
-        };<br/>
-      }<br/>
-<br/>
-      // Names beginning with "__": only for arguments and<br/>
-      //   local variables; never use "__" in a type name, or<br/>
-      //   within any name; never use "__[0-9]".<br/>
-<br/>
-      #endif /* _HEADER_ */<br/>
-<br/>
-<br/>
-      namespace std<br/>
-      {<br/>
-        template&lt;typename T&gt;  // notice: "typename", not "class", no space<br/>
-          long_return_value_type&lt;with_many, args&gt;<br/>
-          function_name(char* pointer,               // "char *pointer" is wrong.<br/>
-                        char* argument,<br/>
-                        const Reference&amp; ref)<br/>
-          {<br/>
-            // int a_local;  /* wrong; see below. */<br/>
-            if (test)<br/>
-            {<br/>
-              nested code<br/>
-            }<br/>
-<br/>
-            int a_local = 0;  // declare variable at first use.<br/>
-<br/>
-            //  char a, b, *p;   /* wrong */<br/>
-            char a = 'a';<br/>
-            char b = a + 1;<br/>
-            char* c = "abc";  // each variable goes on its own line, always.<br/>
-<br/>
-            // except maybe here...<br/>
-            for (unsigned i = 0, mask = 1; mask; ++i, mask &lt;&lt;= 1) {<br/>
-              // ...<br/>
-            }<br/>
-          }<br/>
-<br/>
-        gribble::gribble()<br/>
-        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br/>
-        { }<br/>
-<br/>
-        int<br/>
-        gribble::three_lines()<br/>
-        {<br/>
-          // doesn't fit in one line.<br/>
-        }<br/>
-      } // namespace std<br/>
-      </code><br/>
-    </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr><tr><td align="left" valign="top">Directory Layout and Source Conventions </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Design Notes</td></tr></table></div></body></html>
+    </p><div class="literallayout"><p><br />
+      This is the list of names <span class="quote">“<span class="quote">reserved to the<br />
+      implementation</span>”</span> that have been claimed by certain<br />
+      compilers and system headers of interest, and should not be used<br />
+      in the library. It will grow, of course.  We generally are<br />
+      interested in names that are not all-caps, except for those like<br />
+      "_T"<br />
+<br />
+      For Solaris:<br />
+      _B<br />
+      _C<br />
+      _L<br />
+      _N<br />
+      _P<br />
+      _S<br />
+      _U<br />
+      _X<br />
+      _E1<br />
+      ..<br />
+      _E24<br />
+<br />
+      Irix adds:<br />
+      _A<br />
+      _G<br />
+<br />
+      MS adds:<br />
+      _T<br />
+<br />
+      BSD adds:<br />
+      __used<br />
+      __unused<br />
+      __inline<br />
+      _Complex<br />
+      __istype<br />
+      __maskrune<br />
+      __tolower<br />
+      __toupper<br />
+      __wchar_t<br />
+      __wint_t<br />
+      _res<br />
+      _res_ext<br />
+      __tg_*<br />
+<br />
+      SPU adds:<br />
+      __ea<br />
+<br />
+      For GCC:<br />
+<br />
+      [Note that this list is out of date. It applies to the old<br />
+      name-mangling; in G++ 3.0 and higher a different name-mangling is<br />
+      used. In addition, many of the bugs relating to G++ interpreting<br />
+      these names as operators have been fixed.]<br />
+<br />
+      The full set of __* identifiers (combined from gcc/cp/lex.c and<br />
+      gcc/cplus-dem.c) that are either old or new, but are definitely<br />
+      recognized by the demangler, is:<br />
+<br />
+      __aa<br />
+      __aad<br />
+      __ad<br />
+      __addr<br />
+      __adv<br />
+      __aer<br />
+      __als<br />
+      __alshift<br />
+      __amd<br />
+      __ami<br />
+      __aml<br />
+      __amu<br />
+      __aor<br />
+      __apl<br />
+      __array<br />
+      __ars<br />
+      __arshift<br />
+      __as<br />
+      __bit_and<br />
+      __bit_ior<br />
+      __bit_not<br />
+      __bit_xor<br />
+      __call<br />
+      __cl<br />
+      __cm<br />
+      __cn<br />
+      __co<br />
+      __component<br />
+      __compound<br />
+      __cond<br />
+      __convert<br />
+      __delete<br />
+      __dl<br />
+      __dv<br />
+      __eq<br />
+      __er<br />
+      __ge<br />
+      __gt<br />
+      __indirect<br />
+      __le<br />
+      __ls<br />
+      __lt<br />
+      __max<br />
+      __md<br />
+      __method_call<br />
+      __mi<br />
+      __min<br />
+      __minus<br />
+      __ml<br />
+      __mm<br />
+      __mn<br />
+      __mult<br />
+      __mx<br />
+      __ne<br />
+      __negate<br />
+      __new<br />
+      __nop<br />
+      __nt<br />
+      __nw<br />
+      __oo<br />
+      __op<br />
+      __or<br />
+      __pl<br />
+      __plus<br />
+      __postdecrement<br />
+      __postincrement<br />
+      __pp<br />
+      __pt<br />
+      __rf<br />
+      __rm<br />
+      __rs<br />
+      __sz<br />
+      __trunc_div<br />
+      __trunc_mod<br />
+      __truth_andif<br />
+      __truth_not<br />
+      __truth_orif<br />
+      __vc<br />
+      __vd<br />
+      __vn<br />
+<br />
+      SGI badnames:<br />
+      __builtin_alloca<br />
+      __builtin_fsqrt<br />
+      __builtin_sqrt<br />
+      __builtin_fabs<br />
+      __builtin_dabs<br />
+      __builtin_cast_f2i<br />
+      __builtin_cast_i2f<br />
+      __builtin_cast_d2ll<br />
+      __builtin_cast_ll2d<br />
+      __builtin_copy_dhi2i<br />
+      __builtin_copy_i2dhi<br />
+      __builtin_copy_dlo2i<br />
+      __builtin_copy_i2dlo<br />
+      __add_and_fetch<br />
+      __sub_and_fetch<br />
+      __or_and_fetch<br />
+      __xor_and_fetch<br />
+      __and_and_fetch<br />
+      __nand_and_fetch<br />
+      __mpy_and_fetch<br />
+      __min_and_fetch<br />
+      __max_and_fetch<br />
+      __fetch_and_add<br />
+      __fetch_and_sub<br />
+      __fetch_and_or<br />
+      __fetch_and_xor<br />
+      __fetch_and_and<br />
+      __fetch_and_nand<br />
+      __fetch_and_mpy<br />
+      __fetch_and_min<br />
+      __fetch_and_max<br />
+      __lock_test_and_set<br />
+      __lock_release<br />
+      __lock_acquire<br />
+      __compare_and_swap<br />
+      __synchronize<br />
+      __high_multiply<br />
+      __unix<br />
+      __sgi<br />
+      __linux__<br />
+      __i386__<br />
+      __i486__<br />
+      __cplusplus<br />
+      __embedded_cplusplus<br />
+      // long double conversion members mangled as __opr<br />
+      // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html<br />
+      __opr<br />
+    </p></div></div><div class="section" title="By Example"><div class="titlepage"><div><div><h3 class="title"><a id="coding_style.example"></a>By Example</h3></div></div></div><div class="literallayout"><p><br />
+      This library is written to appropriate C++ coding standards. As such,<br />
+      it is intended to precede the recommendations of the GNU Coding<br />
+      Standard, which can be referenced in full here:<br />
+<br />
+      <a class="link" href="http://www.gnu.org/prep/standards/standards.html#Formatting" target="_top">http://www.gnu.org/prep/standards/standards.html#Formatting</a><br />
+<br />
+      The rest of this is also interesting reading, but skip the "Design<br />
+      Advice" part.<br />
+<br />
+      The GCC coding conventions are here, and are also useful:<br />
+      <a class="link" href="http://gcc.gnu.org/codingconventions.html" target="_top">http://gcc.gnu.org/codingconventions.html</a><br />
+<br />
+      In addition, because it doesn't seem to be stated explicitly anywhere<br />
+      else, there is an 80 column source limit.<br />
+<br />
+      <code class="filename">ChangeLog</code> entries for member functions should use the<br />
+      classname::member function name syntax as follows:<br />
+<br />
+<code class="code"><br />
+1999-04-15  Dennis Ritchie  &lt;dr@att.com&gt;<br />
+<br />
+      * src/basic_file.cc (__basic_file::open): Fix thinko in<br />
+      _G_HAVE_IO_FILE_OPEN bits.<br />
+</code><br />
+<br />
+      Notable areas of divergence from what may be previous local practice<br />
+      (particularly for GNU C) include:<br />
+<br />
+      01. Pointers and references<br />
+      <code class="code"><br />
+        char* p = "flop";<br />
+        char&amp; c = *p;<br />
+          -NOT-<br />
+        char *p = "flop";  // wrong<br />
+        char &amp;c = *p;      // wrong<br />
+      </code><br />
+<br />
+      Reason: In C++, definitions are mixed with executable code. Here,<br />
+      <code class="code">p</code> is being initialized, not <code class="code">*p</code>.  This is near-universal<br />
+      practice among C++ programmers; it is normal for C hackers<br />
+      to switch spontaneously as they gain experience.<br />
+<br />
+      02. Operator names and parentheses<br />
+      <code class="code"><br />
+        operator==(type)<br />
+          -NOT-<br />
+        operator == (type)  // wrong<br />
+      </code><br />
+<br />
+      Reason: The <code class="code">==</code> is part of the function name. Separating<br />
+      it makes the declaration look like an expression.<br />
+<br />
+      03. Function names and parentheses<br />
+      <code class="code"><br />
+        void mangle()<br />
+          -NOT-<br />
+        void mangle ()  // wrong<br />
+      </code><br />
+<br />
+      Reason: no space before parentheses (except after a control-flow<br />
+      keyword) is near-universal practice for C++. It identifies the<br />
+      parentheses as the function-call operator or declarator, as<br />
+      opposed to an expression or other overloaded use of parentheses.<br />
+<br />
+      04. Template function indentation<br />
+      <code class="code"><br />
+        template&lt;typename T&gt;<br />
+          void<br />
+          template_function(args)<br />
+          { }<br />
+          -NOT-<br />
+        template&lt;class T&gt;<br />
+        void template_function(args) {};<br />
+      </code><br />
+<br />
+      Reason: In class definitions, without indentation whitespace is<br />
+      needed both above and below the declaration to distinguish<br />
+      it visually from other members. (Also, re: "typename"<br />
+      rather than "class".)  <code class="code">T</code> often could be <code class="code">int</code>, which is<br />
+      not a class. ("class", here, is an anachronism.)<br />
+<br />
+      05. Template class indentation<br />
+      <code class="code"><br />
+        template&lt;typename _CharT, typename _Traits&gt;<br />
+          class basic_ios : public ios_base<br />
+          {<br />
+          public:<br />
+            // Types:<br />
+          };<br />
+          -NOT-<br />
+        template&lt;class _CharT, class _Traits&gt;<br />
+        class basic_ios : public ios_base<br />
+          {<br />
+          public:<br />
+            // Types:<br />
+          };<br />
+          -NOT-<br />
+        template&lt;class _CharT, class _Traits&gt;<br />
+          class basic_ios : public ios_base<br />
+        {<br />
+          public:<br />
+            // Types:<br />
+        };<br />
+      </code><br />
+<br />
+      06. Enumerators<br />
+      <code class="code"><br />
+        enum<br />
+        {<br />
+          space = _ISspace,<br />
+          print = _ISprint,<br />
+          cntrl = _IScntrl<br />
+        };<br />
+          -NOT-<br />
+        enum { space = _ISspace, print = _ISprint, cntrl = _IScntrl };<br />
+      </code><br />
+<br />
+      07. Member initialization lists<br />
+      All one line, separate from class name.<br />
+<br />
+      <code class="code"><br />
+        gribble::gribble()<br />
+        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
+        { }<br />
+          -NOT-<br />
+        gribble::gribble() : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
+        { }<br />
+      </code><br />
+<br />
+      08. Try/Catch blocks<br />
+      <code class="code"><br />
+        try<br />
+          {<br />
+            //<br />
+          }<br />
+        catch (...)<br />
+          {<br />
+            //<br />
+          }<br />
+          -NOT-<br />
+        try {<br />
+          //<br />
+        } catch(...) {<br />
+          //<br />
+        }<br />
+      </code><br />
+<br />
+      09. Member functions declarations and definitions<br />
+      Keywords such as extern, static, export, explicit, inline, etc<br />
+      go on the line above the function name. Thus<br />
+<br />
+      <code class="code"><br />
+      virtual int<br />
+      foo()<br />
+      -NOT-<br />
+      virtual int foo()<br />
+      </code><br />
+<br />
+      Reason: GNU coding conventions dictate return types for functions<br />
+      are on a separate line than the function name and parameter list<br />
+      for definitions. For C++, where we have member functions that can<br />
+      be either inline definitions or declarations, keeping to this<br />
+      standard allows all member function names for a given class to be<br />
+      aligned to the same margin, increasing readability.<br />
+<br />
+<br />
+      10. Invocation of member functions with "this-&gt;"<br />
+      For non-uglified names, use <code class="code">this-&gt;name</code> to call the function.<br />
+<br />
+      <code class="code"><br />
+      this-&gt;sync()<br />
+      -NOT-<br />
+      sync()<br />
+      </code><br />
+<br />
+      Reason: Koenig lookup.<br />
+<br />
+      11. Namespaces<br />
+      <code class="code"><br />
+      namespace std<br />
+      {<br />
+        blah blah blah;<br />
+      } // namespace std<br />
+<br />
+      -NOT-<br />
+<br />
+      namespace std {<br />
+        blah blah blah;<br />
+      } // namespace std<br />
+      </code><br />
+<br />
+      12. Spacing under protected and private in class declarations:<br />
+      space above, none below<br />
+      i.e.<br />
+<br />
+      <code class="code"><br />
+      public:<br />
+        int foo;<br />
+<br />
+      -NOT-<br />
+      public:<br />
+<br />
+        int foo;<br />
+      </code><br />
+<br />
+      13. Spacing WRT return statements.<br />
+      no extra spacing before returns, no parenthesis<br />
+      i.e.<br />
+<br />
+      <code class="code"><br />
+      }<br />
+      return __ret;<br />
+<br />
+      -NOT-<br />
+      }<br />
+<br />
+      return __ret;<br />
+<br />
+      -NOT-<br />
+<br />
+      }<br />
+      return (__ret);<br />
+      </code><br />
+<br />
+<br />
+      14. Location of global variables.<br />
+      All global variables of class type, whether in the "user visible"<br />
+      space (e.g., <code class="code">cin</code>) or the implementation namespace, must be defined<br />
+      as a character array with the appropriate alignment and then later<br />
+      re-initialized to the correct value.<br />
+<br />
+      This is due to startup issues on certain platforms, such as AIX.<br />
+      For more explanation and examples, see <code class="filename">src/globals.cc</code>. All such<br />
+      variables should be contained in that file, for simplicity.<br />
+<br />
+      15. Exception abstractions<br />
+      Use the exception abstractions found in <code class="filename">functexcept.h</code>, which allow<br />
+      C++ programmers to use this library with <code class="literal">-fno-exceptions</code>.  (Even if<br />
+      that is rarely advisable, it's a necessary evil for backwards<br />
+      compatibility.)<br />
+<br />
+      16. Exception error messages<br />
+      All start with the name of the function where the exception is<br />
+      thrown, and then (optional) descriptive text is added. Example:<br />
+<br />
+      <code class="code"><br />
+      __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));<br />
+      </code><br />
+<br />
+      Reason: The verbose terminate handler prints out <code class="code">exception::what()</code>,<br />
+      as well as the typeinfo for the thrown exception. As this is the<br />
+      default terminate handler, by putting location info into the<br />
+      exception string, a very useful error message is printed out for<br />
+      uncaught exceptions. So useful, in fact, that non-programmers can<br />
+      give useful error messages, and programmers can intelligently<br />
+      speculate what went wrong without even using a debugger.<br />
+<br />
+      17. The doxygen style guide to comments is a separate document,<br />
+      see index.<br />
+<br />
+      The library currently has a mixture of GNU-C and modern C++ coding<br />
+      styles. The GNU C usages will be combed out gradually.<br />
+<br />
+      Name patterns:<br />
+<br />
+      For nonstandard names appearing in Standard headers, we are constrained<br />
+      to use names that begin with underscores. This is called "uglification".<br />
+      The convention is:<br />
+<br />
+      Local and argument names:  <code class="literal">__[a-z].*</code><br />
+<br />
+      Examples:  <code class="code">__count  __ix  __s1</code><br />
+<br />
+      Type names and template formal-argument names: <code class="literal">_[A-Z][^_].*</code><br />
+<br />
+      Examples:  <code class="code">_Helper  _CharT  _N</code><br />
+<br />
+      Member data and function names: <code class="literal">_M_.*</code><br />
+<br />
+      Examples:  <code class="code">_M_num_elements  _M_initialize ()</code><br />
+<br />
+      Static data members, constants, and enumerations: <code class="literal">_S_.*</code><br />
+<br />
+      Examples: <code class="code">_S_max_elements  _S_default_value</code><br />
+<br />
+      Don't use names in the same scope that differ only in the prefix,<br />
+      e.g. _S_top and _M_top. See BADNAMES for a list of forbidden names.<br />
+      (The most tempting of these seem to be and "_T" and "__sz".)<br />
+<br />
+      Names must never have "__" internally; it would confuse name<br />
+      unmanglers on some targets. Also, never use "__[0-9]", same reason.<br />
+<br />
+      --------------------------<br />
+<br />
+      [BY EXAMPLE]<br />
+      <code class="code"><br />
+<br />
+      #ifndef  _HEADER_<br />
+      #define  _HEADER_ 1<br />
+<br />
+      namespace std<br />
+      {<br />
+        class gribble<br />
+        {<br />
+        public:<br />
+          gribble() throw();<br />
+<br />
+          gribble(const gribble&amp;);<br />
+<br />
+          explicit<br />
+          gribble(int __howmany);<br />
+<br />
+          gribble&amp;<br />
+          operator=(const gribble&amp;);<br />
+<br />
+          virtual<br />
+          ~gribble() throw ();<br />
+<br />
+          // Start with a capital letter, end with a period.<br />
+          inline void<br />
+          public_member(const char* __arg) const;<br />
+<br />
+          // In-class function definitions should be restricted to one-liners.<br />
+          int<br />
+          one_line() { return 0 }<br />
+<br />
+          int<br />
+          two_lines(const char* arg)<br />
+          { return strchr(arg, 'a'); }<br />
+<br />
+          inline int<br />
+          three_lines();  // inline, but defined below.<br />
+<br />
+          // Note indentation.<br />
+          template&lt;typename _Formal_argument&gt;<br />
+            void<br />
+            public_template() const throw();<br />
+<br />
+          template&lt;typename _Iterator&gt;<br />
+            void<br />
+            other_template();<br />
+<br />
+        private:<br />
+          class _Helper;<br />
+<br />
+          int _M_private_data;<br />
+          int _M_more_stuff;<br />
+          _Helper* _M_helper;<br />
+          int _M_private_function();<br />
+<br />
+          enum _Enum<br />
+            {<br />
+              _S_one,<br />
+              _S_two<br />
+            };<br />
+<br />
+          static void<br />
+          _S_initialize_library();<br />
+        };<br />
+<br />
+        // More-or-less-standard language features described by lack, not presence.<br />
+      # ifndef _G_NO_LONGLONG<br />
+        extern long long _G_global_with_a_good_long_name;  // avoid globals!<br />
+      # endif<br />
+<br />
+        // Avoid in-class inline definitions, define separately;<br />
+        // likewise for member class definitions:<br />
+        inline int<br />
+        gribble::public_member() const<br />
+        { int __local = 0; return __local; }<br />
+<br />
+        class gribble::_Helper<br />
+        {<br />
+          int _M_stuff;<br />
+<br />
+          friend class gribble;<br />
+        };<br />
+      }<br />
+<br />
+      // Names beginning with "__": only for arguments and<br />
+      //   local variables; never use "__" in a type name, or<br />
+      //   within any name; never use "__[0-9]".<br />
+<br />
+      #endif /* _HEADER_ */<br />
+<br />
+<br />
+      namespace std<br />
+      {<br />
+        template&lt;typename T&gt;  // notice: "typename", not "class", no space<br />
+          long_return_value_type&lt;with_many, args&gt;<br />
+          function_name(char* pointer,               // "char *pointer" is wrong.<br />
+                        char* argument,<br />
+                        const Reference&amp; ref)<br />
+          {<br />
+            // int a_local;  /* wrong; see below. */<br />
+            if (test)<br />
+            {<br />
+              nested code<br />
+            }<br />
+<br />
+            int a_local = 0;  // declare variable at first use.<br />
+<br />
+            //  char a, b, *p;   /* wrong */<br />
+            char a = 'a';<br />
+            char b = a + 1;<br />
+            char* c = "abc";  // each variable goes on its own line, always.<br />
+<br />
+            // except maybe here...<br />
+            for (unsigned i = 0, mask = 1; mask; ++i, mask &lt;&lt;= 1) {<br />
+              // ...<br />
+            }<br />
+          }<br />
+<br />
+        gribble::gribble()<br />
+        : _M_private_data(0), _M_more_stuff(0), _M_helper(0)<br />
+        { }<br />
+<br />
+        int<br />
+        gribble::three_lines()<br />
+        {<br />
+          // doesn't fit in one line.<br />
+        }<br />
+      } // namespace std<br />
+      </code><br />
+    </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_organization.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_design_notes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Directory Layout and Source Conventions </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Design Notes</td></tr></table></div></body></html>
index 8f9b0be..5f5bb50 100644 (file)
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Design Notes</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="source_code_style.html" title="Coding Style"/><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<!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 Notes</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="source_code_style.html" title="Coding Style" /><link rel="next" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
   Contributing
   
-</th><td align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr/></div><div class="section" title="Design Notes"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.design_notes"/>Design Notes</h2></div></div></div><p>
-  </p><div class="literallayout"><p><br/>
-<br/>
-    The Library<br/>
-    -----------<br/>
-<br/>
-    This paper is covers two major areas:<br/>
-<br/>
-    - Features and policies not mentioned in the standard that<br/>
-    the quality of the library implementation depends on, including<br/>
-    extensions and "implementation-defined" features;<br/>
-<br/>
-    - Plans for required but unimplemented library features and<br/>
-    optimizations to them.<br/>
-<br/>
-    Overhead<br/>
-    --------<br/>
-<br/>
-    The standard defines a large library, much larger than the standard<br/>
-    C library. A naive implementation would suffer substantial overhead<br/>
-    in compile time, executable size, and speed, rendering it unusable<br/>
-    in many (particularly embedded) applications. The alternative demands<br/>
-    care in construction, and some compiler support, but there is no<br/>
-    need for library subsets.<br/>
-<br/>
-    What are the sources of this overhead?  There are four main causes:<br/>
-<br/>
-    - The library is specified almost entirely as templates, which<br/>
-    with current compilers must be included in-line, resulting in<br/>
-    very slow builds as tens or hundreds of thousands of lines<br/>
-    of function definitions are read for each user source file.<br/>
-    Indeed, the entire SGI STL, as well as the dos Reis valarray,<br/>
-    are provided purely as header files, largely for simplicity in<br/>
-    porting. Iostream/locale is (or will be) as large again.<br/>
-<br/>
-    - The library is very flexible, specifying a multitude of hooks<br/>
-    where users can insert their own code in place of defaults.<br/>
-    When these hooks are not used, any time and code expended to<br/>
-    support that flexibility is wasted.<br/>
-<br/>
-    - Templates are often described as causing to "code bloat". In<br/>
-    practice, this refers (when it refers to anything real) to several<br/>
-    independent processes. First, when a class template is manually<br/>
-    instantiated in its entirely, current compilers place the definitions<br/>
-    for all members in a single object file, so that a program linking<br/>
-    to one member gets definitions of all. Second, template functions<br/>
-    which do not actually depend on the template argument are, under<br/>
-    current compilers, generated anew for each instantiation, rather<br/>
-    than being shared with other instantiations. Third, some of the<br/>
-    flexibility mentioned above comes from virtual functions (both in<br/>
-    regular classes and template classes) which current linkers add<br/>
-    to the executable file even when they manifestly cannot be called.<br/>
-<br/>
-    - The library is specified to use a language feature, exceptions,<br/>
-    which in the current gcc compiler ABI imposes a run time and<br/>
-    code space cost to handle the possibility of exceptions even when<br/>
-    they are not used. Under the new ABI (accessed with -fnew-abi),<br/>
-    there is a space overhead and a small reduction in code efficiency<br/>
-    resulting from lost optimization opportunities associated with<br/>
-    non-local branches associated with exceptions.<br/>
-<br/>
-    What can be done to eliminate this overhead?  A variety of coding<br/>
-    techniques, and compiler, linker and library improvements and<br/>
-    extensions may be used, as covered below. Most are not difficult,<br/>
-    and some are already implemented in varying degrees.<br/>
-<br/>
-    Overhead: Compilation Time<br/>
-    --------------------------<br/>
-<br/>
-    Providing "ready-instantiated" template code in object code archives<br/>
-    allows us to avoid generating and optimizing template instantiations<br/>
-    in each compilation unit which uses them. However, the number of such<br/>
-    instantiations that are useful to provide is limited, and anyway this<br/>
-    is not enough, by itself, to minimize compilation time. In particular,<br/>
-    it does not reduce time spent parsing conforming headers.<br/>
-<br/>
-    Quicker header parsing will depend on library extensions and compiler<br/>
-    improvements.  One approach is some variation on the techniques<br/>
-    previously marketed as "pre-compiled headers", now standardized as<br/>
-    support for the "export" keyword. "Exported" template definitions<br/>
-    can be placed (once) in a "repository" -- really just a library, but<br/>
-    of template definitions rather than object code -- to be drawn upon<br/>
-    at link time when an instantiation is needed, rather than placed in<br/>
-    header files to be parsed along with every compilation unit.<br/>
-<br/>
-    Until "export" is implemented we can put some of the lengthy template<br/>
-    definitions in #if guards or alternative headers so that users can skip<br/>
-    over the full definitions when they need only the ready-instantiated<br/>
-    specializations.<br/>
-<br/>
-    To be precise, this means that certain headers which define<br/>
-    templates which users normally use only for certain arguments<br/>
-    can be instrumented to avoid exposing the template definitions<br/>
-    to the compiler unless a macro is defined. For example, in<br/>
-    &lt;string&gt;, we might have:<br/>
-<br/>
-    template &lt;class _CharT, ... &gt; class basic_string {<br/>
-    ... // member declarations<br/>
-    };<br/>
-    ... // operator declarations<br/>
-<br/>
-    #ifdef _STRICT_ISO_<br/>
-    # if _G_NO_TEMPLATE_EXPORT<br/>
-    #   include &lt;bits/std_locale.h&gt;  // headers needed by definitions<br/>
-    #   ...<br/>
-    #   include &lt;bits/string.tcc&gt;  // member and global template definitions.<br/>
-    # endif<br/>
-    #endif<br/>
-<br/>
-    Users who compile without specifying a strict-ISO-conforming flag<br/>
-    would not see many of the template definitions they now see, and rely<br/>
-    instead on ready-instantiated specializations in the library. This<br/>
-    technique would be useful for the following substantial components:<br/>
-    string, locale/iostreams, valarray. It would *not* be useful or<br/>
-    usable with the following: containers, algorithms, iterators,<br/>
-    allocator. Since these constitute a large (though decreasing)<br/>
-    fraction of the library, the benefit the technique offers is<br/>
-    limited.<br/>
-<br/>
-    The language specifies the semantics of the "export" keyword, but<br/>
-    the gcc compiler does not yet support it. When it does, problems<br/>
-    with large template inclusions can largely disappear, given some<br/>
-    minor library reorganization, along with the need for the apparatus<br/>
-    described above.<br/>
-<br/>
-    Overhead: Flexibility Cost<br/>
-    --------------------------<br/>
-<br/>
-    The library offers many places where users can specify operations<br/>
-    to be performed by the library in place of defaults. Sometimes<br/>
-    this seems to require that the library use a more-roundabout, and<br/>
-    possibly slower, way to accomplish the default requirements than<br/>
-    would be used otherwise.<br/>
-<br/>
-    The primary protection against this overhead is thorough compiler<br/>
-    optimization, to crush out layers of inline function interfaces.<br/>
-    Kuck &amp; Associates has demonstrated the practicality of this kind<br/>
-    of optimization.<br/>
-<br/>
-    The second line of defense against this overhead is explicit<br/>
-    specialization. By defining helper function templates, and writing<br/>
-    specialized code for the default case, overhead can be eliminated<br/>
-    for that case without sacrificing flexibility. This takes full<br/>
-    advantage of any ability of the optimizer to crush out degenerate<br/>
-    code.<br/>
-<br/>
-    The library specifies many virtual functions which current linkers<br/>
-    load even when they cannot be called. Some minor improvements to the<br/>
-    compiler and to ld would eliminate any such overhead by simply<br/>
-    omitting virtual functions that the complete program does not call.<br/>
-    A prototype of this work has already been done. For targets where<br/>
-    GNU ld is not used, a "pre-linker" could do the same job.<br/>
-<br/>
-    The main areas in the standard interface where user flexibility<br/>
-    can result in overhead are:<br/>
-<br/>
-    - Allocators:  Containers are specified to use user-definable<br/>
-    allocator types and objects, making tuning for the container<br/>
-    characteristics tricky.<br/>
-<br/>
-    - Locales: the standard specifies locale objects used to implement<br/>
-    iostream operations, involving many virtual functions which use<br/>
-    streambuf iterators.<br/>
-<br/>
-    - Algorithms and containers: these may be instantiated on any type,<br/>
-    frequently duplicating code for identical operations.<br/>
-<br/>
-    - Iostreams and strings: users are permitted to use these on their<br/>
-    own types, and specify the operations the stream must use on these<br/>
-    types.<br/>
-<br/>
-    Note that these sources of overhead are _avoidable_. The techniques<br/>
-    to avoid them are covered below.<br/>
-<br/>
-    Code Bloat<br/>
-    ----------<br/>
-<br/>
-    In the SGI STL, and in some other headers, many of the templates<br/>
-    are defined "inline" -- either explicitly or by their placement<br/>
-    in class definitions -- which should not be inline. This is a<br/>
-    source of code bloat. Matt had remarked that he was relying on<br/>
-    the compiler to recognize what was too big to benefit from inlining,<br/>
-    and generate it out-of-line automatically. However, this also can<br/>
-    result in code bloat except where the linker can eliminate the extra<br/>
-    copies.<br/>
-<br/>
-    Fixing these cases will require an audit of all inline functions<br/>
-    defined in the library to determine which merit inlining, and moving<br/>
-    the rest out of line. This is an issue mainly in chapters 23, 25, and<br/>
-    27. Of course it can be done incrementally, and we should generally<br/>
-    accept patches that move large functions out of line and into ".tcc"<br/>
-    files, which can later be pulled into a repository. Compiler/linker<br/>
-    improvements to recognize very large inline functions and move them<br/>
-    out-of-line, but shared among compilation units, could make this<br/>
-    work unnecessary.<br/>
-<br/>
-    Pre-instantiating template specializations currently produces large<br/>
-    amounts of dead code which bloats statically linked programs. The<br/>
-    current state of the static library, libstdc++.a, is intolerable on<br/>
-    this account, and will fuel further confused speculation about a need<br/>
-    for a library "subset". A compiler improvement that treats each<br/>
-    instantiated function as a separate object file, for linking purposes,<br/>
-    would be one solution to this problem. An alternative would be to<br/>
-    split up the manual instantiation files into dozens upon dozens of<br/>
-    little files, each compiled separately, but an abortive attempt at<br/>
-    this was done for &lt;string&gt; and, though it is far from complete, it<br/>
-    is already a nuisance. A better interim solution (just until we have<br/>
-    "export") is badly needed.<br/>
-<br/>
-    When building a shared library, the current compiler/linker cannot<br/>
-    automatically generate the instantiations needed. This creates a<br/>
-    miserable situation; it means any time something is changed in the<br/>
-    library, before a shared library can be built someone must manually<br/>
-    copy the declarations of all templates that are needed by other parts<br/>
-    of the library to an "instantiation" file, and add it to the build<br/>
-    system to be compiled and linked to the library. This process is<br/>
-    readily automated, and should be automated as soon as possible.<br/>
-    Users building their own shared libraries experience identical<br/>
-    frustrations.<br/>
-<br/>
-    Sharing common aspects of template definitions among instantiations<br/>
-    can radically reduce code bloat. The compiler could help a great<br/>
-    deal here by recognizing when a function depends on nothing about<br/>
-    a template parameter, or only on its size, and giving the resulting<br/>
-    function a link-name "equate" that allows it to be shared with other<br/>
-    instantiations. Implementation code could take advantage of the<br/>
-    capability by factoring out code that does not depend on the template<br/>
-    argument into separate functions to be merged by the compiler.<br/>
-<br/>
-    Until such a compiler optimization is implemented, much can be done<br/>
-    manually (if tediously) in this direction. One such optimization is<br/>
-    to derive class templates from non-template classes, and move as much<br/>
-    implementation as possible into the base class. Another is to partial-<br/>
-    specialize certain common instantiations, such as vector&lt;T*&gt;, to share<br/>
-    code for instantiations on all types T. While these techniques work,<br/>
-    they are far from the complete solution that a compiler improvement<br/>
-    would afford.<br/>
-<br/>
-    Overhead: Expensive Language Features<br/>
-    -------------------------------------<br/>
-<br/>
-    The main "expensive" language feature used in the standard library<br/>
-    is exception support, which requires compiling in cleanup code with<br/>
-    static table data to locate it, and linking in library code to use<br/>
-    the table. For small embedded programs the amount of such library<br/>
-    code and table data is assumed by some to be excessive. Under the<br/>
-    "new" ABI this perception is generally exaggerated, although in some<br/>
-    cases it may actually be excessive.<br/>
-<br/>
-    To implement a library which does not use exceptions directly is<br/>
-    not difficult given minor compiler support (to "turn off" exceptions<br/>
-    and ignore exception constructs), and results in no great library<br/>
-    maintenance difficulties. To be precise, given "-fno-exceptions",<br/>
-    the compiler should treat "try" blocks as ordinary blocks, and<br/>
-    "catch" blocks as dead code to ignore or eliminate. Compiler<br/>
-    support is not strictly necessary, except in the case of "function<br/>
-    try blocks"; otherwise the following macros almost suffice:<br/>
-<br/>
-    #define throw(X)<br/>
-    #define try      if (true)<br/>
-    #define catch(X) else if (false)<br/>
-<br/>
-    However, there may be a need to use function try blocks in the<br/>
-    library implementation, and use of macros in this way can make<br/>
-    correct diagnostics impossible. Furthermore, use of this scheme<br/>
-    would require the library to call a function to re-throw exceptions<br/>
-    from a try block. Implementing the above semantics in the compiler<br/>
-    is preferable.<br/>
-<br/>
-    Given the support above (however implemented) it only remains to<br/>
-    replace code that "throws" with a call to a well-documented "handler"<br/>
-    function in a separate compilation unit which may be replaced by<br/>
-    the user. The main source of exceptions that would be difficult<br/>
-    for users to avoid is memory allocation failures, but users can<br/>
-    define their own memory allocation primitives that never throw.<br/>
-    Otherwise, the complete list of such handlers, and which library<br/>
-    functions may call them, would be needed for users to be able to<br/>
-    implement the necessary substitutes. (Fortunately, they have the<br/>
-    source code.)<br/>
-<br/>
-    Opportunities<br/>
-    -------------<br/>
-<br/>
-    The template capabilities of C++ offer enormous opportunities for<br/>
-    optimizing common library operations, well beyond what would be<br/>
-    considered "eliminating overhead". In particular, many operations<br/>
-    done in Glibc with macros that depend on proprietary language<br/>
-    extensions can be implemented in pristine Standard C++. For example,<br/>
-    the chapter 25 algorithms, and even C library functions such as strchr,<br/>
-    can be specialized for the case of static arrays of known (small) size.<br/>
-<br/>
-    Detailed optimization opportunities are identified below where<br/>
-    the component where they would appear is discussed. Of course new<br/>
-    opportunities will be identified during implementation.<br/>
-<br/>
-    Unimplemented Required Library Features<br/>
-    ---------------------------------------<br/>
-<br/>
-    The standard specifies hundreds of components, grouped broadly by<br/>
-    chapter. These are listed in excruciating detail in the CHECKLIST<br/>
-    file.<br/>
-<br/>
-    17 general<br/>
-    18 support<br/>
-    19 diagnostics<br/>
-    20 utilities<br/>
-    21 string<br/>
-    22 locale<br/>
-    23 containers<br/>
-    24 iterators<br/>
-    25 algorithms<br/>
-    26 numerics<br/>
-    27 iostreams<br/>
-    Annex D  backward compatibility<br/>
-<br/>
-    Anyone participating in implementation of the library should obtain<br/>
-    a copy of the standard, ISO 14882.  People in the U.S. can obtain an<br/>
-    electronic copy for US$18 from ANSI's web site. Those from other<br/>
-    countries should visit http://www.iso.org/ to find out the location<br/>
-    of their country's representation in ISO, in order to know who can<br/>
-    sell them a copy.<br/>
-<br/>
-    The emphasis in the following sections is on unimplemented features<br/>
-    and optimization opportunities.<br/>
-<br/>
-    Chapter 17  General<br/>
-    -------------------<br/>
-<br/>
-    Chapter 17 concerns overall library requirements.<br/>
-<br/>
-    The standard doesn't mention threads. A multi-thread (MT) extension<br/>
-    primarily affects operators new and delete (18), allocator (20),<br/>
-    string (21), locale (22), and iostreams (27). The common underlying<br/>
-    support needed for this is discussed under chapter 20.<br/>
-<br/>
-    The standard requirements on names from the C headers create a<br/>
-    lot of work, mostly done. Names in the C headers must be visible<br/>
-    in the std:: and sometimes the global namespace; the names in the<br/>
-    two scopes must refer to the same object. More stringent is that<br/>
-    Koenig lookup implies that any types specified as defined in std::<br/>
-    really are defined in std::. Names optionally implemented as<br/>
-    macros in C cannot be macros in C++. (An overview may be read at<br/>
-    &lt;http://www.cantrip.org/cheaders.html&gt;). The scripts "inclosure"<br/>
-    and "mkcshadow", and the directories shadow/ and cshadow/, are the<br/>
-    beginning of an effort to conform in this area.<br/>
-<br/>
-    A correct conforming definition of C header names based on underlying<br/>
-    C library headers, and practical linking of conforming namespaced<br/>
-    customer code with third-party C libraries depends ultimately on<br/>
-    an ABI change, allowing namespaced C type names to be mangled into<br/>
-    type names as if they were global, somewhat as C function names in a<br/>
-    namespace, or C++ global variable names, are left unmangled. Perhaps<br/>
-    another "extern" mode, such as 'extern "C-global"' would be an<br/>
-    appropriate place for such type definitions. Such a type would<br/>
-    affect mangling as follows:<br/>
-<br/>
-    namespace A {<br/>
-    struct X {};<br/>
-    extern "C-global" {  // or maybe just 'extern "C"'<br/>
-    struct Y {};<br/>
-    };<br/>
-    }<br/>
-    void f(A::X*);  // mangles to f__FPQ21A1X<br/>
-    void f(A::Y*);  // mangles to f__FP1Y<br/>
-<br/>
-    (It may be that this is really the appropriate semantics for regular<br/>
-    'extern "C"', and 'extern "C-global"', as an extension, would not be<br/>
-    necessary.) This would allow functions declared in non-standard C headers<br/>
-    (and thus fixable by neither us nor users) to link properly with functions<br/>
-    declared using C types defined in properly-namespaced headers. The<br/>
-    problem this solves is that C headers (which C++ programmers do persist<br/>
-    in using) frequently forward-declare C struct tags without including<br/>
-    the header where the type is defined, as in<br/>
-<br/>
-    struct tm;<br/>
-    void munge(tm*);<br/>
-<br/>
-    Without some compiler accommodation, munge cannot be called by correct<br/>
-    C++ code using a pointer to a correctly-scoped tm* value.<br/>
-<br/>
-    The current C headers use the preprocessor extension "#include_next",<br/>
-    which the compiler complains about when run "-pedantic".<br/>
-    (Incidentally, it appears that "-fpedantic" is currently ignored,<br/>
-    probably a bug.)  The solution in the C compiler is to use<br/>
-    "-isystem" rather than "-I", but unfortunately in g++ this seems<br/>
-    also to wrap the whole header in an 'extern "C"' block, so it's<br/>
-    unusable for C++ headers. The correct solution appears to be to<br/>
-    allow the various special include-directory options, if not given<br/>
-    an argument, to affect subsequent include-directory options additively,<br/>
-    so that if one said<br/>
-<br/>
-    -pedantic -iprefix $(prefix) \<br/>
-    -idirafter -ino-pedantic -ino-extern-c -iwithprefix -I g++-v3 \<br/>
-    -iwithprefix -I g++-v3/ext<br/>
-<br/>
-    the compiler would search $(prefix)/g++-v3 and not report<br/>
-    pedantic warnings for files found there, but treat files in<br/>
-    $(prefix)/g++-v3/ext pedantically. (The undocumented semantics<br/>
-    of "-isystem" in g++ stink. Can they be rescinded?  If not it<br/>
-    must be replaced with something more rationally behaved.)<br/>
-<br/>
-    All the C headers need the treatment above; in the standard these<br/>
-    headers are mentioned in various chapters. Below, I have only<br/>
-    mentioned those that present interesting implementation issues.<br/>
-<br/>
-    The components identified as "mostly complete", below, have not been<br/>
-    audited for conformance. In many cases where the library passes<br/>
-    conformance tests we have non-conforming extensions that must be<br/>
-    wrapped in #if guards for "pedantic" use, and in some cases renamed<br/>
-    in a conforming way for continued use in the implementation regardless<br/>
-    of conformance flags.<br/>
-<br/>
-    The STL portion of the library still depends on a header<br/>
-    stl/bits/stl_config.h full of #ifdef clauses. This apparatus<br/>
-    should be replaced with autoconf/automake machinery.<br/>
-<br/>
-    The SGI STL defines a type_traits&lt;&gt; template, specialized for<br/>
-    many types in their code including the built-in numeric and<br/>
-    pointer types and some library types, to direct optimizations of<br/>
-    standard functions. The SGI compiler has been extended to generate<br/>
-    specializations of this template automatically for user types,<br/>
-    so that use of STL templates on user types can take advantage of<br/>
-    these optimizations. Specializations for other, non-STL, types<br/>
-    would make more optimizations possible, but extending the gcc<br/>
-    compiler in the same way would be much better. Probably the next<br/>
-    round of standardization will ratify this, but probably with<br/>
-    changes, so it probably should be renamed to place it in the<br/>
-    implementation namespace.<br/>
-<br/>
-    The SGI STL also defines a large number of extensions visible in<br/>
-    standard headers. (Other extensions that appear in separate headers<br/>
-    have been sequestered in subdirectories ext/ and backward/.)  All<br/>
-    these extensions should be moved to other headers where possible,<br/>
-    and in any case wrapped in a namespace (not std!), and (where kept<br/>
-    in a standard header) girded about with macro guards. Some cannot be<br/>
-    moved out of standard headers because they are used to implement<br/>
-    standard features.  The canonical method for accommodating these<br/>
-    is to use a protected name, aliased in macro guards to a user-space<br/>
-    name. Unfortunately C++ offers no satisfactory template typedef<br/>
-    mechanism, so very ad-hoc and unsatisfactory aliasing must be used<br/>
-    instead.<br/>
-<br/>
-    Implementation of a template typedef mechanism should have the highest<br/>
-    priority among possible extensions, on the same level as implementation<br/>
-    of the template "export" feature.<br/>
-<br/>
-    Chapter 18  Language support<br/>
-    ----------------------------<br/>
-<br/>
-    Headers: &lt;limits&gt; &lt;new&gt; &lt;typeinfo&gt; &lt;exception&gt;<br/>
-    C headers: &lt;cstddef&gt; &lt;climits&gt; &lt;cfloat&gt;  &lt;cstdarg&gt; &lt;csetjmp&gt;<br/>
-    &lt;ctime&gt;   &lt;csignal&gt; &lt;cstdlib&gt; (also 21, 25, 26)<br/>
-<br/>
-    This defines the built-in exceptions, rtti, numeric_limits&lt;&gt;,<br/>
-    operator new and delete. Much of this is provided by the<br/>
-    compiler in its static runtime library.<br/>
-<br/>
-    Work to do includes defining numeric_limits&lt;&gt; specializations in<br/>
-    separate files for all target architectures. Values for integer types<br/>
-    except for bool and wchar_t are readily obtained from the C header<br/>
-    &lt;limits.h&gt;, but values for the remaining numeric types (bool, wchar_t,<br/>
-    float, double, long double) must be entered manually. This is<br/>
-    largely dog work except for those members whose values are not<br/>
-    easily deduced from available documentation. Also, this involves<br/>
-    some work in target configuration to identify the correct choice of<br/>
-    file to build against and to install.<br/>
-<br/>
-    The definitions of the various operators new and delete must be<br/>
-    made thread-safe, which depends on a portable exclusion mechanism,<br/>
-    discussed under chapter 20.  Of course there is always plenty of<br/>
-    room for improvements to the speed of operators new and delete.<br/>
-<br/>
-    &lt;cstdarg&gt;, in Glibc, defines some macros that gcc does not allow to<br/>
-    be wrapped into an inline function. Probably this header will demand<br/>
-    attention whenever a new target is chosen. The functions atexit(),<br/>
-    exit(), and abort() in cstdlib have different semantics in C++, so<br/>
-    must be re-implemented for C++.<br/>
-<br/>
-    Chapter 19  Diagnostics<br/>
-    -----------------------<br/>
-<br/>
-    Headers: &lt;stdexcept&gt;<br/>
-    C headers: &lt;cassert&gt; &lt;cerrno&gt;<br/>
-<br/>
-    This defines the standard exception objects, which are "mostly complete".<br/>
-    Cygnus has a version, and now SGI provides a slightly different one.<br/>
-    It makes little difference which we use.<br/>
-<br/>
-    The C global name "errno", which C allows to be a variable or a macro,<br/>
-    is required in C++ to be a macro. For MT it must typically result in<br/>
-    a function call.<br/>
-<br/>
-    Chapter 20  Utilities<br/>
-    ---------------------<br/>
-    Headers: &lt;utility&gt; &lt;functional&gt; &lt;memory&gt;<br/>
-    C header: &lt;ctime&gt; (also in 18)<br/>
-<br/>
-    SGI STL provides "mostly complete" versions of all the components<br/>
-    defined in this chapter. However, the auto_ptr&lt;&gt; implementation<br/>
-    is known to be wrong. Furthermore, the standard definition of it<br/>
-    is known to be unimplementable as written. A minor change to the<br/>
-    standard would fix it, and auto_ptr&lt;&gt; should be adjusted to match.<br/>
-<br/>
-    Multi-threading affects the allocator implementation, and there must<br/>
-    be configuration/installation choices for different users' MT<br/>
-    requirements. Anyway, users will want to tune allocator options<br/>
-    to support different target conditions, MT or no.<br/>
-<br/>
-    The primitives used for MT implementation should be exposed, as an<br/>
-    extension, for users' own work. We need cross-CPU "mutex" support,<br/>
-    multi-processor shared-memory atomic integer operations, and single-<br/>
-    processor uninterruptible integer operations, and all three configurable<br/>
-    to be stubbed out for non-MT use, or to use an appropriately-loaded<br/>
-    dynamic library for the actual runtime environment, or statically<br/>
-    compiled in for cases where the target architecture is known.<br/>
-<br/>
-    Chapter 21  String<br/>
-    ------------------<br/>
-    Headers: &lt;string&gt;<br/>
-    C headers: &lt;cctype&gt; &lt;cwctype&gt; &lt;cstring&gt; &lt;cwchar&gt; (also in 27)<br/>
-    &lt;cstdlib&gt; (also in 18, 25, 26)<br/>
-<br/>
-    We have "mostly-complete" char_traits&lt;&gt; implementations. Many of the<br/>
-    char_traits&lt;char&gt; operations might be optimized further using existing<br/>
-    proprietary language extensions.<br/>
-<br/>
-    We have a "mostly-complete" basic_string&lt;&gt; implementation. The work<br/>
-    to manually instantiate char and wchar_t specializations in object<br/>
-    files to improve link-time behavior is extremely unsatisfactory,<br/>
-    literally tripling library-build time with no commensurate improvement<br/>
-    in static program link sizes. It must be redone. (Similar work is<br/>
-    needed for some components in chapters 22 and 27.)<br/>
-<br/>
-    Other work needed for strings is MT-safety, as discussed under the<br/>
-    chapter 20 heading.<br/>
-<br/>
-    The standard C type mbstate_t from &lt;cwchar&gt; and used in char_traits&lt;&gt;<br/>
-    must be different in C++ than in C, because in C++ the default constructor<br/>
-    value mbstate_t() must be the "base" or "ground" sequence state.<br/>
-    (According to the likely resolution of a recently raised Core issue,<br/>
-    this may become unnecessary. However, there are other reasons to<br/>
-    use a state type not as limited as whatever the C library provides.)<br/>
-    If we might want to provide conversions from (e.g.) internally-<br/>
-    represented EUC-wide to externally-represented Unicode, or vice-<br/>
-    versa, the mbstate_t we choose will need to be more accommodating<br/>
-    than what might be provided by an underlying C library.<br/>
-<br/>
-    There remain some basic_string template-member functions which do<br/>
-    not overload properly with their non-template brethren. The infamous<br/>
-    hack akin to what was done in vector&lt;&gt; is needed, to conform to<br/>
-    23.1.1 para 10. The CHECKLIST items for basic_string marked 'X',<br/>
-    or incomplete, are so marked for this reason.<br/>
-<br/>
-    Replacing the string iterators, which currently are simple character<br/>
-    pointers, with class objects would greatly increase the safety of the<br/>
-    client interface, and also permit a "debug" mode in which range,<br/>
-    ownership, and validity are rigorously checked. The current use of<br/>
-    raw pointers as string iterators is evil. vector&lt;&gt; iterators need the<br/>
-    same treatment. Note that the current implementation freely mixes<br/>
-    pointers and iterators, and that must be fixed before safer iterators<br/>
-    can be introduced.<br/>
-<br/>
-    Some of the functions in &lt;cstring&gt; are different from the C version.<br/>
-    generally overloaded on const and non-const argument pointers. For<br/>
-    example, in &lt;cstring&gt; strchr is overloaded. The functions isupper<br/>
-    etc. in &lt;cctype&gt; typically implemented as macros in C are functions<br/>
-    in C++, because they are overloaded with others of the same name<br/>
-    defined in &lt;locale&gt;.<br/>
-<br/>
-    Many of the functions required in &lt;cwctype&gt; and &lt;cwchar&gt; cannot be<br/>
-    implemented using underlying C facilities on intended targets because<br/>
-    such facilities only partly exist.<br/>
-<br/>
-    Chapter 22  Locale<br/>
-    ------------------<br/>
-    Headers: &lt;locale&gt;<br/>
-    C headers: &lt;clocale&gt;<br/>
-<br/>
-    We have a "mostly complete" class locale, with the exception of<br/>
-    code for constructing, and handling the names of, named locales.<br/>
-    The ways that locales are named (particularly when categories<br/>
-    (e.g. LC_TIME, LC_COLLATE) are different) varies among all target<br/>
-    environments. This code must be written in various versions and<br/>
-    chosen by configuration parameters.<br/>
-<br/>
-    Members of many of the facets defined in &lt;locale&gt; are stubs. Generally,<br/>
-    there are two sets of facets: the base class facets (which are supposed<br/>
-    to implement the "C" locale) and the "byname" facets, which are supposed<br/>
-    to read files to determine their behavior. The base ctype&lt;&gt;, collate&lt;&gt;,<br/>
-    and numpunct&lt;&gt; facets are "mostly complete", except that the table of<br/>
-    bitmask values used for "is" operations, and corresponding mask values,<br/>
-    are still defined in libio and just included/linked. (We will need to<br/>
-    implement these tables independently, soon, but should take advantage<br/>
-    of libio where possible.)  The num_put&lt;&gt;::put members for integer types<br/>
-    are "mostly complete".<br/>
-<br/>
-    A complete list of what has and has not been implemented may be<br/>
-    found in CHECKLIST. However, note that the current definition of<br/>
-    codecvt&lt;wchar_t,char,mbstate_t&gt; is wrong. It should simply write<br/>
-    out the raw bytes representing the wide characters, rather than<br/>
-    trying to convert each to a corresponding single "char" value.<br/>
-<br/>
-    Some of the facets are more important than others. Specifically,<br/>
-    the members of ctype&lt;&gt;, numpunct&lt;&gt;, num_put&lt;&gt;, and num_get&lt;&gt; facets<br/>
-    are used by other library facilities defined in &lt;string&gt;, &lt;istream&gt;,<br/>
-    and &lt;ostream&gt;, and the codecvt&lt;&gt; facet is used by basic_filebuf&lt;&gt;<br/>
-    in &lt;fstream&gt;, so a conforming iostream implementation depends on<br/>
-    these.<br/>
-<br/>
-    The "long long" type eventually must be supported, but code mentioning<br/>
-    it should be wrapped in #if guards to allow pedantic-mode compiling.<br/>
-<br/>
-    Performance of num_put&lt;&gt; and num_get&lt;&gt; depend critically on<br/>
-    caching computed values in ios_base objects, and on extensions<br/>
-    to the interface with streambufs.<br/>
-<br/>
-    Specifically: retrieving a copy of the locale object, extracting<br/>
-    the needed facets, and gathering data from them, for each call to<br/>
-    (e.g.) operator&lt;&lt; would be prohibitively slow.  To cache format<br/>
-    data for use by num_put&lt;&gt; and num_get&lt;&gt; we have a _Format_cache&lt;&gt;<br/>
-    object stored in the ios_base::pword() array. This is constructed<br/>
-    and initialized lazily, and is organized purely for utility. It<br/>
-    is discarded when a new locale with different facets is imbued.<br/>
-<br/>
-    Using only the public interfaces of the iterator arguments to the<br/>
-    facet functions would limit performance by forbidding "vector-style"<br/>
-    character operations. The streambuf iterator optimizations are<br/>
-    described under chapter 24, but facets can also bypass the streambuf<br/>
-    iterators via explicit specializations and operate directly on the<br/>
-    streambufs, and use extended interfaces to get direct access to the<br/>
-    streambuf internal buffer arrays. These extensions are mentioned<br/>
-    under chapter 27. These optimizations are particularly important<br/>
-    for input parsing.<br/>
-<br/>
-    Unused virtual members of locale facets can be omitted, as mentioned<br/>
-    above, by a smart linker.<br/>
-<br/>
-    Chapter 23  Containers<br/>
-    ----------------------<br/>
-    Headers: &lt;deque&gt; &lt;list&gt; &lt;queue&gt; &lt;stack&gt; &lt;vector&gt; &lt;map&gt; &lt;set&gt; &lt;bitset&gt;<br/>
-<br/>
-    All the components in chapter 23 are implemented in the SGI STL.<br/>
-    They are "mostly complete"; they include a large number of<br/>
-    nonconforming extensions which must be wrapped. Some of these<br/>
-    are used internally and must be renamed or duplicated.<br/>
-<br/>
-    The SGI components are optimized for large-memory environments. For<br/>
-    embedded targets, different criteria might be more appropriate. Users<br/>
-    will want to be able to tune this behavior. We should provide<br/>
-    ways for users to compile the library with different memory usage<br/>
-    characteristics.<br/>
-<br/>
-    A lot more work is needed on factoring out common code from different<br/>
-    specializations to reduce code size here and in chapter 25. The<br/>
-    easiest fix for this would be a compiler/ABI improvement that allows<br/>
-    the compiler to recognize when a specialization depends only on the<br/>
-    size (or other gross quality) of a template argument, and allow the<br/>
-    linker to share the code with similar specializations. In its<br/>
-    absence, many of the algorithms and containers can be partial-<br/>
-    specialized, at least for the case of pointers, but this only solves<br/>
-    a small part of the problem. Use of a type_traits-style template<br/>
-    allows a few more optimization opportunities, more if the compiler<br/>
-    can generate the specializations automatically.<br/>
-<br/>
-    As an optimization, containers can specialize on the default allocator<br/>
-    and bypass it, or take advantage of details of its implementation<br/>
-    after it has been improved upon.<br/>
-<br/>
-    Replacing the vector iterators, which currently are simple element<br/>
-    pointers, with class objects would greatly increase the safety of the<br/>
-    client interface, and also permit a "debug" mode in which range,<br/>
-    ownership, and validity are rigorously checked. The current use of<br/>
-    pointers for iterators is evil.<br/>
-<br/>
-    As mentioned for chapter 24, the deque iterator is a good example of<br/>
-    an opportunity to implement a "staged" iterator that would benefit<br/>
-    from specializations of some algorithms.<br/>
-<br/>
-    Chapter 24  Iterators<br/>
-    ---------------------<br/>
-    Headers: &lt;iterator&gt;<br/>
-<br/>
-    Standard iterators are "mostly complete", with the exception of<br/>
-    the stream iterators, which are not yet templatized on the<br/>
-    stream type. Also, the base class template iterator&lt;&gt; appears<br/>
-    to be wrong, so everything derived from it must also be wrong,<br/>
-    currently.<br/>
-<br/>
-    The streambuf iterators (currently located in stl/bits/std_iterator.h,<br/>
-    but should be under bits/) can be rewritten to take advantage of<br/>
-    friendship with the streambuf implementation.<br/>
-<br/>
-    Matt Austern has identified opportunities where certain iterator<br/>
-    types, particularly including streambuf iterators and deque<br/>
-    iterators, have a "two-stage" quality, such that an intermediate<br/>
-    limit can be checked much more quickly than the true limit on<br/>
-    range operations. If identified with a member of iterator_traits,<br/>
-    algorithms may be specialized for this case. Of course the<br/>
-    iterators that have this quality can be identified by specializing<br/>
-    a traits class.<br/>
-<br/>
-    Many of the algorithms must be specialized for the streambuf<br/>
-    iterators, to take advantage of block-mode operations, in order<br/>
-    to allow iostream/locale operations' performance not to suffer.<br/>
-    It may be that they could be treated as staged iterators and<br/>
-    take advantage of those optimizations.<br/>
-<br/>
-    Chapter 25  Algorithms<br/>
-    ----------------------<br/>
-    Headers: &lt;algorithm&gt;<br/>
-    C headers: &lt;cstdlib&gt; (also in 18, 21, 26))<br/>
-<br/>
-    The algorithms are "mostly complete". As mentioned above, they<br/>
-    are optimized for speed at the expense of code and data size.<br/>
-<br/>
-    Specializations of many of the algorithms for non-STL types would<br/>
-    give performance improvements, but we must use great care not to<br/>
-    interfere with fragile template overloading semantics for the<br/>
-    standard interfaces. Conventionally the standard function template<br/>
-    interface is an inline which delegates to a non-standard function<br/>
-    which is then overloaded (this is already done in many places in<br/>
-    the library). Particularly appealing opportunities for the sake of<br/>
-    iostream performance are for copy and find applied to streambuf<br/>
-    iterators or (as noted elsewhere) for staged iterators, of which<br/>
-    the streambuf iterators are a good example.<br/>
-<br/>
-    The bsearch and qsort functions cannot be overloaded properly as<br/>
-    required by the standard because gcc does not yet allow overloading<br/>
-    on the extern-"C"-ness of a function pointer.<br/>
-<br/>
-    Chapter 26  Numerics<br/>
-    --------------------<br/>
-    Headers: &lt;complex&gt; &lt;valarray&gt; &lt;numeric&gt;<br/>
-    C headers: &lt;cmath&gt;, &lt;cstdlib&gt; (also 18, 21, 25)<br/>
-<br/>
-    Numeric components: Gabriel dos Reis's valarray, Drepper's complex,<br/>
-    and the few algorithms from the STL are "mostly done".  Of course<br/>
-    optimization opportunities abound for the numerically literate. It<br/>
-    is not clear whether the valarray implementation really conforms<br/>
-    fully, in the assumptions it makes about aliasing (and lack thereof)<br/>
-    in its arguments.<br/>
-<br/>
-    The C div() and ldiv() functions are interesting, because they are the<br/>
-    only case where a C library function returns a class object by value.<br/>
-    Since the C++ type div_t must be different from the underlying C type<br/>
-    (which is in the wrong namespace) the underlying functions div() and<br/>
-    ldiv() cannot be re-used efficiently. Fortunately they are trivial to<br/>
-    re-implement.<br/>
-<br/>
-    Chapter 27  Iostreams<br/>
-    ---------------------<br/>
-    Headers: &lt;iosfwd&gt; &lt;streambuf&gt; &lt;ios&gt; &lt;ostream&gt; &lt;istream&gt; &lt;iostream&gt;<br/>
-    &lt;iomanip&gt; &lt;sstream&gt; &lt;fstream&gt;<br/>
-    C headers: &lt;cstdio&gt; &lt;cwchar&gt; (also in 21)<br/>
-<br/>
-    Iostream is currently in a very incomplete state. &lt;iosfwd&gt;, &lt;iomanip&gt;,<br/>
-    ios_base, and basic_ios&lt;&gt; are "mostly complete". basic_streambuf&lt;&gt; and<br/>
-    basic_ostream&lt;&gt; are well along, but basic_istream&lt;&gt; has had little work<br/>
-    done. The standard stream objects, &lt;sstream&gt; and &lt;fstream&gt; have been<br/>
-    started; basic_filebuf&lt;&gt; "write" functions have been implemented just<br/>
-    enough to do "hello, world".<br/>
-<br/>
-    Most of the istream and ostream operators &lt;&lt; and &gt;&gt; (with the exception<br/>
-    of the op&lt;&lt;(integer) ones) have not been changed to use locale primitives,<br/>
-    sentry objects, or char_traits members.<br/>
-<br/>
-    All these templates should be manually instantiated for char and<br/>
-    wchar_t in a way that links only used members into user programs.<br/>
-<br/>
-    Streambuf is fertile ground for optimization extensions. An extended<br/>
-    interface giving iterator access to its internal buffer would be very<br/>
-    useful for other library components.<br/>
-<br/>
-    Iostream operations (primarily operators &lt;&lt; and &gt;&gt;) can take advantage<br/>
-    of the case where user code has not specified a locale, and bypass locale<br/>
-    operations entirely. The current implementation of op&lt;&lt;/num_put&lt;&gt;::put,<br/>
-    for the integer types, demonstrates how they can cache encoding details<br/>
-    from the locale on each operation. There is lots more room for<br/>
-    optimization in this area.<br/>
-<br/>
-    The definition of the relationship between the standard streams<br/>
-    cout et al. and stdout et al. requires something like a "stdiobuf".<br/>
-    The SGI solution of using double-indirection to actually use a<br/>
-    stdio FILE object for buffering is unsatisfactory, because it<br/>
-    interferes with peephole loop optimizations.<br/>
-<br/>
-    The &lt;sstream&gt; header work has begun. stringbuf can benefit from<br/>
-    friendship with basic_string&lt;&gt; and basic_string&lt;&gt;::_Rep to use<br/>
-    those objects directly as buffers, and avoid allocating and making<br/>
-    copies.<br/>
-<br/>
-    The basic_filebuf&lt;&gt; template is a complex beast. It is specified to<br/>
-    use the locale facet codecvt&lt;&gt; to translate characters between native<br/>
-    files and the locale character encoding. In general this involves<br/>
-    two buffers, one of "char" representing the file and another of<br/>
-    "char_type", for the stream, with codecvt&lt;&gt; translating. The process<br/>
-    is complicated by the variable-length nature of the translation, and<br/>
-    the need to seek to corresponding places in the two representations.<br/>
-    For the case of basic_filebuf&lt;char&gt;, when no translation is needed,<br/>
-    a single buffer suffices. A specialized filebuf can be used to reduce<br/>
-    code space overhead when no locale has been imbued. Matt Austern's<br/>
-    work at SGI will be useful, perhaps directly as a source of code, or<br/>
-    at least as an example to draw on.<br/>
-<br/>
-    Filebuf, almost uniquely (cf. operator new), depends heavily on<br/>
-    underlying environmental facilities. In current releases iostream<br/>
-    depends fairly heavily on libio constant definitions, but it should<br/>
-    be made independent.  It also depends on operating system primitives<br/>
-    for file operations. There is immense room for optimizations using<br/>
-    (e.g.) mmap for reading. The shadow/ directory wraps, besides the<br/>
-    standard C headers, the libio.h and unistd.h headers, for use mainly<br/>
-    by filebuf. These wrappings have not been completed, though there<br/>
-    is scaffolding in place.<br/>
-<br/>
-    The encapsulation of certain C header &lt;cstdio&gt; names presents an<br/>
-    interesting problem. It is possible to define an inline std::fprintf()<br/>
-    implemented in terms of the 'extern "C"' vfprintf(), but there is no<br/>
-    standard vfscanf() to use to implement std::fscanf(). It appears that<br/>
-    vfscanf but be re-implemented in C++ for targets where no vfscanf<br/>
-    extension has been defined. This is interesting in that it seems<br/>
-    to be the only significant case in the C library where this kind of<br/>
-    rewriting is necessary. (Of course Glibc provides the vfscanf()<br/>
-    extension.)  (The functions related to exit() must be rewritten<br/>
-    for other reasons.)<br/>
-<br/>
-<br/>
-    Annex D<br/>
-    -------<br/>
-    Headers: &lt;strstream&gt;<br/>
-<br/>
-    Annex D defines many non-library features, and many minor<br/>
-    modifications to various headers, and a complete header.<br/>
-    It is "mostly done", except that the libstdc++-2 &lt;strstream&gt;<br/>
-    header has not been adopted into the library, or checked to<br/>
-    verify that it matches the draft in those details that were<br/>
-    clarified by the committee. Certainly it must at least be<br/>
-    moved into the std namespace.<br/>
-<br/>
-    We still need to wrap all the deprecated features in #if guards<br/>
-    so that pedantic compile modes can detect their use.<br/>
-<br/>
-    Nonstandard Extensions<br/>
-    ----------------------<br/>
-    Headers: &lt;iostream.h&gt; &lt;strstream.h&gt; &lt;hash&gt; &lt;rbtree&gt;<br/>
-    &lt;pthread_alloc&gt; &lt;stdiobuf&gt; (etc.)<br/>
-<br/>
-    User code has come to depend on a variety of nonstandard components<br/>
-    that we must not omit. Much of this code can be adopted from<br/>
-    libstdc++-v2 or from the SGI STL. This particularly includes<br/>
-    &lt;iostream.h&gt;, &lt;strstream.h&gt;, and various SGI extensions such<br/>
-    as &lt;hash_map.h&gt;. Many of these are already placed in the<br/>
-    subdirectories ext/ and backward/. (Note that it is better to<br/>
-    include them via "&lt;backward/hash_map.h&gt;" or "&lt;ext/hash_map&gt;" than<br/>
-    to search the subdirectory itself via a "-I" directive.<br/>
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr><tr><td align="left" valign="top">Coding Style </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Appendix B. 
+</th><td width="20%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr></table><hr /></div><div class="section" title="Design Notes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.design_notes"></a>Design Notes</h2></div></div></div><p>
+  </p><div class="literallayout"><p><br />
+<br />
+    The Library<br />
+    -----------<br />
+<br />
+    This paper is covers two major areas:<br />
+<br />
+    - Features and policies not mentioned in the standard that<br />
+    the quality of the library implementation depends on, including<br />
+    extensions and "implementation-defined" features;<br />
+<br />
+    - Plans for required but unimplemented library features and<br />
+    optimizations to them.<br />
+<br />
+    Overhead<br />
+    --------<br />
+<br />
+    The standard defines a large library, much larger than the standard<br />
+    C library. A naive implementation would suffer substantial overhead<br />
+    in compile time, executable size, and speed, rendering it unusable<br />
+    in many (particularly embedded) applications. The alternative demands<br />
+    care in construction, and some compiler support, but there is no<br />
+    need for library subsets.<br />
+<br />
+    What are the sources of this overhead?  There are four main causes:<br />
+<br />
+    - The library is specified almost entirely as templates, which<br />
+    with current compilers must be included in-line, resulting in<br />
+    very slow builds as tens or hundreds of thousands of lines<br />
+    of function definitions are read for each user source file.<br />
+    Indeed, the entire SGI STL, as well as the dos Reis valarray,<br />
+    are provided purely as header files, largely for simplicity in<br />
+    porting. Iostream/locale is (or will be) as large again.<br />
+<br />
+    - The library is very flexible, specifying a multitude of hooks<br />
+    where users can insert their own code in place of defaults.<br />
+    When these hooks are not used, any time and code expended to<br />
+    support that flexibility is wasted.<br />
+<br />
+    - Templates are often described as causing to "code bloat". In<br />
+    practice, this refers (when it refers to anything real) to several<br />
+    independent processes. First, when a class template is manually<br />
+    instantiated in its entirely, current compilers place the definitions<br />
+    for all members in a single object file, so that a program linking<br />
+    to one member gets definitions of all. Second, template functions<br />
+    which do not actually depend on the template argument are, under<br />
+    current compilers, generated anew for each instantiation, rather<br />
+    than being shared with other instantiations. Third, some of the<br />
+    flexibility mentioned above comes from virtual functions (both in<br />
+    regular classes and template classes) which current linkers add<br />
+    to the executable file even when they manifestly cannot be called.<br />
+<br />
+    - The library is specified to use a language feature, exceptions,<br />
+    which in the current gcc compiler ABI imposes a run time and<br />
+    code space cost to handle the possibility of exceptions even when<br />
+    they are not used. Under the new ABI (accessed with -fnew-abi),<br />
+    there is a space overhead and a small reduction in code efficiency<br />
+    resulting from lost optimization opportunities associated with<br />
+    non-local branches associated with exceptions.<br />
+<br />
+    What can be done to eliminate this overhead?  A variety of coding<br />
+    techniques, and compiler, linker and library improvements and<br />
+    extensions may be used, as covered below. Most are not difficult,<br />
+    and some are already implemented in varying degrees.<br />
+<br />
+    Overhead: Compilation Time<br />
+    --------------------------<br />
+<br />
+    Providing "ready-instantiated" template code in object code archives<br />
+    allows us to avoid generating and optimizing template instantiations<br />
+    in each compilation unit which uses them. However, the number of such<br />
+    instantiations that are useful to provide is limited, and anyway this<br />
+    is not enough, by itself, to minimize compilation time. In particular,<br />
+    it does not reduce time spent parsing conforming headers.<br />
+<br />
+    Quicker header parsing will depend on library extensions and compiler<br />
+    improvements.  One approach is some variation on the techniques<br />
+    previously marketed as "pre-compiled headers", now standardized as<br />
+    support for the "export" keyword. "Exported" template definitions<br />
+    can be placed (once) in a "repository" -- really just a library, but<br />
+    of template definitions rather than object code -- to be drawn upon<br />
+    at link time when an instantiation is needed, rather than placed in<br />
+    header files to be parsed along with every compilation unit.<br />
+<br />
+    Until "export" is implemented we can put some of the lengthy template<br />
+    definitions in #if guards or alternative headers so that users can skip<br />
+    over the full definitions when they need only the ready-instantiated<br />
+    specializations.<br />
+<br />
+    To be precise, this means that certain headers which define<br />
+    templates which users normally use only for certain arguments<br />
+    can be instrumented to avoid exposing the template definitions<br />
+    to the compiler unless a macro is defined. For example, in<br />
+    &lt;string&gt;, we might have:<br />
+<br />
+    template &lt;class _CharT, ... &gt; class basic_string {<br />
+    ... // member declarations<br />
+    };<br />
+    ... // operator declarations<br />
+<br />
+    #ifdef _STRICT_ISO_<br />
+    # if _G_NO_TEMPLATE_EXPORT<br />
+    #   include &lt;bits/std_locale.h&gt;  // headers needed by definitions<br />
+    #   ...<br />
+    #   include &lt;bits/string.tcc&gt;  // member and global template definitions.<br />
+    # endif<br />
+    #endif<br />
+<br />
+    Users who compile without specifying a strict-ISO-conforming flag<br />
+    would not see many of the template definitions they now see, and rely<br />
+    instead on ready-instantiated specializations in the library. This<br />
+    technique would be useful for the following substantial components:<br />
+    string, locale/iostreams, valarray. It would *not* be useful or<br />
+    usable with the following: containers, algorithms, iterators,<br />
+    allocator. Since these constitute a large (though decreasing)<br />
+    fraction of the library, the benefit the technique offers is<br />
+    limited.<br />
+<br />
+    The language specifies the semantics of the "export" keyword, but<br />
+    the gcc compiler does not yet support it. When it does, problems<br />
+    with large template inclusions can largely disappear, given some<br />
+    minor library reorganization, along with the need for the apparatus<br />
+    described above.<br />
+<br />
+    Overhead: Flexibility Cost<br />
+    --------------------------<br />
+<br />
+    The library offers many places where users can specify operations<br />
+    to be performed by the library in place of defaults. Sometimes<br />
+    this seems to require that the library use a more-roundabout, and<br />
+    possibly slower, way to accomplish the default requirements than<br />
+    would be used otherwise.<br />
+<br />
+    The primary protection against this overhead is thorough compiler<br />
+    optimization, to crush out layers of inline function interfaces.<br />
+    Kuck &amp; Associates has demonstrated the practicality of this kind<br />
+    of optimization.<br />
+<br />
+    The second line of defense against this overhead is explicit<br />
+    specialization. By defining helper function templates, and writing<br />
+    specialized code for the default case, overhead can be eliminated<br />
+    for that case without sacrificing flexibility. This takes full<br />
+    advantage of any ability of the optimizer to crush out degenerate<br />
+    code.<br />
+<br />
+    The library specifies many virtual functions which current linkers<br />
+    load even when they cannot be called. Some minor improvements to the<br />
+    compiler and to ld would eliminate any such overhead by simply<br />
+    omitting virtual functions that the complete program does not call.<br />
+    A prototype of this work has already been done. For targets where<br />
+    GNU ld is not used, a "pre-linker" could do the same job.<br />
+<br />
+    The main areas in the standard interface where user flexibility<br />
+    can result in overhead are:<br />
+<br />
+    - Allocators:  Containers are specified to use user-definable<br />
+    allocator types and objects, making tuning for the container<br />
+    characteristics tricky.<br />
+<br />
+    - Locales: the standard specifies locale objects used to implement<br />
+    iostream operations, involving many virtual functions which use<br />
+    streambuf iterators.<br />
+<br />
+    - Algorithms and containers: these may be instantiated on any type,<br />
+    frequently duplicating code for identical operations.<br />
+<br />
+    - Iostreams and strings: users are permitted to use these on their<br />
+    own types, and specify the operations the stream must use on these<br />
+    types.<br />
+<br />
+    Note that these sources of overhead are _avoidable_. The techniques<br />
+    to avoid them are covered below.<br />
+<br />
+    Code Bloat<br />
+    ----------<br />
+<br />
+    In the SGI STL, and in some other headers, many of the templates<br />
+    are defined "inline" -- either explicitly or by their placement<br />
+    in class definitions -- which should not be inline. This is a<br />
+    source of code bloat. Matt had remarked that he was relying on<br />
+    the compiler to recognize what was too big to benefit from inlining,<br />
+    and generate it out-of-line automatically. However, this also can<br />
+    result in code bloat except where the linker can eliminate the extra<br />
+    copies.<br />
+<br />
+    Fixing these cases will require an audit of all inline functions<br />
+    defined in the library to determine which merit inlining, and moving<br />
+    the rest out of line. This is an issue mainly in chapters 23, 25, and<br />
+    27. Of course it can be done incrementally, and we should generally<br />
+    accept patches that move large functions out of line and into ".tcc"<br />
+    files, which can later be pulled into a repository. Compiler/linker<br />
+    improvements to recognize very large inline functions and move them<br />
+    out-of-line, but shared among compilation units, could make this<br />
+    work unnecessary.<br />
+<br />
+    Pre-instantiating template specializations currently produces large<br />
+    amounts of dead code which bloats statically linked programs. The<br />
+    current state of the static library, libstdc++.a, is intolerable on<br />
+    this account, and will fuel further confused speculation about a need<br />
+    for a library "subset". A compiler improvement that treats each<br />
+    instantiated function as a separate object file, for linking purposes,<br />
+    would be one solution to this problem. An alternative would be to<br />
+    split up the manual instantiation files into dozens upon dozens of<br />
+    little files, each compiled separately, but an abortive attempt at<br />
+    this was done for &lt;string&gt; and, though it is far from complete, it<br />
+    is already a nuisance. A better interim solution (just until we have<br />
+    "export") is badly needed.<br />
+<br />
+    When building a shared library, the current compiler/linker cannot<br />
+    automatically generate the instantiations needed. This creates a<br />
+    miserable situation; it means any time something is changed in the<br />
+    library, before a shared library can be built someone must manually<br />
+    copy the declarations of all templates that are needed by other parts<br />
+    of the library to an "instantiation" file, and add it to the build<br />
+    system to be compiled and linked to the library. This process is<br />
+    readily automated, and should be automated as soon as possible.<br />
+    Users building their own shared libraries experience identical<br />
+    frustrations.<br />
+<br />
+    Sharing common aspects of template definitions among instantiations<br />
+    can radically reduce code bloat. The compiler could help a great<br />
+    deal here by recognizing when a function depends on nothing about<br />
+    a template parameter, or only on its size, and giving the resulting<br />
+    function a link-name "equate" that allows it to be shared with other<br />
+    instantiations. Implementation code could take advantage of the<br />
+    capability by factoring out code that does not depend on the template<br />
+    argument into separate functions to be merged by the compiler.<br />
+<br />
+    Until such a compiler optimization is implemented, much can be done<br />
+    manually (if tediously) in this direction. One such optimization is<br />
+    to derive class templates from non-template classes, and move as much<br />
+    implementation as possible into the base class. Another is to partial-<br />
+    specialize certain common instantiations, such as vector&lt;T*&gt;, to share<br />
+    code for instantiations on all types T. While these techniques work,<br />
+    they are far from the complete solution that a compiler improvement<br />
+    would afford.<br />
+<br />
+    Overhead: Expensive Language Features<br />
+    -------------------------------------<br />
+<br />
+    The main "expensive" language feature used in the standard library<br />
+    is exception support, which requires compiling in cleanup code with<br />
+    static table data to locate it, and linking in library code to use<br />
+    the table. For small embedded programs the amount of such library<br />
+    code and table data is assumed by some to be excessive. Under the<br />
+    "new" ABI this perception is generally exaggerated, although in some<br />
+    cases it may actually be excessive.<br />
+<br />
+    To implement a library which does not use exceptions directly is<br />
+    not difficult given minor compiler support (to "turn off" exceptions<br />
+    and ignore exception constructs), and results in no great library<br />
+    maintenance difficulties. To be precise, given "-fno-exceptions",<br />
+    the compiler should treat "try" blocks as ordinary blocks, and<br />
+    "catch" blocks as dead code to ignore or eliminate. Compiler<br />
+    support is not strictly necessary, except in the case of "function<br />
+    try blocks"; otherwise the following macros almost suffice:<br />
+<br />
+    #define throw(X)<br />
+    #define try      if (true)<br />
+    #define catch(X) else if (false)<br />
+<br />
+    However, there may be a need to use function try blocks in the<br />
+    library implementation, and use of macros in this way can make<br />
+    correct diagnostics impossible. Furthermore, use of this scheme<br />
+    would require the library to call a function to re-throw exceptions<br />
+    from a try block. Implementing the above semantics in the compiler<br />
+    is preferable.<br />
+<br />
+    Given the support above (however implemented) it only remains to<br />
+    replace code that "throws" with a call to a well-documented "handler"<br />
+    function in a separate compilation unit which may be replaced by<br />
+    the user. The main source of exceptions that would be difficult<br />
+    for users to avoid is memory allocation failures, but users can<br />
+    define their own memory allocation primitives that never throw.<br />
+    Otherwise, the complete list of such handlers, and which library<br />
+    functions may call them, would be needed for users to be able to<br />
+    implement the necessary substitutes. (Fortunately, they have the<br />
+    source code.)<br />
+<br />
+    Opportunities<br />
+    -------------<br />
+<br />
+    The template capabilities of C++ offer enormous opportunities for<br />
+    optimizing common library operations, well beyond what would be<br />
+    considered "eliminating overhead". In particular, many operations<br />
+    done in Glibc with macros that depend on proprietary language<br />
+    extensions can be implemented in pristine Standard C++. For example,<br />
+    the chapter 25 algorithms, and even C library functions such as strchr,<br />
+    can be specialized for the case of static arrays of known (small) size.<br />
+<br />
+    Detailed optimization opportunities are identified below where<br />
+    the component where they would appear is discussed. Of course new<br />
+    opportunities will be identified during implementation.<br />
+<br />
+    Unimplemented Required Library Features<br />
+    ---------------------------------------<br />
+<br />
+    The standard specifies hundreds of components, grouped broadly by<br />
+    chapter. These are listed in excruciating detail in the CHECKLIST<br />
+    file.<br />
+<br />
+    17 general<br />
+    18 support<br />
+    19 diagnostics<br />
+    20 utilities<br />
+    21 string<br />
+    22 locale<br />
+    23 containers<br />
+    24 iterators<br />
+    25 algorithms<br />
+    26 numerics<br />
+    27 iostreams<br />
+    Annex D  backward compatibility<br />
+<br />
+    Anyone participating in implementation of the library should obtain<br />
+    a copy of the standard, ISO 14882.  People in the U.S. can obtain an<br />
+    electronic copy for US$18 from ANSI's web site. Those from other<br />
+    countries should visit http://www.iso.org/ to find out the location<br />
+    of their country's representation in ISO, in order to know who can<br />
+    sell them a copy.<br />
+<br />
+    The emphasis in the following sections is on unimplemented features<br />
+    and optimization opportunities.<br />
+<br />
+    Chapter 17  General<br />
+    -------------------<br />
+<br />
+    Chapter 17 concerns overall library requirements.<br />
+<br />
+    The standard doesn't mention threads. A multi-thread (MT) extension<br />
+    primarily affects operators new and delete (18), allocator (20),<br />
+    string (21), locale (22), and iostreams (27). The common underlying<br />
+    support needed for this is discussed under chapter 20.<br />
+<br />
+    The standard requirements on names from the C headers create a<br />
+    lot of work, mostly done. Names in the C headers must be visible<br />
+    in the std:: and sometimes the global namespace; the names in the<br />
+    two scopes must refer to the same object. More stringent is that<br />
+    Koenig lookup implies that any types specified as defined in std::<br />
+    really are defined in std::. Names optionally implemented as<br />
+    macros in C cannot be macros in C++. (An overview may be read at<br />
+    &lt;http://www.cantrip.org/cheaders.html&gt;). The scripts "inclosure"<br />
+    and "mkcshadow", and the directories shadow/ and cshadow/, are the<br />
+    beginning of an effort to conform in this area.<br />
+<br />
+    A correct conforming definition of C header names based on underlying<br />
+    C library headers, and practical linking of conforming namespaced<br />
+    customer code with third-party C libraries depends ultimately on<br />
+    an ABI change, allowing namespaced C type names to be mangled into<br />
+    type names as if they were global, somewhat as C function names in a<br />
+    namespace, or C++ global variable names, are left unmangled. Perhaps<br />
+    another "extern" mode, such as 'extern "C-global"' would be an<br />
+    appropriate place for such type definitions. Such a type would<br />
+    affect mangling as follows:<br />
+<br />
+    namespace A {<br />
+    struct X {};<br />
+    extern "C-global" {  // or maybe just 'extern "C"'<br />
+    struct Y {};<br />
+    };<br />
+    }<br />
+    void f(A::X*);  // mangles to f__FPQ21A1X<br />
+    void f(A::Y*);  // mangles to f__FP1Y<br />
+<br />
+    (It may be that this is really the appropriate semantics for regular<br />
+    'extern "C"', and 'extern "C-global"', as an extension, would not be<br />
+    necessary.) This would allow functions declared in non-standard C headers<br />
+    (and thus fixable by neither us nor users) to link properly with functions<br />
+    declared using C types defined in properly-namespaced headers. The<br />
+    problem this solves is that C headers (which C++ programmers do persist<br />
+    in using) frequently forward-declare C struct tags without including<br />
+    the header where the type is defined, as in<br />
+<br />
+    struct tm;<br />
+    void munge(tm*);<br />
+<br />
+    Without some compiler accommodation, munge cannot be called by correct<br />
+    C++ code using a pointer to a correctly-scoped tm* value.<br />
+<br />
+    The current C headers use the preprocessor extension "#include_next",<br />
+    which the compiler complains about when run "-pedantic".<br />
+    (Incidentally, it appears that "-fpedantic" is currently ignored,<br />
+    probably a bug.)  The solution in the C compiler is to use<br />
+    "-isystem" rather than "-I", but unfortunately in g++ this seems<br />
+    also to wrap the whole header in an 'extern "C"' block, so it's<br />
+    unusable for C++ headers. The correct solution appears to be to<br />
+    allow the various special include-directory options, if not given<br />
+    an argument, to affect subsequent include-directory options additively,<br />
+    so that if one said<br />
+<br />
+    -pedantic -iprefix $(prefix) \<br />
+    -idirafter -ino-pedantic -ino-extern-c -iwithprefix -I g++-v3 \<br />
+    -iwithprefix -I g++-v3/ext<br />
+<br />
+    the compiler would search $(prefix)/g++-v3 and not report<br />
+    pedantic warnings for files found there, but treat files in<br />
+    $(prefix)/g++-v3/ext pedantically. (The undocumented semantics<br />
+    of "-isystem" in g++ stink. Can they be rescinded?  If not it<br />
+    must be replaced with something more rationally behaved.)<br />
+<br />
+    All the C headers need the treatment above; in the standard these<br />
+    headers are mentioned in various chapters. Below, I have only<br />
+    mentioned those that present interesting implementation issues.<br />
+<br />
+    The components identified as "mostly complete", below, have not been<br />
+    audited for conformance. In many cases where the library passes<br />
+    conformance tests we have non-conforming extensions that must be<br />
+    wrapped in #if guards for "pedantic" use, and in some cases renamed<br />
+    in a conforming way for continued use in the implementation regardless<br />
+    of conformance flags.<br />
+<br />
+    The STL portion of the library still depends on a header<br />
+    stl/bits/stl_config.h full of #ifdef clauses. This apparatus<br />
+    should be replaced with autoconf/automake machinery.<br />
+<br />
+    The SGI STL defines a type_traits&lt;&gt; template, specialized for<br />
+    many types in their code including the built-in numeric and<br />
+    pointer types and some library types, to direct optimizations of<br />
+    standard functions. The SGI compiler has been extended to generate<br />
+    specializations of this template automatically for user types,<br />
+    so that use of STL templates on user types can take advantage of<br />
+    these optimizations. Specializations for other, non-STL, types<br />
+    would make more optimizations possible, but extending the gcc<br />
+    compiler in the same way would be much better. Probably the next<br />
+    round of standardization will ratify this, but probably with<br />
+    changes, so it probably should be renamed to place it in the<br />
+    implementation namespace.<br />
+<br />
+    The SGI STL also defines a large number of extensions visible in<br />
+    standard headers. (Other extensions that appear in separate headers<br />
+    have been sequestered in subdirectories ext/ and backward/.)  All<br />
+    these extensions should be moved to other headers where possible,<br />
+    and in any case wrapped in a namespace (not std!), and (where kept<br />
+    in a standard header) girded about with macro guards. Some cannot be<br />
+    moved out of standard headers because they are used to implement<br />
+    standard features.  The canonical method for accommodating these<br />
+    is to use a protected name, aliased in macro guards to a user-space<br />
+    name. Unfortunately C++ offers no satisfactory template typedef<br />
+    mechanism, so very ad-hoc and unsatisfactory aliasing must be used<br />
+    instead.<br />
+<br />
+    Implementation of a template typedef mechanism should have the highest<br />
+    priority among possible extensions, on the same level as implementation<br />
+    of the template "export" feature.<br />
+<br />
+    Chapter 18  Language support<br />
+    ----------------------------<br />
+<br />
+    Headers: &lt;limits&gt; &lt;new&gt; &lt;typeinfo&gt; &lt;exception&gt;<br />
+    C headers: &lt;cstddef&gt; &lt;climits&gt; &lt;cfloat&gt;  &lt;cstdarg&gt; &lt;csetjmp&gt;<br />
+    &lt;ctime&gt;   &lt;csignal&gt; &lt;cstdlib&gt; (also 21, 25, 26)<br />
+<br />
+    This defines the built-in exceptions, rtti, numeric_limits&lt;&gt;,<br />
+    operator new and delete. Much of this is provided by the<br />
+    compiler in its static runtime library.<br />
+<br />
+    Work to do includes defining numeric_limits&lt;&gt; specializations in<br />
+    separate files for all target architectures. Values for integer types<br />
+    except for bool and wchar_t are readily obtained from the C header<br />
+    &lt;limits.h&gt;, but values for the remaining numeric types (bool, wchar_t,<br />
+    float, double, long double) must be entered manually. This is<br />
+    largely dog work except for those members whose values are not<br />
+    easily deduced from available documentation. Also, this involves<br />
+    some work in target configuration to identify the correct choice of<br />
+    file to build against and to install.<br />
+<br />
+    The definitions of the various operators new and delete must be<br />
+    made thread-safe, which depends on a portable exclusion mechanism,<br />
+    discussed under chapter 20.  Of course there is always plenty of<br />
+    room for improvements to the speed of operators new and delete.<br />
+<br />
+    &lt;cstdarg&gt;, in Glibc, defines some macros that gcc does not allow to<br />
+    be wrapped into an inline function. Probably this header will demand<br />
+    attention whenever a new target is chosen. The functions atexit(),<br />
+    exit(), and abort() in cstdlib have different semantics in C++, so<br />
+    must be re-implemented for C++.<br />
+<br />
+    Chapter 19  Diagnostics<br />
+    -----------------------<br />
+<br />
+    Headers: &lt;stdexcept&gt;<br />
+    C headers: &lt;cassert&gt; &lt;cerrno&gt;<br />
+<br />
+    This defines the standard exception objects, which are "mostly complete".<br />
+    Cygnus has a version, and now SGI provides a slightly different one.<br />
+    It makes little difference which we use.<br />
+<br />
+    The C global name "errno", which C allows to be a variable or a macro,<br />
+    is required in C++ to be a macro. For MT it must typically result in<br />
+    a function call.<br />
+<br />
+    Chapter 20  Utilities<br />
+    ---------------------<br />
+    Headers: &lt;utility&gt; &lt;functional&gt; &lt;memory&gt;<br />
+    C header: &lt;ctime&gt; (also in 18)<br />
+<br />
+    SGI STL provides "mostly complete" versions of all the components<br />
+    defined in this chapter. However, the auto_ptr&lt;&gt; implementation<br />
+    is known to be wrong. Furthermore, the standard definition of it<br />
+    is known to be unimplementable as written. A minor change to the<br />
+    standard would fix it, and auto_ptr&lt;&gt; should be adjusted to match.<br />
+<br />
+    Multi-threading affects the allocator implementation, and there must<br />
+    be configuration/installation choices for different users' MT<br />
+    requirements. Anyway, users will want to tune allocator options<br />
+    to support different target conditions, MT or no.<br />
+<br />
+    The primitives used for MT implementation should be exposed, as an<br />
+    extension, for users' own work. We need cross-CPU "mutex" support,<br />
+    multi-processor shared-memory atomic integer operations, and single-<br />
+    processor uninterruptible integer operations, and all three configurable<br />
+    to be stubbed out for non-MT use, or to use an appropriately-loaded<br />
+    dynamic library for the actual runtime environment, or statically<br />
+    compiled in for cases where the target architecture is known.<br />
+<br />
+    Chapter 21  String<br />
+    ------------------<br />
+    Headers: &lt;string&gt;<br />
+    C headers: &lt;cctype&gt; &lt;cwctype&gt; &lt;cstring&gt; &lt;cwchar&gt; (also in 27)<br />
+    &lt;cstdlib&gt; (also in 18, 25, 26)<br />
+<br />
+    We have "mostly-complete" char_traits&lt;&gt; implementations. Many of the<br />
+    char_traits&lt;char&gt; operations might be optimized further using existing<br />
+    proprietary language extensions.<br />
+<br />
+    We have a "mostly-complete" basic_string&lt;&gt; implementation. The work<br />
+    to manually instantiate char and wchar_t specializations in object<br />
+    files to improve link-time behavior is extremely unsatisfactory,<br />
+    literally tripling library-build time with no commensurate improvement<br />
+    in static program link sizes. It must be redone. (Similar work is<br />
+    needed for some components in chapters 22 and 27.)<br />
+<br />
+    Other work needed for strings is MT-safety, as discussed under the<br />
+    chapter 20 heading.<br />
+<br />
+    The standard C type mbstate_t from &lt;cwchar&gt; and used in char_traits&lt;&gt;<br />
+    must be different in C++ than in C, because in C++ the default constructor<br />
+    value mbstate_t() must be the "base" or "ground" sequence state.<br />
+    (According to the likely resolution of a recently raised Core issue,<br />
+    this may become unnecessary. However, there are other reasons to<br />
+    use a state type not as limited as whatever the C library provides.)<br />
+    If we might want to provide conversions from (e.g.) internally-<br />
+    represented EUC-wide to externally-represented Unicode, or vice-<br />
+    versa, the mbstate_t we choose will need to be more accommodating<br />
+    than what might be provided by an underlying C library.<br />
+<br />
+    There remain some basic_string template-member functions which do<br />
+    not overload properly with their non-template brethren. The infamous<br />
+    hack akin to what was done in vector&lt;&gt; is needed, to conform to<br />
+    23.1.1 para 10. The CHECKLIST items for basic_string marked 'X',<br />
+    or incomplete, are so marked for this reason.<br />
+<br />
+    Replacing the string iterators, which currently are simple character<br />
+    pointers, with class objects would greatly increase the safety of the<br />
+    client interface, and also permit a "debug" mode in which range,<br />
+    ownership, and validity are rigorously checked. The current use of<br />
+    raw pointers as string iterators is evil. vector&lt;&gt; iterators need the<br />
+    same treatment. Note that the current implementation freely mixes<br />
+    pointers and iterators, and that must be fixed before safer iterators<br />
+    can be introduced.<br />
+<br />
+    Some of the functions in &lt;cstring&gt; are different from the C version.<br />
+    generally overloaded on const and non-const argument pointers. For<br />
+    example, in &lt;cstring&gt; strchr is overloaded. The functions isupper<br />
+    etc. in &lt;cctype&gt; typically implemented as macros in C are functions<br />
+    in C++, because they are overloaded with others of the same name<br />
+    defined in &lt;locale&gt;.<br />
+<br />
+    Many of the functions required in &lt;cwctype&gt; and &lt;cwchar&gt; cannot be<br />
+    implemented using underlying C facilities on intended targets because<br />
+    such facilities only partly exist.<br />
+<br />
+    Chapter 22  Locale<br />
+    ------------------<br />
+    Headers: &lt;locale&gt;<br />
+    C headers: &lt;clocale&gt;<br />
+<br />
+    We have a "mostly complete" class locale, with the exception of<br />
+    code for constructing, and handling the names of, named locales.<br />
+    The ways that locales are named (particularly when categories<br />
+    (e.g. LC_TIME, LC_COLLATE) are different) varies among all target<br />
+    environments. This code must be written in various versions and<br />
+    chosen by configuration parameters.<br />
+<br />
+    Members of many of the facets defined in &lt;locale&gt; are stubs. Generally,<br />
+    there are two sets of facets: the base class facets (which are supposed<br />
+    to implement the "C" locale) and the "byname" facets, which are supposed<br />
+    to read files to determine their behavior. The base ctype&lt;&gt;, collate&lt;&gt;,<br />
+    and numpunct&lt;&gt; facets are "mostly complete", except that the table of<br />
+    bitmask values used for "is" operations, and corresponding mask values,<br />
+    are still defined in libio and just included/linked. (We will need to<br />
+    implement these tables independently, soon, but should take advantage<br />
+    of libio where possible.)  The num_put&lt;&gt;::put members for integer types<br />
+    are "mostly complete".<br />
+<br />
+    A complete list of what has and has not been implemented may be<br />
+    found in CHECKLIST. However, note that the current definition of<br />
+    codecvt&lt;wchar_t,char,mbstate_t&gt; is wrong. It should simply write<br />
+    out the raw bytes representing the wide characters, rather than<br />
+    trying to convert each to a corresponding single "char" value.<br />
+<br />
+    Some of the facets are more important than others. Specifically,<br />
+    the members of ctype&lt;&gt;, numpunct&lt;&gt;, num_put&lt;&gt;, and num_get&lt;&gt; facets<br />
+    are used by other library facilities defined in &lt;string&gt;, &lt;istream&gt;,<br />
+    and &lt;ostream&gt;, and the codecvt&lt;&gt; facet is used by basic_filebuf&lt;&gt;<br />
+    in &lt;fstream&gt;, so a conforming iostream implementation depends on<br />
+    these.<br />
+<br />
+    The "long long" type eventually must be supported, but code mentioning<br />
+    it should be wrapped in #if guards to allow pedantic-mode compiling.<br />
+<br />
+    Performance of num_put&lt;&gt; and num_get&lt;&gt; depend critically on<br />
+    caching computed values in ios_base objects, and on extensions<br />
+    to the interface with streambufs.<br />
+<br />
+    Specifically: retrieving a copy of the locale object, extracting<br />
+    the needed facets, and gathering data from them, for each call to<br />
+    (e.g.) operator&lt;&lt; would be prohibitively slow.  To cache format<br />
+    data for use by num_put&lt;&gt; and num_get&lt;&gt; we have a _Format_cache&lt;&gt;<br />
+    object stored in the ios_base::pword() array. This is constructed<br />
+    and initialized lazily, and is organized purely for utility. It<br />
+    is discarded when a new locale with different facets is imbued.<br />
+<br />
+    Using only the public interfaces of the iterator arguments to the<br />
+    facet functions would limit performance by forbidding "vector-style"<br />
+    character operations. The streambuf iterator optimizations are<br />
+    described under chapter 24, but facets can also bypass the streambuf<br />
+    iterators via explicit specializations and operate directly on the<br />
+    streambufs, and use extended interfaces to get direct access to the<br />
+    streambuf internal buffer arrays. These extensions are mentioned<br />
+    under chapter 27. These optimizations are particularly important<br />
+    for input parsing.<br />
+<br />
+    Unused virtual members of locale facets can be omitted, as mentioned<br />
+    above, by a smart linker.<br />
+<br />
+    Chapter 23  Containers<br />
+    ----------------------<br />
+    Headers: &lt;deque&gt; &lt;list&gt; &lt;queue&gt; &lt;stack&gt; &lt;vector&gt; &lt;map&gt; &lt;set&gt; &lt;bitset&gt;<br />
+<br />
+    All the components in chapter 23 are implemented in the SGI STL.<br />
+    They are "mostly complete"; they include a large number of<br />
+    nonconforming extensions which must be wrapped. Some of these<br />
+    are used internally and must be renamed or duplicated.<br />
+<br />
+    The SGI components are optimized for large-memory environments. For<br />
+    embedded targets, different criteria might be more appropriate. Users<br />
+    will want to be able to tune this behavior. We should provide<br />
+    ways for users to compile the library with different memory usage<br />
+    characteristics.<br />
+<br />
+    A lot more work is needed on factoring out common code from different<br />
+    specializations to reduce code size here and in chapter 25. The<br />
+    easiest fix for this would be a compiler/ABI improvement that allows<br />
+    the compiler to recognize when a specialization depends only on the<br />
+    size (or other gross quality) of a template argument, and allow the<br />
+    linker to share the code with similar specializations. In its<br />
+    absence, many of the algorithms and containers can be partial-<br />
+    specialized, at least for the case of pointers, but this only solves<br />
+    a small part of the problem. Use of a type_traits-style template<br />
+    allows a few more optimization opportunities, more if the compiler<br />
+    can generate the specializations automatically.<br />
+<br />
+    As an optimization, containers can specialize on the default allocator<br />
+    and bypass it, or take advantage of details of its implementation<br />
+    after it has been improved upon.<br />
+<br />
+    Replacing the vector iterators, which currently are simple element<br />
+    pointers, with class objects would greatly increase the safety of the<br />
+    client interface, and also permit a "debug" mode in which range,<br />
+    ownership, and validity are rigorously checked. The current use of<br />
+    pointers for iterators is evil.<br />
+<br />
+    As mentioned for chapter 24, the deque iterator is a good example of<br />
+    an opportunity to implement a "staged" iterator that would benefit<br />
+    from specializations of some algorithms.<br />
+<br />
+    Chapter 24  Iterators<br />
+    ---------------------<br />
+    Headers: &lt;iterator&gt;<br />
+<br />
+    Standard iterators are "mostly complete", with the exception of<br />
+    the stream iterators, which are not yet templatized on the<br />
+    stream type. Also, the base class template iterator&lt;&gt; appears<br />
+    to be wrong, so everything derived from it must also be wrong,<br />
+    currently.<br />
+<br />
+    The streambuf iterators (currently located in stl/bits/std_iterator.h,<br />
+    but should be under bits/) can be rewritten to take advantage of<br />
+    friendship with the streambuf implementation.<br />
+<br />
+    Matt Austern has identified opportunities where certain iterator<br />
+    types, particularly including streambuf iterators and deque<br />
+    iterators, have a "two-stage" quality, such that an intermediate<br />
+    limit can be checked much more quickly than the true limit on<br />
+    range operations. If identified with a member of iterator_traits,<br />
+    algorithms may be specialized for this case. Of course the<br />
+    iterators that have this quality can be identified by specializing<br />
+    a traits class.<br />
+<br />
+    Many of the algorithms must be specialized for the streambuf<br />
+    iterators, to take advantage of block-mode operations, in order<br />
+    to allow iostream/locale operations' performance not to suffer.<br />
+    It may be that they could be treated as staged iterators and<br />
+    take advantage of those optimizations.<br />
+<br />
+    Chapter 25  Algorithms<br />
+    ----------------------<br />
+    Headers: &lt;algorithm&gt;<br />
+    C headers: &lt;cstdlib&gt; (also in 18, 21, 26))<br />
+<br />
+    The algorithms are "mostly complete". As mentioned above, they<br />
+    are optimized for speed at the expense of code and data size.<br />
+<br />
+    Specializations of many of the algorithms for non-STL types would<br />
+    give performance improvements, but we must use great care not to<br />
+    interfere with fragile template overloading semantics for the<br />
+    standard interfaces. Conventionally the standard function template<br />
+    interface is an inline which delegates to a non-standard function<br />
+    which is then overloaded (this is already done in many places in<br />
+    the library). Particularly appealing opportunities for the sake of<br />
+    iostream performance are for copy and find applied to streambuf<br />
+    iterators or (as noted elsewhere) for staged iterators, of which<br />
+    the streambuf iterators are a good example.<br />
+<br />
+    The bsearch and qsort functions cannot be overloaded properly as<br />
+    required by the standard because gcc does not yet allow overloading<br />
+    on the extern-"C"-ness of a function pointer.<br />
+<br />
+    Chapter 26  Numerics<br />
+    --------------------<br />
+    Headers: &lt;complex&gt; &lt;valarray&gt; &lt;numeric&gt;<br />
+    C headers: &lt;cmath&gt;, &lt;cstdlib&gt; (also 18, 21, 25)<br />
+<br />
+    Numeric components: Gabriel dos Reis's valarray, Drepper's complex,<br />
+    and the few algorithms from the STL are "mostly done".  Of course<br />
+    optimization opportunities abound for the numerically literate. It<br />
+    is not clear whether the valarray implementation really conforms<br />
+    fully, in the assumptions it makes about aliasing (and lack thereof)<br />
+    in its arguments.<br />
+<br />
+    The C div() and ldiv() functions are interesting, because they are the<br />
+    only case where a C library function returns a class object by value.<br />
+    Since the C++ type div_t must be different from the underlying C type<br />
+    (which is in the wrong namespace) the underlying functions div() and<br />
+    ldiv() cannot be re-used efficiently. Fortunately they are trivial to<br />
+    re-implement.<br />
+<br />
+    Chapter 27  Iostreams<br />
+    ---------------------<br />
+    Headers: &lt;iosfwd&gt; &lt;streambuf&gt; &lt;ios&gt; &lt;ostream&gt; &lt;istream&gt; &lt;iostream&gt;<br />
+    &lt;iomanip&gt; &lt;sstream&gt; &lt;fstream&gt;<br />
+    C headers: &lt;cstdio&gt; &lt;cwchar&gt; (also in 21)<br />
+<br />
+    Iostream is currently in a very incomplete state. &lt;iosfwd&gt;, &lt;iomanip&gt;,<br />
+    ios_base, and basic_ios&lt;&gt; are "mostly complete". basic_streambuf&lt;&gt; and<br />
+    basic_ostream&lt;&gt; are well along, but basic_istream&lt;&gt; has had little work<br />
+    done. The standard stream objects, &lt;sstream&gt; and &lt;fstream&gt; have been<br />
+    started; basic_filebuf&lt;&gt; "write" functions have been implemented just<br />
+    enough to do "hello, world".<br />
+<br />
+    Most of the istream and ostream operators &lt;&lt; and &gt;&gt; (with the exception<br />
+    of the op&lt;&lt;(integer) ones) have not been changed to use locale primitives,<br />
+    sentry objects, or char_traits members.<br />
+<br />
+    All these templates should be manually instantiated for char and<br />
+    wchar_t in a way that links only used members into user programs.<br />
+<br />
+    Streambuf is fertile ground for optimization extensions. An extended<br />
+    interface giving iterator access to its internal buffer would be very<br />
+    useful for other library components.<br />
+<br />
+    Iostream operations (primarily operators &lt;&lt; and &gt;&gt;) can take advantage<br />
+    of the case where user code has not specified a locale, and bypass locale<br />
+    operations entirely. The current implementation of op&lt;&lt;/num_put&lt;&gt;::put,<br />
+    for the integer types, demonstrates how they can cache encoding details<br />
+    from the locale on each operation. There is lots more room for<br />
+    optimization in this area.<br />
+<br />
+    The definition of the relationship between the standard streams<br />
+    cout et al. and stdout et al. requires something like a "stdiobuf".<br />
+    The SGI solution of using double-indirection to actually use a<br />
+    stdio FILE object for buffering is unsatisfactory, because it<br />
+    interferes with peephole loop optimizations.<br />
+<br />
+    The &lt;sstream&gt; header work has begun. stringbuf can benefit from<br />
+    friendship with basic_string&lt;&gt; and basic_string&lt;&gt;::_Rep to use<br />
+    those objects directly as buffers, and avoid allocating and making<br />
+    copies.<br />
+<br />
+    The basic_filebuf&lt;&gt; template is a complex beast. It is specified to<br />
+    use the locale facet codecvt&lt;&gt; to translate characters between native<br />
+    files and the locale character encoding. In general this involves<br />
+    two buffers, one of "char" representing the file and another of<br />
+    "char_type", for the stream, with codecvt&lt;&gt; translating. The process<br />
+    is complicated by the variable-length nature of the translation, and<br />
+    the need to seek to corresponding places in the two representations.<br />
+    For the case of basic_filebuf&lt;char&gt;, when no translation is needed,<br />
+    a single buffer suffices. A specialized filebuf can be used to reduce<br />
+    code space overhead when no locale has been imbued. Matt Austern's<br />
+    work at SGI will be useful, perhaps directly as a source of code, or<br />
+    at least as an example to draw on.<br />
+<br />
+    Filebuf, almost uniquely (cf. operator new), depends heavily on<br />
+    underlying environmental facilities. In current releases iostream<br />
+    depends fairly heavily on libio constant definitions, but it should<br />
+    be made independent.  It also depends on operating system primitives<br />
+    for file operations. There is immense room for optimizations using<br />
+    (e.g.) mmap for reading. The shadow/ directory wraps, besides the<br />
+    standard C headers, the libio.h and unistd.h headers, for use mainly<br />
+    by filebuf. These wrappings have not been completed, though there<br />
+    is scaffolding in place.<br />
+<br />
+    The encapsulation of certain C header &lt;cstdio&gt; names presents an<br />
+    interesting problem. It is possible to define an inline std::fprintf()<br />
+    implemented in terms of the 'extern "C"' vfprintf(), but there is no<br />
+    standard vfscanf() to use to implement std::fscanf(). It appears that<br />
+    vfscanf but be re-implemented in C++ for targets where no vfscanf<br />
+    extension has been defined. This is interesting in that it seems<br />
+    to be the only significant case in the C library where this kind of<br />
+    rewriting is necessary. (Of course Glibc provides the vfscanf()<br />
+    extension.)  (The functions related to exit() must be rewritten<br />
+    for other reasons.)<br />
+<br />
+<br />
+    Annex D<br />
+    -------<br />
+    Headers: &lt;strstream&gt;<br />
+<br />
+    Annex D defines many non-library features, and many minor<br />
+    modifications to various headers, and a complete header.<br />
+    It is "mostly done", except that the libstdc++-2 &lt;strstream&gt;<br />
+    header has not been adopted into the library, or checked to<br />
+    verify that it matches the draft in those details that were<br />
+    clarified by the committee. Certainly it must at least be<br />
+    moved into the std namespace.<br />
+<br />
+    We still need to wrap all the deprecated features in #if guards<br />
+    so that pedantic compile modes can detect their use.<br />
+<br />
+    Nonstandard Extensions<br />
+    ----------------------<br />
+    Headers: &lt;iostream.h&gt; &lt;strstream.h&gt; &lt;hash&gt; &lt;rbtree&gt;<br />
+    &lt;pthread_alloc&gt; &lt;stdiobuf&gt; (etc.)<br />
+<br />
+    User code has come to depend on a variety of nonstandard components<br />
+    that we must not omit. Much of this code can be adopted from<br />
+    libstdc++-v2 or from the SGI STL. This particularly includes<br />
+    &lt;iostream.h&gt;, &lt;strstream.h&gt;, and various SGI extensions such<br />
+    as &lt;hash_map.h&gt;. Many of these are already placed in the<br />
+    subdirectories ext/ and backward/. (Note that it is better to<br />
+    include them via "&lt;backward/hash_map.h&gt;" or "&lt;ext/hash_map&gt;" than<br />
+    to search the subdirectory itself via a "-I" directive.<br />
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="source_code_style.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="appendix_porting.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Coding Style </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix B. 
   Porting and Maintenance
   
 </td></tr></table></div></body></html>
index 2526e6a..c47baa2 100644 (file)
@@ -1,97 +1,97 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing"/><link rel="next" href="source_code_style.html" title="Coding Style"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
+<!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>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A.  Contributing" /><link rel="next" href="source_code_style.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. 
   Contributing
   
-</th><td align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr/></div><div class="section" title="Directory Layout and Source Conventions"><div class="titlepage"><div><div><h2 class="title"><a id="contrib.organization"/>Directory Layout and Source Conventions</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr></table><hr /></div><div class="section" title="Directory Layout and Source Conventions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.organization"></a>Directory Layout and Source Conventions</h2></div></div></div><p>
     The unpacked source directory of libstdc++ contains the files
     needed to create the GNU C++ Library.
-  </p><div class="literallayout"><p><br/>
-It has subdirectories:<br/>
-<br/>
-  doc<br/>
-    Files in HTML and text format that document usage, quirks of the<br/>
-    implementation, and contributor checklists.<br/>
-<br/>
-  include<br/>
-    All header files for the C++ library are within this directory,<br/>
-    modulo specific runtime-related files that are in the libsupc++<br/>
-    directory.<br/>
-<br/>
-    include/std<br/>
-      Files meant to be found by #include &lt;name&gt; directives in<br/>
-      standard-conforming user programs.<br/>
-<br/>
-    include/c<br/>
-      Headers intended to directly include standard C headers.<br/>
-      [NB: this can be enabled via --enable-cheaders=c]<br/>
-<br/>
-    include/c_global<br/>
-      Headers intended to include standard C headers in<br/>
-      the global namespace, and put select names into the std::<br/>
-      namespace.  [NB: this is the default, and is the same as<br/>
-      --enable-cheaders=c_global]<br/>
-<br/>
-    include/c_std<br/>
-      Headers intended to include standard C headers<br/>
-      already in namespace std, and put select names into the std::<br/>
-      namespace.  [NB: this is the same as --enable-cheaders=c_std]<br/>
-<br/>
-    include/bits<br/>
-      Files included by standard headers and by other files in<br/>
-      the bits directory.<br/>
-<br/>
-    include/backward<br/>
-      Headers provided for backward compatibility, such as &lt;iostream.h&gt;.<br/>
-      They are not used in this library.<br/>
-<br/>
-    include/ext<br/>
-      Headers that define extensions to the standard library.  No<br/>
-      standard header refers to any of them.<br/>
-<br/>
-  scripts<br/>
-    Scripts that are used during the configure, build, make, or test<br/>
-    process.<br/>
-<br/>
-  src<br/>
-    Files that are used in constructing the library, but are not<br/>
-    installed.<br/>
-<br/>
-  testsuites/[backward, demangle, ext, performance, thread, 17_* to 30_*]<br/>
-    Test programs are here, and may be used to begin to exercise the<br/>
-    library.  Support for "make check" and "make check-install" is<br/>
-    complete, and runs through all the subdirectories here when this<br/>
-    command is issued from the build directory.  Please note that<br/>
-    "make check" requires DejaGNU 1.4 or later to be installed.  Please<br/>
-    note that "make check-script" calls the script mkcheck, which<br/>
-    requires bash, and which may need the paths to bash adjusted to<br/>
-    work properly, as /bin/bash is assumed.<br/>
-<br/>
-Other subdirectories contain variant versions of certain files<br/>
-that are meant to be copied or linked by the configure script.<br/>
-Currently these are:<br/>
-<br/>
-  config/abi<br/>
-  config/cpu<br/>
-  config/io<br/>
-  config/locale<br/>
-  config/os<br/>
-<br/>
-In addition, a subdirectory holds the convenience library libsupc++.<br/>
-<br/>
-  libsupc++<br/>
-    Contains the runtime library for C++, including exception<br/>
-    handling and memory allocation and deallocation, RTTI, terminate<br/>
-    handlers, etc.<br/>
-<br/>
-Note that glibc also has a bits/ subdirectory.  We will either<br/>
-need to be careful not to collide with names in its bits/<br/>
-directory; or rename bits to (e.g.) cppbits/.<br/>
-<br/>
-In files throughout the system, lines marked with an "XXX" indicate<br/>
-a bug or incompletely-implemented feature.  Lines marked "XXX MT"<br/>
-indicate a place that may require attention for multi-thread safety.<br/>
-  </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr><tr><td align="left" valign="top">Appendix A. 
+  </p><div class="literallayout"><p><br />
+It has subdirectories:<br />
+<br />
+  doc<br />
+    Files in HTML and text format that document usage, quirks of the<br />
+    implementation, and contributor checklists.<br />
+<br />
+  include<br />
+    All header files for the C++ library are within this directory,<br />
+    modulo specific runtime-related files that are in the libsupc++<br />
+    directory.<br />
+<br />
+    include/std<br />
+      Files meant to be found by #include &lt;name&gt; directives in<br />
+      standard-conforming user programs.<br />
+<br />
+    include/c<br />
+      Headers intended to directly include standard C headers.<br />
+      [NB: this can be enabled via --enable-cheaders=c]<br />
+<br />
+    include/c_global<br />
+      Headers intended to include standard C headers in<br />
+      the global namespace, and put select names into the std::<br />
+      namespace.  [NB: this is the default, and is the same as<br />
+      --enable-cheaders=c_global]<br />
+<br />
+    include/c_std<br />
+      Headers intended to include standard C headers<br />
+      already in namespace std, and put select names into the std::<br />
+      namespace.  [NB: this is the same as --enable-cheaders=c_std]<br />
+<br />
+    include/bits<br />
+      Files included by standard headers and by other files in<br />
+      the bits directory.<br />
+<br />
+    include/backward<br />
+      Headers provided for backward compatibility, such as &lt;iostream.h&gt;.<br />
+      They are not used in this library.<br />
+<br />
+    include/ext<br />
+      Headers that define extensions to the standard library.  No<br />
+      standard header refers to any of them.<br />
+<br />
+  scripts<br />
+    Scripts that are used during the configure, build, make, or test<br />
+    process.<br />
+<br />
+  src<br />
+    Files that are used in constructing the library, but are not<br />
+    installed.<br />
+<br />
+  testsuites/[backward, demangle, ext, performance, thread, 17_* to 30_*]<br />
+    Test programs are here, and may be used to begin to exercise the<br />
+    library.  Support for "make check" and "make check-install" is<br />
+    complete, and runs through all the subdirectories here when this<br />
+    command is issued from the build directory.  Please note that<br />
+    "make check" requires DejaGNU 1.4 or later to be installed.  Please<br />
+    note that "make check-script" calls the script mkcheck, which<br />
+    requires bash, and which may need the paths to bash adjusted to<br />
+    work properly, as /bin/bash is assumed.<br />
+<br />
+Other subdirectories contain variant versions of certain files<br />
+that are meant to be copied or linked by the configure script.<br />
+Currently these are:<br />
+<br />
+  config/abi<br />
+  config/cpu<br />
+  config/io<br />
+  config/locale<br />
+  config/os<br />
+<br />
+In addition, a subdirectory holds the convenience library libsupc++.<br />
+<br />
+  libsupc++<br />
+    Contains the runtime library for C++, including exception<br />
+    handling and memory allocation and deallocation, RTTI, terminate<br />
+    handlers, etc.<br />
+<br />
+Note that glibc also has a bits/ subdirectory.  We will either<br />
+need to be careful not to collide with names in its bits/<br />
+directory; or rename bits to (e.g.) cppbits/.<br />
+<br />
+In files throughout the system, lines marked with an "XXX" indicate<br />
+a bug or incompletely-implemented feature.  Lines marked "XXX MT"<br />
+indicate a place that may require attention for multi-thread safety.<br />
+  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="source_code_style.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix A. 
   Contributing
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Coding Style</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Coding Style</td></tr></table></div></body></html>
index d1e8ed0..777c371 100644 (file)
@@ -1,58 +1,58 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 1. Status</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="intro.html" title="Part I.  Introduction"/><link rel="next" href="license.html" title="License"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<!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>Chapter 1. Status</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="intro.html" title="Part I.  Introduction" /><link rel="next" href="license.html" title="License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Part I. 
   Introduction
   
-</th><td align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 1. Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"/>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status.iso"/>Implementation Status</h2></div></div></div><div class="section" title="C++ 1998/2003"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"/>C++ 1998/2003</h3></div></div></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"/>Implementation Status</h4></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 1. Status"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.status"></a>Chapter 1. Status</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.iso"></a>Implementation Status</h2></div></div></div><div class="section" title="C++ 1998/2003"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.1998"></a>C++ 1998/2003</h3></div></div></div><div class="section" title="Implementation Status"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.status"></a>Implementation Status</h4></div></div></div><p>
 This status table is based on the table of contents of ISO/IEC 14882:2003.
 </p><p>
 This page describes the C++ support in mainline GCC SVN, not in any
 particular release.
-</p><div class="table"><a id="id399802"/><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
+</p><div class="table"><a id="idp4061552"></a><p class="title"><strong>Table 1.1. C++ 1998/2003 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
        <span class="emphasis"><em>18</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Language support</em></span>
-      </td></tr><tr><td style="text-align: left">18.1</td><td style="text-align: left">Types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2</td><td style="text-align: left">Implementation properties</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1</td><td style="text-align: left">Numeric Limits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1.1</td><td style="text-align: left">Class template <code class="code">numeric_limits</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.1.2</td><td style="text-align: left"><code class="code">numeric_limits</code> members</td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.3</td><td style="text-align: left"><code class="code">float_round_style</code></td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.4</td><td style="text-align: left"><code class="code">float_denorm_style</code></td><td style="text-align: left">Y</td><td class="auto-generated"> </td></tr><tr><td style="text-align: left">18.2.1.5</td><td style="text-align: left"><code class="code">numeric_limits</code> specializations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.2.2</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3</td><td style="text-align: left">Start and termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4</td><td style="text-align: left">Dynamic memory management</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5</td><td style="text-align: left">Type identification</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.1</td><td style="text-align: left">Class type_info</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.2</td><td style="text-align: left">Class bad_cast</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.5.3</td><td style="text-align: left">Class bad_typeid</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6</td><td style="text-align: left">Exception handling</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.1</td><td style="text-align: left">Class exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.2</td><td style="text-align: left">Violation exception-specifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.3</td><td style="text-align: left">Abnormal termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.6.4</td><td style="text-align: left"><code class="code">uncaught_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7</td><td style="text-align: left">Other runtime support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">18.1</td><td align="left">Types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2</td><td align="left">Implementation properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.1</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.2.1.1</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.1.2</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.3</td><td align="left"><code class="code">float_round_style</code></td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.4</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">Y</td><td class="auto-generated"> </td></tr><tr><td align="left">18.2.1.5</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.2.2</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3</td><td align="left">Start and termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.5.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.5.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.6.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.2</td><td align="left">Violation exception-specifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.6.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>19</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Diagnostics</em></span>
-      </td></tr><tr><td style="text-align: left">19.1</td><td style="text-align: left">Exception classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.2</td><td style="text-align: left">Assertions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.3</td><td style="text-align: left">Error numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">19.1</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>20</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>General utilities</em></span>
-      </td></tr><tr><td style="text-align: left">20.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2</td><td style="text-align: left">Utility components</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.1</td><td style="text-align: left">Operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.2</td><td style="text-align: left"><code class="code">pair</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.1</td><td style="text-align: left">Base</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.2</td><td style="text-align: left">Arithmetic operation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.3</td><td style="text-align: left">Comparisons</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.4</td><td style="text-align: left">Logical operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.5</td><td style="text-align: left">Negators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.6</td><td style="text-align: left">Binders</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.7</td><td style="text-align: left">Adaptors for pointers to functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.8</td><td style="text-align: left">Adaptors for pointers to members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4</td><td style="text-align: left">Memory</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.1</td><td style="text-align: left">The default allocator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2</td><td style="text-align: left">Raw storage iterator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.3</td><td style="text-align: left">Temporary buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.1</td><td style="text-align: left"><code class="code">uninitialized_copy</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.2</td><td style="text-align: left"><code class="code">uninitialized_fill</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.4.3</td><td style="text-align: left"><code class="code">uninitialized_fill_n</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.5</td><td style="text-align: left">Class template <code class="code">auto_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.6</td><td style="text-align: left">C library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">20.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left"><code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">Base</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.6</td><td align="left">Binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.7</td><td align="left">Adaptors for pointers to functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.8</td><td align="left">Adaptors for pointers to members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.3</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.1</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.2</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.4.3</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.5</td><td align="left">Class template <code class="code">auto_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.6</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>21</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Strings</em></span>
-      </td></tr><tr><td style="text-align: left">21.1</td><td style="text-align: left">Character traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.1</td><td style="text-align: left">Character traits requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.2</td><td style="text-align: left">traits typedef</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3</td><td style="text-align: left"><code class="code">char_traits</code> specializations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3.1</td><td style="text-align: left">struct <code class="code">char_traits&lt;char&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.1.3.2</td><td style="text-align: left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2</td><td style="text-align: left">String classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.3</td><td style="text-align: left">Class template <code class="code">basic_string</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.4</td><td style="text-align: left">Null-terminated sequence utilities</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">21.1</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.1.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.2</td><td align="left">traits typedef</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.1.3.1</td><td align="left">struct <code class="code">char_traits&lt;char&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.1.3.2</td><td align="left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Null-terminated sequence utilities</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">
        <span class="emphasis"><em>22</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Localization</em></span>
-      </td></tr><tr><td style="text-align: left">22.1</td><td style="text-align: left">Locales</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.1</td><td style="text-align: left">Class <code class="code">locale</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.2</td><td style="text-align: left"><code class="code">locale</code> globals</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3</td><td style="text-align: left">Convenience interfaces</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3.1</td><td style="text-align: left">Character classification</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.1.3.2</td><td style="text-align: left">Character conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2</td><td style="text-align: left">Standard locale categories</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.1</td><td style="text-align: left"><code class="code">ctype</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2</td><td style="text-align: left">Numeric</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2.1</td><td style="text-align: left"><code class="code">num_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.2.2</td><td style="text-align: left"><code class="code">num_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.3</td><td style="text-align: left"><code class="code">num_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.4</td><td style="text-align: left"><code class="code">collate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5</td><td style="text-align: left">Time</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.1</td><td style="text-align: left"><code class="code">time_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.2</td><td style="text-align: left"><code class="code">time_get_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.3</td><td style="text-align: left"><code class="code">time_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.5.3</td><td style="text-align: left"><code class="code">time_put_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6</td><td style="text-align: left">Monetary</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.1</td><td style="text-align: left"><code class="code">money_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.2</td><td style="text-align: left"><code class="code">money_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.3</td><td style="text-align: left"><code class="code">money_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.6.4</td><td style="text-align: left"><code class="code">money_punct_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.7</td><td style="text-align: left"><code class="code">messages</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2.8</td><td style="text-align: left">Program-defined facets</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3</td><td style="text-align: left">C Library Locales</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">22.1</td><td align="left">Locales</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.1.1</td><td align="left">Class <code class="code">locale</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.2</td><td align="left"><code class="code">locale</code> globals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.3</td><td align="left">Convenience interfaces</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.1.3.1</td><td align="left">Character classification</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.1.3.2</td><td align="left">Character conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Standard locale categories</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.1</td><td align="left"><code class="code">ctype</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.2</td><td align="left">Numeric</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.2.1</td><td align="left"><code class="code">num_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.2.2</td><td align="left"><code class="code">num_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.3</td><td align="left"><code class="code">num_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.4</td><td align="left"><code class="code">collate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5</td><td align="left">Time</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.5.1</td><td align="left"><code class="code">time_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.2</td><td align="left"><code class="code">time_get_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.3</td><td align="left"><code class="code">time_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.5.3</td><td align="left"><code class="code">time_put_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6</td><td align="left">Monetary</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.2.6.1</td><td align="left"><code class="code">money_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.2</td><td align="left"><code class="code">money_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.3</td><td align="left"><code class="code">money_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.6.4</td><td align="left"><code class="code">money_punct_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.7</td><td align="left"><code class="code">messages</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2.8</td><td align="left">Program-defined facets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>23</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Containers</em></span>
-      </td></tr><tr><td style="text-align: left">23.1</td><td style="text-align: left">Container requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2</td><td style="text-align: left">Sequence containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.1</td><td style="text-align: left">Class template <code class="code">deque</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.2</td><td style="text-align: left">Class template <code class="code">list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3</td><td style="text-align: left">Adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.1</td><td style="text-align: left">Class template <code class="code">queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.2</td><td style="text-align: left">Class template <code class="code">priority_queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3.3</td><td style="text-align: left">Class template <code class="code">stack</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.4</td><td style="text-align: left">Class template <code class="code">vector</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.5</td><td style="text-align: left">Class <code class="code">vector&lt;bool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3</td><td style="text-align: left">Associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.1</td><td style="text-align: left">Class template <code class="code">map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.2</td><td style="text-align: left">Class template <code class="code">multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.3</td><td style="text-align: left">Class template <code class="code">set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.4</td><td style="text-align: left">Class template <code class="code">multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">23.1</td><td align="left">Container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Sequence containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.1</td><td align="left">Class template <code class="code">deque</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.2</td><td align="left">Class template <code class="code">list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3</td><td align="left">Adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2.3.1</td><td align="left">Class template <code class="code">queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3.2</td><td align="left">Class template <code class="code">priority_queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3.3</td><td align="left">Class template <code class="code">stack</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.4</td><td align="left">Class template <code class="code">vector</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.5</td><td align="left">Class <code class="code">vector&lt;bool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3</td><td align="left">Associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.3.1</td><td align="left">Class template <code class="code">map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.2</td><td align="left">Class template <code class="code">multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.3</td><td align="left">Class template <code class="code">set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.4</td><td align="left">Class template <code class="code">multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>24</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Iterators</em></span>
-      </td></tr><tr><td style="text-align: left">24.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.2</td><td style="text-align: left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.3</td><td style="text-align: left">Iterator primitives</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4</td><td style="text-align: left">Predefined iterators and Iterator adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4.1</td><td style="text-align: left">Reverse iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4.2</td><td style="text-align: left">Insert iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5</td><td style="text-align: left">Stream iterators</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.1</td><td style="text-align: left">Class template <code class="code">istream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.2</td><td style="text-align: left">Class template <code class="code">ostream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.3</td><td style="text-align: left">Class template <code class="code">istreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.4</td><td style="text-align: left">Class template <code class="code">ostreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">24.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">Predefined iterators and Iterator adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.4.1</td><td align="left">Reverse iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4.2</td><td align="left">Insert iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5</td><td align="left">Stream iterators</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.5.1</td><td align="left">Class template <code class="code">istream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.2</td><td align="left">Class template <code class="code">ostream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.3</td><td align="left">Class template <code class="code">istreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.4</td><td align="left">Class template <code class="code">ostreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>25</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Algorithms</em></span>
-      </td></tr><tr><td style="text-align: left">25.1</td><td style="text-align: left">Non-modifying sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.2</td><td style="text-align: left">Mutating sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.3</td><td style="text-align: left">Sorting and related operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.4</td><td style="text-align: left">C library algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">25.1</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
       <span class="emphasis"><em>26</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Numerics</em></span>
-      </td></tr><tr><td style="text-align: left">26.1</td><td style="text-align: left">Numeric type requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.2</td><td style="text-align: left">Complex numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3</td><td style="text-align: left">Numeric arrays</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.1</td><td style="text-align: left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.2</td><td style="text-align: left">Class template <code class="code">valarray</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.3</td><td style="text-align: left"><code class="code">valarray</code> non-member operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.4</td><td style="text-align: left">Class <code class="code">slice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.5</td><td style="text-align: left">Class template <code class="code">slice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.6</td><td style="text-align: left">Class <code class="code">gslice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.7</td><td style="text-align: left">Class template <code class="code">gslice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.8</td><td style="text-align: left">Class template <code class="code">mask_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3.9</td><td style="text-align: left">Class template <code class="code">indirect_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4</td><td style="text-align: left">Generalized numeric operations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.1</td><td style="text-align: left"><code class="code">accumulate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.2</td><td style="text-align: left"><code class="code">inner_product</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.3</td><td style="text-align: left"><code class="code">partial_sum</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.4</td><td style="text-align: left"><code class="code">adjacent_difference</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4.5</td><td style="text-align: left">iota</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">26.1</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Complex numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.3.1</td><td align="left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.6</td><td align="left">Class <code class="code">gslice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.4.1</td><td align="left"><code class="code">accumulate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.2</td><td align="left"><code class="code">inner_product</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.3</td><td align="left"><code class="code">partial_sum</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.4</td><td align="left"><code class="code">adjacent_difference</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4.5</td><td align="left">iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>27</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Input/output</em></span>
-      </td></tr><tr><td style="text-align: left">27.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2</td><td style="text-align: left">Forward declarations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3</td><td style="text-align: left">Standard iostream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3.1</td><td style="text-align: left">Narrow stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3.2</td><td style="text-align: left">Wide stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4</td><td style="text-align: left">Iostreams base classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.5</td><td style="text-align: left">Stream buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.6</td><td style="text-align: left">Formatting and manipulators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.7</td><td style="text-align: left">String-based streams</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.8</td><td style="text-align: left">File-based streams</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">27.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3.1</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.3.2</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Iostreams base classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.5</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.6</td><td align="left">Formatting and manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7</td><td align="left">String-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.8</td><td align="left">File-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>Appendix D</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Compatibility features</em></span>
-      </td></tr><tr><td style="text-align: left">D.1</td><td style="text-align: left">Increment operator with bool operand</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.2</td><td style="text-align: left"><code class="code">static</code> keyword</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.3</td><td style="text-align: left">Access declarations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.4</td><td style="text-align: left">Implicit conversion from const strings</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.5</td><td style="text-align: left">C standard library headers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.6</td><td style="text-align: left">Old iostreams members</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.7</td><td style="text-align: left">char* streams</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/></div><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"/>Implementation Specific Behavior</h4></div></div></div><p>
+      </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with bool operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">static</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Access declarations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Implicit conversion from const strings</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left">char* streams</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.1998.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>
      The ISO standard defines the following phrase:
    </p><div class="blockquote"><blockquote class="blockquote"><div class="variablelist"><dl><dt><span class="term">
         <code class="code">[1.3.5] implementation-defined behavior</code>
@@ -142,8 +142,8 @@ particular release.
       <a class="link" href="io.html" title="Chapter 13.  Input and Output">in this chapter</a>.
    </p><p><span class="emphasis"><em>[27.8.1.4]/16</em></span> Calling <code class="code">fstream::sync</code> when
       a get area exists will... whatever <code class="code">fflush()</code> does, I think.
-   </p></div></div><div class="section" title="C++ 2011"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2011"/>C++ 2011</h3></div></div></div><p>
-<a id="status.iso.200x"/
+   </p></div></div><div class="section" title="C++ 2011"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2011"></a>C++ 2011</h3></div></div></div><p>
+<a id="status.iso.200x"></a
 This table is based on the table of contents of ISO/IEC
 JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11
 Final Draft International Standard, Standard for Programming Language C++
@@ -158,25 +158,24 @@ presence of the required flag.
 </p><p>
 This page describes the C++11 support in mainline GCC SVN, not in any
 particular release.
-</p><div class="table"><a id="id431070"/><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
+</p><div class="table"><a id="idp7562848"></a><p class="title"><strong>Table 1.2. C++ 2011 Implementation Status</strong></p><div class="table-contents"><table summary="C++ 2011 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
        <span class="emphasis"><em>18</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Language support</em></span>
-      </td></tr><tr><td style="text-align: left">18.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">18.2</td><td style="text-align: left">Types</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing offsetof, max_align_t</td></tr><tr><td style="text-align: left">18.3</td><td style="text-align: left">Implementation properties</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2</td><td style="text-align: left">Numeric Limits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.3</td><td style="text-align: left">Class template <code class="code">numeric_limits</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.4</td><td style="text-align: left"><code class="code">numeric_limits</code> members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">18.3.2.5</td><td style="text-align: left"><code class="code">float_round_style</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">18.3.2.6</td><td style="text-align: left"><code class="code">float_denorm_style</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.2.7</td><td style="text-align: left"><code class="code">numeric_limits</code> specializations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.3.3</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4</td><td style="text-align: left">Integer types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.4.1</td><td style="text-align: left">Header <code class="code">&lt;cstdint&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">18.5</td><td style="text-align: left">Start and termination</td><td style="text-align: left">Partial</td><td style="text-align: left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td style="text-align: left">18.6</td><td style="text-align: left">Dynamic memory management</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7</td><td style="text-align: left">Type identification</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.1</td><td style="text-align: left">Class type_info</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.2</td><td style="text-align: left">Class bad_cast</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.7.3</td><td style="text-align: left">Class bad_typeid</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8</td><td style="text-align: left">Exception handling</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.1</td><td style="text-align: left">Class exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.2</td><td style="text-align: left">Class bad_exception</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.3</td><td style="text-align: left">Abnormal termination</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.4</td><td style="text-align: left"><code class="code">uncaught_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.5</td><td style="text-align: left">Exception Propagation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.8.6</td><td style="text-align: left"><code class="code">nested_exception</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9</td><td style="text-align: left">Initializer lists</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.1</td><td style="text-align: left">Initializer list constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.2</td><td style="text-align: left">Initializer list access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.9.3</td><td style="text-align: left">Initializer list range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">18.10</td><td style="text-align: left">Other runtime support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">18.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.2</td><td align="left">Types</td><td align="left">Partial</td><td align="left">Missing offsetof, max_align_t</td></tr><tr><td align="left">18.3</td><td align="left">Implementation properties</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2</td><td align="left">Numeric Limits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.3.2.3</td><td align="left">Class template <code class="code">numeric_limits</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.2.4</td><td align="left"><code class="code">numeric_limits</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.5</td><td align="left"><code class="code">float_round_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">18.3.2.6</td><td align="left"><code class="code">float_denorm_style</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">18.3.2.7</td><td align="left"><code class="code">numeric_limits</code> specializations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.3.3</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.4</td><td align="left">Integer types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.4.1</td><td align="left">Header <code class="code">&lt;cstdint&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">18.5</td><td align="left">Start and termination</td><td align="left">Partial</td><td align="left">C library dependency for quick_exit, at_quick_exit</td></tr><tr><td align="left">18.6</td><td align="left">Dynamic memory management</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7</td><td align="left">Type identification</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.7.1</td><td align="left">Class type_info</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.2</td><td align="left">Class bad_cast</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.7.3</td><td align="left">Class bad_typeid</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8</td><td align="left">Exception handling</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.8.1</td><td align="left">Class exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.2</td><td align="left">Class bad_exception</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.3</td><td align="left">Abnormal termination</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.4</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.5</td><td align="left">Exception Propagation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.8.6</td><td align="left"><code class="code">nested_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9</td><td align="left">Initializer lists</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">18.9.1</td><td align="left">Initializer list constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.2</td><td align="left">Initializer list access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.9.3</td><td align="left">Initializer list range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">18.10</td><td align="left">Other runtime support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>19</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Diagnostics</em></span>
-      </td></tr><tr><td style="text-align: left">19.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.2</td><td style="text-align: left">Exception classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.3</td><td style="text-align: left">Assertions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.4</td><td style="text-align: left">Error numbers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5</td><td style="text-align: left">System error support</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.1</td><td style="text-align: left">Class <code class="code">error_category</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.2</td><td style="text-align: left">Class <code class="code">error_code</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.3</td><td style="text-align: left">Class <code class="code">error_condition</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.4</td><td style="text-align: left">Comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">19.5.5</td><td style="text-align: left">Class <code class="code">system_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">19.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.2</td><td align="left">Exception classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.3</td><td align="left">Assertions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.4</td><td align="left">Error numbers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5</td><td align="left">System error support</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">19.5.1</td><td align="left">Class <code class="code">error_category</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.2</td><td align="left">Class <code class="code">error_code</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.3</td><td align="left">Class <code class="code">error_condition</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.4</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">19.5.5</td><td align="left">Class <code class="code">system_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>20</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>General utilities</em></span>
-      </td></tr><tr><td style="text-align: left">20.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2</td><td style="text-align: left">Utility components</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.1</td><td style="text-align: left">Operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.2</td><td style="text-align: left">Swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.3</td><td style="text-align: left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.2.4</td><td style="text-align: left">Function template <code class="code">declval</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3</td><td style="text-align: left">Pairs</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.3.2</td><td style="text-align: left">Class template <code class="code">pair</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Piecewise construction requires an accessible copy/move
-             constructor.</td></tr><tr><td style="text-align: left">20.3.3</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.4</td><td style="text-align: left">Tuple-like access to <code class="code">pair</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.3.5</td><td style="text-align: left">Piecewise construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4</td><td style="text-align: left">Tuples</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2</td><td style="text-align: left">Class template <code class="code">tuple</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.1</td><td style="text-align: left">Construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.2</td><td style="text-align: left">Assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.3</td><td style="text-align: left">Swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.4</td><td style="text-align: left">Tuple creation functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.5</td><td style="text-align: left">Tuple helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.6</td><td style="text-align: left">Element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.7</td><td style="text-align: left">Relational operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.8</td><td style="text-align: left">Tuple traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.4.2.9</td><td style="text-align: left">Tuple specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5</td><td style="text-align: left">Class template <code class="code">bitset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.1</td><td style="text-align: left"><code class="code">bitset</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.2</td><td style="text-align: left"><code class="code">bitset</code> members</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.3</td><td style="text-align: left"><code class="code">bitset</code> hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.5.4</td><td style="text-align: left"><code class="code">bitset</code> operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6</td><td style="text-align: left">Memory</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.2</td><td style="text-align: left">Header <code class="code">&lt;memory&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.3</td><td style="text-align: left">Pointer traits</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing rebind</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.4</td><td style="text-align: left">Pointer safety</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.6.5</td><td style="text-align: left">Align</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.6</td><td style="text-align: left">Allocator argument tag</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.7</td><td style="text-align: left"><code class="code">uses_allocator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.6.8</td><td style="text-align: left">Allocator traits</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing rebind_alloc and rebind_traits</td></tr><tr><td style="text-align: left">20.6.9</td><td style="text-align: left">The default allocator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.10</td><td style="text-align: left">Raw storage iterator</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.11</td><td style="text-align: left">Temporary buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12</td><td style="text-align: left">Specialized algorithms</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.1</td><td style="text-align: left"><code class="code">addressof</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.2</td><td style="text-align: left"><code class="code">uninitialized_copy</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.3</td><td style="text-align: left"><code class="code">uninitialized_fill</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.12.4</td><td style="text-align: left"><code class="code">uninitialized_fill_n</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.6.13</td><td style="text-align: left">C library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7</td><td style="text-align: left">Smart pointers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.1</td><td style="text-align: left">Class template <code class="code">unique_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2</td><td style="text-align: left">Shared-ownership pointers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.1</td><td style="text-align: left">Class <code class="code">bad_weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.2</td><td style="text-align: left">Class template <code class="code">shared_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left">
+      </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Class template <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Tuple-like access to <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Piecewise construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Class template <code class="code">tuple</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.2</td><td align="left">Assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.3</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.4</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.5</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.6</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.7</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.8</td><td align="left">Tuple traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.9</td><td align="left">Tuple specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.1</td><td align="left"><code class="code">bitset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left"><code class="code">bitset</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left"><code class="code">bitset</code> hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.4</td><td align="left"><code class="code">bitset</code> operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.2</td><td align="left">Header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.6.4</td><td align="left">Pointer safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">20.6.5</td><td align="left">Align</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">20.6.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12</td><td align="left">Specialized algorithms</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.12.1</td><td align="left"><code class="code">addressof</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.2</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.3</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.4</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.13</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2</td><td align="left">Shared-ownership pointers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left">
        <p>
          Uses code from
-         <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
+         <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
        </p>
-      </td></tr><tr><td style="text-align: left">20.7.2.3</td><td style="text-align: left">Class template <code class="code">weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.4</td><td style="text-align: left">Class template <code class="code">emable_shared_from_this</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.7.2.5</td><td style="text-align: left"><code class="code">shared_ptr</code> atomic access</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.7.2.6</td><td style="text-align: left">Smart pointer hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.1</td><td style="text-align: left">Definitions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.2</td><td style="text-align: left">Requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.3</td><td style="text-align: left">Class template <code class="code">reference_wrapper</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.4</td><td style="text-align: left">Arithmetic operation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.5</td><td style="text-align: left">Comparisons</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.6</td><td style="text-align: left">Logical operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.7</td><td style="text-align: left">Bitwise operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.8</td><td style="text-align: left">Negators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.9</td><td style="text-align: left">Function template <code class="code">bind</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.8.10</td><td style="text-align: left">Function template <code class="code">mem_fn</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing overloads for reference-qualified member functions</td></tr><tr><td style="text-align: left">20.8.11</td><td style="text-align: left">Polymorphic function wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.8.11.1</td><td style="text-align: left">Class <code class="code">bad_function_call</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.8.11.2</td><td style="text-align: left">Class template <code class="code">function</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing allocator support</td></tr><tr><td style="text-align: left">20.8.12</td><td style="text-align: left">Class template <code class="code">hash</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9</td><td style="text-align: left">Metaprogramming and type traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.2</td><td style="text-align: left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.3</td><td style="text-align: left">Helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4</td><td style="text-align: left">Unary Type Traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4.1</td><td style="text-align: left">Primary type categories</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.4.2</td><td style="text-align: left">Composite type traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.9.4.3</td><td style="text-align: left">Type properties</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing is_trivially_copyable,
+      </td></tr><tr><td align="left">20.7.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.4</td><td align="left">Class template <code class="code">emable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.7.2.5</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.7.2.6</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.9</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Partial</td><td align="left">Missing overloads for reference-qualified member functions</td></tr><tr><td align="left">20.8.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.8.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.1</td><td align="left">Primary type categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.9.4.3</td><td align="left">Type properties</td><td align="left">Partial</td><td align="left">Missing is_trivially_copyable,
       is_assignable, is_copy_assignable, is_move_assignable,
       is_trivially_constructible, is_trivially_default_constructible,
       is_trivially_copy_constructible, is_trivially_move_constructible,
@@ -186,62 +185,59 @@ particular release.
       is_nothrow_assignable,
       is_nothrow_copy_assignable, is_nothrow_move_assignable,
       is_nothrow_destructible
-      </td></tr><tr><td style="text-align: left">20.9.5</td><td style="text-align: left">Type property queries</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.6</td><td style="text-align: left">Relationships between types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7</td><td style="text-align: left">Transformations between types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.1</td><td style="text-align: left">Const-volatile modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.2</td><td style="text-align: left">Reference modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.3</td><td style="text-align: left">Sign modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.4</td><td style="text-align: left">Array modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.5</td><td style="text-align: left">Pointer modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.9.7.6</td><td style="text-align: left">Other transformations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10</td><td style="text-align: left">Compile-time rational arithmetic</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.2</td><td style="text-align: left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.3</td><td style="text-align: left">Class template <code class="code">ratio</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.4</td><td style="text-align: left">Arithmetic on <code class="code">ratio</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.5</td><td style="text-align: left">Comparison of <code class="code">ratio</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.10.6</td><td style="text-align: left">SI types for <code class="code">ratio</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11</td><td style="text-align: left">Time utilities</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.3</td><td style="text-align: left">Clock requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4</td><td style="text-align: left">Time-related traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.1</td><td style="text-align: left"><code class="code">treat_as_floating_point</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.2</td><td style="text-align: left"><code class="code">duration_values</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.4.3</td><td style="text-align: left">Specializations of <code class="code">common_type</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.11.5</td><td style="text-align: left">Class template <code class="code">duration</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td style="text-align: left">20.11.6</td><td style="text-align: left">Class template <code class="code">time_point</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.7</td><td style="text-align: left">Clocks</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.7.1</td><td style="text-align: left">Class <code class="code">system_clock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">20.11.7.2</td><td style="text-align: left">Class <code class="code">steady_clock</code></td><td style="text-align: left">N</td><td style="text-align: left">Support old <code class="code">monotonic_clock</code> spec instead</td></tr><tr><td style="text-align: left">20.11.7.3</td><td style="text-align: left">Class <code class="code">high_resolution_clock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.11.8</td><td style="text-align: left">Date and time functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.12</td><td style="text-align: left">Scoped allocator adaptor</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.1</td><td style="text-align: left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.2</td><td style="text-align: left">Scoped allocator adaptor member types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.3</td><td style="text-align: left">Scoped allocator adaptor constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">20.12.4</td><td style="text-align: left">Scoped allocator adaptor members</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.12.5</td><td style="text-align: left">Scoped allocator operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">20.13</td><td style="text-align: left">Class <code class="code">type_index</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code">&lt;ratio&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Partial</td><td align="left">Missing constexpr for non-member arithmetic operations</td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code">&lt;scoped_allocator&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>21</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Strings</em></span>
-      </td></tr><tr><td style="text-align: left">21.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2</td><td style="text-align: left">Character traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.1</td><td style="text-align: left">Character traits requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.2</td><td style="text-align: left">traits typedefs</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.3</td><td style="text-align: left"><code class="code">char_traits</code> specializations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.2.3.1</td><td style="text-align: left">struct <code class="code">char_traits&lt;char&gt;</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.2.3.2</td><td style="text-align: left">struct <code class="code">char_traits&lt;char16_t&gt;</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">21.2.3.3</td><td style="text-align: left">struct <code class="code">char_traits&lt;char32_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.2.3.4</td><td style="text-align: left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.3</td><td style="text-align: left">String classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.4</td><td style="text-align: left">Class template <code class="code">basic_string</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing pop_back</td></tr><tr><td style="text-align: left">21.5</td><td style="text-align: left">Numeric Conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">21.6</td><td style="text-align: left">Hash support</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">21.7</td><td style="text-align: left">Null-terminated sequence utilities</td><td style="text-align: left">Partial</td><td style="text-align: left">C library dependency.
+      </td></tr><tr><td align="left">21.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2</td><td align="left">Character traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">21.2.1</td><td align="left">Character traits requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.2</td><td align="left">traits typedefs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3</td><td align="left"><code class="code">char_traits</code> specializations</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.2.3.1</td><td align="left">struct <code class="code">char_traits&lt;char&gt;</code></td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr bgcolor="#B0B0B0"><td align="left">21.2.3.2</td><td align="left">struct <code class="code">char_traits&lt;char16_t&gt;</code></td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr><td align="left">21.2.3.3</td><td align="left">struct <code class="code">char_traits&lt;char32_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.2.3.4</td><td align="left">struct <code class="code">char_traits&lt;wchar_t&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.3</td><td align="left">String classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.4</td><td align="left">Class template <code class="code">basic_string</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.5</td><td align="left">Numeric Conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">21.6</td><td align="left">Hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">21.7</td><td align="left">Null-terminated sequence utilities</td><td align="left">Partial</td><td align="left">C library dependency.
       Missing <code class="filename">&lt;cuchar&gt;</code>
-      </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">
        <span class="emphasis"><em>22</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Localization</em></span>
-      </td></tr><tr><td style="text-align: left">22.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.2</td><td style="text-align: left">Header <code class="code">&lt;locale&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3</td><td style="text-align: left">Locales</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.1</td><td style="text-align: left">Class <code class="code">locale</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.2</td><td style="text-align: left"><code class="code">locale</code> globals</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3</td><td style="text-align: left">Convenience interfaces</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.1</td><td style="text-align: left">Character classification</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.2</td><td style="text-align: left">Conversions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.3.3.2.1</td><td style="text-align: left">Character conversions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.3.3.2.2</td><td style="text-align: left"><code class="code">string</code> conversions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.3.3.2.3</td><td style="text-align: left">Buffer conversions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4</td><td style="text-align: left">Standard <code class="code">locale</code> categories</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.1</td><td style="text-align: left">The <code class="code">ctype</code> category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2</td><td style="text-align: left">The numeric category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2.1</td><td style="text-align: left"><code class="code">num_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.2.2</td><td style="text-align: left"><code class="code">num_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.3</td><td style="text-align: left">The numeric punctuation facet</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.4</td><td style="text-align: left">The collate category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5</td><td style="text-align: left">The time category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.1</td><td style="text-align: left">Class template <code class="code">time_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.2</td><td style="text-align: left">Class template <code class="code">time_get_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.3</td><td style="text-align: left">Class template <code class="code">time_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.5.3</td><td style="text-align: left">Class template <code class="code">time_put_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6</td><td style="text-align: left">The monetary category</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.1</td><td style="text-align: left">Class template <code class="code">money_get</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.2</td><td style="text-align: left">Class template <code class="code">money_put</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.3</td><td style="text-align: left">Class template <code class="code">money_punct</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.6.4</td><td style="text-align: left">Class template <code class="code">money_punct_byname</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.7</td><td style="text-align: left">The message retrieval category</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.4.8</td><td style="text-align: left">Program-defined facets</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">22.5</td><td style="text-align: left">Standard code conversion facets</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">22.6</td><td style="text-align: left">C Library Locales</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">22.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.2</td><td align="left">Header <code class="code">&lt;locale&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3</td><td align="left">Locales</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.1</td><td align="left">Class <code class="code">locale</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.2</td><td align="left"><code class="code">locale</code> globals</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.3</td><td align="left">Convenience interfaces</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.3.1</td><td align="left">Character classification</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.3.3.2</td><td align="left">Conversions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.3.3.2.1</td><td align="left">Character conversions</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.3.3.2.2</td><td align="left"><code class="code">string</code> conversions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.3.3.2.3</td><td align="left">Buffer conversions</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">22.4</td><td align="left">Standard <code class="code">locale</code> categories</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.1</td><td align="left">The <code class="code">ctype</code> category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.2</td><td align="left">The numeric category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.2.1</td><td align="left"><code class="code">num_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.2.2</td><td align="left"><code class="code">num_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.3</td><td align="left">The numeric punctuation facet</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.4</td><td align="left">The collate category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5</td><td align="left">The time category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.5.1</td><td align="left">Class template <code class="code">time_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.2</td><td align="left">Class template <code class="code">time_get_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.3</td><td align="left">Class template <code class="code">time_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.5.3</td><td align="left">Class template <code class="code">time_put_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6</td><td align="left">The monetary category</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">22.4.6.1</td><td align="left">Class template <code class="code">money_get</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.2</td><td align="left">Class template <code class="code">money_put</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.3</td><td align="left">Class template <code class="code">money_punct</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.6.4</td><td align="left">Class template <code class="code">money_punct_byname</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.7</td><td align="left">The message retrieval category</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">22.4.8</td><td align="left">Program-defined facets</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">22.5</td><td align="left">Standard code conversion facets</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">22.6</td><td align="left">C Library Locales</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>23</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Containers</em></span>
-      </td></tr><tr><td style="text-align: left">23.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2</td><td style="text-align: left">Container requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">23.2.1</td><td style="text-align: left">General container requirements</td><td style="text-align: left">Partial</td><td style="text-align: left">Only <code class="code">vector</code> meets the requirements
-             relating to allocator use and propagation.</td></tr><tr><td style="text-align: left">23.2.2</td><td style="text-align: left">Container data races</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.2.3</td><td style="text-align: left">Sequence containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">23.2.4</td><td style="text-align: left">Associative containers</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing emplace members</td></tr><tr><td style="text-align: left">23.2.5</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3</td><td style="text-align: left">Sequence containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.2</td><td style="text-align: left">Class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.3</td><td style="text-align: left">Class template <code class="code">deque</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.4</td><td style="text-align: left">Class template <code class="code">forward_list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.5</td><td style="text-align: left">Class template <code class="code">list</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.6</td><td style="text-align: left">Class template <code class="code">vector</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.3.7</td><td style="text-align: left">Class <code class="code">vector&lt;bool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4</td><td style="text-align: left">Associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.4</td><td style="text-align: left">Class template <code class="code">map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.5</td><td style="text-align: left">Class template <code class="code">multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.6</td><td style="text-align: left">Class template <code class="code">set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.4.7</td><td style="text-align: left">Class template <code class="code">multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.4</td><td style="text-align: left">Class template <code class="code">unordered_map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.5</td><td style="text-align: left">Class template <code class="code">unordered_multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.6</td><td style="text-align: left">Class template <code class="code">unordered_set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.5.7</td><td style="text-align: left">Class template <code class="code">unordered_multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6</td><td style="text-align: left">Container adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.1</td><td style="text-align: left">Class template <code class="code">queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.2</td><td style="text-align: left">Class template <code class="code">priority_queue</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">23.6.3</td><td style="text-align: left">Class template <code class="code">stack</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">23.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.2</td><td align="left">Container requirements</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.1</td><td align="left">General container requirements</td><td align="left">Partial</td><td align="left">Only <code class="code">vector</code> meets the requirements
+             relating to allocator use and propagation.</td></tr><tr><td align="left">23.2.2</td><td align="left">Container data races</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.2.3</td><td align="left">Sequence containers</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">23.2.4</td><td align="left">Associative containers</td><td align="left">Partial</td><td align="left">Missing emplace members</td></tr><tr><td align="left">23.2.5</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3</td><td align="left">Sequence containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.3.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.3</td><td align="left">Class template <code class="code">deque</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.4</td><td align="left">Class template <code class="code">forward_list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.5</td><td align="left">Class template <code class="code">list</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.6</td><td align="left">Class template <code class="code">vector</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.3.7</td><td align="left">Class <code class="code">vector&lt;bool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4</td><td align="left">Associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.4.4</td><td align="left">Class template <code class="code">map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.5</td><td align="left">Class template <code class="code">multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.6</td><td align="left">Class template <code class="code">set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.4.7</td><td align="left">Class template <code class="code">multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5</td><td align="left">Unordered associative containers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.5.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.5</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.6</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.5.7</td><td align="left">Class template <code class="code">unordered_multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6</td><td align="left">Container adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">23.6.1</td><td align="left">Class template <code class="code">queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6.2</td><td align="left">Class template <code class="code">priority_queue</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">23.6.3</td><td align="left">Class template <code class="code">stack</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>24</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Iterators</em></span>
-      </td></tr><tr><td style="text-align: left">24.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.2</td><td style="text-align: left">Iterator requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.3</td><td style="text-align: left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.4</td><td style="text-align: left">Iterator primitives</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5</td><td style="text-align: left">Iterator adaptors</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.1</td><td style="text-align: left">Reverse iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.2</td><td style="text-align: left">Insert iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.5.3</td><td style="text-align: left">Move iterators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6</td><td style="text-align: left">Stream iterators</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.1</td><td style="text-align: left">Class template <code class="code">istream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.2</td><td style="text-align: left">Class template <code class="code">ostream_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.3</td><td style="text-align: left">Class template <code class="code">istreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.4</td><td style="text-align: left">Class template <code class="code">ostreambuf_iterator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">24.6.5</td><td style="text-align: left">range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">24.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.2</td><td align="left">Iterator requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.3</td><td align="left">Header <code class="code">&lt;iterator&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.4</td><td align="left">Iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5</td><td align="left">Iterator adaptors</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.5.1</td><td align="left">Reverse iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.2</td><td align="left">Insert iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.5.3</td><td align="left">Move iterators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6</td><td align="left">Stream iterators</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">24.6.1</td><td align="left">Class template <code class="code">istream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.2</td><td align="left">Class template <code class="code">ostream_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.3</td><td align="left">Class template <code class="code">istreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.4</td><td align="left">Class template <code class="code">ostreambuf_iterator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">24.6.5</td><td align="left">range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>25</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Algorithms</em></span>
-      </td></tr><tr><td style="text-align: left">25.1</td><td style="text-align: left">General</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.2</td><td style="text-align: left">Non-modifying sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.3</td><td style="text-align: left">Mutating sequence operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.4</td><td style="text-align: left">Sorting and related operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">25.5</td><td style="text-align: left">C library algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">25.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">25.2</td><td align="left">Non-modifying sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.3</td><td align="left">Mutating sequence operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.4</td><td align="left">Sorting and related operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">25.5</td><td align="left">C library algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
       <span class="emphasis"><em>26</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Numerics</em></span>
-      </td></tr><tr><td style="text-align: left">26.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.2</td><td style="text-align: left">Numeric type requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.3</td><td style="text-align: left">The floating-point environment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.4</td><td style="text-align: left">Complex numbers</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5</td><td style="text-align: left">Random number generation</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.1</td><td style="text-align: left">Requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.2</td><td style="text-align: left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.3</td><td style="text-align: left">Random number engine class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.3.1</td><td style="text-align: left">Class template <code class="code">linear_congruential_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.3.2</td><td style="text-align: left">Class template <code class="code">mersenne_twister_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.3.3</td><td style="text-align: left">Class template <code class="code">subtract_with_carry_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4</td><td style="text-align: left">Random number engine adaptor class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.4.2</td><td style="text-align: left">Class template <code class="code">discard_block_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4.3</td><td style="text-align: left">Class template <code class="code">independent_bits_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.4.4</td><td style="text-align: left">Class template <code class="code">shuffle_order_engine</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.5</td><td style="text-align: left">Engines and engine adaptors with predefined parameters</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.6</td><td style="text-align: left">Class <code class="code">random_device</code></td><td style="text-align: left">Y</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">26.5.7</td><td style="text-align: left">Utilities</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.7.1</td><td style="text-align: left">Class <code class="code">seed_seq</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.7.2</td><td style="text-align: left">Function template <code class="code">generate_canonical</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8</td><td style="text-align: left">Random number distribution class templates</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2</td><td style="text-align: left">Uniform distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2.1</td><td style="text-align: left">Class template <code class="code">uniform_int_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.2.2</td><td style="text-align: left">Class template <code class="code">uniform_real_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3</td><td style="text-align: left">Bernoulli distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.1</td><td style="text-align: left">Class <code class="code">bernoulli_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.2</td><td style="text-align: left">Class template <code class="code">binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.3</td><td style="text-align: left">Class template <code class="code">geometric_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.3.4</td><td style="text-align: left">Class template <code class="code">negative_binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4</td><td style="text-align: left">Poisson distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.1</td><td style="text-align: left">Class template <code class="code">poisson_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.2</td><td style="text-align: left">Class template <code class="code">exponential_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.3</td><td style="text-align: left">Class template <code class="code">gamma_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.4</td><td style="text-align: left">Class template <code class="code">weibull_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.4.5</td><td style="text-align: left">Class template <code class="code">extreme_value_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5</td><td style="text-align: left">Normal distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.1</td><td style="text-align: left">Class template <code class="code">normal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.2</td><td style="text-align: left">Class template <code class="code">lognormal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.3</td><td style="text-align: left">Class template <code class="code">chi_squared_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.4</td><td style="text-align: left">Class template <code class="code">cauchy_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.5</td><td style="text-align: left">Class template <code class="code">fisher_f_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.5.6</td><td style="text-align: left">Class template <code class="code">student_t_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6</td><td style="text-align: left">Sampling distributions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.1</td><td style="text-align: left">Class template <code class="code">discrete_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.2</td><td style="text-align: left">Class template <code class="code">piecewise_constant_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.5.8.6.3</td><td style="text-align: left">Class template <code class="code">piecewise_linear_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6</td><td style="text-align: left">Numeric arrays</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.1</td><td style="text-align: left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.2</td><td style="text-align: left">Class template <code class="code">valarray</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.3</td><td style="text-align: left"><code class="code">valarray</code> non-member operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.4</td><td style="text-align: left">Class <code class="code">slice</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.5</td><td style="text-align: left">Class template <code class="code">slice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.6</td><td style="text-align: left">The <code class="code">gslice</code> class</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.7</td><td style="text-align: left">Class template <code class="code">gslice_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.8</td><td style="text-align: left">Class template <code class="code">mask_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.9</td><td style="text-align: left">Class template <code class="code">indirect_array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.6.10</td><td style="text-align: left"><code class="code">valarray</code> range access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7</td><td style="text-align: left">Generalized numeric operations</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.1</td><td style="text-align: left">Header <code class="code">&lt;numeric&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.2</td><td style="text-align: left"><code class="code">accumulate</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.3</td><td style="text-align: left"><code class="code">inner_product</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.4</td><td style="text-align: left"><code class="code">partial_sum</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.5</td><td style="text-align: left"><code class="code">adjacent_difference</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.7.6</td><td style="text-align: left">iota</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">26.8</td><td style="text-align: left">C Library</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">26.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.2</td><td align="left">Numeric type requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.3</td><td align="left">The floating-point environment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.4</td><td align="left">Complex numbers</td><td align="left">Partial</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.1</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3</td><td align="left">Random number engine class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.3.1</td><td align="left">Class template <code class="code">linear_congruential_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.3.2</td><td align="left">Class template <code class="code">mersenne_twister_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.3.3</td><td align="left">Class template <code class="code">subtract_with_carry_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4</td><td align="left">Random number engine adaptor class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.4.2</td><td align="left">Class template <code class="code">discard_block_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4.3</td><td align="left">Class template <code class="code">independent_bits_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.4.4</td><td align="left">Class template <code class="code">shuffle_order_engine</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.5</td><td align="left">Engines and engine adaptors with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">26.5.7</td><td align="left">Utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.7.1</td><td align="left">Class <code class="code">seed_seq</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.7.2</td><td align="left">Function template <code class="code">generate_canonical</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8</td><td align="left">Random number distribution class templates</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2</td><td align="left">Uniform distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.1</td><td align="left">Class template <code class="code">uniform_int_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.2.2</td><td align="left">Class template <code class="code">uniform_real_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3</td><td align="left">Bernoulli distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.1</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.2</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.3.4</td><td align="left">Class template <code class="code">negative_binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4</td><td align="left">Poisson distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.1</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.2</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.3</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.4</td><td align="left">Class template <code class="code">weibull_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.4.5</td><td align="left">Class template <code class="code">extreme_value_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5</td><td align="left">Normal distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.1</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.2</td><td align="left">Class template <code class="code">lognormal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.3</td><td align="left">Class template <code class="code">chi_squared_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.4</td><td align="left">Class template <code class="code">cauchy_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.5</td><td align="left">Class template <code class="code">fisher_f_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.5.6</td><td align="left">Class template <code class="code">student_t_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6</td><td align="left">Sampling distributions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.1</td><td align="left">Class template <code class="code">discrete_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.2</td><td align="left">Class template <code class="code">piecewise_constant_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.5.8.6.3</td><td align="left">Class template <code class="code">piecewise_linear_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6</td><td align="left">Numeric arrays</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.6.1</td><td align="left">Header <code class="code">&lt;valarray&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.2</td><td align="left">Class template <code class="code">valarray</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.3</td><td align="left"><code class="code">valarray</code> non-member operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.4</td><td align="left">Class <code class="code">slice</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.5</td><td align="left">Class template <code class="code">slice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.6</td><td align="left">The <code class="code">gslice</code> class</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.7</td><td align="left">Class template <code class="code">gslice_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.8</td><td align="left">Class template <code class="code">mask_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.9</td><td align="left">Class template <code class="code">indirect_array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.6.10</td><td align="left"><code class="code">valarray</code> range access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7</td><td align="left">Generalized numeric operations</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">26.7.1</td><td align="left">Header <code class="code">&lt;numeric&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.2</td><td align="left"><code class="code">accumulate</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.3</td><td align="left"><code class="code">inner_product</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.4</td><td align="left"><code class="code">partial_sum</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.5</td><td align="left"><code class="code">adjacent_difference</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.7.6</td><td align="left">iota</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">26.8</td><td align="left">C Library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>27</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Input/output library</em></span>
-      </td></tr><tr><td style="text-align: left">27.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2</td><td style="text-align: left">Iostreams requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2.1</td><td style="text-align: left">Imbue Limitations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.2.2</td><td style="text-align: left">Positioning Type Limitations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.2.3</td><td style="text-align: left">Thread safety</td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.3</td><td style="text-align: left">Forward declarations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4</td><td style="text-align: left">Standard iostream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.1</td><td style="text-align: left">Overview</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.2</td><td style="text-align: left">Narrow stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">27.4.3</td><td style="text-align: left">Wide stream objects</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.5</td><td style="text-align: left">Iostreams base classes</td><td style="text-align: left">Partial</td><td style="text-align: left">
+      </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.1</td><td align="left">Overview</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.2</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.3</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.5</td><td align="left">Iostreams base classes</td><td align="left">Partial</td><td align="left">
         Missing move and swap operations on <code class="code">basic_ios</code>.
         Missing <code class="code">io_errc</code> and <code class="code">iostream_category</code>.
         <code class="code">ios_base::failure</code> is not derived from <code class="code">system_error</code>.
-      </td></tr><tr><td style="text-align: left">27.6</td><td style="text-align: left">Stream buffers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.7</td><td style="text-align: left">Formatting and manipulators</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.8</td><td style="text-align: left">String-based streams</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">27.9</td><td style="text-align: left">File-based streams</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing move and swap operations</td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">27.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.7</td><td align="left">Formatting and manipulators</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.8</td><td align="left">String-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.9</td><td align="left">File-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr><td align="left">
        <span class="emphasis"><em>28</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Regular expressions</em></span>
-      </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.1</td><td style="text-align: left">General</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.3</td><td style="text-align: left">Requirements</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.4</td><td style="text-align: left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">28.5</td><td style="text-align: left">Namespace <code class="code">std::regex_constants</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">28.6</td><td style="text-align: left">Class <code class="code">regex_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.7</td><td style="text-align: left">Class template <code class="code">regex_traits</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.8</td><td style="text-align: left">Class template <code class="code">basic_regex</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.9</td><td style="text-align: left">Class template <code class="code">sub_match</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">28.10</td><td style="text-align: left">Class template <code class="code">match_results</code></td><td style="text-align: left">Partial</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.11</td><td style="text-align: left">Regular expression algorithms</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.12</td><td style="text-align: left">Regular expression Iterators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">28.13</td><td style="text-align: left">Modified ECMAScript regular expression grammar</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.1</td><td align="left">General</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.2</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.3</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">28.5</td><td align="left">Namespace <code class="code">std::regex_constants</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">28.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">28.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">Partial</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">28.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>29</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Atomic operations</em></span>
-      </td></tr><tr><td style="text-align: left">29.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">29.2</td><td style="text-align: left">Header <code class="code">&lt;atomic&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">29.3</td><td style="text-align: left">Order and consistency</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">29.4</td><td style="text-align: left">Lock-free property</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing <code class="code">ATOMIC_BOOL_LOCK_FREE</code> and
-        <code class="code">ATOMIC_POINTER_LOCK_FREE</code>.
-        Based on _GLIBCXX_ATOMIC_PROPERTY
-      </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">29.5</td><td style="text-align: left">Atomic types</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing constexpr</td></tr><tr><td style="text-align: left">29.6</td><td style="text-align: left">Operations on atomic types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">29.7</td><td style="text-align: left">Flag Type and operations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">29.8</td><td style="text-align: left">Fences</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">29.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.2</td><td align="left">Header <code class="code">&lt;atomic&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">29.3</td><td align="left">Order and consistency</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">29.4</td><td align="left">Lock-free property</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.5</td><td align="left">Atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.6</td><td align="left">Operations on atomic types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">29.7</td><td align="left">Flag Type and operations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">29.8</td><td align="left">Fences</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>30</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Thread support</em></span>
-      </td></tr><tr><td style="text-align: left">30.1</td><td style="text-align: left">General</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.2</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.3</td><td style="text-align: left">Threads</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.3.1</td><td style="text-align: left">Class <code class="code">thread</code></td><td style="text-align: left">Partial</td><td style="text-align: left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td style="text-align: left">30.3.2</td><td style="text-align: left">Namespace <code class="code">this_thread</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4</td><td style="text-align: left">Mutual exclusion</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1</td><td style="text-align: left">Mutex requirements</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.1</td><td style="text-align: left">In general</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2</td><td style="text-align: left">Mutex types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2.1</td><td style="text-align: left">Class <code class="code">mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.2.2</td><td style="text-align: left">Class <code class="code">recursive_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.3</td><td style="text-align: left">Timed mutex types</td><td style="text-align: left"> </td><td style="text-align: left">On POSIX sytems these types are only defined if the OS
-         supports the POSIX Timeouts option. </td></tr><tr><td style="text-align: left">30.4.1.3.1</td><td style="text-align: left">Class <code class="code">timed_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.1.3.2</td><td style="text-align: left">Class <code class="code">recursive_timed_mutex</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2</td><td style="text-align: left">Locks</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2.1</td><td style="text-align: left">Class template <code class="code">lock_guard</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.2.2</td><td style="text-align: left">Class template <code class="code">unique_lock</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.3</td><td style="text-align: left">Generic locking algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4</td><td style="text-align: left">Call once</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4.1</td><td style="text-align: left">Struct <code class="code">once_flag</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.4.4.2</td><td style="text-align: left">Function <code class="code">call_once</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.5</td><td style="text-align: left">Condition variables</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing notify_all_at_thread_exit</td></tr><tr><td style="text-align: left">30.5.1</td><td style="text-align: left">Class <code class="code">condition_variable</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.5.2</td><td style="text-align: left">Class <code class="code">condition_variable_any</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6</td><td style="text-align: left">Futures</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.1</td><td style="text-align: left">Overview</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.2</td><td style="text-align: left">Error handling</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.3</td><td style="text-align: left">Class <code class="code">future_error</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">30.6.4</td><td style="text-align: left">Shared state</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.5</td><td style="text-align: left">Class template <code class="code">promise</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing set_*_at_thread_exit</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.6</td><td style="text-align: left">Class template <code class="code">future</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Timed waiting functions do not return future_status</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.7</td><td style="text-align: left">Class template <code class="code">shared_future</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Timed waiting functions do not return future_status</td></tr><tr><td style="text-align: left">30.6.8</td><td style="text-align: left">Function template <code class="code">async</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">30.6.9</td><td style="text-align: left">Class template <code class="code">packaged_task</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing make_ready_at_thread_exit</td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> comparisons not well-defined</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Mutex types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3</td><td align="left">Timed mutex types</td><td align="left"> </td><td align="left">On POSIX sytems these types are only defined if the OS
+         supports the POSIX Timeouts option. </td></tr><tr><td align="left">30.4.1.3.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.3.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.4.1</td><td align="left">Struct <code class="code">once_flag</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4.2</td><td align="left">Function <code class="code">call_once</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Partial</td><td align="left">Missing notify_all_at_thread_exit</td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Shared state</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Partial</td><td align="left">Missing set_*_at_thread_exit</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Partial</td><td align="left">Timed waiting functions do not return future_status::deferred</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Partial</td><td align="left">Timed waiting functions do not return future_status::deferred</td></tr><tr><td align="left">30.6.8</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.9</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Partial</td><td align="left">Missing make_ready_at_thread_exit</td></tr><tr><td align="left">
        <span class="emphasis"><em>Appendix D</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Compatibility features</em></span>
-      </td></tr><tr><td style="text-align: left">D.1</td><td style="text-align: left">Increment operator with <code class="code">bool</code> operand</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.2</td><td style="text-align: left"><code class="code">register</code> keyword</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.3</td><td style="text-align: left">Implicit declaration of copy functions</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.4</td><td style="text-align: left">Dynamic exception specifications</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.5</td><td style="text-align: left">C standard library headers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.6</td><td style="text-align: left">Old iostreams members</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.7</td><td style="text-align: left"><code class="code">char*</code> streams</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.8</td><td style="text-align: left">Function objects</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.9</td><td style="text-align: left">Binders</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.10</td><td style="text-align: left"><code class="code">auto_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">D.11</td><td style="text-align: left">Violating exception-specifications</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"/>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards,
+      </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2011.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by the 1998 and 2003 standards,
       see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation
       Specific Behavior</a>. This section only documents behaviour which
       is new in the 2011 standard.
@@ -254,7 +250,7 @@ particular release.
       <code class="classname">native_handle_type</code> and
       <code class="methodname">native_handle</code> are provided. The handle types
       are defined in terms of the Gthreads abstraction layer.
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p><code class="classname">thread</code>: The native handle type is
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="classname">thread</code>: The native handle type is
             a typedef for <code class="code">__gthread_t</code> i.e. <code class="code">pthread_t</code>
             when GCC is configured with the <code class="literal">posix</code> thread
             model. The value of the native handle is undefined for a thread
@@ -279,7 +275,7 @@ particular release.
       <code class="code">launch</code> is a scoped enumeration type with
       overloaded operators to support bitmask operations. There are no
       additional bitmask elements defined.
-   </p></div></div><div class="section" title="C++ TR1"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"/>C++ TR1</h3></div></div></div><p>
+   </p></div></div><div class="section" title="C++ TR1"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
 This table is based on the table of contents of ISO/IEC DTR 19768
 Doc No: N1836=05-0096 Date: 2005-06-24
 Draft Technical Report on C++ Library Extensions
@@ -290,12 +286,12 @@ In this implementation the header names are prefixed by
 </p><p>
 This page describes the TR1 support in mainline GCC SVN, not in any particular
 release.
-</p><div class="table"><a id="id433760"/><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left"><span class="emphasis"><em>2</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td style="text-align: left">2.1</td><td style="text-align: left">Reference wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.1</td><td style="text-align: left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2</td><td style="text-align: left">Class template <code class="code">reference_wrapper</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.1</td><td style="text-align: left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.2</td><td style="text-align: left"><code class="code">reference_wrapper</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.3</td><td style="text-align: left"><code class="code">reference_wrapper</code> access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.4</td><td style="text-align: left"><code class="code">reference_wrapper</code> invocation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.1.2.5</td><td style="text-align: left"><code class="code">reference_wrapper</code> helper functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2</td><td style="text-align: left">Smart pointers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.1</td><td style="text-align: left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.2</td><td style="text-align: left">Class <code class="code">bad_weak_ptr</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3</td><td style="text-align: left">Class template <code class="code">shared_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left">
+</p><div class="table"><a id="idp2271168"></a><p class="title"><strong>Table 1.3. C++ TR1 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
        <p>
          Uses code from
-         <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</a>.
+         <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
        </p>
-      </td></tr><tr><td style="text-align: left">2.2.3.1</td><td style="text-align: left"><code class="code">shared_ptr</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.2</td><td style="text-align: left"><code class="code">shared_ptr</code> destructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.3</td><td style="text-align: left"><code class="code">shared_ptr</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.4</td><td style="text-align: left"><code class="code">shared_ptr</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.5</td><td style="text-align: left"><code class="code">shared_ptr</code> observers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.6</td><td style="text-align: left"><code class="code">shared_ptr</code> comparison</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.7</td><td style="text-align: left"><code class="code">shared_ptr</code> I/O</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.8</td><td style="text-align: left"><code class="code">shared_ptr</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.9</td><td style="text-align: left"><code class="code">shared_ptr</code> casts</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.3.10</td><td style="text-align: left"><code class="code">get_deleter</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4</td><td style="text-align: left">Class template <code class="code">weak_ptr</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.1</td><td style="text-align: left"><code class="code">weak_ptr</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.2</td><td style="text-align: left"><code class="code">weak_ptr</code> destructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.3</td><td style="text-align: left"><code class="code">weak_ptr</code> assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.4</td><td style="text-align: left"><code class="code">weak_ptr</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.5</td><td style="text-align: left"><code class="code">weak_ptr</code> observers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.6</td><td style="text-align: left"><code class="code">weak_ptr</code> comparison</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.4.7</td><td style="text-align: left"><code class="code">weak_ptr</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">2.2.5</td><td style="text-align: left">Class template <code class="code">enable_shared_from_this</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>3</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td style="text-align: left">3.1</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2</td><td style="text-align: left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.3</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4</td><td style="text-align: left">Function return types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.5</td><td style="text-align: left">Function template <code class="code">mem_fn</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6</td><td style="text-align: left">Function object binders</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.1</td><td style="text-align: left">Class template <code class="code">is_bind_expression</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.2</td><td style="text-align: left">Class template <code class="code">is_placeholder</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.3</td><td style="text-align: left">Function template <code class="code">bind</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.6.4</td><td style="text-align: left">Placeholders</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7</td><td style="text-align: left">Polymorphic function wrappers</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.1</td><td style="text-align: left">Class <code class="code">bad_function_call</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.1.1</td><td style="text-align: left"><code class="code">bad_function_call</code> constructor</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2</td><td style="text-align: left">Class template <code class="code">function</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.1</td><td style="text-align: left"><code class="code">function</code> construct/copy/destroy</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.2</td><td style="text-align: left"><code class="code">function</code> modifiers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.3</td><td style="text-align: left"><code class="code">function</code> capacity</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.4</td><td style="text-align: left"><code class="code">function</code> invocation</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.5</td><td style="text-align: left"><code class="code">function</code> target access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.6</td><td style="text-align: left">undefined operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.7</td><td style="text-align: left">null pointer comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.7.2.8</td><td style="text-align: left">specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>4</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td style="text-align: left">4.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.2</td><td style="text-align: left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.3</td><td style="text-align: left">Helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.4</td><td style="text-align: left">General Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5</td><td style="text-align: left">Unary Type Traits</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.1</td><td style="text-align: left">Primary Type Categories</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.2</td><td style="text-align: left">Composite type traits</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.5.3</td><td style="text-align: left">Type properties</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.6</td><td style="text-align: left">Relationships between types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7</td><td style="text-align: left">Transformations between types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.1</td><td style="text-align: left">Const-volatile modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.2</td><td style="text-align: left">Reference modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.3</td><td style="text-align: left">Array modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.7.4</td><td style="text-align: left">Pointer modifications</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.8</td><td style="text-align: left">Other transformations</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">4.9</td><td style="text-align: left">Implementation requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>5</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td style="text-align: left">5.1</td><td style="text-align: left">Random number generation</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.1</td><td style="text-align: left">Requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.2</td><td style="text-align: left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.3</td><td style="text-align: left">Class template <code class="code">variate_generator</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4</td><td style="text-align: left">Random number engine class templates</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.1</td><td style="text-align: left">Class template <code class="code">linear_congruential</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.2</td><td style="text-align: left">Class template <code class="code">mersenne_twister</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.3</td><td style="text-align: left">Class template <code class="code">subtract_with_carry</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.4</td><td style="text-align: left">Class template <code class="code">subtract_with_carry_01</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.5</td><td style="text-align: left">Class template <code class="code">discard_block</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.4.6</td><td style="text-align: left">Class template <code class="code">xor_combine</code></td><td style="text-align: left">Y</td><td style="text-align: left">operator()() per N2079</td></tr><tr><td style="text-align: left">5.1.5</td><td style="text-align: left">Engines with predefined parameters</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.6</td><td style="text-align: left">Class <code class="code">random_device</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7</td><td style="text-align: left">Random distribution class templates</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.1</td><td style="text-align: left">Class template <code class="code">uniform_int</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.2</td><td style="text-align: left">Class <code class="code">bernoulli_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.3</td><td style="text-align: left">Class template <code class="code">geometric_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.4</td><td style="text-align: left">Class template <code class="code">poisson_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.5</td><td style="text-align: left">Class template <code class="code">binomial_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.6</td><td style="text-align: left">Class template <code class="code">uniform_real</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.7</td><td style="text-align: left">Class template <code class="code">exponential_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.8</td><td style="text-align: left">Class template <code class="code">normal_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.1.7.9</td><td style="text-align: left">Class template <code class="code">gamma_distribution</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2</td><td style="text-align: left">Mathematical special functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1</td><td style="text-align: left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.1</td><td style="text-align: left">associated Laguerre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.2</td><td style="text-align: left">associated Legendre functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.3</td><td style="text-align: left">beta function</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.4</td><td style="text-align: left">(complete) elliptic integral of the first kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.5</td><td style="text-align: left">(complete) elliptic integral of the second kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.6</td><td style="text-align: left">(complete) elliptic integral of the third kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.7</td><td style="text-align: left">confluent hypergeometric functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.8</td><td style="text-align: left">regular modified cylindrical Bessel functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.9</td><td style="text-align: left">cylindrical Bessel functions (of the first kind)</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.10</td><td style="text-align: left">irregular modified cylindrical Bessel functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.11</td><td style="text-align: left">cylindrical Neumann functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.12</td><td style="text-align: left">(incomplete) elliptic integral of the first kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.13</td><td style="text-align: left">(incomplete) elliptic integral of the second kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.14</td><td style="text-align: left">(incomplete) elliptic integral of the third kind</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.15</td><td style="text-align: left">exponential integral</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.16</td><td style="text-align: left">Hermite polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.17</td><td style="text-align: left">hypergeometric functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.18</td><td style="text-align: left">Laguerre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.19</td><td style="text-align: left">Legendre polynomials</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.20</td><td style="text-align: left">Riemann zeta function</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.21</td><td style="text-align: left">spherical Bessel functions (of the first kind)</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.22</td><td style="text-align: left">spherical associated Legendre functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.1.23</td><td style="text-align: left">spherical Neumann functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">5.2.2</td><td style="text-align: left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>6</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td style="text-align: left">6.1</td><td style="text-align: left">Tuple types</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.1</td><td style="text-align: left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.2</td><td style="text-align: left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3</td><td style="text-align: left">Class template <code class="code">tuple</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.1</td><td style="text-align: left">Construction</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.2</td><td style="text-align: left">Tuple creation functions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.3</td><td style="text-align: left">Tuple helper classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.4</td><td style="text-align: left">Element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.3.5</td><td style="text-align: left">Relational operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.1.4</td><td style="text-align: left">Pairs</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2</td><td style="text-align: left">Fixed size array</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.1</td><td style="text-align: left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2</td><td style="text-align: left">Class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.1</td><td style="text-align: left"><code class="code">array</code> constructors, copy, and assignment</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.2</td><td style="text-align: left"><code class="code">array</code> specialized algorithms</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.3</td><td style="text-align: left"><code class="code">array</code> size</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.4</td><td style="text-align: left">Zero sized <code class="code">array</code>s</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.2.2.5</td><td style="text-align: left">Tuple interface to class template <code class="code">array</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3</td><td style="text-align: left">Unordered associative containers</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.1</td><td style="text-align: left">Unordered associative container requirements</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.1.1</td><td style="text-align: left">Exception safety guarantees</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.2</td><td style="text-align: left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.3</td><td style="text-align: left">Class template <code class="code">hash</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4</td><td style="text-align: left">Unordered associative container classes</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.1</td><td style="text-align: left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.2</td><td style="text-align: left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3</td><td style="text-align: left">Class template <code class="code">unordered_set</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3.1</td><td style="text-align: left"><code class="code">unordered_set</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.3.2</td><td style="text-align: left"><code class="code">unordered_set</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4</td><td style="text-align: left">Class template <code class="code">unordered_map</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.1</td><td style="text-align: left"><code class="code">unordered_map</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.2</td><td style="text-align: left"><code class="code">unordered_map</code> element access</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.4.3</td><td style="text-align: left"><code class="code">unordered_map</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5</td><td style="text-align: left">Class template <code class="code">unordered_multiset</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5.1</td><td style="text-align: left"><code class="code">unordered_multiset</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.5.2</td><td style="text-align: left"><code class="code">unordered_multiset</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6</td><td style="text-align: left">Class template <code class="code">unordered_multimap</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6.1</td><td style="text-align: left"><code class="code">unordered_multimap</code> constructors</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">6.3.4.6.2</td><td style="text-align: left"><code class="code">unordered_multimap</code> swap</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>7</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.1</td><td style="text-align: left">Definitions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.2</td><td style="text-align: left">Requirements</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.3</td><td style="text-align: left">Regular expressions summary</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.4</td><td style="text-align: left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5</td><td style="text-align: left">Namespace <code class="code">tr1::regex_constants</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.1</td><td style="text-align: left">Bitmask Type <code class="code">syntax_option_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.2</td><td style="text-align: left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.5.3</td><td style="text-align: left">Implementation defined <code class="code">error_type</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.6</td><td style="text-align: left">Class <code class="code">regex_error</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.7</td><td style="text-align: left">Class template <code class="code">regex_traits</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8</td><td style="text-align: left">Class template <code class="code">basic_regex</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.1</td><td style="text-align: left"><code class="code">basic_regex</code> constants</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.2</td><td style="text-align: left"><code class="code">basic_regex</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.3</td><td style="text-align: left"><code class="code">basic_regex</code> assign</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.4</td><td style="text-align: left"><code class="code">basic_regex</code> constant operations</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.5</td><td style="text-align: left"><code class="code">basic_regex</code> locale</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.6</td><td style="text-align: left"><code class="code">basic_regex</code> swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.7</td><td style="text-align: left"><code class="code">basic_regex</code> non-member functions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.8.7.1</td><td style="text-align: left"><code class="code">basic_regex</code> non-member swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9</td><td style="text-align: left">Class template <code class="code">sub_match</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9.1</td><td style="text-align: left"><code class="code">sub_match</code> members</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.9.2</td><td style="text-align: left"><code class="code">sub_match</code> non-member operators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10</td><td style="text-align: left">Class template <code class="code">match_results</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.1</td><td style="text-align: left"><code class="code">match_results</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.2</td><td style="text-align: left"><code class="code">match_results</code> size</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.3</td><td style="text-align: left"><code class="code">match_results</code> element access</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.4</td><td style="text-align: left"><code class="code">match_results</code> formatting</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.5</td><td style="text-align: left"><code class="code">match_results</code> allocator</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.10.6</td><td style="text-align: left"><code class="code">match_results</code> swap</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11</td><td style="text-align: left">Regular expression algorithms</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.1</td><td style="text-align: left">exceptions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.2</td><td style="text-align: left"><code class="code">regex_match</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.3</td><td style="text-align: left"><code class="code">regex_search</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.11.4</td><td style="text-align: left"><code class="code">regex_replace</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12</td><td style="text-align: left">Regular expression Iterators</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1</td><td style="text-align: left">Class template <code class="code">regex_iterator</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.1</td><td style="text-align: left"><code class="code">regex_iterator</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.2</td><td style="text-align: left"><code class="code">regex_iterator</code> comparisons</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.3</td><td style="text-align: left"><code class="code">regex_iterator</code> dereference</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.1.4</td><td style="text-align: left"><code class="code">regex_iterator</code> increment</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2</td><td style="text-align: left">Class template <code class="code">regex_token_iterator</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.1</td><td style="text-align: left"><code class="code">regex_token_iterator</code> constructors</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.2</td><td style="text-align: left"><code class="code">regex_token_iterator</code> comparisons</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.3</td><td style="text-align: left"><code class="code">regex_token_iterator</code> dereference</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.12.2.4</td><td style="text-align: left"><code class="code">regex_token_iterator</code> increment</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">7.13</td><td style="text-align: left">Modified ECMAScript regular expression grammar</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left"><span class="emphasis"><em>8</em></span></td><td colspan="3" style="text-align: left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td style="text-align: left">8.1</td><td style="text-align: left">Additions to header <code class="code">&lt;complex&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.2</td><td style="text-align: left">Function <code class="code">acos</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.3</td><td style="text-align: left">Function <code class="code">asin</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.4</td><td style="text-align: left">Function <code class="code">atan</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.5</td><td style="text-align: left">Function <code class="code">acosh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.6</td><td style="text-align: left">Function <code class="code">asinh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.7</td><td style="text-align: left">Function <code class="code">atanh</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.8</td><td style="text-align: left">Function <code class="code">fabs</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.1.9</td><td style="text-align: left">Additional Overloads</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.2</td><td style="text-align: left">Header <code class="code">&lt;ccomplex&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left">DR 551</td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.3</td><td style="text-align: left">Header <code class="code">&lt;complex.h&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.4</td><td style="text-align: left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.4.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.4.2</td><td style="text-align: left">Function <code class="code">isblank</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.5</td><td style="text-align: left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6</td><td style="text-align: left">Header <code class="code">&lt;cfenv&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.6.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.7</td><td style="text-align: left">Header <code class="code">&lt;fenv.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.8</td><td style="text-align: left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.9</td><td style="text-align: left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10</td><td style="text-align: left">Additions to header <code class="code">&lt;ios&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.10.2</td><td style="text-align: left">Function <code class="code">hexfloat</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.11</td><td style="text-align: left">Header <code class="code">&lt;cinttypes&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.11.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left">DR 557</td></tr><tr><td style="text-align: left">8.11.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.12</td><td style="text-align: left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.13</td><td style="text-align: left">Additions to header <code class="code">&lt;climits&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.14</td><td style="text-align: left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">8.15</td><td style="text-align: left">Additions to header <code class="code">&lt;locale&gt;</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16</td><td style="text-align: left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.3</td><td style="text-align: left">Function template definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.16.4</td><td style="text-align: left">Additional overloads</td><td style="text-align: left">Y</td><td style="text-align: left">DR 568; DR 550</td></tr><tr><td style="text-align: left">8.17</td><td style="text-align: left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.18</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.19</td><td style="text-align: left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.20</td><td style="text-align: left">The header <code class="code">&lt;cstdbool&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.21</td><td style="text-align: left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22</td><td style="text-align: left">The header <code class="code">&lt;cstdint&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.22.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.23</td><td style="text-align: left">The header <code class="code">&lt;stdint.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.24.3</td><td style="text-align: left">Additional format specifiers</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.24.4</td><td style="text-align: left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25</td><td style="text-align: left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.3</td><td style="text-align: left">Function <code class="code">abs</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.25.4</td><td style="text-align: left">Function <code class="code">div</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.26</td><td style="text-align: left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.27</td><td style="text-align: left">Header <code class="code">&lt;ctgmath&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.28</td><td style="text-align: left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">DR 551</td></tr><tr><td style="text-align: left">8.29</td><td style="text-align: left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.30</td><td style="text-align: left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.2</td><td style="text-align: left">Definitions</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.30.3</td><td style="text-align: left">Additional wide format specifiers</td><td style="text-align: left">Y</td><td style="text-align: left">C library dependency</td></tr><tr><td style="text-align: left">8.31</td><td style="text-align: left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32</td><td style="text-align: left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32.1</td><td style="text-align: left">Synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.32.2</td><td style="text-align: left">Function <code class="code">iswblank</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">8.33</td><td style="text-align: left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr></tbody></table></div></div><br class="table-break"/><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.tr1.specific"/>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is specified by the 1998 and 2003 standards,
+      </td></tr><tr><td align="left">2.2.3.1</td><td align="left"><code class="code">shared_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.2</td><td align="left"><code class="code">shared_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.3</td><td align="left"><code class="code">shared_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.4</td><td align="left"><code class="code">shared_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.5</td><td align="left"><code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.6</td><td align="left"><code class="code">shared_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.7</td><td align="left"><code class="code">shared_ptr</code> I/O</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.8</td><td align="left"><code class="code">shared_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.9</td><td align="left"><code class="code">shared_ptr</code> casts</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3.10</td><td align="left"><code class="code">get_deleter</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.4.1</td><td align="left"><code class="code">weak_ptr</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.2</td><td align="left"><code class="code">weak_ptr</code> destructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.3</td><td align="left"><code class="code">weak_ptr</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.4</td><td align="left"><code class="code">weak_ptr</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.5</td><td align="left"><code class="code">weak_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.6</td><td align="left"><code class="code">weak_ptr</code> comparison</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.4.7</td><td align="left"><code class="code">weak_ptr</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.5</td><td align="left">Class template <code class="code">enable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>3</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Function Objects</em></span></td></tr><tr><td align="left">3.1</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Additions to <code class="code">&lt;functional&gt; synopsis</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.3</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Function return types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.5</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6</td><td align="left">Function object binders</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.6.1</td><td align="left">Class template <code class="code">is_bind_expression</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.2</td><td align="left">Class template <code class="code">is_placeholder</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.3</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.6.4</td><td align="left">Placeholders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.1.1</td><td align="left"><code class="code">bad_function_call</code> constructor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2</td><td align="left">Class template <code class="code">function</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.7.2.1</td><td align="left"><code class="code">function</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.2</td><td align="left"><code class="code">function</code> modifiers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.3</td><td align="left"><code class="code">function</code> capacity</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.4</td><td align="left"><code class="code">function</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.5</td><td align="left"><code class="code">function</code> target access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.6</td><td align="left">undefined operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.7</td><td align="left">null pointer comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.7.2.8</td><td align="left">specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>4</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Metaprogramming and type traits</em></span></td></tr><tr><td align="left">4.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.2</td><td align="left">Header <code class="code">&lt;type_traits&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.4</td><td align="left">General Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5</td><td align="left">Unary Type Traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.5.1</td><td align="left">Primary Type Categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.5.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">4.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.3</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.7.4</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.8</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">4.9</td><td align="left">Implementation requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>5</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Numerical Facilities</em></span></td></tr><tr><td align="left">5.1</td><td align="left">Random number generation</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">5.1.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.2</td><td align="left">Header <code class="code">&lt;random&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.3</td><td align="left">Class template <code class="code">variate_generator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4</td><td align="left">Random number engine class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.1</td><td align="left">Class template <code class="code">linear_congruential</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.2</td><td align="left">Class template <code class="code">mersenne_twister</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.3</td><td align="left">Class template <code class="code">subtract_with_carry</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.4</td><td align="left">Class template <code class="code">subtract_with_carry_01</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.5</td><td align="left">Class template <code class="code">discard_block</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.4.6</td><td align="left">Class template <code class="code">xor_combine</code></td><td align="left">Y</td><td align="left">operator()() per N2079</td></tr><tr><td align="left">5.1.5</td><td align="left">Engines with predefined parameters</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.6</td><td align="left">Class <code class="code">random_device</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7</td><td align="left">Random distribution class templates</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.1</td><td align="left">Class template <code class="code">uniform_int</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.2</td><td align="left">Class <code class="code">bernoulli_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.3</td><td align="left">Class template <code class="code">geometric_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.4</td><td align="left">Class template <code class="code">poisson_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.5</td><td align="left">Class template <code class="code">binomial_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.6</td><td align="left">Class template <code class="code">uniform_real</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.7</td><td align="left">Class template <code class="code">exponential_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.8</td><td align="left">Class template <code class="code">normal_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.1.7.9</td><td align="left">Class template <code class="code">gamma_distribution</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2</td><td align="left">Mathematical special functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.1</td><td align="left">associated Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.2</td><td align="left">associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.3</td><td align="left">beta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.4</td><td align="left">(complete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.5</td><td align="left">(complete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.6</td><td align="left">(complete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.7</td><td align="left">confluent hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.8</td><td align="left">regular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.9</td><td align="left">cylindrical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.10</td><td align="left">irregular modified cylindrical Bessel functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.11</td><td align="left">cylindrical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.12</td><td align="left">(incomplete) elliptic integral of the first kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.13</td><td align="left">(incomplete) elliptic integral of the second kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.14</td><td align="left">(incomplete) elliptic integral of the third kind</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.15</td><td align="left">exponential integral</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.16</td><td align="left">Hermite polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.17</td><td align="left">hypergeometric functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.18</td><td align="left">Laguerre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.19</td><td align="left">Legendre polynomials</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.20</td><td align="left">Riemann zeta function</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.21</td><td align="left">spherical Bessel functions (of the first kind)</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.22</td><td align="left">spherical associated Legendre functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.1.23</td><td align="left">spherical Neumann functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">5.2.2</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>6</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Containers</em></span></td></tr><tr><td align="left">6.1</td><td align="left">Tuple types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.1</td><td align="left">Header <code class="code">&lt;tuple&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.2</td><td align="left">Additions to header <code class="code">&lt;utility&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3</td><td align="left">Class template <code class="code">tuple</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.2</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.3</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.4</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.3.5</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.1.4</td><td align="left">Pairs</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2</td><td align="left">Fixed size array</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.1</td><td align="left">Header <code class="code">&lt;array&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2</td><td align="left">Class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.1</td><td align="left"><code class="code">array</code> constructors, copy, and assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.2</td><td align="left"><code class="code">array</code> specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.3</td><td align="left"><code class="code">array</code> size</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.4</td><td align="left">Zero sized <code class="code">array</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.2.2.5</td><td align="left">Tuple interface to class template <code class="code">array</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3</td><td align="left">Unordered associative containers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1</td><td align="left">Unordered associative container requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.1.1</td><td align="left">Exception safety guarantees</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.2</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.3</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4</td><td align="left">Unordered associative container classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.1</td><td align="left">Header <code class="code">&lt;unordered_set&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.2</td><td align="left">Header <code class="code">&lt;unordered_map&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3</td><td align="left">Class template <code class="code">unordered_set</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.1</td><td align="left"><code class="code">unordered_set</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.3.2</td><td align="left"><code class="code">unordered_set</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4</td><td align="left">Class template <code class="code">unordered_map</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.1</td><td align="left"><code class="code">unordered_map</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.2</td><td align="left"><code class="code">unordered_map</code> element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.4.3</td><td align="left"><code class="code">unordered_map</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5</td><td align="left">Class template <code class="code">unordered_multiset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.1</td><td align="left"><code class="code">unordered_multiset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.5.2</td><td align="left"><code class="code">unordered_multiset</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6</td><td align="left">Class template <code class="code">unordered_multimap</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.1</td><td align="left"><code class="code">unordered_multimap</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">6.3.4.6.2</td><td align="left"><code class="code">unordered_multimap</code> swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>7</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>Regular Expressions</em></span></td></tr><tr bgcolor="#C8B0B0"><td align="left">7.1</td><td align="left">Definitions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.2</td><td align="left">Requirements</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.3</td><td align="left">Regular expressions summary</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.4</td><td align="left">Header <code class="code">&lt;regex&gt;</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5</td><td align="left">Namespace <code class="code">tr1::regex_constants</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.1</td><td align="left">Bitmask Type <code class="code">syntax_option_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.2</td><td align="left">Bitmask Type <code class="code">regex_constants::match_flag_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.5.3</td><td align="left">Implementation defined <code class="code">error_type</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.6</td><td align="left">Class <code class="code">regex_error</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.7</td><td align="left">Class template <code class="code">regex_traits</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8</td><td align="left">Class template <code class="code">basic_regex</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.1</td><td align="left"><code class="code">basic_regex</code> constants</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.2</td><td align="left"><code class="code">basic_regex</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.3</td><td align="left"><code class="code">basic_regex</code> assign</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.4</td><td align="left"><code class="code">basic_regex</code> constant operations</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.5</td><td align="left"><code class="code">basic_regex</code> locale</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.6</td><td align="left"><code class="code">basic_regex</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7</td><td align="left"><code class="code">basic_regex</code> non-member functions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.8.7.1</td><td align="left"><code class="code">basic_regex</code> non-member swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9</td><td align="left">Class template <code class="code">sub_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.1</td><td align="left"><code class="code">sub_match</code> members</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.9.2</td><td align="left"><code class="code">sub_match</code> non-member operators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10</td><td align="left">Class template <code class="code">match_results</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.1</td><td align="left"><code class="code">match_results</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.2</td><td align="left"><code class="code">match_results</code> size</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.3</td><td align="left"><code class="code">match_results</code> element access</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.4</td><td align="left"><code class="code">match_results</code> formatting</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.5</td><td align="left"><code class="code">match_results</code> allocator</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.10.6</td><td align="left"><code class="code">match_results</code> swap</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11</td><td align="left">Regular expression algorithms</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.1</td><td align="left">exceptions</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.2</td><td align="left"><code class="code">regex_match</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.3</td><td align="left"><code class="code">regex_search</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.11.4</td><td align="left"><code class="code">regex_replace</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12</td><td align="left">Regular expression Iterators</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1</td><td align="left">Class template <code class="code">regex_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.1</td><td align="left"><code class="code">regex_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.2</td><td align="left"><code class="code">regex_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.3</td><td align="left"><code class="code">regex_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.1.4</td><td align="left"><code class="code">regex_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2</td><td align="left">Class template <code class="code">regex_token_iterator</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.1</td><td align="left"><code class="code">regex_token_iterator</code> constructors</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.2</td><td align="left"><code class="code">regex_token_iterator</code> comparisons</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.3</td><td align="left"><code class="code">regex_token_iterator</code> dereference</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.12.2.4</td><td align="left"><code class="code">regex_token_iterator</code> increment</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">7.13</td><td align="left">Modified ECMAScript regular expression grammar</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left"><span class="emphasis"><em>8</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>C Compatibility</em></span></td></tr><tr><td align="left">8.1</td><td align="left">Additions to header <code class="code">&lt;complex&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.2</td><td align="left">Function <code class="code">acos</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.3</td><td align="left">Function <code class="code">asin</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.4</td><td align="left">Function <code class="code">atan</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.5</td><td align="left">Function <code class="code">acosh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.6</td><td align="left">Function <code class="code">asinh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.7</td><td align="left">Function <code class="code">atanh</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.8</td><td align="left">Function <code class="code">fabs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.1.9</td><td align="left">Additional Overloads</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.2</td><td align="left">Header <code class="code">&lt;ccomplex&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr bgcolor="#C8B0B0"><td align="left">8.3</td><td align="left">Header <code class="code">&lt;complex.h&gt;</code></td><td align="left">N</td><td align="left">DR 551</td></tr><tr><td align="left">8.4</td><td align="left">Additions to header <code class="code">&lt;cctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.4.2</td><td align="left">Function <code class="code">isblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.5</td><td align="left">Additions to header <code class="code">&lt;ctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6</td><td align="left">Header <code class="code">&lt;cfenv&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.6.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.7</td><td align="left">Header <code class="code">&lt;fenv.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.8</td><td align="left">Additions to header <code class="code">&lt;cfloat&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.9</td><td align="left">Additions to header <code class="code">&lt;float.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10</td><td align="left">Additions to header <code class="code">&lt;ios&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.1</td><td align="left">Synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.10.2</td><td align="left">Function <code class="code">hexfloat</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.11</td><td align="left">Header <code class="code">&lt;cinttypes&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.11.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left">DR 557</td></tr><tr><td align="left">8.11.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.12</td><td align="left">Header <code class="code">&lt;inttypes.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.13</td><td align="left">Additions to header <code class="code">&lt;climits&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.14</td><td align="left">Additions to header <code class="code">&lt;limits.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">8.15</td><td align="left">Additions to header <code class="code">&lt;locale&gt;</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">8.16</td><td align="left">Additions to header <code class="code">&lt;cmath&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.3</td><td align="left">Function template definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.16.4</td><td align="left">Additional overloads</td><td align="left">Y</td><td align="left">DR 568; DR 550</td></tr><tr><td align="left">8.17</td><td align="left">Additions to header <code class="code">&lt;math.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.18</td><td align="left">Additions to header <code class="code">&lt;cstdarg&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.19</td><td align="left">Additions to header <code class="code">&lt;stdarg.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.20</td><td align="left">The header <code class="code">&lt;cstdbool&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.21</td><td align="left">The header <code class="code">&lt;stdbool.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22</td><td align="left">The header <code class="code">&lt;cstdint&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.22.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.23</td><td align="left">The header <code class="code">&lt;stdint.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24</td><td align="left">Additions to header <code class="code">&lt;cstdio&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.24.3</td><td align="left">Additional format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.24.4</td><td align="left">Additions to header <code class="code">&lt;stdio.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25</td><td align="left">Additions to header <code class="code">&lt;cstdlib&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.3</td><td align="left">Function <code class="code">abs</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.25.4</td><td align="left">Function <code class="code">div</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.26</td><td align="left">Additions to header <code class="code">&lt;stdlib.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.27</td><td align="left">Header <code class="code">&lt;ctgmath&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.28</td><td align="left">Header <code class="code">&lt;tgmath.h&gt;</code></td><td align="left">Y</td><td align="left">DR 551</td></tr><tr><td align="left">8.29</td><td align="left">Additions to header <code class="code">&lt;ctime&gt;</code></td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.30</td><td align="left">Additions to header <code class="code">&lt;cwchar&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.2</td><td align="left">Definitions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.30.3</td><td align="left">Additional wide format specifiers</td><td align="left">Y</td><td align="left">C library dependency</td></tr><tr><td align="left">8.31</td><td align="left">Additions to header <code class="code">&lt;wchar.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32</td><td align="left">Additions to header <code class="code">&lt;cwctype&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.1</td><td align="left">Synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.32.2</td><td align="left">Function <code class="code">iswblank</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">8.33</td><td align="left">Additions to header <code class="code">&lt;wctype.h&gt;</code></td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="section" title="Implementation Specific Behavior"><div class="titlepage"><div><div><h4 class="title"><a id="iso.tr1.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is specified by the 1998 and 2003 standards,
       see <a class="link" href="status.html#iso.1998.specific" title="Implementation Specific Behavior">C++ 1998/2003 Implementation
       Specific Behavior</a>. This section documents behaviour which
       is required by TR1.
@@ -303,7 +299,7 @@ release.
      <span class="emphasis"><em>3.6.4 [tr.func.bind.place]/1</em></span> There are 29
      placeholders defined and the placeholder types are
      <code class="literal">Assignable</code>.
-   </p></div></div><div class="section" title="C++ TR 24733"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"/>C++ TR 24733</h3></div></div></div><p>
+   </p></div></div><div class="section" title="C++ TR 24733"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr24733"></a>C++ TR 24733</h3></div></div></div><p>
 This table is based on the table of contents of
 ISO/IEC TR 24733 Date: 2009-08-28
 Extension for the programming language C++ to support
@@ -311,27 +307,27 @@ decimal floating-point arithmetic
 </p><p>
 This page describes the TR 24733 support in mainline GCC SVN, not in any
 particular release.
-</p><div class="table"><a id="id473964"/><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><thead><tr><th style="text-align: left">Section</th><th style="text-align: left">Description</th><th style="text-align: left">Status</th><th style="text-align: left">Comments</th></tr></thead><tbody><tr><td style="text-align: left">
+</p><div class="table"><a id="idp12526624"></a><p class="title"><strong>Table 1.4. C++ TR 24733 Implementation Status</strong></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
        <span class="emphasis"><em>0</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Introduction</em></span>
-      </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">
        <span class="emphasis"><em>1</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Normative references</em></span>
-      </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">
        <span class="emphasis"><em>2</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Conventions</em></span>
-      </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">
        <span class="emphasis"><em>3</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Decimal floating-point types</em></span>
-      </td></tr><tr><td style="text-align: left">3.1</td><td style="text-align: left">Characteristics of decimal floating-point types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2</td><td style="text-align: left">Decimal Types</td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.1</td><td style="text-align: left">Class <code class="code">decimal</code> synopsis</td><td style="text-align: left">Partial</td><td style="text-align: left">Missing declarations for formatted input/output; non-conforming extension for functions converting to integral type</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.2</td><td style="text-align: left">Class <code class="code">decimal32</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.2.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.3</td><td style="text-align: left">Class <code class="code">decimal64</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.3.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.2.4</td><td style="text-align: left">Class <code class="code">decimal128</code></td><td style="text-align: left">Partial</td><td style="text-align: left">Missing 3.2.4.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr><td style="text-align: left">3.2.5</td><td style="text-align: left">Initialization from coefficient and exponent</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.6</td><td style="text-align: left">Conversion to generic floating-point type</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.7</td><td style="text-align: left">Unary arithmetic operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.8</td><td style="text-align: left">Binary arithmetic operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.2.9</td><td style="text-align: left">Comparison operators</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.2.10</td><td style="text-align: left">Formatted input</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.2.11</td><td style="text-align: left">Formatted output</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.3</td><td style="text-align: left">Additions to header <code class="code">limits</code></td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4</td><td style="text-align: left">Headers <code class="code">cfloat</code> and <code class="code">float.h</code></td><td style="text-align: left"> </td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.2</td><td style="text-align: left">Additions to header <code class="code">cfloat</code> synopsis</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #B0B0B0"><td style="text-align: left">3.4.3</td><td style="text-align: left">Additions to header <code class="code">float.h</code> synopsis</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.4</td><td style="text-align: left">Maximum finite value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.5</td><td style="text-align: left">Epsilon</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.6</td><td style="text-align: left">Minimum positive normal value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.7</td><td style="text-align: left">Minimum positive subnormal value</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">3.4.8</td><td style="text-align: left">Evaluation format</td><td style="text-align: left">Y</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.5</td><td style="text-align: left">Additions to <code class="code">cfenv</code> and <code class="code">fenv.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.6</td><td style="text-align: left">Additions to <code class="code">cmath</code> and <code class="code">math.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.7</td><td style="text-align: left">Additions to <code class="code">cstdio</code> and <code class="code">stdio.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.8</td><td style="text-align: left">Additions to <code class="code">cstdlib</code> and <code class="code">stdlib.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.9</td><td style="text-align: left">Additions to <code class="code">cwchar</code> and <code class="code">wchar.h</code></td><td style="text-align: left">Outside the scope of GCC</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.10</td><td style="text-align: left">Facets</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.11</td><td style="text-align: left">Type traits</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr style="background-color: #C8B0B0"><td style="text-align: left">3.12</td><td style="text-align: left">Hash functions</td><td style="text-align: left">N</td><td style="text-align: left"> </td></tr><tr><td style="text-align: left">
+      </td></tr><tr><td align="left">3.1</td><td align="left">Characteristics of decimal floating-point types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.2</td><td align="left">Decimal Types</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.1</td><td align="left">Class <code class="code">decimal</code> synopsis</td><td align="left">Partial</td><td align="left">Missing declarations for formatted input/output; non-conforming extension for functions converting to integral type</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.2</td><td align="left">Class <code class="code">decimal32</code></td><td align="left">Partial</td><td align="left">Missing 3.2.2.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.3</td><td align="left">Class <code class="code">decimal64</code></td><td align="left">Partial</td><td align="left">Missing 3.2.3.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr bgcolor="#B0B0B0"><td align="left">3.2.4</td><td align="left">Class <code class="code">decimal128</code></td><td align="left">Partial</td><td align="left">Missing 3.2.4.5 conversion to integral type; conforming extension for conversion from scalar decimal floating-point</td></tr><tr><td align="left">3.2.5</td><td align="left">Initialization from coefficient and exponent</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.6</td><td align="left">Conversion to generic floating-point type</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.7</td><td align="left">Unary arithmetic operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.8</td><td align="left">Binary arithmetic operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.2.9</td><td align="left">Comparison operators</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.2.10</td><td align="left">Formatted input</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.2.11</td><td align="left">Formatted output</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.3</td><td align="left">Additions to header <code class="code">limits</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">3.4</td><td align="left">Headers <code class="code">cfloat</code> and <code class="code">float.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">3.4.2</td><td align="left">Additions to header <code class="code">cfloat</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">3.4.3</td><td align="left">Additions to header <code class="code">float.h</code> synopsis</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">3.4.4</td><td align="left">Maximum finite value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.5</td><td align="left">Epsilon</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.6</td><td align="left">Minimum positive normal value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.7</td><td align="left">Minimum positive subnormal value</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">3.4.8</td><td align="left">Evaluation format</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.5</td><td align="left">Additions to <code class="code">cfenv</code> and <code class="code">fenv.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.6</td><td align="left">Additions to <code class="code">cmath</code> and <code class="code">math.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.7</td><td align="left">Additions to <code class="code">cstdio</code> and <code class="code">stdio.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.8</td><td align="left">Additions to <code class="code">cstdlib</code> and <code class="code">stdlib.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.9</td><td align="left">Additions to <code class="code">cwchar</code> and <code class="code">wchar.h</code></td><td align="left">Outside the scope of GCC</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.10</td><td align="left">Facets</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.11</td><td align="left">Type traits</td><td align="left">N</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">3.12</td><td align="left">Hash functions</td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">
        <span class="emphasis"><em>4</em></span>
-      </td><td colspan="3" style="text-align: left">
+      </td><td colspan="3" align="left">
        <span class="emphasis"><em>Notes on C compatibility</em></span>
-      </td></tr></tbody></table></div></div><br class="table-break"/></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="intro.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="license.html">Next</a></td></tr><tr><td align="left" valign="top">Part I. 
+      </td></tr></tbody></table></div></div><br class="table-break" /></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="license.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part I. 
   Introduction
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> License</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> License</td></tr></table></div></body></html>
index 12d9ee6..4030501 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="io.html" title="Chapter 13.  Input and Output"/><link rel="next" href="stringstreams.html" title="Memory Based Streams"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
+<!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>Stream Buffers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="io.html" title="Chapter 13.  Input and Output" /><link rel="next" href="stringstreams.html" title="Memory Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
   Input and Output
   
-</th><td align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr/></div><div class="section" title="Stream Buffers"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.streambufs"/>Stream Buffers</h2></div></div></div><div class="section" title="Derived streambuf Classes"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"/>Derived streambuf Classes</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr></table><hr /></div><div class="section" title="Stream Buffers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.streambufs"></a>Stream Buffers</h2></div></div></div><div class="section" title="Derived streambuf Classes"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.derived"></a>Derived streambuf Classes</h3></div></div></div><p>
     </p><p>Creating your own stream buffers for I/O can be remarkably easy.
       If you are interested in doing so, we highly recommend two very
       excellent books:
-      <a class="link" href="http://www.angelikalanger.com/iostreams.html">Standard C++
+      <a class="link" href="http://www.angelikalanger.com/iostreams.html" target="_top">Standard C++
       IOStreams and Locales</a> by Langer and Kreft, ISBN 0-201-18395-1, and
-      <a class="link" href="http://www.josuttis.com/libbook/">The C++ Standard Library</a>
+      <a class="link" href="http://www.josuttis.com/libbook/" target="_top">The C++ Standard Library</a>
       by Nicolai Josuttis, ISBN 0-201-37926-0.  Both are published by
       Addison-Wesley, who isn't paying us a cent for saying that, honest.
    </p><p>Here is a simple example, io/outbuf1, from the Josuttis text.  It
@@ -55,9 +55,9 @@
     }
    </pre><p>Try it yourself!  More examples can be found in 3.1.x code, in
       <code class="code">include/ext/*_filebuf.h</code>, and in this article by James Kanze:
-      <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html">Filtering
+      <a class="link" href="http://kanze.james.neuf.fr/articles/fltrsbf1.html" target="_top">Filtering
       Streambufs</a>.
-   </p></div><div class="section" title="Buffering"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.buffering"/>Buffering</h3></div></div></div><p>First, are you sure that you understand buffering?  Particularly
+   </p></div><div class="section" title="Buffering"><div class="titlepage"><div><div><h3 class="title"><a id="io.streambuf.buffering"></a>Buffering</h3></div></div></div><p>First, are you sure that you understand buffering?  Particularly
       the fact that C++ may not, in fact, have anything to do with it?
    </p><p>The rules for buffering can be a little odd, but they aren't any
       different from those of C.  (Maybe that's why they can be a bit
       just those at the language/library level.  Kernel buffers, disk
       buffers, and the like will also have an effect.  Inspecting and
       changing those are system-dependent.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="io.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 13. 
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="io.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="stringstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 13. 
   Input and Output
   
- </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Memory Based Streams</td></tr></table></div></body></html>
+ </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Memory Based Streams</td></tr></table></div></body></html>
index 73b9a7f..82df2a7 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 7.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="traits.html" title="Traits"/><link rel="next" href="localization.html" title="Chapter 8.  Localization"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 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>Chapter 7.  Strings</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="traits.html" title="Traits" /><link rel="next" href="localization.html" title="Chapter 8.  Localization" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
   Strings
   
-</th></tr><tr><td align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="traits.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 7.  Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"/>Chapter 7. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7.  Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7. 
   Strings
-  <a id="id499563" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section" title="String Classes"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings.string"/>String Classes</h2></div></div></div><div class="section" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"/>Simple Transformations</h3></div></div></div><p>
+  <a id="idp15576144" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="section"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="section"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="section" title="String Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="section" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
       Here are Standard, simple, and portable ways to perform common
       transformations on a <code class="code">string</code> instance, such as
       "convert to all upper case." The word transformations
@@ -64,7 +64,7 @@
       are overloaded names (declared in <code class="code">&lt;cctype&gt;</code> and
       <code class="code">&lt;locale&gt;</code>) so the template-arguments for
       <code class="code">transform&lt;&gt;</code> cannot be deduced, as explained in
-      <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html">this
+      <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html" target="_top">this
       message</a>.
       
       At minimum, you can write short wrappers like
@@ -89,9 +89,9 @@
    str.erase(notwhite+1); </pre><p>Obviously, the calls to <code class="code">find</code> could be inserted directly
       into the calls to <code class="code">erase</code>, in case your compiler does not
       optimize named temporaries out of existence.
-   </p></div><div class="section" title="Case Sensitivity"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.case"/>Case Sensitivity</h3></div></div></div><p>
+   </p></div><div class="section" title="Case Sensitivity"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.case"></a>Case Sensitivity</h3></div></div></div><p>
     </p><p>The well-known-and-if-it-isn't-well-known-it-ought-to-be
-      <a class="link" href="http://www.gotw.ca/gotw/">Guru of the Week</a>
+      <a class="link" href="http://www.gotw.ca/gotw/" target="_top">Guru of the Week</a>
       discussions held on Usenet covered this topic in January of 1998.
       Briefly, the challenge was, <span class="quote">“<span class="quote">write a 'ci_string' class which
       is identical to the standard 'string' class, but is
    assert( strcmp( s.c_str(), "AbCdE" ) == 0 );
    assert( strcmp( s.c_str(), "abcde" ) != 0 ); </pre><p>The solution is surprisingly easy.  The original answer was
    posted on Usenet, and a revised version appears in Herb Sutter's
-   book <span class="emphasis"><em>Exceptional C++</em></span> and on his website as <a class="link" href="http://www.gotw.ca/gotw/029.htm">GotW 29</a>.
+   book <span class="emphasis"><em>Exceptional C++</em></span> and on his website as <a class="link" href="http://www.gotw.ca/gotw/029.htm" target="_top">GotW 29</a>.
    </p><p>See?  Told you it was easy!</p><p>
      <span class="emphasis"><em>Added June 2000:</em></span> The May 2000 issue of C++
-     Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf"> article</a> by
+     Report contains a fascinating <a class="link" href="http://lafstern.org/matt/col2_new.pdf" target="_top"> article</a> by
      Matt Austern (yes, <span class="emphasis"><em>the</em></span> Matt Austern) on why
      case-insensitive comparisons are not as easy as they seem, and
      why creating a class is the <span class="emphasis"><em>wrong</em></span> way to go
       that nobody ever called me on it...)  The GotW question and answer
       remain useful instructional tools, however.
    </p><p><span class="emphasis"><em>Added September 2000:</em></span>  James Kanze provided a link to a
-      <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html">Unicode
+      <a class="link" href="http://www.unicode.org/reports/tr21/tr21-5.html" target="_top">Unicode
       Technical Report discussing case handling</a>, which provides some
       very good information.
-   </p></div><div class="section" title="Arbitrary Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.character_types"/>Arbitrary Character Types</h3></div></div></div><p>
+   </p></div><div class="section" title="Arbitrary Character Types"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.character_types"></a>Arbitrary Character Types</h3></div></div></div><p>
     </p><p>The <code class="code">std::basic_string</code> is tantalizingly general, in that
       it is parameterized on the type of the characters which it holds.
       In theory, you could whip up a Unicode character class and instantiate
       works and can be specialized even for <code class="code">int</code> and other
       built-in types.
    </p><p>If you want to use your own special character class, then you have
-      <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html">a lot
+      <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html" target="_top">a lot
       of work to do</a>, especially if you with to use i18n features
       (facets require traits information but don't have a traits argument).
-   </p><p>Another example of how to specialize char_traits was given <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html">on the
+   </p><p>Another example of how to specialize char_traits was given <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html" target="_top">on the
       mailing list</a> and at a later date was put into the file <code class="code">
       include/ext/pod_char_traits.h</code>.  We agree
       that the way it's used with basic_string (scroll down to main())
-      doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html">the
-      nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html">not
+      doesn't look nice, but that's because <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html" target="_top">the
+      nice-looking first attempt</a> turned out to <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html" target="_top">not
       be conforming C++</a>, due to the rule that CharT must be a POD.
       (See how tricky this is?)
-   </p></div><div class="section" title="Tokenizing"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.token"/>Tokenizing</h3></div></div></div><p>
+   </p></div><div class="section" title="Tokenizing"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.token"></a>Tokenizing</h3></div></div></div><p>
     </p><p>The Standard C (and C++) function <code class="code">strtok()</code> leaves a lot to
       be desired in terms of user-friendliness.  It's unintuitive, it
       destroys the character string on which it operates, and it requires
@@ -256,7 +256,7 @@ stringtok(Container &amp;container, string const &amp;in,
       tokenizing as well.  Build an istringstream from the input text,
       and then use std::getline with varying delimiters (the three-argument
       signature) to extract tokens into a string.
-   </p></div><div class="section" title="Shrink to Fit"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.shrink"/>Shrink to Fit</h3></div></div></div><p>
+   </p></div><div class="section" title="Shrink to Fit"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.shrink"></a>Shrink to Fit</h3></div></div></div><p>
     </p><p>From GCC 3.4 calling <code class="code">s.reserve(res)</code> on a
       <code class="code">string s</code> with <code class="code">res &lt; s.capacity()</code> will
       reduce the string's capacity to <code class="code">std::max(s.size(), res)</code>.
@@ -272,7 +272,7 @@ stringtok(Container &amp;container, string const &amp;in,
    </p><p>In <a class="link" href="status.html#status.iso.2011" title="C++ 2011">C++11</a> mode you can call
       <code class="code">s.shrink_to_fit()</code> to achieve the same effect as
       <code class="code">s.reserve(s.size())</code>.
-   </p></div><div class="section" title="CString (MFC)"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.Cstring"/>CString (MFC)</h3></div></div></div><p>
+   </p></div><div class="section" title="CString (MFC)"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.Cstring"></a>CString (MFC)</h3></div></div></div><p>
     </p><p>A common lament seen in various newsgroups deals with the Standard
       string class as opposed to the Microsoft Foundation Class called
       CString.  Often programmers realize that a standard portable
@@ -280,9 +280,9 @@ stringtok(Container &amp;container, string const &amp;in,
       their application from a Win32 platform, they discover that they
       are relying on special functions offered by the CString class.
    </p><p>Things are not as bad as they seem.  In
-      <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
+      <a class="link" href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html" target="_top">this
       message</a>, Joe Buck points out a few very important things:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The Standard <code class="code">string</code> supports all the operations
             that CString does, with three exceptions.
         </p></li><li class="listitem"><p>Two of those exceptions (whitespace trimming and case
             conversion) are trivial to implement.  In fact, we do so
@@ -340,7 +340,7 @@ stringtok(Container &amp;container, string const &amp;in,
    performance is O(n).
    </pre><p>Joe Buck also pointed out some other things to keep in mind when
       comparing CString and the Standard string class:
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>CString permits access to its internal representation; coders
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>CString permits access to its internal representation; coders
             who exploited that may have problems moving to <code class="code">string</code>.
         </p></li><li class="listitem"><p>Microsoft ships the source to CString (in the files
             MFC\SRC\Str{core,ex}.cpp), so you could fix the allocation
@@ -360,7 +360,7 @@ stringtok(Container &amp;container, string const &amp;in,
             libstdc++ string, the SGI string, and the SGI rope, and this
             is all before any allocator or traits customizations!  (More
             choices than you can shake a stick at -- want fries with that?)
-        </p></li></ul></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="traits.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr><tr><td align="left" valign="top">Traits </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 8. 
+        </p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="traits.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Traits </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 8. 
   Localization
   
 </td></tr></table></div></body></html>
index e267e6b..e501e19 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="io.html" title="Chapter 13.  Input and Output"/><link rel="prev" href="streambufs.html" title="Stream Buffers"/><link rel="next" href="fstreams.html" title="File Based Streams"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
+<!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>Memory Based Streams</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="io.html" title="Chapter 13.  Input and Output" /><link rel="prev" href="streambufs.html" title="Stream Buffers" /><link rel="next" href="fstreams.html" title="File Based Streams" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Memory Based Streams</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><th width="60%" align="center">Chapter 13. 
   Input and Output
   
-</th><td align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr/></div><div class="section" title="Memory Based Streams"><div class="titlepage"><div><div><h2 class="title"><a id="std.io.memstreams"/>Memory Based Streams</h2></div></div></div><div class="section" title="Compatibility With strstream"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.memstreams.compat"/>Compatibility With strstream</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr></table><hr /></div><div class="section" title="Memory Based Streams"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.memstreams"></a>Memory Based Streams</h2></div></div></div><div class="section" title="Compatibility With strstream"><div class="titlepage"><div><div><h3 class="title"><a id="std.io.memstreams.compat"></a>Compatibility With strstream</h3></div></div></div><p>
     </p><p>Stringstreams (defined in the header <code class="code">&lt;sstream&gt;</code>)
       are in this author's opinion one of the coolest things since
       sliced time.  An example of their use is in the Received Wisdom
@@ -34,4 +34,4 @@
       memory yourself.  The strstreams have been officially deprecated,
       which means that 1) future revisions of the C++ Standard won't
       support them, and 2) if you use them, people will laugh at you.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><td align="center"><a accesskey="u" href="io.html">Up</a></td><td align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr><tr><td align="left" valign="top">Stream Buffers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> File Based Streams</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="streambufs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="fstreams.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Stream Buffers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> File Based Streams</td></tr></table></div></body></html>
index e98fc44..248a5c3 100644 (file)
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 4.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="next" href="dynamic_memory.html" title="Dynamic Memory"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
+<!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>Chapter 4.  Support</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="next" href="dynamic_memory.html" title="Dynamic Memory" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
   Support
   
-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 4.  Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"/>Chapter 4. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4.  Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4. 
   Support
-  <a id="id483878" class="indexterm"/>
+  <a id="idp13718496" class="indexterm"></a>
 </h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="section"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="section"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="section"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="section"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="section"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="section"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
     This part deals with the functions called and objects created
     automatically during the course of a program's existence.
@@ -16,9 +16,9 @@
     need to get your own copy from your nation's member body; see our
     homepage for help), we can mention a couple of changes in what
     kind of support a C++ program gets from the Standard Library.
-  </p><div class="section" title="Types"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.types"/>Types</h2></div></div></div><div class="section" title="Fundamental Types"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.fundamental"/>Fundamental Types</h3></div></div></div><p>
+  </p><div class="section" title="Types"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.types"></a>Types</h2></div></div></div><div class="section" title="Fundamental Types"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.fundamental"></a>Fundamental Types</h3></div></div></div><p>
       C++ has the following builtin types:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        char
       </p></li><li class="listitem"><p>
        signed char
     </p><p>
       Specializing parts of the library on these types is prohibited:
       instead, use a POD.
-    </p></div><div class="section" title="Numeric Properties"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.numeric_limits"/>Numeric Properties</h3></div></div></div><p>
+    </p></div><div class="section" title="Numeric Properties"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.numeric_limits"></a>Numeric Properties</h3></div></div></div><p>
     The header <code class="filename">limits</code> defines
     traits classes to give access to various implementation
     defined-aspects of the fundamental types. The traits classes --
     fourteen in total -- are all specializations of the template class
-    <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html">here</a>
+    <code class="classname">numeric_limits</code>, documented <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html" target="_top">here</a>
     and defined as follows:
     </p><pre class="programlisting">
    template&lt;typename T&gt;
@@ -99,7 +99,7 @@
        static const bool tinyness_before;
        static const float_round_style round_style;
      };
-   </pre></div><div class="section" title="NULL"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.null"/>NULL</h3></div></div></div><p>
+   </pre></div><div class="section" title="NULL"><div class="titlepage"><div><div><h3 class="title"><a id="std.support.types.null"></a>NULL</h3></div></div></div><p>
      The only change that might affect people is the type of
      <code class="constant">NULL</code>: while it is required to be a macro,
      the definition of that macro is <span class="emphasis"><em>not</em></span> allowed
      overloading won't do what you expect. (This is why
      <span class="command"><strong>g++</strong></span> has a magic extension, so that
      <code class="constant">NULL</code> is always a pointer.)
-    </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/"><span class="emphasis"><em>Effective
+    </p><p>In his book <a class="link" href="http://www.awprofessional.com/titles/0-201-92488-9/" target="_top"><span class="emphasis"><em>Effective
     C++</em></span></a>, Scott Meyers points out that the best way
     to solve this problem is to not overload on pointer-vs-integer
     types to begin with.  He also offers a way to make your own magic
     <code class="constant">NULL</code> that will match pointers before it
     matches integers.
     </p><p>See
-      <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/">the
+      <a class="link" href="http://www.awprofessional.com/titles/0-201-31015-5/" target="_top">the
       Effective C++ CD example</a>
-    </p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr><tr><td align="left" valign="top">Part II. 
+    </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part II. 
     Standard Contents
-   </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Dynamic Memory</td></tr></table></div></body></html>
+   </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Dynamic Memory</td></tr></table></div></body></html>
index 9fe4750..fc7389f 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="support.html" title="Chapter 4.  Support"/><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory"/><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
+<!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>Termination</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="support.html" title="Chapter 4.  Support" /><link rel="prev" href="dynamic_memory.html" title="Dynamic Memory" /><link rel="next" href="diagnostics.html" title="Chapter 5.  Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Termination</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><th width="60%" align="center">Chapter 4. 
   Support
   
-</th><td align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr/></div><div class="section" title="Termination"><div class="titlepage"><div><div><h2 class="title"><a id="std.support.termination"/>Termination</h2></div></div></div><div class="section" title="Termination Handlers"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.handlers"/>Termination Handlers</h3></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section" title="Termination"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.support.termination"></a>Termination</h2></div></div></div><div class="section" title="Termination Handlers"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.handlers"></a>Termination Handlers</h3></div></div></div><p>
       Not many changes here to <code class="filename">cstdlib</code>.  You should note that the
       <code class="function">abort()</code> function does not call the
       destructors of automatic nor static objects, so if you're
@@ -15,7 +15,7 @@
       The good old <code class="function">exit()</code> function can be a bit
       funky, too, until you look closer.  Basically, three points to
       remember are:
-    </p><div class="orderedlist"><ol class="orderedlist"><li class="listitem"><p>
+    </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
        Static objects are destroyed in reverse order of their creation.
        </p></li><li class="listitem"><p>
        Functions registered with <code class="function">atexit()</code> are called in
@@ -45,7 +45,7 @@
       functions, and the compiler/library might already be using some of
       those slots.  If you think you may run out, we recommend using
       the <code class="function">xatexit</code>/<code class="function">xexit</code> combination from <code class="literal">libiberty</code>, which has no such limit.
-    </p></div><div class="section" title="Verbose Terminate Handler"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.verbose"/>Verbose Terminate Handler</h3></div></div></div><p>
+    </p></div><div class="section" title="Verbose Terminate Handler"><div class="titlepage"><div><div><h3 class="title"><a id="support.termination.verbose"></a>Verbose Terminate Handler</h3></div></div></div><p>
       If you are having difficulty with uncaught exceptions and want a
       little bit of help debugging the causes of the core dumps, you can
       make use of a GNU extension, the verbose terminate handler.
@@ -118,7 +118,7 @@ int main(int argc)
      inappropriate location,
      <code class="function">__verbose_terminate_handler</code> will behave in
      an unspecified manner.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><td align="center"><a accesskey="u" href="support.html">Up</a></td><td align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr><tr><td align="left" valign="top">Dynamic Memory </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 5. 
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="dynamic_memory.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="support.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="diagnostics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Dynamic Memory </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 5. 
   Diagnostics
   
 </td></tr></table></div></body></html>
index 3084e68..fb254d9 100644 (file)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Test</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      test&#10;    , &#10;      testsuite&#10;    , &#10;      performance&#10;    , &#10;      conformance&#10;    , &#10;      ABI&#10;    , &#10;      exception safety&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance"/><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems"/><link rel="next" href="abi.html" title="ABI Policy and Guidelines"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
+<!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>Test</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      test&#10;    , &#10;      testsuite&#10;    , &#10;      performance&#10;    , &#10;      conformance&#10;    , &#10;      ABI&#10;    , &#10;      exception safety&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="appendix_porting.html" title="Appendix B.  Porting and Maintenance" /><link rel="prev" href="internals.html" title="Porting to New Hardware or Operating Systems" /><link rel="next" href="abi.html" title="ABI Policy and Guidelines" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Test</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><th width="60%" align="center">Appendix B. 
   Porting and Maintenance
   
-</th><td align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr/></div><div class="section" title="Test"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup.test"/>Test</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr></table><hr /></div><div class="section" title="Test"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.test"></a>Test</h2></div></div></div><p>
 The libstdc++ testsuite includes testing for standard conformance,
 regressions, ABI, and performance.
-</p><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"/>Organization</h3></div></div></div><div class="section" title="Directory Layout"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"/>Directory Layout</h4></div></div></div><p>
+</p><div class="section" title="Organization"><div class="titlepage"><div><div><h3 class="title"><a id="test.organization"></a>Organization</h3></div></div></div><div class="section" title="Directory Layout"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.layout"></a>Directory Layout</h4></div></div></div><p>
   The directory <span class="emphasis"><em>libsrcdir/testsuite</em></span> contains the
   individual test cases organized in sub-directories corresponding to
   chapters of the C++ standard (detailed below), the dejagnu test
@@ -77,11 +77,11 @@ util                  Files for libtestc++, utilities and testing routines.
    </pre><p>
       All new tests should be written with the policy of one test
       case, one file in mind.
-   </p></div><div class="section" title="Naming Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"/>Naming Conventions</h4></div></div></div><p>
+   </p></div><div class="section" title="Naming Conventions"><div class="titlepage"><div><div><h4 class="title"><a id="test.organization.naming"></a>Naming Conventions</h4></div></div></div><p>
       In addition, there are some special names and suffixes that are
       used within the testsuite to designate particular kinds of
       tests.
-   </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+   </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
    <span class="emphasis"><em>_xin.cc</em></span>
   </p><p>
       This test case expects some kind of interactive input in order
@@ -131,7 +131,7 @@ cat 27_io/objects/char/3_xin.in | a.out
       analyze runtime performance, for performance regression testing,
       or for other optimization related analysis. At the moment, these
       test cases are not run by default.
-   </p></li></ul></div></div></div><div class="section" title="Running the Testsuite"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"/>Running the Testsuite</h3></div></div></div><div class="section" title="Basic"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"/>Basic</h4></div></div></div><p>
+   </p></li></ul></div></div></div><div class="section" title="Running the Testsuite"><div class="titlepage"><div><div><h3 class="title"><a id="test.run"></a>Running the Testsuite</h3></div></div></div><div class="section" title="Basic"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.basic"></a>Basic</h4></div></div></div><p>
       You can check the status of the build without installing it
       using the dejagnu harness, much like the rest of the gcc
       tools.</p><pre class="programlisting"> make check</pre><p>in the <span class="emphasis"><em>libbuilddir</em></span> directory.</p><p>or</p><pre class="programlisting"> make check-target-libstdc++-v3</pre><p>in the <span class="emphasis"><em>gccbuilddir</em></span> directory.
@@ -146,12 +146,12 @@ cat 27_io/objects/char/3_xin.in | a.out
        output, and the executable output (if any).
      </p><p>
        Archives of test results for various versions and platforms are
-       available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html">build
+       available on the GCC website in the <a class="link" href="http://gcc.gnu.org/gcc-4.3/buildstat.html" target="_top">build
        status</a> section of each individual release, and are also
-       archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current">gcc-testresults</a>
+       archived on a daily basis on the <a class="link" href="http://gcc.gnu.org/ml/gcc-testresults/current" target="_top">gcc-testresults</a>
        mailing list. Please check either of these places for a similar
        combination of source version, operating system, and host CPU.
-     </p></div><div class="section" title="Variations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"/>Variations</h4></div></div></div><p>
+     </p></div><div class="section" title="Variations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.variations"></a>Variations</h4></div></div></div><p>
       There are several options for running tests, including testing
       the regression tests, testing a subset of the regression tests,
       testing the performance tests, testing just compilation, testing
@@ -222,7 +222,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
    </pre><p>
     Five files are generated that determine what test files
     are run. These files are:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
         <span class="emphasis"><em>testsuite_files</em></span>
        </p><p>
         This is a list of all the test cases that will be run. Each
@@ -277,7 +277,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
       We are interested in any strange failures of the testsuite;
       please email the main libstdc++ mailing list if you see
       something odd or have questions.
-   </p></div><div class="section" title="Permutations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"/>Permutations</h4></div></div></div><p>
+   </p></div><div class="section" title="Permutations"><div class="titlepage"><div><div><h4 class="title"><a id="test.run.permutations"></a>Permutations</h4></div></div></div><p>
       To run the libstdc++ test suite under the <a class="link" href="debug_mode.html" title="Chapter 17. Debug Mode">debug mode</a>, edit
       <code class="filename">libstdc++-v3/scripts/testsuite_flags</code> to add the
       compile-time flag <code class="constant">-D_GLIBCXX_DEBUG</code> to the
@@ -297,7 +297,7 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
       Or, just run the testsuites with <code class="constant">CXXFLAGS</code>
       set to <code class="constant">-D_GLIBCXX_DEBUG</code> or
       <code class="constant">-D_GLIBCXX_PARALLEL</code>.
-    </p></div></div><div class="section" title="Writing a new test case"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"/>Writing a new test case</h3></div></div></div><p>
+    </p></div></div><div class="section" title="Writing a new test case"><div class="titlepage"><div><div><h3 class="title"><a id="test.new_tests"></a>Writing a new test case</h3></div></div></div><p>
     The first step in making a new test case is to choose the correct
     directory and file name, given the organization as previously
     described.
@@ -408,7 +408,7 @@ up in the normal.exp file.
 // { dg-options "-O0" { target *-*-* } }
 </pre><p>
     More examples can be found in the libstdc++-v3/testsuite/*/*.cc files.
-   </p></div><div class="section" title="Test Harness and Utilities"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"/>Test Harness and Utilities</h3></div></div></div><div class="section" title="Dejagnu Harness Details"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"/>Dejagnu Harness Details</h4></div></div></div><p>
+   </p></div><div class="section" title="Test Harness and Utilities"><div class="titlepage"><div><div><h3 class="title"><a id="test.harness"></a>Test Harness and Utilities</h3></div></div></div><div class="section" title="Dejagnu Harness Details"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.dejagnu"></a>Dejagnu Harness Details</h4></div></div></div><p>
     Underlying details of testing for conformance and regressions are
     abstracted via the GNU Dejagnu package. This is similar to the
     rest of GCC.
@@ -435,7 +435,7 @@ callbacks loaded from the support library.
 </p><p>The <code class="code">config</code> directory is searched for any particular "target
 board" information unique to this library.  This is currently unused and sets
 only default variables.
-</p></div><div class="section" title="Utilities"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"/>Utilities</h4></div></div></div><p>
+</p></div><div class="section" title="Utilities"><div class="titlepage"><div><div><h4 class="title"><a id="test.harness.utils"></a>Utilities</h4></div></div></div><p>
   </p><p>
    The testsuite directory also contains some files that implement
    functionality that is intended to make writing test cases easier,
@@ -447,7 +447,7 @@ only default variables.
    during testing.
   </p><p>
   These files include the following functionality:
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
        <span class="emphasis"><em>testsuite_abi.h</em></span>,
        <span class="emphasis"><em>testsuite_abi.cc</em></span>,
        <span class="emphasis"><em>testsuite_abi_check.cc</em></span>
@@ -477,7 +477,7 @@ only default variables.
        <span class="emphasis"><em>testsuite_hooks.cc</em></span>
        </p><p>
        A large number of utilities, including:
-       </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>VERIFY</p></li><li class="listitem"><p>set_memory_limits</p></li><li class="listitem"><p>verify_demangle</p></li><li class="listitem"><p>run_tests_wrapped_locale</p></li><li class="listitem"><p>run_tests_wrapped_env</p></li><li class="listitem"><p>try_named_locale</p></li><li class="listitem"><p>try_mkfifo</p></li><li class="listitem"><p>func_callback</p></li><li class="listitem"><p>counter</p></li><li class="listitem"><p>copy_tracker</p></li><li class="listitem"><p>copy_constructor</p></li><li class="listitem"><p>assignment_operator</p></li><li class="listitem"><p>destructor</p></li><li class="listitem"><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li class="listitem"><p>
+       </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>VERIFY</p></li><li class="listitem"><p>set_memory_limits</p></li><li class="listitem"><p>verify_demangle</p></li><li class="listitem"><p>run_tests_wrapped_locale</p></li><li class="listitem"><p>run_tests_wrapped_env</p></li><li class="listitem"><p>try_named_locale</p></li><li class="listitem"><p>try_mkfifo</p></li><li class="listitem"><p>func_callback</p></li><li class="listitem"><p>counter</p></li><li class="listitem"><p>copy_tracker</p></li><li class="listitem"><p>copy_constructor</p></li><li class="listitem"><p>assignment_operator</p></li><li class="listitem"><p>destructor</p></li><li class="listitem"><p>pod_char, pod_int and associated char_traits specializations</p></li></ul></div></li><li class="listitem"><p>
         <span class="emphasis"><em>testsuite_io.h</em></span>
        </p><p>
        Error, exception, and constraint checking for
@@ -491,10 +491,10 @@ only default variables.
        </p><p>
        A number of class abstractions for performance counters, and
        reporting functions including:
-       </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="section" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"/>Special Topics</h3></div></div></div><div class="section" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"/>
+       </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="section" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="section" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
   Qualifying Exception Safety Guarantees
-  <a id="id557519" class="indexterm"/>
-</h4></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"/>Overview</h5></div></div></div><p>
+  <a id="idp22593984" class="indexterm"></a>
+</h4></div></div></div><div class="section" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
         Testing is composed of running a particular test sequence,
         and looking at what happens to the surrounding code when
         exceptions are thrown. Each test is composed of measuring
@@ -524,9 +524,9 @@ only default variables.
         completes without an exception being thrown, assume all
         potential error paths have been exercised in a sequential
         manner.
-       </p></div><div class="section" title="Existing tests"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.status"/>
+       </p></div><div class="section" title="Existing tests"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.status"></a>
     Existing tests
-</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
         Ad Hoc
        </p><p>
         For example,
@@ -563,9 +563,9 @@ as the allocator type.
         instrumentation to <code class="classname">iterator</code>
         and <code class="classname">const_iterator</code> types that throw
         conditionally on iterator operations.
-       </p></li></ul></div></div><div class="section" title="C++11 Requirements Test Sequence Descriptions"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.containers"/>
+       </p></li></ul></div></div><div class="section" title="C++11 Requirements Test Sequence Descriptions"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.containers"></a>
 C++11 Requirements Test Sequence Descriptions
-</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
         Basic
        </p><p>
         Basic consistency on exception propagation tests. For
@@ -636,4 +636,4 @@ C++11 Requirements Test Sequence Descriptions
         The general form demonstrated in
         <code class="filename">testsuite/23_containers/list/requirements/exception/propagation_coherent.cc
         </code>. The instantiating test object is <code class="classname">__gnu_test::propagation_coherent</code> and is detailed in <code class="filename">testsuite/util/exception/safety.h</code>.
-       </p></li></ul></div></div></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td align="left" valign="top">Porting to New Hardware or Operating Systems </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
+       </p></li></ul></div></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="abi.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Porting to New Hardware or Operating Systems </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> ABI Policy and Guidelines</td></tr></table></div></body></html>
index 93610f6..9c3c83f 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="utilities.html" title="Chapter 6.  Utilities"/><link rel="prev" href="memory.html" title="Memory"/><link rel="next" href="strings.html" title="Chapter 7.  Strings"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
+<!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>Traits</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="utilities.html" title="Chapter 6.  Utilities" /><link rel="prev" href="memory.html" title="Memory" /><link rel="next" href="strings.html" title="Chapter 7.  Strings" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Traits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><th width="60%" align="center">Chapter 6. 
   Utilities
   
-</th><td align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr/></div><div class="section" title="Traits"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.traits"/>Traits</h2></div></div></div><p>
-  </p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="memory.html">Prev</a> </td><td align="center"><a accesskey="u" href="utilities.html">Up</a></td><td align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr><tr><td align="left" valign="top">Memory </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Chapter 7. 
+</th><td width="20%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr></table><hr /></div><div class="section" title="Traits"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.traits"></a>Traits</h2></div></div></div><p>
+  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="memory.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="utilities.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="strings.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Memory </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 7. 
   Strings
   
 </td></tr></table></div></body></html>
index 68e35ef..dce5536 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="intro.html" title="Part I.  Introduction"/><link rel="prev" href="make.html" title="Make"/><link rel="next" href="using_headers.html" title="Headers"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
+<!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>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I.  Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. 
   Introduction
   
-</th><td align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 3. Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"/>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section" title="Command Options"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.flags"/>Command Options</h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 3. Using"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section" title="Command Options"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p>
       The set of features available in the GNU C++ library is shaped
       by
-      several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html">GCC
+      several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html" target="_top">GCC
       Command Options</a>. Options that impact libstdc++ are
       enumerated and detailed in the table below.
     </p><p>
       By default, <span class="command"><strong>g++</strong></span> is equivalent to  <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
-    </p><div class="table"><a id="id478045"/><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><thead><tr><th style="text-align: left">Option Flags</th><th style="text-align: left">Description</th></tr></thead><tbody><tr><td style="text-align: left"><code class="literal">-std=c++98</code></td><td style="text-align: left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++98</code></td><td style="text-align: left">As directly above, with GNU extensions.</td></tr><tr><td style="text-align: left"><code class="literal">-std=c++11</code></td><td style="text-align: left">Use the 2011 ISO C++ standard.</td></tr><tr><td style="text-align: left"><code class="literal">-std=gnu++11</code></td><td style="text-align: left">As directly above, with GNU extensions.</td></tr><tr><td style="text-align: left"><code class="literal">-fexceptions</code></td><td style="text-align: left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td style="text-align: left"><code class="literal">-frtti</code></td><td style="text-align: left">As above, but RTTI-free dialect.</td></tr><tr><td style="text-align: left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td style="text-align: left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
-      &lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td style="text-align: left"><code class="literal">-fopenmp</code></td><td style="text-align: left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break"/></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="make.html">Prev</a> </td><td align="center"><a accesskey="u" href="intro.html">Up</a></td><td align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td align="left" valign="top">Make </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Headers</td></tr></table></div></body></html>
+    </p><div class="table"><a id="idp13018432"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 &lt;thread&gt;, &lt;future&gt;,
+      &lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
index 2d203bb..90424a3 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_dynamic_or_shared.html" title="Linking"/><link rel="next" href="using_exceptions.html" title="Exceptions"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr/></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.concurrency"/>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
+<!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>Concurrency</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_dynamic_or_shared.html" title="Linking" /><link rel="next" href="using_exceptions.html" title="Exceptions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Concurrency</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr></table><hr /></div><div class="section" title="Concurrency"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.concurrency"></a>Concurrency</h2></div></div></div><p>This section discusses issues surrounding the proper compilation
       of multithreaded applications which use the Standard C++
       library.  This information is GCC-specific since the C++
       standard does not address matters of multithreaded applications.
-   </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"/>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
+   </p><div class="section" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.prereq"></a>Prerequisites</h3></div></div></div><p>All normal disclaimers aside, multithreaded C++ application are
       only supported when libstdc++ and all user code was built with
       compilers which report (via <code class="code"> gcc/g++ -v </code>) the same thread
       model and that model is not <span class="emphasis"><em>single</em></span>.  As long as your
@@ -33,7 +33,7 @@
       -pthread is honored.  Some other ports use other switches.
       AFAIK, none of this is properly documented anywhere other than
       in ``gcc -dumpspecs'' (look at lib and cpp entries).
-   </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"/>Thread Safety</h3></div></div></div><p>
+   </p></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.thread_safety"></a>Thread Safety</h3></div></div></div><p>
 In the terms of the 2011 C++ standard a thread-safe program is one which
 does not perform any conflicting non-atomic operations on memory locations
 and so does not contain any data races.
@@ -41,11 +41,11 @@ The standard places requirements on the library to ensure that no data
 races are caused by the library itself or by programs which use the
 library correctly (as described below).
 The C++11 memory model and library requirements are a more formal version
-of the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI STL</a> definition of thread safety, which the library used
+of the <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">SGI STL</a> definition of thread safety, which the library used
 prior to the 2011 standard.
 </p><p>The library strives to be thread-safe when all of the following
         conditions are met:
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>The system's libc is itself thread-safe,
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The system's libc is itself thread-safe,
        </p></li><li class="listitem"><p>
           The compiler in use reports a thread model other than
           'single'. This can be tested via output from <code class="code">gcc
@@ -61,7 +61,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
         Requisite command-line flags are used for atomic operations
         and threading. Examples of this include <code class="code">-pthread</code>
         and <code class="code">-march=native</code>, although specifics vary
-        depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html">Machine
+        depending on the host environment. See <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html" target="_top">Machine
         Dependent Options</a>.
        </p></li><li class="listitem"><p>
           An implementation of atomicity.h functions
@@ -153,12 +153,12 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       t2.join();
     }
       </pre><p>For further details of the C++11 memory model see Hans-J. Boehm's
-      <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html">Threads
-      and memory model for C++</a> pages, particularly the <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html">introduction</a> 
-      and <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html">FAQ</a>.
-      </p></div><div class="section" title="Atomics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"/>Atomics</h3></div></div></div><p>
-    </p></div><div class="section" title="IO"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"/>IO</h3></div></div></div><p>This gets a bit tricky.  Please read carefully, and bear with me.
-   </p><div class="section" title="Structure"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"/>Structure</h4></div></div></div><p>A wrapper
+      <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html" target="_top">Threads
+      and memory model for C++</a> pages, particularly the <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/threadsintro.html" target="_top">introduction</a> 
+      and <a class="link" href="http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/user-faq.html" target="_top">FAQ</a>.
+      </p></div><div class="section" title="Atomics"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.atomics"></a>Atomics</h3></div></div></div><p>
+    </p></div><div class="section" title="IO"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.io"></a>IO</h3></div></div></div><p>This gets a bit tricky.  Please read carefully, and bear with me.
+   </p><div class="section" title="Structure"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.structure"></a>Structure</h4></div></div></div><p>A wrapper
       type called <code class="code">__basic_file</code> provides our abstraction layer
       for the <code class="code">std::filebuf</code> classes.  Nearly all decisions dealing
       with actual input and output must be made in <code class="code">__basic_file</code>.
@@ -166,7 +166,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       but is not used in the current code.  Providing locking at any higher
       level is akin to providing locking within containers, and is not done
       for the same reasons (see the links above).
-   </p></div><div class="section" title="Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"/>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
+   </p></div><div class="section" title="Defaults"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.defaults"></a>Defaults</h4></div></div></div><p>The __basic_file type is simply a collection of small wrappers around
       the C stdio layer (again, see the link under Structure).  We do no
       locking ourselves, but simply pass through to calls to <code class="code">fopen</code>,
       <code class="code">fwrite</code>, and so forth.
@@ -188,7 +188,7 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       contained in the stream formatting classes (e.g., setting up callbacks
       inside an <code class="code">std::ofstream</code>), you need to guard such accesses
       like any other critical shared resource.
-   </p></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"/>Future</h4></div></div></div><p> A
+   </p></div><div class="section" title="Future"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.future"></a>Future</h4></div></div></div><p> A
       second choice may be available for I/O implementations:  libio.  This is
       disabled by default, and in fact will not currently work due to other
       issues.  It will be revisited, however.
@@ -213,10 +213,10 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       version will see calls from libstdc++ directly into the glibc already
       installed.  For other platforms, a copy of the libio subsection will
       be built and included in libstdc++.
-   </p></div><div class="section" title="Alternatives"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"/>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible.  You could
+   </p></div><div class="section" title="Alternatives"><div class="titlepage"><div><div><h4 class="title"><a id="concurrency.io.alt"></a>Alternatives</h4></div></div></div><p>Don't forget that other cstdio implementations are possible.  You could
       easily write one to perform your own forms of locking, to solve your
       "interesting" problems.
-   </p></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"/>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
+   </p></div></div><div class="section" title="Containers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.concurrency.containers"></a>Containers</h3></div></div></div><p>This section discusses issues surrounding the design of
       multithreaded applications which use Standard C++ containers.
       All information in this section is current as of the gcc 3.0
       release and all later point releases.  Although earlier gcc
@@ -228,9 +228,9 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       threaded and non-threaded code), see Chapter 17.
    </p><p>Two excellent pages to read when working with the Standard C++
       containers and threads are
-      <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html">SGI's
+      <a class="link" href="http://www.sgi.com/tech/stl/thread_safety.html" target="_top">SGI's
       http://www.sgi.com/tech/stl/thread_safety.html</a> and
-      <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html">SGI's
+      <a class="link" href="http://www.sgi.com/tech/stl/Allocators.html" target="_top">SGI's
       http://www.sgi.com/tech/stl/Allocators.html</a>.
    </p><p><span class="emphasis"><em>However, please ignore all discussions about the user-level
       configuration of the lock implementation inside the STL
@@ -269,4 +269,4 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
       useful are details
       on <a class="link" href="memory.html#std.util.memory.allocator" title="Allocators">allocator</a>
       options and capabilities.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr><tr><td align="left" valign="top">Linking </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Exceptions</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_dynamic_or_shared.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_exceptions.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Linking </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Exceptions</td></tr></table></div></body></html>
index 1c04a6f..4f15bb5 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_namespaces.html" title="Namespaces"/><link rel="next" href="using_concurrency.html" title="Concurrency"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr/></div><div class="section" title="Linking"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.linkage"/>Linking</h2></div></div></div><div class="section" title="Almost Nothing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"/>Almost Nothing</h3></div></div></div><p>
+<!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>Linking</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_namespaces.html" title="Namespaces" /><link rel="next" href="using_concurrency.html" title="Concurrency" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr></table><hr /></div><div class="section" title="Linking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.linkage"></a>Linking</h2></div></div></div><div class="section" title="Almost Nothing"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.freestanding"></a>Almost Nothing</h3></div></div></div><p>
        Or as close as it gets: freestanding. This is a minimal
        configuration, with only partial support for the standard
        library. Assume only the following header files can be used:
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            <code class="filename">cstdarg</code>
          </p></li><li class="listitem"><p>
          <code class="filename">cstddef</code>
          <code class="filename">typeinfo</code>
          </p></li></ul></div><p>
        In addition, throw in
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          <code class="filename">cxxabi.h</code>.
          </p></li></ul></div><p>
        In the
        C++11 <a class="link" href="using.html#manual.intro.using.flags" title="Command Options">dialect</a> add
-      </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          <code class="filename">initializer_list</code>
          </p></li><li class="listitem"><p>
          <code class="filename">type_traits</code>
@@ -40,7 +40,7 @@
        No attempt is made to verify that only the minimal subset
        identified above is actually used at compile time. Violations
        are diagnosed as undefined symbols at link time.
-      </p></div><div class="section" title="Finding Dynamic or Shared Libraries"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.dynamic"/>Finding Dynamic or Shared Libraries</h3></div></div></div><p>
+      </p></div><div class="section" title="Finding Dynamic or Shared Libraries"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.dynamic"></a>Finding Dynamic or Shared Libraries</h3></div></div></div><p>
       If the only library built is the static library
       (<code class="filename">libstdc++.a</code>), or if
       specifying static linking, this section is can be skipped.  But
       But how?
     </p><p>
 A quick read of the relevant part of the GCC
-      manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b">Compiling
+      manual, <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b" target="_top">Compiling
       C++ Programs</a>, specifies linking against a C++
       library. More details from the
-      GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath">FAQ</a>,
+      GCC <a class="link" href="http://gcc.gnu.org/faq.html#rpath" target="_top">FAQ</a>,
       which states <span class="emphasis"><em>GCC does not, by default, specify a
       location so that the dynamic linker can find dynamic libraries at
       runtime.</em></span>
@@ -63,7 +63,7 @@ A quick read of the relevant part of the GCC
     </p><p>
       Methods vary for different platforms and different styles, and
       are printed to the screen during installation. To summarize:
-    </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          At runtime set <code class="literal">LD_LIBRARY_PATH</code> in your
          environment correctly, so that the shared library for
          libstdc++ can be found and loaded.  Be certain that you
@@ -75,7 +75,7 @@ A quick read of the relevant part of the GCC
          <span class="command"><strong>g++</strong></span>, which will in turn pass them on to
          the linker.  The exact format of the options is dependent on
          which linker you use:
-       </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+       </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>
              GNU ld (default on GNU/Linux):
               <code class="literal">-Wl,-rpath,</code><code class="filename">destdir/lib</code>
            </p></li><li class="listitem"><p>
@@ -106,4 +106,4 @@ A quick read of the relevant part of the GCC
       also installed, for use with Libtool.  If you use Libtool to
       create your executables, these details are taken care of for
       you.
-    </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td align="left" valign="top">Namespaces </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
+    </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Namespaces </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
index f91eab7..c2dd632 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Exceptions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      C++&#10;    , &#10;      exception&#10;    , &#10;      error&#10;    , &#10;      exception neutrality&#10;    , &#10;      exception safety&#10;    , &#10;      exception propagation&#10;    , &#10;      -fno-exceptions&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_concurrency.html" title="Concurrency"/><link rel="next" href="debug.html" title="Debugging Support"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr/></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.exceptions"/>Exceptions</h2></div></div></div><p>
+<!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>Exceptions</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      C++&#10;    , &#10;      exception&#10;    , &#10;      error&#10;    , &#10;      exception neutrality&#10;    , &#10;      exception safety&#10;    , &#10;      exception propagation&#10;    , &#10;      -fno-exceptions&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_concurrency.html" title="Concurrency" /><link rel="next" href="debug.html" title="Debugging Support" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Exceptions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr></table><hr /></div><div class="section" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.exceptions"></a>Exceptions</h2></div></div></div><p>
 The C++ language provides language support for stack unwinding
 with <code class="literal">try</code> and <code class="literal">catch</code> blocks and
 the <code class="literal">throw</code> keyword.
@@ -12,7 +12,7 @@ exceptional circumstances.
 </p><p>
 Two general topics of discussion follow:
 exception neutrality and exception safety.
-</p><div class="section" title="Exception Safety"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"/>Exception Safety</h3></div></div></div><p>
+</p><div class="section" title="Exception Safety"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.safety"></a>Exception Safety</h3></div></div></div><p>
     What is exception-safe code?
   </p><p>
     Will define this as reasonable and well-defined behavior by classes
@@ -27,7 +27,7 @@ exception neutrality and exception safety.
     Using the layered approach from Abrahams, can classify library
     components as providing set levels of safety. These will be called
     exception guarantees, and can be divided into three categories.
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     One. Don't throw.
   </p><p>
     As specified in 23.2.1 general container requirements. Applicable
@@ -51,7 +51,7 @@ exception neutrality and exception safety.
     Member functions <code class="function">insert</code> of a single
     element, <code class="function">push_back</code>, <code class="function">push_front</code>,
     and <code class="function">rehash</code>.
-  </p></li></ul></div></div><div class="section" title="Exception Neutrality"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"/>Exception Neutrality</h3></div></div></div><p>
+  </p></li></ul></div></div><div class="section" title="Exception Neutrality"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.propagating"></a>Exception Neutrality</h3></div></div></div><p>
     Simply put, once thrown an exception object should continue in
     flight unless handled explicitly. In practice, this means
     propagating exceptions should not be swallowed in
@@ -75,7 +75,7 @@ exception neutrality and exception safety.
     Unfortunately, this tends to be more of a guideline than a strict
     rule as applied to the standard library. As such, the following is
     a list of known problem areas where exceptions are not propagated.
-  </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
+  </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
       Input/Output
     </p><p>
     The destructor <code class="function">ios_base::Init::~Init()</code>
@@ -101,7 +101,7 @@ exception neutrality and exception safety.
       The constructors of <code class="classname">thread</code> that take a
       callable function argument swallow all exceptions resulting from
       executing the function argument.
-    </p></li></ul></div></div><div class="section" title="Doing without"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"/>Doing without</h3></div></div></div><p>
+    </p></li></ul></div></div><div class="section" title="Doing without"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.no"></a>Doing without</h3></div></div></div><p>
     C++ is a language that strives to be as efficient as is possible
     in delivering features. As such, considerable care is used by both
     language implementer and designers to make sure unused features
@@ -113,7 +113,7 @@ exception neutrality and exception safety.
     support <code class="literal">try</code> and <code class="literal">catch</code> blocks
     and thrown objects. (Language support
     for <code class="literal">-fno-exceptions</code> is documented in the GNU
-    GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">manual</a>.)
+    GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options" target="_top">manual</a>.)
   </p><p>Before detailing the library support
     for <code class="literal">-fno-exceptions</code>, first a passing note on
     the things lost when this flag is used: it will break exceptions
@@ -220,7 +220,7 @@ exception neutrality and exception safety.
   substitution of the C language keyword
   <code class="literal">const</code> with the uglified
   doppelganger <code class="literal">__const</code>.
-</p></div><div class="section" title="Compatibility"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"/>Compatibility</h3></div></div></div><div class="section" title="With C"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"/>With <code class="literal">C</code></h4></div></div></div><p>
+</p></div><div class="section" title="Compatibility"><div class="titlepage"><div><div><h3 class="title"><a id="intro.using.exception.compat"></a>Compatibility</h3></div></div></div><div class="section" title="With C"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.c"></a>With <code class="literal">C</code></h4></div></div></div><p>
   C language code that is expecting to interoperate with C++ should be
   compiled with <code class="literal">-fexceptions</code>. This will make
   debugging a C language function called as part of C++-induced stack
@@ -235,7 +235,7 @@ is called.
   getting these details right. For GNU systems, all appropriate parts
   of the GNU C library are already compiled
   with <code class="literal">-fexceptions</code>.
-</p></div><div class="section" title="With POSIX thread cancellation"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"/>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
+</p></div><div class="section" title="With POSIX thread cancellation"><div class="titlepage"><div><div><h4 class="title"><a id="using.exception.compat.posix"></a>With <code class="literal">POSIX</code> thread cancellation</h4></div></div></div><p>
   GNU systems re-use some of the exception handling mechanisms to
   track control flow for <code class="literal">POSIX</code> thread cancellation.
 </p><p>
@@ -266,8 +266,8 @@ is called.
   }
   catch(...)
   { this-&gt;_M_setstate(ios_base::badbit); }
-</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"/>Bibliography</h3></div></div></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="id483021"/><p><span class="title"><em>
-       <a class="link" href="http://www.opengroup.org/austin">
+</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry" title="System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)"><a id="idp13615600"></a><p><span class="title"><em>
+       <a class="link" href="http://www.opengroup.org/austin" target="_top">
        System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
        </a>
       </em>. </span><span class="pagenums">
@@ -275,40 +275,40 @@ is called.
     . </span><span class="copyright">Copyright © 2008 
        The Open Group/The Institute of Electrical and Electronics
        Engineers, Inc.
-      . </span></p></div><div class="biblioentry" title="Error and Exception Handling"><a id="id483051"/><p><span class="title"><em>
-       <a class="link" href="http://www.boost.org/community/error_handling.html">
+      . </span></p></div><div class="biblioentry" title="Error and Exception Handling"><a id="idp13619296"></a><p><span class="title"><em>
+       <a class="link" href="http://www.boost.org/community/error_handling.html" target="_top">
        Error and Exception Handling
        </a>
       </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
        Boost
-      . </span></span></p></div><div class="biblioentry" title="Exception-Safety in Generic Components"><a id="id483082"/><p><span class="title"><em>
-       <a class="link" href="http://www.boost.org/community/exception_safety.html">
+      . </span></span></p></div><div class="biblioentry" title="Exception-Safety in Generic Components"><a id="idp13622992"></a><p><span class="title"><em>
+       <a class="link" href="http://www.boost.org/community/exception_safety.html" target="_top">
        Exception-Safety in Generic Components
        </a>
       </em>. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
        Boost
-      . </span></span></p></div><div class="biblioentry" title="Standard Library Exception Policy"><a id="id483113"/><p><span class="title"><em>
-       <a class="link" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf">
+      . </span></span></p></div><div class="biblioentry" title="Standard Library Exception Policy"><a id="idp13626704"></a><p><span class="title"><em>
+       <a class="link" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
        Standard Library Exception Policy
        </a>
       </em>. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
        WG21 N1077
-      . </span></span></p></div><div class="biblioentry" title="ia64 c++ abi exception handling"><a id="id483144"/><p><span class="title"><em>
-       <a class="link" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html">
+      . </span></span></p></div><div class="biblioentry" title="ia64 c++ abi exception handling"><a id="idp13630416"></a><p><span class="title"><em>
+       <a class="link" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
        ia64 c++ abi exception handling
        </a>
       </em>. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
        GNU
-      . </span></span></p></div><div class="biblioentry" title="Appendix E: Standard-Library Exception Safety"><a id="id483175"/><p><span class="title"><em>
-       <a class="link" href="http://www.research.att.com/~bs/3rd_safe.pdf">
+      . </span></span></p></div><div class="biblioentry" title="Appendix E: Standard-Library Exception Safety"><a id="idp13634112"></a><p><span class="title"><em>
+       <a class="link" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
        Appendix E: Standard-Library Exception Safety
        </a>
-      </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="id483198"/><p><span class="citetitle"><em class="citetitle">
+      </em>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry"><a id="idp13636928"></a><p><span class="citetitle"><em class="citetitle">
       Exceptional C++
     </em>. </span><span class="pagenums">
       Exception-Safety Issues and Techniques
-    . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry" title="GCC Bug 25191: exception_defines.h #defines try/catch"><a id="id483218"/><p><span class="title"><em>
-       <a class="link" href="http://gcc.gnu.org/PR25191">
+    . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry" title="GCC Bug 25191: exception_defines.h #defines try/catch"><a id="idp13639312"></a><p><span class="title"><em>
+       <a class="link" href="http://gcc.gnu.org/PR25191" target="_top">
       GCC Bug 25191: exception_defines.h #defines try/catch
        </a>
-      </em>. </span></p></div></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td align="left" valign="top">Concurrency </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
+      </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
index d5aadaa..ec18110 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Headers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using.html" title="Chapter 3. Using"/><link rel="next" href="using_macros.html" title="Macros"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr/></div><div class="section" title="Headers"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.headers"/>Headers</h2></div></div></div><div class="section" title="Header Files"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"/>Header Files</h3></div></div></div><p>
+<!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>Headers</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using.html" title="Chapter 3. Using" /><link rel="next" href="using_macros.html" title="Macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Headers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr></table><hr /></div><div class="section" title="Headers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.headers"></a>Headers</h2></div></div></div><div class="section" title="Header Files"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.all"></a>Header Files</h3></div></div></div><p>
      The C++ standard specifies the entire set of header files that
      must be available to all hosted implementations.  Actually, the
      word "files" is a misnomer, since the contents of the
      the 1998 standard as updated for 2003, and the current 2011 standard.
    </p><p>
      C++98/03 include files. These are available in the default compilation mode, i.e. <code class="code">-std=c++98</code> or <code class="code">-std=gnu++98</code>.
-   </p><div class="table"><a id="id478273"/><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="filename">complex</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="filename">exception</code></td></tr><tr><td style="text-align: left"><code class="filename">fstream</code></td><td style="text-align: left"><code class="filename">functional</code></td><td style="text-align: left"><code class="filename">iomanip</code></td><td style="text-align: left"><code class="filename">ios</code></td><td style="text-align: left"><code class="filename">iosfwd</code></td></tr><tr><td style="text-align: left"><code class="filename">iostream</code></td><td style="text-align: left"><code class="filename">istream</code></td><td style="text-align: left"><code class="filename">iterator</code></td><td style="text-align: left"><code class="filename">limits</code></td><td style="text-align: left"><code class="filename">list</code></td></tr><tr><td style="text-align: left"><code class="filename">locale</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="filename">memory</code></td><td style="text-align: left"><code class="filename">new</code></td><td style="text-align: left"><code class="filename">numeric</code></td></tr><tr><td style="text-align: left"><code class="filename">ostream</code></td><td style="text-align: left"><code class="filename">queue</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="filename">sstream</code></td><td style="text-align: left"><code class="filename">stack</code></td></tr><tr><td style="text-align: left"><code class="filename">stdexcept</code></td><td style="text-align: left"><code class="filename">streambuf</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="filename">utility</code></td><td style="text-align: left"><code class="filename">typeinfo</code></td></tr><tr><td style="text-align: left"><code class="filename">valarray</code></td><td style="text-align: left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id478577"/><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cassert</code></td><td style="text-align: left"><code class="filename">cerrno</code></td><td style="text-align: left"><code class="filename">cctype</code></td><td style="text-align: left"><code class="filename">cfloat</code></td><td style="text-align: left"><code class="filename">ciso646</code></td></tr><tr><td style="text-align: left"><code class="filename">climits</code></td><td style="text-align: left"><code class="filename">clocale</code></td><td style="text-align: left"><code class="filename">cmath</code></td><td style="text-align: left"><code class="filename">csetjmp</code></td><td style="text-align: left"><code class="filename">csignal</code></td></tr><tr><td style="text-align: left"><code class="filename">cstdarg</code></td><td style="text-align: left"><code class="filename">cstddef</code></td><td style="text-align: left"><code class="filename">cstdio</code></td><td style="text-align: left"><code class="filename">cstdlib</code></td><td style="text-align: left"><code class="filename">cstring</code></td></tr><tr><td style="text-align: left"><code class="filename">ctime</code></td><td style="text-align: left"><code class="filename">cwchar</code></td><td style="text-align: left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p>
+   </p><div class="table"><a id="idp13045856"></a><p class="title"><strong>Table 3.2. C++ 1998 Library Headers</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13082336"></a><p class="title"><strong>Table 3.3. C++ 1998 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
 C++11 include files. These are only available in C++11 compilation
 mode, i.e. <code class="literal">-std=c++11</code> or <code class="literal">-std=gnu++11</code>.
-</p><p/><div class="table"><a id="id478783"/><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">algorithm</code></td><td style="text-align: left"><code class="filename">array</code></td><td style="text-align: left"><code class="filename">bitset</code></td><td style="text-align: left"><code class="filename">chrono</code></td><td style="text-align: left"><code class="filename">complex</code></td></tr><tr><td style="text-align: left"><code class="filename">condition_variable</code></td><td style="text-align: left"><code class="filename">deque</code></td><td style="text-align: left"><code class="filename">exception</code></td><td style="text-align: left"><code class="filename">forward_list</code></td><td style="text-align: left"><code class="filename">fstream</code></td></tr><tr><td style="text-align: left"><code class="filename">functional</code></td><td style="text-align: left"><code class="filename">future</code></td><td style="text-align: left"><code class="filename">initalizer_list</code></td><td style="text-align: left"><code class="filename">iomanip</code></td><td style="text-align: left"><code class="filename">ios</code></td></tr><tr><td style="text-align: left"><code class="filename">iosfwd</code></td><td style="text-align: left"><code class="filename">iostream</code></td><td style="text-align: left"><code class="filename">istream</code></td><td style="text-align: left"><code class="filename">iterator</code></td><td style="text-align: left"><code class="filename">limits</code></td></tr><tr><td style="text-align: left"><code class="filename">list</code></td><td style="text-align: left"><code class="filename">locale</code></td><td style="text-align: left"><code class="filename">map</code></td><td style="text-align: left"><code class="filename">memory</code></td><td style="text-align: left"><code class="filename">mutex</code></td></tr><tr><td style="text-align: left"><code class="filename">new</code></td><td style="text-align: left"><code class="filename">numeric</code></td><td style="text-align: left"><code class="filename">ostream</code></td><td style="text-align: left"><code class="filename">queue</code></td><td style="text-align: left"><code class="filename">random</code></td></tr><tr><td style="text-align: left"><code class="filename">ratio</code></td><td style="text-align: left"><code class="filename">regex</code></td><td style="text-align: left"><code class="filename">set</code></td><td style="text-align: left"><code class="filename">sstream</code></td><td style="text-align: left"><code class="filename">stack</code></td></tr><tr><td style="text-align: left"><code class="filename">stdexcept</code></td><td style="text-align: left"><code class="filename">streambuf</code></td><td style="text-align: left"><code class="filename">string</code></td><td style="text-align: left"><code class="filename">system_error</code></td><td style="text-align: left"><code class="filename">thread</code></td></tr><tr><td style="text-align: left"><code class="filename">tuple</code></td><td style="text-align: left"><code class="filename">type_traits</code></td><td style="text-align: left"><code class="filename">typeinfo</code></td><td style="text-align: left"><code class="filename">unordered_map</code></td><td style="text-align: left"><code class="filename">unordered_set</code></td></tr><tr><td style="text-align: left"><code class="filename">utility</code></td><td style="text-align: left"><code class="filename">valarray</code></td><td style="text-align: left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id479212"/><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cassert</code></td><td style="text-align: left"><code class="filename">ccomplex</code></td><td style="text-align: left"><code class="filename">cctype</code></td><td style="text-align: left"><code class="filename">cerrno</code></td><td style="text-align: left"><code class="filename">cfenv</code></td></tr><tr><td style="text-align: left"><code class="filename">cfloat</code></td><td style="text-align: left"><code class="filename">cinttypes</code></td><td style="text-align: left"><code class="filename">ciso646</code></td><td style="text-align: left"><code class="filename">climits</code></td><td style="text-align: left"><code class="filename">clocale</code></td></tr><tr><td style="text-align: left"><code class="filename">cmath</code></td><td style="text-align: left"><code class="filename">csetjmp</code></td><td style="text-align: left"><code class="filename">csignal</code></td><td style="text-align: left"><code class="filename">cstdarg</code></td><td style="text-align: left"><code class="filename">cstdbool</code></td></tr><tr><td style="text-align: left"><code class="filename">cstddef</code></td><td style="text-align: left"><code class="filename">cstdint</code></td><td style="text-align: left"><code class="filename">cstdlib</code></td><td style="text-align: left"><code class="filename">cstdio</code></td><td style="text-align: left"><code class="filename">cstring</code></td></tr><tr><td style="text-align: left"><code class="filename">ctgmath</code></td><td style="text-align: left"><code class="filename">ctime</code></td><td style="text-align: left"><code class="filename">cuchar</code></td><td style="text-align: left"><code class="filename">cwchar</code></td><td style="text-align: left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
+</p><p></p><div class="table"><a id="idp13107072"></a><p class="title"><strong>Table 3.4. C++ 2011 Library Headers</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13158512"></a><p class="title"><strong>Table 3.5. C++ 2011 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ 2011 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
   In addition, TR1 includes as:
-</p><div class="table"><a id="id479461"/><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">tr1/array</code></td><td style="text-align: left"><code class="filename">tr1/complex</code></td><td style="text-align: left"><code class="filename">tr1/memory</code></td><td style="text-align: left"><code class="filename">tr1/functional</code></td><td style="text-align: left"><code class="filename">tr1/random</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/regex</code></td><td style="text-align: left"><code class="filename">tr1/tuple</code></td><td style="text-align: left"><code class="filename">tr1/type_traits</code></td><td style="text-align: left"><code class="filename">tr1/unordered_map</code></td><td style="text-align: left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id479602"/><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">tr1/ccomplex</code></td><td style="text-align: left"><code class="filename">tr1/cfenv</code></td><td style="text-align: left"><code class="filename">tr1/cfloat</code></td><td style="text-align: left"><code class="filename">tr1/cmath</code></td><td style="text-align: left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/climits</code></td><td style="text-align: left"><code class="filename">tr1/cstdarg</code></td><td style="text-align: left"><code class="filename">tr1/cstdbool</code></td><td style="text-align: left"><code class="filename">tr1/cstdint</code></td><td style="text-align: left"><code class="filename">tr1/cstdio</code></td></tr><tr><td style="text-align: left"><code class="filename">tr1/cstdlib</code></td><td style="text-align: left"><code class="filename">tr1/ctgmath</code></td><td style="text-align: left"><code class="filename">tr1/ctime</code></td><td style="text-align: left"><code class="filename">tr1/cwchar</code></td><td style="text-align: left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break"/><p>Decimal floating-point arithmetic is available if the C++
+</p><div class="table"><a id="idp13188400"></a><p class="title"><strong>Table 3.6. C++ TR 1 Library Headers</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13205328"></a><p class="title"><strong>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</strong></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
 compiler supports scalar decimal floating-point types defined via
 <code class="code">__attribute__((mode(SD|DD|LD)))</code>.
-</p><div class="table"><a id="id479778"/><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col style="text-align: left" class="c1"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
+</p><div class="table"><a id="idp13226400"></a><p class="title"><strong>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</strong></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" class="c1" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
   Also included are files for the C++ ABI interface:
-</p><div class="table"><a id="id479824"/><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">cxxabi.h</code></td><td style="text-align: left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break"/><p>
+</p><div class="table"><a id="idp13231920"></a><p class="title"><strong>Table 3.9. C++ ABI Headers</strong></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
   And a large variety of extensions.
-</p><div class="table"><a id="id479877"/><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">ext/algorithm</code></td><td style="text-align: left"><code class="filename">ext/atomicity.h</code></td><td style="text-align: left"><code class="filename">ext/array_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/bitmap_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/cast.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/codecvt_specializations.h</code></td><td style="text-align: left"><code class="filename">ext/concurrence.h</code></td><td style="text-align: left"><code class="filename">ext/debug_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/enc_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/functional</code></td><td style="text-align: left"><code class="filename">ext/iterator</code></td><td style="text-align: left"><code class="filename">ext/malloc_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/memory</code></td><td style="text-align: left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/new_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/numeric</code></td><td style="text-align: left"><code class="filename">ext/numeric_traits.h</code></td><td style="text-align: left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td style="text-align: left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/pod_char_traits.h</code></td><td style="text-align: left"><code class="filename">ext/pool_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/rb_tree</code></td><td style="text-align: left"><code class="filename">ext/rope</code></td><td style="text-align: left"><code class="filename">ext/slist</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/stdio_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td style="text-align: left"><code class="filename">ext/throw_allocator.h</code></td><td style="text-align: left"><code class="filename">ext/typelist.h</code></td><td style="text-align: left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td style="text-align: left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480175"/><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/><col style="text-align: left" class="c5"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">debug/bitset</code></td><td style="text-align: left"><code class="filename">debug/deque</code></td><td style="text-align: left"><code class="filename">debug/list</code></td><td style="text-align: left"><code class="filename">debug/map</code></td><td style="text-align: left"><code class="filename">debug/set</code></td></tr><tr><td style="text-align: left"><code class="filename">debug/string</code></td><td style="text-align: left"><code class="filename">debug/unordered_map</code></td><td style="text-align: left"><code class="filename">debug/unordered_set</code></td><td style="text-align: left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480298"/><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/><col style="text-align: left" class="c3"/><col style="text-align: left" class="c4"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">profile/bitset</code></td><td style="text-align: left"><code class="filename">profile/deque</code></td><td style="text-align: left"><code class="filename">profile/list</code></td><td style="text-align: left"><code class="filename">profile/map</code></td></tr><tr><td style="text-align: left"><code class="filename">profile/set</code></td><td style="text-align: left"><code class="filename">profile/unordered_map</code></td><td style="text-align: left"><code class="filename">profile/unordered_set</code></td><td style="text-align: left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break"/><p/><div class="table"><a id="id480409"/><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col style="text-align: left" class="c1"/><col style="text-align: left" class="c2"/></colgroup><tbody><tr><td style="text-align: left"><code class="filename">parallel/algorithm</code></td><td style="text-align: left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break"/></div><div class="section" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"/>Mixing Headers</h3></div></div></div><p> A few simple rules.
+</p><div class="table"><a id="idp13238320"></a><p class="title"><strong>Table 3.10. Extension Headers</strong></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13274048"></a><p class="title"><strong>Table 3.11. Extension Debug Headers</strong></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /><col align="left" class="c5" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13288816"></a><p class="title"><strong>Table 3.12. Extension Profile Headers</strong></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idp13302192"></a><p class="title"><strong>Table 3.13. Extension Parallel Headers</strong></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
 </p><p>First, mixing different dialects of the standard headers is not
 possible. It's an all-or-nothing affair. Thus, code like
 </p><pre class="programlisting">
@@ -54,7 +54,7 @@ same translation unit:
 #include &lt;tr1/type_traits&gt;
 #include &lt;type_traits&gt;
 </pre><p> Several parts of C++11 diverge quite substantially from TR1 predecessors.
-</p></div><div class="section" title="The C Headers and namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"/>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
+</p></div><div class="section" title="The C Headers and namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.cheaders"></a>The C Headers and <code class="code">namespace std</code></h3></div></div></div><p>
        The standard specifies that if one includes the C-style header
        (&lt;math.h&gt; in this case), the symbols will be available
        in the global namespace and perhaps in
@@ -73,10 +73,10 @@ floating-point types. This means that <code class="code">std::sin</code> can be
 used uniformly, instead of a combination
 of <code class="code">std::sinf</code>, <code class="code">std::sin</code>,
 and <code class="code">std::sinl</code>.
-</p></div><div class="section" title="Precompiled Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"/>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
+</p></div><div class="section" title="Precompiled Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"></a>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be
 used to precompile the standard headers and extensions into binary
 files that may the be used to speed compiles that use these headers.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on
 language dialect.
 </p></li><li class="listitem"><p>stdtr1c++.h</p><p>Includes all of &lt;stdc++.h&gt;, and adds all the TR1 headers.
 </p></li><li class="listitem"><p>extc++.h</p><p>Includes all of &lt;stdtr1c++.h&gt;, and adds all the Extension headers.
@@ -99,5 +99,5 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
 ! ./stdc++.h.gch
 . /mnt/share/bld/H-x86-gcc.20071201/include/c++/4.3.0/iostream
 . /mnt/share/bld/H-x86-gcc.20071201include/c++/4.3.0/string
-</pre><p>The exclamation point to the left of the <code class="code">stdc++.h.gch</code> listing means that the generated PCH file was used, and thus the </p><p/><p> Detailed information about creating precompiled header files can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html">documentation</a>.
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr><tr><td align="left" valign="top">Chapter 3. Using </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Macros</td></tr></table></div></body></html>
+</pre><p>The exclamation point to the left of the <code class="code">stdc++.h.gch</code> listing means that the generated PCH file was used, and thus the </p><p></p><p> Detailed information about creating precompiled header files can be found in the GCC <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html" target="_top">documentation</a>.
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_macros.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 3. Using </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Macros</td></tr></table></div></body></html>
index 8e35d01..e542dbe 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Macros</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_headers.html" title="Headers"/><link rel="next" href="using_namespaces.html" title="Namespaces"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr/></div><div class="section" title="Macros"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.macros"/>Macros</h2></div></div></div><p>
+<!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>Macros</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_headers.html" title="Headers" /><link rel="next" href="using_namespaces.html" title="Namespaces" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Macros</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr></table><hr /></div><div class="section" title="Macros"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.macros"></a>Macros</h2></div></div></div><p>
      All library macros begin with <code class="code">_GLIBCXX_</code>.
    </p><p>
      Furthermore, all pre-processor macros, switches, and
@@ -74,4 +74,4 @@
       </p></dd><dt><span class="term"><code class="code">_GLIBCXX_PROFILE</code></span></dt><dd><p>Undefined by default. When defined, compiles user code
     using the <a class="link" href="profile_mode.html" title="Chapter 19. Profile Mode">profile
     mode</a>.
-      </p></dd></dl></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr><tr><td align="left" valign="top">Headers </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Namespaces</td></tr></table></div></body></html>
+      </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_headers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_namespaces.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Headers </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Namespaces</td></tr></table></div></body></html>
index 17aeea3..e85b99c 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="using.html" title="Chapter 3. Using"/><link rel="prev" href="using_macros.html" title="Macros"/><link rel="next" href="using_dynamic_or_shared.html" title="Linking"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr/></div><div class="section" title="Namespaces"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using.namespaces"/>Namespaces</h2></div></div></div><div class="section" title="Available Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"/>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
+<!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>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_macros.html" title="Macros" /><link rel="next" href="using_dynamic_or_shared.html" title="Linking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr /></div><div class="section" title="Namespaces"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="section" title="Available Namespaces"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"></a>Available Namespaces</h3></div></div></div><p> There are three main namespaces.
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined
 within namespace std." This includes namespaces nested
 within <code class="code">namespace std</code>, such as <code class="code">namespace
 std::tr1</code>.
@@ -11,12 +11,12 @@ but necessary for interoperability.
 </p></li><li class="listitem"><p>__gnu_</p><p>Indicating one of several GNU extensions. Choices
 include <code class="code">__gnu_cxx</code>, <code class="code">__gnu_debug</code>, <code class="code">__gnu_parallel</code>,
 and <code class="code">__gnu_pbds</code>.
-</p></li></ul></div><p> A complete list of implementation namespaces (including namespace contents) is available in the generated source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html">documentation</a>.
-</p></div><div class="section" title="namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"/>namespace std</h3></div></div></div><p>
+</p></li></ul></div><p> A complete list of implementation namespaces (including namespace contents) is available in the generated source <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html" target="_top">documentation</a>.
+</p></div><div class="section" title="namespace std"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.std"></a>namespace std</h3></div></div></div><p>
       One standard requirement is that the library components are defined
       in <code class="code">namespace std::</code>. Thus, in order to use these types or
       functions, one must do one of two things:
-</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>put a kind of <span class="emphasis"><em>using-declaration</em></span> in your source
 (either <code class="code">using namespace std;</code> or i.e. <code class="code">using
 std::string;</code>) This approach works well for individual source files, but
 should not be used in a global context, like header files.
@@ -25,7 +25,7 @@ qualified name</em></span> for each library symbol
 (i.e. <code class="code">std::string</code>, <code class="code">std::cout</code>) Always can be
 used, and usually enhanced, by strategic use of typedefs. (In the
 cases where the qualified verbiage becomes unwieldy.)
-         </p></li></ul></div></div><div class="section" title="Using Namespace Composition"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"/>Using Namespace Composition</h3></div></div></div><p>
+         </p></li></ul></div></div><div class="section" title="Using Namespace Composition"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.comp"></a>Using Namespace Composition</h3></div></div></div><p>
 Best practice in programming suggests sequestering new data or
 functionality in a sanely-named, unique namespace whenever
 possible. This is considered an advantage over dumping everything in
@@ -58,4 +58,4 @@ namespace gtk
          std::string;</code> (depending on whether the system has
        libstdc++ in <code class="code">std::</code> or not).  (ideas from
        Llewelly and Karl Nelson)
-</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><td align="center"><a accesskey="u" href="using.html">Up</a></td><td align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr><tr><td align="left" valign="top">Macros </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Linking</td></tr></table></div></body></html>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_macros.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Macros </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Linking</td></tr></table></div></body></html>
index d724152..ab4b625 100644 (file)
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Chapter 6.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    "/><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    "/><link rel="home" href="../index.html" title="The GNU C++ Library"/><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents"/><link rel="prev" href="bk01pt02ch05s02.html" title="Concept Checking"/><link rel="next" href="pairs.html" title="Pairs"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
+<!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>Chapter 6.  Utilities</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.76.1" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      runtime&#10;    , &#10;      library&#10;    " /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="bk01pt02.html" title="Part II.  Standard Contents" /><link rel="prev" href="bk01pt02ch05s02.html" title="Concept Checking" /><link rel="next" href="pairs.html" title="Pairs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
   Utilities
   
-</th></tr><tr><td align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><th width="60%" align="center">Part II. 
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><th width="60%" align="center">Part II. 
     Standard Contents
-  </th><td align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr/></div><div class="chapter" title="Chapter 6.  Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"/>Chapter 6. 
+  </th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6.  Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6. 
   Utilities
-  <a id="id484854" class="indexterm"/>
-</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id485345">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#id485374">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#id485485">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id486484">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#id486672">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#id486733">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#id486854">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#id499306">Examples</a></span></dt><dt><span class="section"><a href="memory.html#id499336">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title"><a id="std.util.functors"/>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone.  Many people
+  <a id="idp13835728" class="indexterm"></a>
+</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#allocator.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#allocator.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp13894640">Interface Design</a></span></dt><dt><span class="section"><a href="memory.html#idp13898192">Selecting Default Allocation Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp13911488">Disabling Memory Caching</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><span class="section"><a href="memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><span class="section"><a href="memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#auto_ptr.limitations">Limitations</a></span></dt><dt><span class="section"><a href="memory.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#shared_ptr.req">Requirements</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><span class="section"><a href="memory.html#shared_ptr.impl">Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15484560">Class Hierarchy</a></span></dt><dt><span class="section"><a href="memory.html#idp15507072">Thread Safety</a></span></dt><dt><span class="section"><a href="memory.html#idp15514368">Selecting Lock Policy</a></span></dt><dt><span class="section"><a href="memory.html#idp15528992">Related functions and classes</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.using">Use</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#idp15545344">Examples</a></span></dt><dt><span class="section"><a href="memory.html#idp15548928">Unresolved Issues</a></span></dt></dl></dd><dt><span class="section"><a href="memory.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone.  Many people
       get slightly the wrong idea.  In the interest of not reinventing
       the wheel, we will refer you to the introduction to the functor
       concept written by SGI as part of their STL, in
-      <a class="link" href="http://www.sgi.com/tech/stl/functors.html">their
+      <a class="link" href="http://www.sgi.com/tech/stl/functors.html" target="_top">their
       http://www.sgi.com/tech/stl/functors.html</a>.
-   </p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><td align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr><tr><td align="left" valign="top">Concept Checking </td><td align="center"><a accesskey="h" href="../index.html">Home</a></td><td align="right" valign="top"> Pairs</td></tr></table></div></body></html>
+   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt02ch05s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concept Checking </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Pairs</td></tr></table></div></body></html>
index 6dc7413..3fb5fa8 100644 (file)
@@ -54,7 +54,7 @@
   virtual functions, etc. These details are defined as the compiler
   Application Binary Interface, or ABI. The GNU C++ compiler uses an
   industry-standard C++ ABI starting with version 3. Details can be
-  found in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.codesourcery.com/public/cxx-abi/abi.html">ABI
+  found in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://mentorembedded.github.com/cxx-abi/abi.html">ABI
   specification</link>.
 </para>
 
@@ -271,6 +271,7 @@ compatible.
     <listitem><para>GCC 4.5.0: libstdc++.so.6.0.14</para></listitem>
     <listitem><para>GCC 4.6.0: libstdc++.so.6.0.15</para></listitem>
     <listitem><para>GCC 4.6.1: libstdc++.so.6.0.16</para></listitem>
+    <listitem><para>GCC 4.7.0: libstdc++.so.6.0.17</para></listitem>
     </itemizedlist>
     <para>
       Note 1: Error should be libstdc++.so.3.0.3.
@@ -332,6 +333,7 @@ compatible.
     <listitem><para>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</para></listitem>
     <listitem><para>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</para></listitem>
     <listitem><para>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</para></listitem>
+    <listitem><para>GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6</para></listitem>
     </itemizedlist>
     </listitem>
 
@@ -449,13 +451,19 @@ compatible.
     <listitem><para>GCC 4.4.4: 20100429</para></listitem>
     <listitem><para>GCC 4.4.5: 20101001</para></listitem>
     <listitem><para>GCC 4.4.6: 20110416</para></listitem>
+    <listitem><para>GCC 4.4.7: 20120313</para></listitem>
     <listitem><para>GCC 4.5.0: 20100414</para></listitem>
     <listitem><para>GCC 4.5.1: 20100731</para></listitem>
     <listitem><para>GCC 4.5.2: 20101216</para></listitem>
     <listitem><para>GCC 4.5.3: 20110428</para></listitem>
+    <listitem><para>GCC 4.5.4: 20120702</para></listitem>
     <listitem><para>GCC 4.6.0: 20110325</para></listitem>
     <listitem><para>GCC 4.6.1: 20110627</para></listitem>
     <listitem><para>GCC 4.6.2: 20111026</para></listitem>
+    <listitem><para>GCC 4.6.3: 20120301</para></listitem>
+    <listitem><para>GCC 4.7.0: 20120322</para></listitem>
+    <listitem><para>GCC 4.7.1: 20120614</para></listitem>
+    <listitem><para>GCC 4.7.2: 20120920</para></listitem>
     </itemizedlist>
     <para/>
     </listitem>
@@ -729,7 +737,7 @@ class that would otherwise have implicit versions. This will change
 the way the compiler deals with this class in by-value return
 statements or parameters: instead of passing instances of this
 class in registers, the compiler will be forced to use memory. See the
-section on <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.codesourcery.com/public/cxx-abi/abi.html#calls">Function
+section on <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://mentorembedded.github.com/cxx-abi/abi.html#calls">Function
 Calling Conventions and APIs</link>
  of the C++ ABI documentation for further details.
 </para></listitem>
@@ -1087,7 +1095,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
     <biblioentry xml:id="biblio.cxxabi">
       <title>
        <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.codesourcery.com/public/cxx-abi">
+             xlink:href="http://www.codesourcery.com/cxx-abi/">
          C++ ABI Summary
        </link>
       </title>
index 55dc808..978ba0b 100644 (file)
   <biblioentry>
       <title>
        <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.drdobbs.com/cpp/184403759">
+             xlink:href="http://www.drdobbs.com/the-standard-librarian-what-are-allocato/184403759">
       The Standard Librarian: What Are Allocators Good For?
        </link>
       </title>
index d060f45..d3486e1 100644 (file)
@@ -72,7 +72,7 @@
       <listitem>
        <para>
          Peruse
-         the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/prep/standards">GNU
+         the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/prep/standards/">GNU
          Coding Standards</link>, and chuckle when you hit the part
          about <quote>Using Languages Other Than C</quote>.
        </para>
index daac8c0..dde7272 100644 (file)
@@ -8,7 +8,13 @@
       C++
     </keyword>
     <keyword>
-      BUILD_HACKING
+      build
+    </keyword>
+    <keyword>
+      configure
+    </keyword>
+    <keyword>
+      hacking
     </keyword>
     <keyword>
       version
   </para>
 </section>
 
-<section xml:id="build_hacking.map"><info><title>Overview: What Comes from Where</title></info>
+<section xml:id="build_hacking.overview">
+<info><title>Overview</title></info>
+
+<section xml:id="build_hacking.overview.basic">
+<info><title>General Process</title></info>
+
+<para>
+  The configure process begins the act of building libstdc++, and is
+  started via:
+</para>
+
+<screen>
+<computeroutput>
+configure
+</computeroutput>
+</screen>
+
+<para>
+The <filename>configure</filename> file is a script generated (via
+<command>autoconf</command>) from the file
+<filename>configure.ac</filename>.
+</para>
+
+
+<para>
+  After the configure process is complete, 
+</para>
+
+<screen>
+<computeroutput>
+make all
+</computeroutput>
+</screen>
+
+<para>
+in the build directory starts the build process. The <literal>all</literal> target comes from the <filename>Makefile</filename> file, which is  generated via <command>configure</command> from the <filename>Makefile.in</filename> file, which is in turn generated (via
+<command>automake</command>) from the file
+<filename>Makefile.am</filename>.
+</para>
+
+</section>
+
+
+<section xml:id="build_hacking.overview.map"><info><title>What Comes from Where</title></info>
 
 
   <figure>
   </figure>
 
   <para>
-    Regenerate all generated files by using the command sequence
-    <code>"autoreconf"</code> at the top level of the libstdc++ source
-    directory. The following will also work, but is much more complex:
-    <code>"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
-    autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
-    numbers may be absent entirely or otherwise vary depending on
-    <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">the
-    current requirements</link> and your vendor's choice of
-    installation names.
+    Regenerate all generated files by using the command 
+    <code>autoreconf</code> at the top level of the libstdc++ source
+    directory.
   </para>
 </section>
 
-<section xml:id="build_hacking.scripts"><info><title>Storing Information in non-AC files (like configure.host)</title></info>
+</section> <!-- overview -->
+
+
+<section xml:id="build_hacking.configure">
+<info><title>Configure</title></info>
+
+<section xml:id="build_hacking.configure.scripts"><info><title>Storing Information in non-AC files (like configure.host)</title></info>
 
 
   <para>
 </para>
 </section>
 
-<section xml:id="build_hacking.conventions"><info><title>Coding and Commenting Conventions</title></info>
+<section xml:id="build_hacking.configure.conventions"><info><title>Coding and Commenting Conventions</title></info>
 
 
   <para>
   </para>
 </section>
 
-<section xml:id="build_hacking.acinclude"><info><title>The acinclude.m4 layout</title></info>
+<section xml:id="build_hacking.configure.acinclude"><info><title>The acinclude.m4 layout</title></info>
 
   <para>
     The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
 
 </section>
 
-<section xml:id="build_hacking.enable"><info><title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title></info>
+<section xml:id="build_hacking.configure.enable"><info><title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title></info>
 
 
   <para>
-    All the GLIBCXX_ENABLE_FOO macros use a common helper,
-    GLIBCXX_ENABLE.  (You don't have to use it, but it's easy.)  The
-    helper does two things for us:
+    All the <literal>GLIBCXX_ENABLE_FOO</literal> macros use a common
+    helper, <literal>GLIBCXX_ENABLE</literal>.  (You don't have to use
+    it, but it's easy.)  The helper does two things for us:
   </para>
 
 <orderedlist>
  <listitem>
    <para>
-     Builds the call to the AC_ARG_ENABLE macro, with --help text
+     Builds the call to the <literal>AC_ARG_ENABLE</literal> macro, with --help text
      properly quoted and aligned.  (Death to changequote!)
    </para>
  </listitem>
    <para>
      Checks the result against a list of allowed possibilities, and
      signals a fatal error if there's no match.  This means that the
-     rest of the GLIBCXX_ENABLE_FOO macro doesn't need to test for
+     rest of the <literal>GLIBCXX_ENABLE_FOO</literal> macro doesn't need to test for
      strange arguments, nor do we need to protect against
      empty/whitespace strings with the <code>"x$foo" = "xbar"</code>
      idiom.
      not pass --enable/--disable.  It should be one of the permitted
      values passed later.  Examples: <code>[yes]</code>, or
      <code>[bar]</code>, or <code>[$1]</code> (which passes the
-     argument given to the GLIBCXX_ENABLE_FOO macro as the
-     default).
+     argument given to the <literal>GLIBCXX_ENABLE_FOO</literal> macro
+     as the default).
    </para>
    <para>
      For cases where we need to probe for particular models of things,
      it is useful to have an undocumented "auto" value here (see
-     GLIBCXX_ENABLE_CLOCALE for an example).
+     <literal>GLIBCXX_ENABLE_CLOCALE</literal> for an example).
    </para>
  </listitem>
  <listitem>
 </para>
 
 </section>
+</section> <!-- configure -->
+
+<section xml:id="build_hacking.make"><info><title>Make</title></info>
+
+  <para>
+    The build process has to make all of object files needed for
+    static or shared libraries, but first it has to generate some
+    include files. The general order is as follows:
+  </para>
+
+<orderedlist>
+ <listitem>
+   <para>
+     make include files, make pre-compiled headers
+   </para>
+ </listitem>
+ <listitem>
+   <para>
+     make libsupc++
+   </para>
+   <para>
+     Generates a libtool convenience library,
+     <filename>libsupc++convenience</filename> with language-support
+     routines. Also generates a freestanding static library,
+     <filename>libsupc++.a</filename>.
+   </para>
+ </listitem>
+ <listitem>
+   <para>
+     make src
+   </para>
+   <para>
+     Generates two convenience libraries, one for C++98 and one for
+     C++11, various compability files for shared and static
+     libraries, and then collects all the generated bits and creates
+     the final libstdc++ libraries.
+  </para>
+<orderedlist>
+ <listitem>
+   <para>
+     make src/c++98
+   </para>
+   <para>
+     Generates a libtool convenience library,
+     <filename>libc++98convenience</filename> with language-support
+     routines. Uses the <literal>-std=gnu++98</literal> dialect.
+   </para>
+ </listitem>
+ <listitem>
+   <para>
+     make src/c++11
+   </para>
+   <para>
+     Generates a libtool convenience library,
+     <filename>libc++11convenience</filename> with language-support
+     routines. Uses the <literal>-std=gnu++11</literal> dialect.
+   </para>
+ </listitem>
+ <listitem>
+   <para>
+     make src
+   </para>
+   <para>
+     Generates needed compatibility objects for shared and static
+     libraries. Shared-only code is seggregated at compile-time via
+     the macro <literal>_GLIBCXX_SHARED</literal>.
+   </para>
+
+   <para>
+     Then, collects all the generated convenience libraries, adds in
+     any required compatibility objects, and creates the final shared
+     and static libraries: <filename>libstdc++.so</filename> and
+     <filename>libstdc++.a</filename>.
+   </para>
+
+ </listitem>
+</orderedlist>
+ </listitem>
+</orderedlist>
+
+</section> <!-- make -->
 
 </section>
index 7ee2abf..de13976 100644 (file)
   xlink:href="http://valgrind.org/docs/manual/hg-manual.html"> 
   Helgrind</link>, and
   <link xmlns:xlink="http://www.w3.org/1999/xlink" 
-  xlink:href="http://code.google.com/p/data-race-test"> 
+  xlink:href="http://code.google.com/p/data-race-test/"> 
   ThreadSanitizer</link>.
 </para>
 
index 89b2c31..442cd12 100644 (file)
@@ -859,7 +859,7 @@ test02()
   supports debugging for programs using libstdc++. The existing
   implementations include:</para>
 <itemizedlist>
-  <listitem><para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</link>:
+  <listitem><para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</link>:
   SafeSTL was the original debugging version of the Standard Template
   Library (STL), implemented by Cay S. Horstmann on top of the
   Hewlett-Packard STL. Though it inspired much work in this area, it
index e74f2b7..59f8445 100644 (file)
            in the following directories:
          </para>
          <para>
-           <filename class="directory">
-             doc/libstdc++/libstdc++-api.html
-           </filename>
+           <filename>doc/libstdc++/libstdc++-api.html</filename>
          </para>
          <para>
-           <filename class="directory">
-             doc/libstdc++/libstdc++-manual.html
-           </filename>
+           <filename>doc/libstdc++/libstdc++-manual.html</filename>
          </para>
        </listitem>
       </varlistentry>
 
     </section>
 
+ <section xml:id="doxygen.debug">
+   <info><title>Debugging Generation</title></info>
+   
+       <para>
+         Sometimes, mis-configuration of the pre-requisite tools can
+         lead to errors when attempting to build the
+         documentation. Here are some of the obvious errors, and ways
+         to fix some common issues that may appear quite cryptic.
+       </para>
+       
+       <para>
+         First, if using a rule like <code>make pdf</code>, try to
+         narrow down the scope of the error to either docbook
+         (<code>make doc-pdf-docbook</code>) or doxygen (<code>make
+         doc-pdf-doxygen</code>).
+       </para>
+       <para>
+         Working on the doxygen path only, closely examine the
+         contents of the following build directory:
+         <filename>build/target/libstdc++-v3/doc/doxygen/latex</filename>.
+         Pay attention to three files enclosed within, annotated as follows.
+       </para>
+<itemizedlist>
+
+<listitem>
+  <para>
+   <emphasis>refman.tex</emphasis>
+  </para>
+
+  <para>
+    The actual latex file, or partial latex file. This is generated
+    via <command>doxygen</command>, and is the LaTeX version of the
+    Doxygen XML file <filename>libstdc++-api.xml</filename>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <filename>libstdc++-api.xml</filename> is causing it.
+  </para>
+</listitem>
+
+<listitem>
+  <para>
+   <emphasis>refman.out</emphasis>
+  </para>
+
+  <para>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <filename>refman.tex</filename> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <filename>refman.tex</filename> that is
+    incorrect, or will have clues at the end of the file with the dump
+    of the memory usage of LaTeX.
+  </para>
+</listitem>
+</itemizedlist>
+
+       <para>
+         If the error at hand is not obvious after examination, a
+         fall-back strategy is to start commenting out the doxygen
+         input sources, which can be found in
+         <filename>doc/doxygen/user.cfg.in</filename>, look for the
+         <literal>INPUT</literal> tag. Start by commenting out whole
+         directories of header files, until the offending header is
+         identified. Then, read the latex log files to try and find
+         surround text, and look for that in the offending header.
+       </para>
+
+ </section>
+
     <section xml:id="doxygen.markup"><info><title>Markup</title></info>
       
 
 
       <para>
        Some commentary to accompany
-       the first list in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
-       Documentation Blocks</link> section of
-       the Doxygen manual:
+       the first list in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html">Special
+       Documentation Blocks</link> section of the Doxygen manual:
       </para>
 
       <orderedlist inheritnum="ignore" continuation="restarts">
@@ -742,6 +807,95 @@ make <literal>XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</literal>
 
       </section>
 
+    <section xml:id="docbook.debug">
+       <info><title>Debugging Generation</title></info>
+
+       <para>
+         Sometimes, mis-configuration of the pre-requisite tools can
+         lead to errors when attempting to build the
+         documentation. Here are some of the obvious errors, and ways
+         to fix some common issues that may appear quite cryptic.
+       </para>
+       
+       <para>
+         First, if using a rule like <code>make pdf</code>, try to
+         narrow down the scope of the error to either docbook
+         (<code>make doc-pdf-docbook</code>) or doxygen (<code>make
+         doc-pdf-doxygen</code>).
+       </para>
+
+       <para>
+         Working on the docbook path only, closely examine the
+         contents of the following build directory:
+         <filename>build/target/libstdc++-v3/doc/docbook/latex</filename>.
+         Pay attention to three files enclosed within, annotated as follows.
+       </para>
+
+<itemizedlist>
+
+<listitem>
+  <para>
+   <emphasis>spine.tex</emphasis>
+  </para>
+
+  <para>
+    The actual latex file, or partial latex file. This is generated
+    via <command>dblatex</command>, and is the LaTeX version of the
+    DocBook XML file <filename>spine.xml</filename>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <filename>spine.xml</filename> is causing it.
+  </para>
+</listitem>
+
+<listitem>
+  <para>
+   <emphasis>spine.out</emphasis>
+  </para>
+
+  <para>
+    A log of the conversion from the XML form to the LaTeX form. This
+    is a linear list, from the beginning of the
+    <filename>spine.xml</filename> file: the last entry of this file
+    should be the end of the DocBook file. If it is truncated, then
+    you know that the last entry is the last part of the XML source
+    file that is valid. The error is after this point.
+  </para>
+</listitem>
+
+
+<listitem>
+  <para>
+   <emphasis>spine.log</emphasis>
+  </para>
+
+  <para>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <filename>spine.tex</filename> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <filename>spine.tex</filename> that is
+    incorrect.
+  </para>
+</listitem>
+
+</itemizedlist>
+
+       <para>
+         If the error at hand is not obvious after examination, or if one
+         encounters the inscruitable <quote>Incomplete
+         \ifmmode</quote> error, a fall-back strategy is to start
+         commenting out parts of the XML document (regardless of what
+         this does to over-all document validity). Start by
+         commenting out each of the largest parts of the
+         <filename>spine.xml</filename> file, section by section,
+         until the offending section is identified.
+       </para>
+
+
+    </section>
+
     <section xml:id="docbook.validation"><info><title>Editing and Validation</title></info>
 
       <para>
index 4dea4b3..ff96ee2 100644 (file)
@@ -545,7 +545,7 @@ void test01()
   <biblioentry>
       <title>
        <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://java.sun.com/reference/api/index.html">
+             xlink:href="http://www.oracle.com/technetwork/java/api/index.html">
        API Specifications, Java Platform
        </link>
       </title>
index 11fad5e..c57fbb0 100644 (file)
            <mediaobject>
              <imageobject>
                <imagedata align="center" format="PNG" scale="100"
-                          fileref="../images/pbds_priority_queue_tag_hierarchy.png"/>
+                 fileref="../images/pbds_priority_queue_tag_hierarchy.png"/>
              </imageobject>
              <textobject>
                <phrase>Priority-Queue Data-Structure Tags.</phrase>
   <!-- S05: Reference/Acknowledgments -->
   <section xml:id="pbds.ack">
     <info><title>Acknowledgments</title></info>
-    <?dbhtml filename="policy_data_structures_biblio.html"?>
+    <?dbhtml filename="policy_data_structures_ack.html"?>
 
     <para>
       Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
     </para>
 
     <para>
-      This library was partially written at
-      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.haifa.il.ibm.com/">IBM's Haifa Research Labs</link>.
+      This library was partially written at IBM's Haifa Research Labs.
       It is based heavily on policy-based design and uses many useful
       techniques from Modern C++ Design: Generic Programming and Design
       Patterns Applied by Andrei Alexandrescu.
     include tries.</para>
   </section>
 
-  <!-- S06: Biblio -->
-  <bibliography xml:id="pbds.biblio">
-    <info>
-      <title>
-       Bibliography
-      </title>
-    </info>
-    <?dbhtml filename="policy_data_structures_biblio.html"?>
-
-    <!-- 01 -->
-    <biblioentry xml:id="biblio.abrahams97exception">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
-         STL Exception Handling Contract
-       </link>
-      </title>
-      <date>1997</date>
-
-      <author>
-       <personname>
-         <firstname>
-           Dave
-         </firstname>
-         <surname>
-           Abrahams
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         ISO SC22/WG21
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 02 -->
-    <biblioentry xml:id="biblio.alexandrescu01modern">
-      <title>
-       Modern C++ Design: Generic Programming and Design Patterns Applied
-      </title>
-      <date>
-       2001
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Andrei
-         </firstname>
-         <surname>
-           Alexandrescu
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 03 -->
-    <biblioentry xml:id="biblio.andrew04mtf">
-      <title>
-       MTF, Bit, and COMB: A Guide to Deterministic and Randomized
-       Algorithms for the List Update Problem
-      </title>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             K.
-           </firstname>
-           <surname>
-             Andrew
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Gleich
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-    </biblioentry>
-
-    <!-- 04 -->
-    <biblioentry xml:id="biblio.austern00noset">
-      <title>
-       Why You Shouldn't Use set - and What You Should Use Instead
-      </title>
-      <date>
-       April, 2000
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Matthew
-         </firstname>
-         <surname>
-           Austern
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         C++ Report
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 05 -->
-    <biblioentry xml:id="biblio.austern01htprop">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
-         A Proposal to Add Hashtables to the Standard Library
-       </link>
-      </title>
-      <date>
-       2001
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Matthew
-         </firstname>
-         <surname>
-           Austern
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         ISO SC22/WG21
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 06 -->
-    <biblioentry xml:id="biblio.austern98segmentedit">
-      <title>
-       Segmented iterators and hierarchical algorithms
-      </title>
-      <date>
-       April, 1998
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Matthew
-         </firstname>
-         <surname>
-           Austern
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Generic Programming
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 07 -->
-    <biblioentry xml:id="biblio.dawestimer">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="www.boost.org/doc/libs/release/libs/timer/">
-         Boost Timer Library
-       </link>
-      </title>
-
-      <author>
-       <personname>
-         <firstname>
-           Beeman
-         </firstname>
-         <surname>
-           Dawes
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Boost
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 08 -->
-    <biblioentry xml:id="biblio.clearypool">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="www.boost.org/doc/libs/release/libs/pool/">
-         Boost Pool Library
-       </link>
-      </title>
-
-      <author>
-       <personname>
-         <firstname>
-           Stephen
-         </firstname>
-         <surname>
-           Cleary
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Boost
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 09 -->
-    <biblioentry xml:id="biblio.maddocktraits">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="www.boost.org/doc/libs/release/libs/type_traits/">
-         Boost Type Traits Library
-       </link>
-      </title>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             Maddock
-           </firstname>
-           <surname>
-             John
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             Stephen
-           </firstname>
-           <surname>
-             Cleary
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         Boost
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 10 -->
-    <biblioentry xml:id="biblio.brodal96priority">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://portal.acm.org/citation.cfm?id=313883">
-         Worst-case efficient priority queues
-       </link>
-      </title>
-
-      <author>
-       <personname>
-         <firstname>
-           Gerth
-         </firstname>
-         <surname>
-           Stolting Brodal
-         </surname>
-       </personname>
-      </author>
-
-    </biblioentry>
-
-    <!-- 11 -->
-    <biblioentry xml:id="biblio.bulkamayheweff">
-      <title>
-       Efficient C++ Programming Techniques
-      </title>
-      <date>
-       1997
-      </date>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Bulka
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Mayhew
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 12 -->
-    <biblioentry xml:id="biblio.clrs2001">
-      <title>
-       Introduction to Algorithms, 2nd edition
-      </title>
-      <date>
-       2001
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             T. H.
-           </firstname>
-           <surname>
-             Cormen
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             C. E.
-           </firstname>
-           <surname>
-             Leiserson
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             R. L.
-           </firstname>
-           <surname>
-             Rivest
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             C.
-           </firstname>
-           <surname>
-             Stein
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         MIT Press
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 13 -->
-    <biblioentry xml:id="biblio.dubhashi98neg">
-      <title>
-       Balls and bins: A study in negative dependence
-      </title>
-      <date>
-       1998
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Dubashi
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Ranjan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         Random Structures and Algorithms 13
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 14 -->
-    <biblioentry xml:id="biblio.fagin79extendible">
-      <title>
-       Extendible hashing - a fast access method for dynamic files
-      </title>
-      <date>
-       1979
-      </date>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             R.
-           </firstname>
-           <surname>
-             Fagin
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             J.
-           </firstname>
-           <surname>
-             Nievergelt
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             N.
-           </firstname>
-           <surname>
-             Pippenger
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             H. R.
-           </firstname>
-           <surname>
-             Strong
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         ACM Trans. Database Syst. 4
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-
-    <!-- 15 -->
-    <biblioentry xml:id="biblio.filliatre2000ptset">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
-         Ptset: Sets of integers implemented as Patricia trees
-       </link>
-      </title>
-
-      <date>
-       2000
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Jean-Christophe
-         </firstname>
-         <surname>
-           Filliatre
-         </surname>
-       </personname>
-      </author>
-    </biblioentry>
-
-
-
-    <!-- 16 -->
-    <biblioentry xml:id="biblio.fredman86pairing">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
-         The pairing heap: a new form of self-adjusting heap
-       </link>
-      </title>
-      <date>
-       1986
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             M. L.
-           </firstname>
-           <surname>
-             Fredman
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             R.
-           </firstname>
-           <surname>
-             Sedgewick
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             D. D.
-           </firstname>
-           <surname>
-             Sleator
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             R. E.
-           </firstname>
-           <surname>
-             Tarjan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-    </biblioentry>
-
-
-    <!-- 17 -->
-    <biblioentry xml:id="biblio.gof">
-      <title>
-       Design Patterns - Elements of Reusable Object-Oriented Software
-      </title>
-      <date>
-       1995
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             E.
-           </firstname>
-           <surname>
-             Gamma
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             R.
-           </firstname>
-           <surname>
-             Helm
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             R.
-           </firstname>
-           <surname>
-             Johnson
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             J.
-           </firstname>
-           <surname>
-             Vlissides
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 18 -->
-    <biblioentry xml:id="biblio.garg86order">
-      <title>
-       Order-preserving key transformations
-      </title>
-      <date>
-       1986
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             A. K.
-           </firstname>
-           <surname>
-             Garg
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             C. C.
-           </firstname>
-           <surname>
-             Gotlieb
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         Trans. Database Syst. 11
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 19 -->
-    <biblioentry xml:id="biblio.hyslop02making">
-      <title>
-       Making a real hash of things
-      </title>
-      <date>
-       May 2002
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             J.
-           </firstname>
-           <surname>
-             Hyslop
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             Herb
-           </firstname>
-           <surname>
-             Sutter
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         C++ Report
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 20 -->
-    <biblioentry xml:id="biblio.jossutis01stl">
-      <title>
-       The C++ Standard Library - A Tutorial and Reference
-      </title>
-      <date>
-       2001
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           N. M.
-         </firstname>
-         <surname>
-           Jossutis
-         </surname>
-       </personname>
-      </author>
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 21 -->
-    <biblioentry xml:id="biblio.kt99fat_heaps">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
-         New Heap Data Structures
-       </link>
-      </title>
-      <date>
-       1999
-      </date>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             Haim
-           </firstname>
-           <surname>
-             Kaplan
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             Robert E.
-           </firstname>
-           <surname>
-             Tarjan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-    </biblioentry>
-
-
-    <!-- 22 -->
-    <biblioentry xml:id="biblio.kleft00sets">
-      <title>
-       Are Set Iterators Mutable or Immutable?
-      </title>
-      <date>
-       October 2000
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             Angelika
-           </firstname>
-           <surname>
-             Langer
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             Klaus
-           </firstname>
-           <surname>
-             Kleft
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         C/C++ Users Jornal
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 23 -->
-    <biblioentry xml:id="biblio.knuth98sorting">
-      <title>
-       The Art of Computer Programming - Sorting and Searching
-      </title>
-      <date>
-       1998
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           D. E.
-         </firstname>
-         <surname>
-           Knuth
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 24 -->
-    <biblioentry xml:id="biblio.liskov98data">
-      <title>
-       Data abstraction and hierarchy
-      </title>
-      <date>
-       May 1998
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           B.
-         </firstname>
-         <surname>
-           Liskov
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         SIGPLAN Notices 23
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 25 -->
-    <biblioentry xml:id="biblio.litwin80lh">
-      <title>
-       Linear hashing: A new tool for file and table addressing
-      </title>
-      <date>
-       June 1980
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           W.
-         </firstname>
-         <surname>
-           Litwin
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Proceedings of International Conference on Very Large Data Bases
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 26 -->
-    <biblioentry xml:id="biblio.maverik_lowerbounds">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
-         Deamortization - Part 2: Binomial Heaps
-       </link>
-      </title>
-      <date>
-       2005
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Maverik
-         </firstname>
-         <surname>
-           Woo
-         </surname>
-       </personname>
-      </author>
-    </biblioentry>
-
-    <!-- 27 -->
-    <biblioentry xml:id="biblio.meyers96more">
-      <title>
-       More Effective C++: 35 New Ways to Improve Your Programs and Designs
-      </title>
-      <date>
-       1996
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Scott
-         </firstname>
-         <surname>
-           Meyers
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 28 -->
-    <biblioentry xml:id="biblio.meyers00nonmember">
-      <title>
-       How Non-Member Functions Improve Encapsulation
-      </title>
-      <date>
-       2000
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Scott
-         </firstname>
-         <surname>
-           Meyers
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         C/C++ Users Journal
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 29 -->
-    <biblioentry xml:id="biblio.meyers01stl">
-      <title>
-       Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
-      </title>
-      <date>
-       2001
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Scott
-         </firstname>
-         <surname>
-           Meyers
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 30 -->
-    <biblioentry xml:id="biblio.meyers02both">
-      <title>
-       Class Template, Member Template - or Both?
-      </title>
-      <date>
-       2003
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Scott
-         </firstname>
-         <surname>
-           Meyers
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         C/C++ Users Journal
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 31 -->
-    <biblioentry xml:id="biblio.motwani95random">
-      <title>
-       Randomized Algorithms
-      </title>
-      <date>
-       2003
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             R.
-           </firstname>
-           <surname>
-             Motwani
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             P.
-           </firstname>
-           <surname>
-             Raghavan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         Cambridge University Press
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 32 -->
-    <biblioentry xml:id="biblio.mscom">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.microsoft.com/com">
-         COM: Component Model Object Technologies
-       </link>
-      </title>
-      <publisher>
-       <publishername>
-         Microsoft
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 33 -->
-    <biblioentry xml:id="biblio.musser95rationale">
-      <title>
-       Rationale for Adding Hash Tables to the C++ Standard Template Library
-      </title>
-      <date>
-       1995
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           David R.
-         </firstname>
-         <surname>
-           Musser
-         </surname>
-       </personname>
-      </author>
-
-    </biblioentry>
-
-    <!-- 35 -->
-    <biblioentry xml:id="biblio.musser96stltutorial">
-      <title>
-       STL Tutorial and Reference Guide
-      </title>
-      <date>
-       1996
-      </date>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             David R.
-           </firstname>
-           <surname>
-             Musser
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             A.
-           </firstname>
-           <surname>
-             Saini
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-
-    </biblioentry>
-
-
-    <!-- 36 -->
-    <biblioentry xml:id="biblio.nelson96stlpq">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
-       </link>
-      </title>
-      <date>
-       January 1996
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Mark
-         </firstname>
-         <surname>
-           Nelson
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Dr. Dobbs Journal
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 37 -->
-    <biblioentry xml:id="biblio.okasaki98mereable">
-      <title>
-       Fast mergeable integer maps
-      </title>
-      <date>
-       September 1998
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             C.
-           </firstname>
-           <surname>
-             Okasaki
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             A.
-           </firstname>
-           <surname>
-             Gill
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         In Workshop on ML
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 38 -->
-    <biblioentry xml:id="biblio.sgi_stl">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.sgi.com/tech/stl">
-         Standard Template Library Programmer's Guide
-       </link>
-      </title>
-      <author>
-       <personname>
-         <firstname>
-           Matt
-         </firstname>
-         <surname>
-           Austern
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         SGI
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 39 -->
-    <biblioentry xml:id="biblio.select_man">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select">
-         select
-       </link>
-      </title>
-    </biblioentry>
-
-
-    <!-- 40 -->
-    <biblioentry xml:id="biblio.sleator84amortized">
-      <title>
-       Amortized Efficiency of List Update Problems
-      </title>
-      <date>
-       1984
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             D. D.
-           </firstname>
-           <surname>
-             Sleator
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             R. E.
-           </firstname>
-           <surname>
-             Tarjan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         ACM Symposium on Theory of Computing
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 41 -->
-    <biblioentry xml:id="biblio.sleator85self">
-      <title>
-       Self-Adjusting Binary Search Trees
-      </title>
-      <date>
-       1985
-      </date>
-
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             D. D.
-           </firstname>
-           <surname>
-             Sleator
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             R. E.
-           </firstname>
-           <surname>
-             Tarjan
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-
-      <publisher>
-       <publishername>
-         ACM Symposium on Theory of Computing
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 42 -->
-    <biblioentry xml:id="biblio.stepanov94standard">
-      <title>
-       The Standard Template Library
-      </title>
-      <date>
-       1984
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             A. A.
-           </firstname>
-           <surname>
-             Stepanov
-           </surname>
-         </personname>
-       </author>
-       <author>
-         <personname>
-           <firstname>
-             M.
-           </firstname>
-           <surname>
-             Lee
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-    </biblioentry>
-
-    <!-- 43 -->
-    <biblioentry xml:id="biblio.stroustrup97cpp">
-      <title>
-       The C++ Programming Langugage
-      </title>
-      <date>
-       1997
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           Bjarne
-         </firstname>
-         <surname>
-           Stroustrup
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 44 -->
-    <biblioentry xml:id="biblio.vandevoorde2002cpptemplates">
-      <title>
-       C++ Templates: The Complete Guide
-      </title>
-      <date>
-       2002
-      </date>
-      <authorgroup>
-       <author>
-         <personname>
-           <firstname>
-             D.
-           </firstname>
-           <surname>
-             Vandevoorde
-           </surname>
-         </personname>
-       </author>
-
-       <author>
-         <personname>
-           <firstname>
-             N. M.
-           </firstname>
-           <surname>
-             Josuttis
-           </surname>
-         </personname>
-       </author>
-      </authorgroup>
-      <publisher>
-       <publishername>
-         Addison-Wesley Publishing Company
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 45 -->
-    <biblioentry xml:id="biblio.wickland96thirty">
-      <title>
-       <link xmlns:xlink="http://www.w3.org/1999/xlink"
-             xlink:href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
-         Thirty Years Among the Dead
-       </link>
-      </title>
-      <date>
-       1996
-      </date>
-
-      <author>
-       <personname>
-         <firstname>
-           C. A.
-         </firstname>
-         <surname>
-           Wickland
-         </surname>
-       </personname>
-      </author>
-
-      <publisher>
-       <publishername>
-         National Psychological Institute
-       </publishername>
-      </publisher>
-    </biblioentry>
-
-
-  </bibliography>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+           href="policy_data_structures_biblio.xml">
+</xi:include>
 
 </chapter>
diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml
new file mode 100644 (file)
index 0000000..49cacf0
--- /dev/null
@@ -0,0 +1,1452 @@
+
+<!-- Policy Based Data Structures: Biblio -->
+<bibliography xmlns="http://docbook.org/ns/docbook" version="5.0"
+             xml:id="pbds.biblio" xreflabel="Bibliography">
+    <info><title>Bibliography</title></info>
+
+    <!-- 01 -->
+    <biblioentry xml:id="biblio.abrahams97exception">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
+         STL Exception Handling Contract
+       </link>
+      </title>
+      <date>1997</date>
+
+      <author>
+       <personname>
+         <firstname>
+           Dave
+         </firstname>
+         <surname>
+           Abrahams
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         ISO SC22/WG21
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 02 -->
+    <biblioentry xml:id="biblio.alexandrescu01modern">
+      <title>
+       Modern C++ Design: Generic Programming and Design Patterns Applied
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Andrei
+         </firstname>
+         <surname>
+           Alexandrescu
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 03 -->
+    <biblioentry xml:id="biblio.andrew04mtf">
+      <title>
+       MTF, Bit, and COMB: A Guide to Deterministic and Randomized
+       Algorithms for the List Update Problem
+      </title>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             K.
+           </firstname>
+           <surname>
+             Andrew
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Gleich
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 04 -->
+    <biblioentry xml:id="biblio.austern00noset">
+      <title>
+       Why You Shouldn't Use set - and What You Should Use Instead
+      </title>
+      <date>
+       April, 2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C++ Report
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 05 -->
+    <biblioentry xml:id="biblio.austern01htprop">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
+         A Proposal to Add Hashtables to the Standard Library
+       </link>
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         ISO SC22/WG21
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 06 -->
+    <biblioentry xml:id="biblio.austern98segmentedit">
+      <title>
+       Segmented iterators and hierarchical algorithms
+      </title>
+      <date>
+       April, 1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Matthew
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Generic Programming
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 07 -->
+    <biblioentry xml:id="biblio.dawestimer">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/timer/">
+         Boost Timer Library
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Beeman
+         </firstname>
+         <surname>
+           Dawes
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 08 -->
+    <biblioentry xml:id="biblio.clearypool">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/pool/">
+         Boost Pool Library
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Stephen
+         </firstname>
+         <surname>
+           Cleary
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 09 -->
+    <biblioentry xml:id="biblio.maddocktraits">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="www.boost.org/doc/libs/release/libs/type_traits/">
+         Boost Type Traits Library
+       </link>
+      </title>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Maddock
+           </firstname>
+           <surname>
+             John
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Stephen
+           </firstname>
+           <surname>
+             Cleary
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Boost
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 10 -->
+    <biblioentry xml:id="biblio.brodal96priority">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="https://dl.acm.org/citation.cfm?id=313883">
+         Worst-case efficient priority queues
+       </link>
+      </title>
+
+      <author>
+       <personname>
+         <firstname>
+           Gerth
+         </firstname>
+         <surname>
+           Stolting Brodal
+         </surname>
+       </personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 11 -->
+    <biblioentry xml:id="biblio.bulkamayheweff">
+      <title>
+       Efficient C++ Programming Techniques
+      </title>
+      <date>
+       1997
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Bulka
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Mayhew
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 12 -->
+    <biblioentry xml:id="biblio.clrs2001">
+      <title>
+       Introduction to Algorithms, 2nd edition
+      </title>
+      <date>
+       2001
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             T. H.
+           </firstname>
+           <surname>
+             Cormen
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             C. E.
+           </firstname>
+           <surname>
+             Leiserson
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. L.
+           </firstname>
+           <surname>
+             Rivest
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             C.
+           </firstname>
+           <surname>
+             Stein
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         MIT Press
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 13 -->
+    <biblioentry xml:id="biblio.dubhashi98neg">
+      <title>
+       Balls and bins: A study in negative dependence
+      </title>
+      <date>
+       1998
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Dubashi
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Ranjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Random Structures and Algorithms 13
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 14 -->
+    <biblioentry xml:id="biblio.fagin79extendible">
+      <title>
+       Extendible hashing - a fast access method for dynamic files
+      </title>
+      <date>
+       1979
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Fagin
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Nievergelt
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             N.
+           </firstname>
+           <surname>
+             Pippenger
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             H. R.
+           </firstname>
+           <surname>
+             Strong
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Trans. Database Syst. 4
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+
+    <!-- 15 -->
+    <biblioentry xml:id="biblio.filliatre2000ptset">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
+         Ptset: Sets of integers implemented as Patricia trees
+       </link>
+      </title>
+
+      <date>
+       2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Jean-Christophe
+         </firstname>
+         <surname>
+           Filliatre
+         </surname>
+       </personname>
+      </author>
+    </biblioentry>
+
+
+
+    <!-- 16 -->
+    <biblioentry xml:id="biblio.fredman86pairing">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
+         The pairing heap: a new form of self-adjusting heap
+       </link>
+      </title>
+      <date>
+       1986
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             M. L.
+           </firstname>
+           <surname>
+             Fredman
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Sedgewick
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 17 -->
+    <biblioentry xml:id="biblio.gof">
+      <title>
+       Design Patterns - Elements of Reusable Object-Oriented Software
+      </title>
+      <date>
+       1995
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             E.
+           </firstname>
+           <surname>
+             Gamma
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Helm
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Johnson
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Vlissides
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 18 -->
+    <biblioentry xml:id="biblio.garg86order">
+      <title>
+       Order-preserving key transformations
+      </title>
+      <date>
+       1986
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             A. K.
+           </firstname>
+           <surname>
+             Garg
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             C. C.
+           </firstname>
+           <surname>
+             Gotlieb
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         Trans. Database Syst. 11
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 19 -->
+    <biblioentry xml:id="biblio.hyslop02making">
+      <title>
+       Making a real hash of things
+      </title>
+      <date>
+       May 2002
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             J.
+           </firstname>
+           <surname>
+             Hyslop
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Herb
+           </firstname>
+           <surname>
+             Sutter
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         C++ Report
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 20 -->
+    <biblioentry xml:id="biblio.jossutis01stl">
+      <title>
+       The C++ Standard Library - A Tutorial and Reference
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           N. M.
+         </firstname>
+         <surname>
+           Jossutis
+         </surname>
+       </personname>
+      </author>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 21 -->
+    <biblioentry xml:id="biblio.kt99fat_heaps">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
+         New Heap Data Structures
+       </link>
+      </title>
+      <date>
+       1999
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Haim
+           </firstname>
+           <surname>
+             Kaplan
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             Robert E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 22 -->
+    <biblioentry xml:id="biblio.kleft00sets">
+      <title>
+       Are Set Iterators Mutable or Immutable?
+      </title>
+      <date>
+       October 2000
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             Angelika
+           </firstname>
+           <surname>
+             Langer
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             Klaus
+           </firstname>
+           <surname>
+             Kleft
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Jornal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 23 -->
+    <biblioentry xml:id="biblio.knuth98sorting">
+      <title>
+       The Art of Computer Programming - Sorting and Searching
+      </title>
+      <date>
+       1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           D. E.
+         </firstname>
+         <surname>
+           Knuth
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 24 -->
+    <biblioentry xml:id="biblio.liskov98data">
+      <title>
+       Data abstraction and hierarchy
+      </title>
+      <date>
+       May 1998
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           B.
+         </firstname>
+         <surname>
+           Liskov
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         SIGPLAN Notices 23
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 25 -->
+    <biblioentry xml:id="biblio.litwin80lh">
+      <title>
+       Linear hashing: A new tool for file and table addressing
+      </title>
+      <date>
+       June 1980
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           W.
+         </firstname>
+         <surname>
+           Litwin
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Proceedings of International Conference on Very Large Data Bases
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 26 -->
+    <biblioentry xml:id="biblio.maverik_lowerbounds">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps/">
+         Deamortization - Part 2: Binomial Heaps
+       </link>
+      </title>
+      <date>
+       2005
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Maverik
+         </firstname>
+         <surname>
+           Woo
+         </surname>
+       </personname>
+      </author>
+    </biblioentry>
+
+    <!-- 27 -->
+    <biblioentry xml:id="biblio.meyers96more">
+      <title>
+       More Effective C++: 35 New Ways to Improve Your Programs and Designs
+      </title>
+      <date>
+       1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 28 -->
+    <biblioentry xml:id="biblio.meyers00nonmember">
+      <title>
+       How Non-Member Functions Improve Encapsulation
+      </title>
+      <date>
+       2000
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 29 -->
+    <biblioentry xml:id="biblio.meyers01stl">
+      <title>
+       Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
+      </title>
+      <date>
+       2001
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 30 -->
+    <biblioentry xml:id="biblio.meyers02both">
+      <title>
+       Class Template, Member Template - or Both?
+      </title>
+      <date>
+       2003
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Scott
+         </firstname>
+         <surname>
+           Meyers
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         C/C++ Users Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 31 -->
+    <biblioentry xml:id="biblio.motwani95random">
+      <title>
+       Randomized Algorithms
+      </title>
+      <date>
+       2003
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             R.
+           </firstname>
+           <surname>
+             Motwani
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             P.
+           </firstname>
+           <surname>
+             Raghavan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Cambridge University Press
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 32 -->
+    <biblioentry xml:id="biblio.mscom">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="https://www.microsoft.com/com/">
+         COM: Component Model Object Technologies
+       </link>
+      </title>
+      <publisher>
+       <publishername>
+         Microsoft
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 33 -->
+    <biblioentry xml:id="biblio.musser95rationale">
+      <title>
+       Rationale for Adding Hash Tables to the C++ Standard Template Library
+      </title>
+      <date>
+       1995
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           David R.
+         </firstname>
+         <surname>
+           Musser
+         </surname>
+       </personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 35 -->
+    <biblioentry xml:id="biblio.musser96stltutorial">
+      <title>
+       STL Tutorial and Reference Guide
+      </title>
+      <date>
+       1996
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             David R.
+           </firstname>
+           <surname>
+             Musser
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             A.
+           </firstname>
+           <surname>
+             Saini
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+
+    </biblioentry>
+
+
+    <!-- 36 -->
+    <biblioentry xml:id="biblio.nelson96stlpq">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://marknelson.us/1996/01/01/priority-queues/">Priority Queues and the STL
+       </link>
+      </title>
+      <date>
+       January 1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Mark
+         </firstname>
+         <surname>
+           Nelson
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Dr. Dobbs Journal
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 37 -->
+    <biblioentry xml:id="biblio.okasaki98mereable">
+      <title>
+       Fast mergeable integer maps
+      </title>
+      <date>
+       September 1998
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             C.
+           </firstname>
+           <surname>
+             Okasaki
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             A.
+           </firstname>
+           <surname>
+             Gill
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         In Workshop on ML
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 38 -->
+    <biblioentry xml:id="biblio.sgi_stl">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://www.sgi.com/tech/stl/">
+         Standard Template Library Programmer's Guide
+       </link>
+      </title>
+      <author>
+       <personname>
+         <firstname>
+           Matt
+         </firstname>
+         <surname>
+           Austern
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         SGI
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 39 -->
+    <biblioentry xml:id="biblio.select_man">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">
+         select
+       </link>
+      </title>
+    </biblioentry>
+
+
+    <!-- 40 -->
+    <biblioentry xml:id="biblio.sleator84amortized">
+      <title>
+       Amortized Efficiency of List Update Problems
+      </title>
+      <date>
+       1984
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Symposium on Theory of Computing
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 41 -->
+    <biblioentry xml:id="biblio.sleator85self">
+      <title>
+       Self-Adjusting Binary Search Trees
+      </title>
+      <date>
+       1985
+      </date>
+
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D. D.
+           </firstname>
+           <surname>
+             Sleator
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             R. E.
+           </firstname>
+           <surname>
+             Tarjan
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+
+      <publisher>
+       <publishername>
+         ACM Symposium on Theory of Computing
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 42 -->
+    <biblioentry xml:id="biblio.stepanov94standard">
+      <title>
+       The Standard Template Library
+      </title>
+      <date>
+       1984
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             A. A.
+           </firstname>
+           <surname>
+             Stepanov
+           </surname>
+         </personname>
+       </author>
+       <author>
+         <personname>
+           <firstname>
+             M.
+           </firstname>
+           <surname>
+             Lee
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 43 -->
+    <biblioentry xml:id="biblio.stroustrup97cpp">
+      <title>
+       The C++ Programming Langugage
+      </title>
+      <date>
+       1997
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           Bjarne
+         </firstname>
+         <surname>
+           Stroustrup
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 44 -->
+    <biblioentry xml:id="biblio.vandevoorde2002cpptemplates">
+      <title>
+       C++ Templates: The Complete Guide
+      </title>
+      <date>
+       2002
+      </date>
+      <authorgroup>
+       <author>
+         <personname>
+           <firstname>
+             D.
+           </firstname>
+           <surname>
+             Vandevoorde
+           </surname>
+         </personname>
+       </author>
+
+       <author>
+         <personname>
+           <firstname>
+             N. M.
+           </firstname>
+           <surname>
+             Josuttis
+           </surname>
+         </personname>
+       </author>
+      </authorgroup>
+      <publisher>
+       <publishername>
+         Addison-Wesley Publishing Company
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 45 -->
+    <biblioentry xml:id="biblio.wickland96thirty">
+      <title>
+       <link xmlns:xlink="http://www.w3.org/1999/xlink"
+             xlink:href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
+         Thirty Years Among the Dead
+       </link>
+      </title>
+      <date>
+       1996
+      </date>
+
+      <author>
+       <personname>
+         <firstname>
+           C. A.
+         </firstname>
+         <surname>
+           Wickland
+         </surname>
+       </personname>
+      </author>
+
+      <publisher>
+       <publishername>
+         National Psychological Institute
+       </publishername>
+      </publisher>
+    </biblioentry>
+
+</bibliography>
index cb4db67..9b841b9 100644 (file)
@@ -1401,7 +1401,7 @@ foo.cc:1: advice: Change "list" to "forward_list".
   </para></listitem>
   <listitem><para><emphasis>Fundamentals:</emphasis>
   See papers:
-  <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
+  <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://dl.acm.org/citation.cfm?doid=1065944.1065981">
   A framework for adaptive algorithm selection in STAPL</link> and
   <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
   Optimizing Sorting with Machine Learning Algorithms</link>.
@@ -1597,7 +1597,7 @@ the allocation sequence or switching to a structure conscious allocator.
   Keep a shadow for each container.  Record iterator dereferences and
   container member accesses.  Issue advice for elements referenced by
   multiple threads.
-  See paper: <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://portal.acm.org/citation.cfm?id=207110.207148">
+  See paper: <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://dl.acm.org/citation.cfm?id=207110.207148">
   The LRPD test: speculative run-time parallelization of loops with
   privatization and reduction parallelization</link>.
   </para></listitem>
index be1aaf6..55aee3c 100644 (file)
@@ -163,7 +163,7 @@ deprecated in C++11 mode.
     
 <para>
 The
-<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
 Safety</link> section of the Boost shared_ptr documentation says "shared_ptr
 objects offer the same level of thread safety as built-in types."
 The implementation must ensure that concurrent updates to separate shared_ptr
index 806f4ec..2d4bc6f 100644 (file)
@@ -19,6 +19,7 @@
     <year>2009</year>
     <year>2010</year>
     <year>2011</year>
+    <year>2012</year>
     <holder>
       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
     </holder>
index 0ed63ea..e26db6f 100644 (file)
@@ -158,10 +158,13 @@ particular release.
       <entry>C library dependency for quick_exit, at_quick_exit</entry>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>18.6</entry>
       <entry>Dynamic memory management</entry>
-      <entry>Y</entry>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_new_handler</code>.
+             <code>set_new_handler</code> is not thread-safe.
+      </entry>
     </row>
     <row>
       <entry>18.7</entry>
@@ -206,10 +209,13 @@ particular release.
       <entry/>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>18.8.3</entry>
       <entry>Abnormal termination</entry>
-      <entry>Y</entry>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_terminate</code>.
+             <code>set_terminate</code> is not thread-safe.
+      </entry>
     </row>
     <row>
       <entry>18.8.4</entry>
@@ -2606,10 +2612,13 @@ particular release.
       <entry/>
     </row>
     <row>
+      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry>D.11</entry>
       <entry>Violating exception-specifications</entry>
-      <entry/>
-      <entry/>
+      <entry>Partial</entry>
+      <entry>Missing <code>get_unexpected</code>.
+             <code>set_unexpected</code> is not thread-safe.
+      </entry>
     </row>
 
   </tbody>
index 2cad15c..241ec9f 100644 (file)
@@ -35,7 +35,8 @@
     several sources, each checking only some containers.</para>
 
     <para>For more details, consult the files in
-    <filename>testsuite/ext/pb_ds/regression</filename>.</para>
+    <filename class="directory">testsuite/ext/pb_ds/regression</filename>.
+    </para>
   </section>
 
   <!-- S02 performance -->
          the number of values inserted.</para>
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/text_find_timing_test.cc
-           </filename>
+           <filename>performance/ext/pb_ds/text_find_timing_test.cc</filename>
          </para>
 
          <para>
            And uses the data file:
-           <filename>
-             filethirty_years_among_the_dead_preproc.txt
-           </filename>
+           <filename>filethirty_years_among_the_dead_preproc.txt</filename>
          </para>
 
          <para>The test checks the effect of different range-hashing
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/random_int_find_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/random_int_find_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/random_int_subscript_find_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/random_int_subscript_find_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/random_int_subscript_insert_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/random_int_subscript_insert_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different range-hashing
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
-           </filename>
+           <filename>performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc</filename>
          </para>
 
 
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/tree_text_insert_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/tree_text_insert_timing.cc</filename>
          </para>
 
 
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/text_find_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/text_find_timing.cc</filename>
          </para>
 
 
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/tree_text_lor_find_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/tree_text_lor_find_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/tree_split_join_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/tree_split_join_timing.cc</filename>
          </para>
 
 
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/tree_order_statistics_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/tree_order_statistics_timing.cc</filename>
          </para>
 
          <para>The test checks the performance difference of policies based
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_find_timing_small.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_find_timing_small.cc</filename>
          </para>
 
          <para>The test checks the find-time scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_find_timing_large.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_find_timing_large.cc</filename>
          </para>
 
          <para>The test checks the find-time scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_insert_timing_small.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_insert_timing_small.cc</filename>
          </para>
 
          <para>The test checks the insert-time scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_insert_timing_large.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_insert_timing_large.cc</filename>
          </para>
 
          <para>The test checks the insert-time scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc</filename>
          </para>
 
          <para>The test checks the memory scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc
-           </filename>
+           <filename>performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc</filename>
          </para>
 
          <para>The test checks the memory scalability of different
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_push_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_push_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_random_int_push_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
          number of values pushed to the container.</para>
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
          the average time as a function of the number of values.</para>
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_join_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_join_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc</filename>
          </para>
 
          <para>The test checks the effect of different underlying data
 
          <para>
            It uses the test file:
-           <filename>
-             performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc
-           </filename>
+           <filename>performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc</filename>
          </para>
 
          <para>The main purpose of this test is to contrast Priority Queue
 
   </section> <!-- performance -->
 
-</section>
\ No newline at end of file
+</section>
diff --git a/libstdc++-v3/doc/xsl/customization.xsl.in b/libstdc++-v3/doc/xsl/customization.xsl.in
new file mode 100644 (file)
index 0000000..9db621c
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version='1.0'?>
+
+<!--
+  Specialization/customization layer for libstdc++.
+  To output both chunked/single page HTML in UTF-8 charset
+
+  XSL_STYLE_DIR is set in acinclude.m4
+
+<xsl:import html="@XSL_STYLE_DIR@/html/docbook.xsl"/>
+-->
+
+<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+<xsl:import href="@XSL_STYLE_DIR@/html/docbook.xsl"/>
+<xsl:output method="html" encoding="UTF-8" indent="no"/>
+</xsl:stylesheet>
index 9344d46..0b6205c 100644 (file)
@@ -160,7 +160,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -208,7 +207,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
index 3b12981..bfa50de 100644 (file)
@@ -1,6 +1,6 @@
 // Allocator traits -*- C++ -*-
 
-// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2011, 2012, 2013 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
@@ -39,6 +39,9 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+  template<typename _Tp>
+    class allocator;
+
   template<typename _Alloc, typename _Tp>
     class __alloctr_rebind_helper
     {
@@ -254,7 +257,8 @@ _GLIBCXX_ALLOC_TR_NESTED_TYPE(propagate_on_container_swap,
 
       template<typename _Tp, typename... _Args>
        static typename
-               enable_if<!__construct_helper<_Tp, _Args...>::value, void>::type
+       enable_if<__and_<__not_<__construct_helper<_Tp, _Args...>>,
+                        is_constructible<_Tp, _Args...>>::value, void>::type
                _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
        { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); }
 
@@ -386,7 +390,8 @@ _GLIBCXX_ALLOC_TR_NESTED_TYPE(propagate_on_container_swap,
        *  arguments @a __args...
       */
       template<typename _Tp, typename... _Args>
-       static void construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
+       static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
+       -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
        { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
 
       /**
@@ -506,6 +511,56 @@ _GLIBCXX_ALLOC_TR_NESTED_TYPE(propagate_on_container_swap,
       __do_alloc_on_swap(__one, __two, __pocs());
     }
 
+  template<typename _Alloc>
+    class __is_copy_insertable_impl
+    {
+      typedef allocator_traits<_Alloc> _Traits;
+
+      template<typename _Up, typename
+              = decltype(_Traits::construct(std::declval<_Alloc&>(),
+                                            std::declval<_Up*>(),
+                                            std::declval<const _Up&>()))>
+       static true_type
+       _M_select(int);
+
+      template<typename _Up>
+       static false_type
+       _M_select(...);
+
+    public:
+      typedef decltype(_M_select<typename _Alloc::value_type>(0)) type;
+    };
+
+  // true if _Alloc::value_type is CopyInsertable into containers using _Alloc
+  template<typename _Alloc>
+    struct __is_copy_insertable
+    : __is_copy_insertable_impl<_Alloc>::type
+    { };
+
+  // std::allocator<_Tp> just requires CopyConstructible
+  template<typename _Tp>
+    struct __is_copy_insertable<allocator<_Tp>>
+    : is_copy_constructible<_Tp>
+    { };
+
+  // Used to allow copy construction of unordered containers
+  template<bool> struct __allow_copy_cons { };
+
+  // Used to delete copy constructor of unordered containers
+  template<>
+    struct __allow_copy_cons<false>
+    {
+      __allow_copy_cons() = default;
+      __allow_copy_cons(const __allow_copy_cons&) = delete;
+      __allow_copy_cons(__allow_copy_cons&&) = default;
+      __allow_copy_cons& operator=(const __allow_copy_cons&) = default;
+      __allow_copy_cons& operator=(__allow_copy_cons&&) = default;
+    };
+
+  template<typename _Alloc>
+    using __check_copy_constructible
+      = __allow_copy_cons<__is_copy_insertable<_Alloc>::value>;
+
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
index 9d5f4eb..191db7b 100644 (file)
@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   inline void
   atomic_signal_fence(memory_order __m) noexcept
-  { __atomic_thread_fence(__m); }
+  { __atomic_signal_fence(__m); }
 
   /// kill_dependency
   template<typename _Tp>
@@ -212,6 +212,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename _Tp>
     struct atomic<_Tp*>;
 
+    /* The target's "set" value for test-and-set may not be exactly 1.  */
+#if __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1
+    typedef bool __atomic_flag_data_type;
+#else
+    typedef unsigned char __atomic_flag_data_type;
+#endif
 
   /**
    *  @brief Base type for atomic_flag.
@@ -227,12 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   struct __atomic_flag_base
   {
-    /* The target's "set" value for test-and-set may not be exactly 1.  */
-#if __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1
-    bool _M_i;
-#else
-    unsigned char _M_i;
-#endif
+    __atomic_flag_data_type _M_i;
   };
 
   _GLIBCXX_END_EXTERN_C
@@ -250,7 +251,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     // Conversion to ATOMIC_FLAG_INIT.
     constexpr atomic_flag(bool __i) noexcept
-      : __atomic_flag_base({ __i ? __GCC_ATOMIC_TEST_AND_SET_TRUEVAL : 0 })
+      : __atomic_flag_base{ _S_init(__i) }
     { }
 
     bool
@@ -284,6 +285,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       __atomic_clear (&_M_i, __m);
     }
+
+  private:
+    static constexpr __atomic_flag_data_type
+    _S_init(bool __i)
+    { return __i ? __GCC_ATOMIC_TEST_AND_SET_TRUEVAL : 0; }
   };
 
 
index 929f0bb..c7a8be0 100644 (file)
@@ -1,6 +1,6 @@
 // hashtable.h header -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -99,43 +99,44 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    * - size_type       _M_bucket_count
    * - size_type       _M_element_count
    *
-   * with _Bucket being _Hash_node* and _Hash_node constaining:
+   * with _Bucket being _Hash_node* and _Hash_node containing:
    * - _Hash_node*   _M_next
    * - Tp            _M_value
-   * - size_t        _M_code if cache_hash_code is true
+   * - size_t        _M_hash_code if cache_hash_code is true
    *
-   * In terms of Standard containers the hastable is like the aggregation of:
+   * In terms of Standard containers the hashtable is like the aggregation of:
    * - std::forward_list<_Node> containing the elements
    * - std::vector<std::forward_list<_Node>::iterator> representing the buckets
    *
-   * The non-empty buckets contain the node before the first bucket node. This
-   * design allow to implement something like a std::forward_list::insert_after
-   * on container insertion and std::forward_list::erase_after on container
-   * erase calls. _M_before_begin is equivalent to
-   * std::foward_list::before_begin. Empty buckets are containing nullptr.
-   * Note that one of the non-empty bucket contains &_M_before_begin which is
-   * not a derefenrenceable node so the node pointers in buckets shall never be
-   * derefenrenced, only its next node can be.
+   * The non-empty buckets contain the node before the first node in the
+   * bucket. This design makes it possible to implement something like a
+   * std::forward_list::insert_after on container insertion and
+   * std::forward_list::erase_after on container erase calls.
+   * _M_before_begin is equivalent to std::foward_list::before_begin.
+   * Empty buckets contain nullptr.
+   * Note that one of the non-empty buckets contains &_M_before_begin which is
+   * not a dereferenceable node so the node pointer in a bucket shall never be
+   * dereferenced, only its next node can be.
    * 
-   * Walk through a bucket nodes require a check on the hash code to see if the
-   * node is still in the bucket. Such a design impose a quite efficient hash
-   * functor and is one of the reasons it is highly advise to set
-   * __cache_hash_code to true.
+   * Walking through a bucket's nodes requires a check on the hash code to see
+   * if each node is still in the bucket. Such a design assumes a quite
+   * efficient hash functor and is one of the reasons it is
+   * highly advisable to set __cache_hash_code to true.
    *
    * The container iterators are simply built from nodes. This way incrementing
    * the iterator is perfectly efficient independent of how many empty buckets
    * there are in the container.
    *
-   * On insert we compute element hash code and thanks to it find the bucket
-   * index. If the element must be inserted on an empty bucket we add it at the
-   * beginning of the singly linked list and make the bucket point to
+   * On insert we compute the element's hash code and use it to it find the
+   * bucket index. If the element must be inserted in an empty bucket we add
+   * it at the beginning of the singly linked list and make the bucket point to
    * _M_before_begin. The bucket that used to point to _M_before_begin, if any,
    * is updated to point to its new before begin node.
    *
-   * On erase, the simple iterator design impose to use the hash functor to get
-   * the index of the bucket to update. For this reason, when __cache_hash_code
-   * is set to false, there is a static assertion that the hash functor cannot
-   * throw.
+   * On erase, the simple iterator design requires using the hash functor to
+   * get the index of the bucket to update. For this reason, when
+   * __cache_hash_code is set to false, the hash functor must not throw
+   * and this is enforced by a statied assertion.
    */
 
   template<typename _Key, typename _Value, typename _Allocator,
@@ -982,7 +983,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          else if (__result)
            // All equivalent values are next to each other, if we found a not
            // equivalent value after an equivalent one it means that we won't
-           // find anymore an equivalent value.
+           // find any more equivalent values.
            break;
          if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
            break;
@@ -1104,7 +1105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       else
        {
          // The bucket is empty, the new node is inserted at the beginning of
-         // the singly linked list and the bucket will contain _M_before_begin
+         // the singly-linked list and the bucket will contain _M_before_begin
          // pointer.
          __new_node->_M_nxt = _M_before_begin._M_nxt;
          _M_before_begin._M_nxt = __new_node;
@@ -1252,7 +1253,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
            else
              // The inserted node has no equivalent in the hashtable. We must
              // insert the new node at the beginning of the bucket to preserve
-             // equivalent elements relative positions.
+             // equivalent elements' relative positions.
              _M_insert_bucket_begin(__bkt, __new_node);
            ++_M_element_count;
            return iterator(__new_node);
@@ -1434,7 +1435,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       std::size_t __bkt = _M_bucket_index(__n);
 
       // Look for previous node to unlink it from the erased one, this is why
-      // we need buckets to contain the before begin to make this research fast.
+      // we need buckets to contain the before begin to make this search fast.
       _BaseNode* __prev_n = _M_get_previous_node(__bkt, __n);
       if (__n == _M_bucket_begin(__bkt))
        _M_remove_bucket_begin(__bkt, __n->_M_next(),
@@ -1597,6 +1598,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          // level.
          _M_rehash_policy._M_prev_resize = 0;
        }
+      else
+       // No rehash, restore previous state to keep a consistent state.
+       _M_rehash_policy._M_reset(__saved_state);
     }
 
   template<typename _Key, typename _Value,
@@ -1634,7 +1638,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       _Bucket* __new_buckets = _M_allocate_buckets(__n);
       _Node* __p = _M_begin();
       _M_before_begin._M_nxt = nullptr;
-      std::size_t __bbegin_bkt;
+      std::size_t __bbegin_bkt = 0;
       while (__p)
        {
          _Node* __next = __p->_M_next();
@@ -1675,8 +1679,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       _Node* __p = _M_begin();
       _M_before_begin._M_nxt = nullptr;
-      std::size_t __bbegin_bkt;
-      std::size_t __prev_bkt;
+      std::size_t __bbegin_bkt = 0;
+      std::size_t __prev_bkt = 0;
       _Node* __prev_p = nullptr;
       bool __check_bucket = false;
 
@@ -1704,8 +1708,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
            {
              if (__check_bucket)
                {
-                 // Check if we shall update the next bucket because of insertions
-                 // into __prev_bkt bucket.
+                 // Check if we shall update the next bucket because of
+                 // insertions into __prev_bkt bucket.
                  if (__prev_p->_M_nxt)
                    {
                      std::size_t __next_bkt
index 631128a..2359e93 100644 (file)
@@ -59,8 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       return __distance_fw(__first, __last, _Tag());
     }
 
-  // Helper type used to detect when the hash functor is noexcept qualified or
-  // not
+  // Helper type used to detect whether the hash functor is noexcept.
   template <typename _Key, typename _Hash>
     struct __is_noexcept_hash : std::integral_constant<bool,
        noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
index aa4ce3e..1e8caa0 100644 (file)
@@ -1,6 +1,6 @@
 // random number generation -*- C++ -*-
 
-// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2009-2012 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
@@ -1719,28 +1719,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-        { return this->operator()(__urng, this->param()); }
+        { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng,
                   const param_type& __p);
 
+      /**
+       * @brief Return true if two uniform integer distributions have
+       *        the same parameters.
+       */
+      friend bool
+      operator==(const uniform_int_distribution& __d1,
+                const uniform_int_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
+    private:
       param_type _M_param;
     };
 
   /**
    * @brief Return true if two uniform integer distributions have
-   *        the same parameters.
-   */
-  template<typename _IntType>
-    inline bool
-    operator==(const std::uniform_int_distribution<_IntType>& __d1,
-              const std::uniform_int_distribution<_IntType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
-   * @brief Return true if two uniform integer distributions have
    *        different parameters.
    */
   template<typename _IntType>
@@ -1894,7 +1894,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-        { return this->operator()(__urng, this->param()); }
+        { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -1906,22 +1906,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          return (__aurng() * (__p.b() - __p.a())) + __p.a();
        }
 
+      /**
+       * @brief Return true if two uniform real distributions have
+       *        the same parameters.
+       */
+      friend bool
+      operator==(const uniform_real_distribution& __d1,
+                const uniform_real_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
   /**
    * @brief Return true if two uniform real distributions have
-   *        the same parameters.
-   */
-  template<typename _IntType>
-    inline bool
-    operator==(const std::uniform_real_distribution<_IntType>& __d1,
-              const std::uniform_real_distribution<_IntType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
-   * @brief Return true if two uniform real distributions have
    *        different parameters.
    */
   template<typename _IntType>
@@ -2088,7 +2087,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -2261,7 +2260,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -2277,7 +2276,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const lognormal_distribution& __d1,
                 const lognormal_distribution& __d2)
-      { return (__d1.param() == __d2.param()
+      { return (__d1._M_param == __d2._M_param
                && __d1._M_nd == __d2._M_nd); }
 
       /**
@@ -2454,7 +2453,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -2469,7 +2468,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const gamma_distribution& __d1,
                 const gamma_distribution& __d2)
-      { return (__d1.param() == __d2.param()
+      { return (__d1._M_param == __d2._M_param
                && __d1._M_nd == __d2._M_nd); }
 
       /**
@@ -2633,7 +2632,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const chi_squared_distribution& __d1,
                 const chi_squared_distribution& __d2)
-      { return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; }
+      { return __d1._M_param == __d2._M_param && __d1._M_gd == __d2._M_gd; }
 
       /**
        * @brief Inserts a %chi_squared_distribution random number distribution
@@ -2788,29 +2787,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng,
                   const param_type& __p);
 
+      /**
+       * @brief Return true if two Cauchy distributions have
+       *        the same parameters.
+       */
+      friend bool
+      operator==(const cauchy_distribution& __d1,
+                const cauchy_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
   /**
    * @brief Return true if two Cauchy distributions have
-   *        the same parameters.
-   */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::cauchy_distribution<_RealType>& __d1,
-              const std::cauchy_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
-   * @brief Return true if two Cauchy distributions have
    *        different parameters.
    */
   template<typename _RealType>
@@ -2985,7 +2983,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const fisher_f_distribution& __d1,
                 const fisher_f_distribution& __d2)
-      { return (__d1.param() == __d2.param()
+      { return (__d1._M_param == __d2._M_param
                && __d1._M_gd_x == __d2._M_gd_x
                && __d1._M_gd_y == __d2._M_gd_y); }
 
@@ -3158,7 +3156,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const student_t_distribution& __d1,
                 const student_t_distribution& __d2)
-      { return (__d1.param() == __d2.param()
+      { return (__d1._M_param == __d2._M_param
                && __d1._M_nd == __d2._M_nd && __d1._M_gd == __d2._M_gd); }
 
       /**
@@ -3318,7 +3316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     template<typename _UniformRandomNumberGenerator>
       result_type
       operator()(_UniformRandomNumberGenerator& __urng)
-      { return this->operator()(__urng, this->param()); }
+      { return this->operator()(__urng, _M_param); }
 
     template<typename _UniformRandomNumberGenerator>
       result_type
@@ -3333,21 +3331,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        return false;
       }
 
+    /**
+     * @brief Return true if two Bernoulli distributions have
+     *        the same parameters.
+     */
+    friend bool
+    operator==(const bernoulli_distribution& __d1,
+              const bernoulli_distribution& __d2)
+    { return __d1._M_param == __d2._M_param; }
+
   private:
     param_type _M_param;
   };
 
   /**
    * @brief Return true if two Bernoulli distributions have
-   *        the same parameters.
-   */
-  inline bool
-  operator==(const std::bernoulli_distribution& __d1,
-            const std::bernoulli_distribution& __d2)
-  { return __d1.param() == __d2.param(); }
-
-  /**
-   * @brief Return true if two Bernoulli distributions have
    *        different parameters.
    */
   inline bool
@@ -3518,7 +3516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -3534,9 +3532,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
         operator==(const binomial_distribution& __d1,
                   const binomial_distribution& __d2)
 #ifdef _GLIBCXX_USE_C99_MATH_TR1
-       { return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; }
+       { return __d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd; }
 #else
-        { return __d1.param() == __d2.param(); }
+        { return __d1._M_param == __d2._M_param; }
 #endif
 
       /**
@@ -3701,29 +3699,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng,
                   const param_type& __p);
 
+      /**
+       * @brief Return true if two geometric distributions have
+       *        the same parameters.
+       */
+      friend bool
+      operator==(const geometric_distribution& __d1,
+                const geometric_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
   /**
    * @brief Return true if two geometric distributions have
-   *        the same parameters.
-   */
-  template<typename _IntType>
-    inline bool
-    operator==(const std::geometric_distribution<_IntType>& __d1,
-              const std::geometric_distribution<_IntType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
-   * @brief Return true if two geometric distributions have
    *        different parameters.
    */
   template<typename _IntType>
@@ -3889,7 +3886,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       friend bool
       operator==(const negative_binomial_distribution& __d1,
                 const negative_binomial_distribution& __d2)
-      { return __d1.param() == __d2.param() && __d1._M_gd == __d2._M_gd; }
+      { return __d1._M_param == __d2._M_param && __d1._M_gd == __d2._M_gd; }
 
       /**
        * @brief Inserts a %negative_binomial_distribution random
@@ -4057,7 +4054,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -4073,9 +4070,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       operator==(const poisson_distribution& __d1,
                 const poisson_distribution& __d2)
 #ifdef _GLIBCXX_USE_C99_MATH_TR1
-      { return __d1.param() == __d2.param() && __d1._M_nd == __d2._M_nd; }
+      { return __d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd; }
 #else
-      { return __d1.param() == __d2.param(); }
+      { return __d1._M_param == __d2._M_param; }
 #endif
 
       /**
@@ -4238,7 +4235,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-        { return this->operator()(__urng, this->param()); }
+        { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -4247,24 +4244,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        {
          __detail::_Adaptor<_UniformRandomNumberGenerator, result_type>
            __aurng(__urng);
-         return -std::log(__aurng()) / __p.lambda();
+         return -std::log(result_type(1) - __aurng()) / __p.lambda();
        }
 
+      /**
+       * @brief Return true if two exponential distributions have the same
+       *        parameters.
+       */
+      friend bool
+      operator==(const exponential_distribution& __d1,
+                const exponential_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
   /**
-   * @brief Return true if two exponential distributions have the same
-   *        parameters.
-   */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::exponential_distribution<_RealType>& __d1,
-              const std::exponential_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
    * @brief Return true if two exponential distributions have different
    *        parameters.
    */
@@ -4418,28 +4414,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng,
                   const param_type& __p);
 
+      /**
+       * @brief Return true if two Weibull distributions have the same
+       *        parameters.
+       */
+      friend bool
+      operator==(const weibull_distribution& __d1,
+                const weibull_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
    /**
-    * @brief Return true if two Weibull distributions have the same
-    *        parameters.
-    */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::weibull_distribution<_RealType>& __d1,
-              const std::weibull_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-   /**
     * @brief Return true if two Weibull distributions have different
     *        parameters.
     */
@@ -4593,28 +4588,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng,
                   const param_type& __p);
 
+      /**
+       * @brief Return true if two extreme value distributions have the same
+       *        parameters.
+       */
+      friend bool
+      operator==(const extreme_value_distribution& __d1,
+                const extreme_value_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
     private:
       param_type _M_param;
     };
 
   /**
-    * @brief Return true if two extreme value distributions have the same
-    *        parameters.
-   */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::extreme_value_distribution<_RealType>& __d1,
-              const std::extreme_value_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
     * @brief Return true if two extreme value distributions have different
     *        parameters.
    */
@@ -4794,7 +4788,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -4802,6 +4796,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                   const param_type& __p);
 
       /**
+       * @brief Return true if two discrete distributions have the same
+       *        parameters.
+       */
+      friend bool
+      operator==(const discrete_distribution& __d1,
+                const discrete_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
+      /**
        * @brief Inserts a %discrete_distribution random number distribution
        * @p __x into the output stream @p __os.
        *
@@ -4837,16 +4840,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
   /**
-    * @brief Return true if two discrete distributions have the same
-    *        parameters.
-    */
-  template<typename _IntType>
-    inline bool
-    operator==(const std::discrete_distribution<_IntType>& __d1,
-              const std::discrete_distribution<_IntType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
     * @brief Return true if two discrete distributions have different
     *        parameters.
     */
@@ -5032,7 +5025,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -5040,6 +5033,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                   const param_type& __p);
 
       /**
+       * @brief Return true if two piecewise constant distributions have the
+       *        same parameters.
+       */
+      friend bool
+      operator==(const piecewise_constant_distribution& __d1,
+                const piecewise_constant_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
+      /**
        * @brief Inserts a %piecewise_constan_distribution random
        *        number distribution @p __x into the output stream @p __os.
        *
@@ -5076,16 +5078,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
   /**
-    * @brief Return true if two piecewise constant distributions have the
-    *        same parameters.
-   */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::piecewise_constant_distribution<_RealType>& __d1,
-              const std::piecewise_constant_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
     * @brief Return true if two piecewise constant distributions have 
     *        different parameters.
    */
@@ -5274,7 +5266,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _UniformRandomNumberGenerator>
        result_type
        operator()(_UniformRandomNumberGenerator& __urng)
-       { return this->operator()(__urng, this->param()); }
+       { return this->operator()(__urng, _M_param); }
 
       template<typename _UniformRandomNumberGenerator>
        result_type
@@ -5282,6 +5274,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                   const param_type& __p);
 
       /**
+       * @brief Return true if two piecewise linear distributions have the
+       *        same parameters.
+       */
+      friend bool
+      operator==(const piecewise_linear_distribution& __d1,
+                const piecewise_linear_distribution& __d2)
+      { return __d1._M_param == __d2._M_param; }
+
+      /**
        * @brief Inserts a %piecewise_linear_distribution random number
        *        distribution @p __x into the output stream @p __os.
        *
@@ -5318,16 +5319,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
   /**
-    * @brief Return true if two piecewise linear distributions have the
-    *        same parameters.
-   */
-  template<typename _RealType>
-    inline bool
-    operator==(const std::piecewise_linear_distribution<_RealType>& __d1,
-              const std::piecewise_linear_distribution<_RealType>& __d2)
-    { return __d1.param() == __d2.param(); }
-
-  /**
     * @brief Return true if two piecewise linear distributions have
     *        different parameters.
    */
index 5b90e5a..a182dfb 100644 (file)
@@ -1,6 +1,6 @@
 // random number generation (out of line) -*- C++ -*-
 
-// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2009-2012 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
@@ -401,6 +401,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          }
         if (__zero)
           _M_x[0] = __detail::_Shift<_UIntType, __w - 1>::__value;
+       _M_p = state_size;
       }
 
   template<typename _UIntType, size_t __w,
@@ -1053,7 +1054,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
        double __cand;
        do
-         __cand = std::floor(std::log(__aurng()) / __param._M_log_1_p);
+         __cand = std::floor(std::log(1.0 - __aurng()) / __param._M_log_1_p);
        while (__cand >= __thr);
 
        return result_type(__cand + __naf);
@@ -1258,7 +1259,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
            do
              {
                const double __u = __c * __aurng();
-               const double __e = -std::log(__aurng());
+               const double __e = -std::log(1.0 - __aurng());
 
                double __w = 0.0;
 
@@ -1290,7 +1291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                  __x = 1;
                else
                  {
-                   const double __v = -std::log(__aurng());
+                   const double __v = -std::log(1.0 - __aurng());
                    const double __y = __param._M_d
                                     + __v * __2cx / __param._M_d;
                    __x = std::ceil(__y);
@@ -1434,7 +1435,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
        do
          {
-           const double __e = -std::log(__aurng());
+           const double __e = -std::log(1.0 - __aurng());
            __sum += __e / (__t - __x);
            __x += 1;
          }
@@ -1502,7 +1503,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                    __reject = __y >= __param._M_d1;
                    if (!__reject)
                      {
-                       const double __e = -std::log(__aurng());
+                       const double __e = -std::log(1.0 - __aurng());
                        __x = std::floor(__y);
                        __v = -__e - __n * __n / 2 + __param._M_c;
                      }
@@ -1514,15 +1515,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                    __reject = __y >= __param._M_d2;
                    if (!__reject)
                      {
-                       const double __e = -std::log(__aurng());
+                       const double __e = -std::log(1.0 - __aurng());
                        __x = std::floor(-__y);
                        __v = -__e - __n * __n / 2;
                      }
                  }
                else if (__u <= __a123)
                  {
-                   const double __e1 = -std::log(__aurng());
-                   const double __e2 = -std::log(__aurng());
+                   const double __e1 = -std::log(1.0 - __aurng());
+                   const double __e2 = -std::log(1.0 - __aurng());
 
                    const double __y = __param._M_d1
                                     + 2 * __s1s * __e1 / __param._M_d1;
@@ -1533,8 +1534,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                  }
                else
                  {
-                   const double __e1 = -std::log(__aurng());
-                   const double __e2 = -std::log(__aurng());
+                   const double __e1 = -std::log(1.0 - __aurng());
+                   const double __e2 = -std::log(1.0 - __aurng());
 
                    const double __y = __param._M_d2
                                     + 2 * __s2s * __e1 / __param._M_d2;
@@ -2136,7 +2137,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       {
        __detail::_Adaptor<_UniformRandomNumberGenerator, result_type>
          __aurng(__urng);
-       return __p.b() * std::pow(-std::log(__aurng()),
+       return __p.b() * std::pow(-std::log(result_type(1) - __aurng()),
                                  result_type(1) / __p.a());
       }
 
@@ -2194,7 +2195,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       {
        __detail::_Adaptor<_UniformRandomNumberGenerator, result_type>
          __aurng(__urng);
-       return __p.a() - __p.b() * std::log(-std::log(__aurng()));
+       return __p.a() - __p.b() * std::log(-std::log(result_type(1)
+                                                     - __aurng()));
       }
 
   template<typename _RealType, typename _CharT, typename _Traits>
index 39449f1..0d60eef 100644 (file)
@@ -621,7 +621,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        _S_create_from_up(std::unique_ptr<_Tp, _Del>&& __r,
          typename std::enable_if<!std::is_reference<_Del>::value>::type* = 0)
        {
-         return new _Sp_counted_deleter<_Tp*, _Del, std::allocator<_Tp>,
+         return new _Sp_counted_deleter<_Tp*, _Del, std::allocator<void>,
            _Lp>(__r.get(), __r.get_deleter());
        }
 
@@ -632,7 +632,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        {
          typedef typename std::remove_reference<_Del>::type _Del1;
          typedef std::reference_wrapper<_Del1> _Del2;
-         return new _Sp_counted_deleter<_Tp*, _Del2, std::allocator<_Tp>,
+         return new _Sp_counted_deleter<_Tp*, _Del2, std::allocator<void>,
            _Lp>(__r.get(), std::ref(__r.get_deleter()));
        }
 
index 95f5657..37e570f 100644 (file)
@@ -1,6 +1,6 @@
 // unordered_map implementation -*- C++ -*-
 
-// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011, 2013 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
@@ -50,7 +50,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
                        _Hash, __detail::_Mod_range_hashing,
                        __detail::_Default_ranged_hash,
                        __detail::_Prime_rehash_policy,
-                       __cache_hash_code, false, true>
+                       __cache_hash_code, false, true>,
+      __check_copy_constructible<_Alloc>
     {
       typedef _Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc,
                         std::_Select1st<std::pair<const _Key, _Tp> >, _Pred,
@@ -123,7 +124,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
                        _Hash, __detail::_Mod_range_hashing,
                        __detail::_Default_ranged_hash,
                        __detail::_Prime_rehash_policy,
-                       __cache_hash_code, false, false>
+                       __cache_hash_code, false, false>,
+      __check_copy_constructible<_Alloc>
     {
       typedef _Hashtable<_Key, std::pair<const _Key, _Tp>,
                         _Alloc,
index 3d5361d..d65c79c 100644 (file)
@@ -1,6 +1,6 @@
 // unordered_set implementation -*- C++ -*-
 
-// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011, 2013 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
@@ -50,7 +50,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
                        _Hash, __detail::_Mod_range_hashing,
                        __detail::_Default_ranged_hash,
                        __detail::_Prime_rehash_policy,
-                       __cache_hash_code, true, true>
+                       __cache_hash_code, true, true>,
+      __check_copy_constructible<_Alloc>
     {
       typedef _Hashtable<_Value, _Value, _Alloc,
                         std::_Identity<_Value>, _Pred,
@@ -134,7 +135,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
                        _Hash, __detail::_Mod_range_hashing,
                        __detail::_Default_ranged_hash,
                        __detail::_Prime_rehash_policy,
-                       __cache_hash_code, true, false>
+                       __cache_hash_code, true, false>,
+      __check_copy_constructible<_Alloc>
     {
       typedef _Hashtable<_Value, _Value, _Alloc,
                         std::_Identity<_Value>, _Pred,
index d9c3b65..efa82ee 100644 (file)
@@ -174,6 +174,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
                  _M_deallocate(this->_M_impl._M_start,
                                this->_M_impl._M_end_of_storage
                                - this->_M_impl._M_start);
+                 this->_M_impl._M_start = nullptr;
+                 this->_M_impl._M_finish = nullptr;
+                 this->_M_impl._M_end_of_storage = nullptr;
                }
              std::__alloc_on_copy(_M_get_Tp_allocator(),
                                   __x._M_get_Tp_allocator());
index 1861b86..4c562af 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging unordered_map/unordered_multimap implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -97,14 +97,12 @@ namespace __debug
                __gnu_debug::__base(__last), __n,
                __hf, __eql, __a) { }
 
-      unordered_map(const unordered_map& __x) 
-      : _Base(__x) { }
+      unordered_map(const unordered_map& __x) = default;
 
       unordered_map(const _Base& __x)
       : _Base(__x) { }
 
-      unordered_map(unordered_map&& __x)
-      : _Base(std::move(__x)) { }
+      unordered_map(unordered_map&& __x) = default;
 
       unordered_map(initializer_list<value_type> __l,
                    size_type __n = 0,
@@ -511,14 +509,12 @@ namespace __debug
                __gnu_debug::__base(__last), __n,
                __hf, __eql, __a) { }
 
-      unordered_multimap(const unordered_multimap& __x) 
-      : _Base(__x) { }
+      unordered_multimap(const unordered_multimap& __x) = default;
 
       unordered_multimap(const _Base& __x) 
       : _Base(__x) { }
 
-      unordered_multimap(unordered_multimap&& __x)
-      : _Base(std::move(__x)) { }
+      unordered_multimap(unordered_multimap&& __x) = default;
 
       unordered_multimap(initializer_list<value_type> __l,
                         size_type __n = 0,
index 7323184..b91a178 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging unordered_set/unordered_multiset implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -97,14 +97,12 @@ namespace __debug
                __gnu_debug::__base(__last), __n,
                __hf, __eql, __a) { }
 
-      unordered_set(const unordered_set& __x) 
-      : _Base(__x) { }
+      unordered_set(const unordered_set& __x) = default;
 
       unordered_set(const _Base& __x) 
       : _Base(__x) { }
 
-      unordered_set(unordered_set&& __x)
-      : _Base(std::move(__x)) { }
+      unordered_set(unordered_set&& __x) = default;
 
       unordered_set(initializer_list<value_type> __l,
                    size_type __n = 0,
@@ -506,14 +504,12 @@ namespace __debug
                __gnu_debug::__base(__last), __n,
                __hf, __eql, __a) { }
 
-      unordered_multiset(const unordered_multiset& __x) 
-      : _Base(__x) { }
+      unordered_multiset(const unordered_multiset& __x) = default;
 
       unordered_multiset(const _Base& __x) 
       : _Base(__x) { }
 
-      unordered_multiset(unordered_multiset&& __x)
-      : _Base(std::move(__x)) { }
+      unordered_multiset(unordered_multiset&& __x) = default;
 
       unordered_multiset(initializer_list<value_type> __l,
                         size_type __n = 0,
index 4bfe617..e2c35c9 100644 (file)
@@ -32,6 +32,7 @@
 #pragma GCC system_header
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <bits/move.h>
 # include <bits/alloc_traits.h>
 #else
 # include <bits/allocator.h>  // for __alloc_swap
index 8b33740..302846a 100644 (file)
@@ -1,6 +1,6 @@
 // Custom pointer adapter and sample storage policies
 
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2012 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
@@ -43,6 +43,7 @@
 #include <ext/cast.h>
 #include <ext/type_traits.h>
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <bits/move.h>
 # include <bits/ptr_traits.h>
 #endif
 
index f85ab99..b017530 100644 (file)
@@ -1,6 +1,6 @@
 // String Conversions -*- C++ -*-
 
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2012 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
 
 #pragma GCC system_header
 
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
+# include <bits/c++0x_warning.h>
+#else
+
 #include <bits/c++config.h>
 #include <ext/numeric_traits.h>
 #include <bits/functexcept.h>
@@ -98,4 +102,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
+#endif // C++11
+
 #endif // _STRING_CONVERSIONS_H
index 733429d..91f733c 100644 (file)
@@ -93,7 +93,7 @@ namespace __profile
        return *this;
       }
 
-      __iterator_tracker&
+      __iterator_tracker
       operator++(int)
       {
        _M_ds->_M_profile_iterate();
@@ -110,7 +110,7 @@ namespace __profile
        return *this;
       }
 
-      __iterator_tracker&
+      __iterator_tracker
       operator--(int)
       {
        _M_ds->_M_profile_iterate(1);
index 31673e9..a2f8058 100644 (file)
@@ -69,6 +69,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     operator=(bool __i) noexcept
     { return _M_base.operator=(__i); }
 
+    bool
+    operator=(bool __i) volatile noexcept
+    { return _M_base.operator=(__i); }
+
     operator bool() const noexcept
     { return _M_base.load(); }
 
index c0e3331..8ef7acb 100644 (file)
@@ -1,8 +1,6 @@
 // The template and inlines for the -*- C++ -*- complex number classes.
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010, 2011
-// Free Software Foundation, Inc.
+// Copyright (C) 1997-2013 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
@@ -976,7 +974,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     pow(const complex<_Tp>& __z, int __n)
     {
       return __n < 0
-        ? complex<_Tp>(1) / std::__complex_pow_unsigned(__z, -__n)
+       ? complex<_Tp>(1) / std::__complex_pow_unsigned(__z, -(unsigned)__n)
         : std::__complex_pow_unsigned(__z, __n);
     }
 #endif
index 0a85e1a..60c72ba 100644 (file)
@@ -107,8 +107,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        // DR 887 - Sync unknown clock to known clock.
        const typename _Clock::time_point __c_entry = _Clock::now();
        const __clock_t::time_point __s_entry = __clock_t::now();
-       const chrono::nanoseconds __delta = __atime - __c_entry;
-       const __clock_t::time_point __s_atime = __s_entry + __delta;
+       const auto __delta = __atime - __c_entry;
+       const auto __s_atime = __s_entry + __delta;
 
        return __wait_until_impl(__lock, __s_atime);
       }
index 4be1bc7..e2cdd65 100644 (file)
@@ -1,7 +1,7 @@
 // <functional> -*- C++ -*-
 
 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-// 2011 Free Software Foundation, Inc.
+// 2011, 2012, 2013 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
@@ -245,7 +245,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
            >::type
     __invoke(_Functor& __f, _Args&&... __args)
     {
-      return mem_fn(__f)(std::forward<_Args>(__args)...);
+      return std::mem_fn(__f)(std::forward<_Args>(__args)...);
     }
 
   // To pick up function references (that will become function pointers)
@@ -1709,12 +1709,12 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
   template<typename _Member, typename _Class>
     inline _Mem_fn<_Member _Class::*>
     __callable_functor(_Member _Class::* &__p)
-    { return mem_fn(__p); }
+    { return std::mem_fn(__p); }
 
   template<typename _Member, typename _Class>
     inline _Mem_fn<_Member _Class::*>
     __callable_functor(_Member _Class::* const &__p)
-    { return mem_fn(__p); }
+    { return std::mem_fn(__p); }
 
   template<typename _Signature>
     class function;
@@ -1872,8 +1872,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
        static void
        _M_init_functor(_Any_data& __functor, reference_wrapper<_Functor> __f)
        {
-         // TBD: Use address_of function instead.
-         _Base::_M_init_functor(__functor, &__f.get());
+         _Base::_M_init_functor(__functor, std::__addressof(__f.get()));
        }
       };
 
@@ -1970,7 +1969,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
       static _Res
       _M_invoke(const _Any_data& __functor, _ArgTypes... __args)
       {
-       return mem_fn(_Base::_M_get_pointer(__functor)->__value)(
+       return std::mem_fn(_Base::_M_get_pointer(__functor)->__value)(
            std::forward<_ArgTypes>(__args)...);
       }
     };
@@ -2010,7 +2009,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
       static void
       _M_invoke(const _Any_data& __functor, _ArgTypes... __args)
       {
-       mem_fn(_Base::_M_get_pointer(__functor)->__value)(
+       std::mem_fn(_Base::_M_get_pointer(__functor)->__value)(
            std::forward<_ArgTypes>(__args)...);
       }
     };
@@ -2295,9 +2294,9 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
 
        if (_My_handler::_M_not_empty_function(__f))
          {
+           _My_handler::_M_init_functor(_M_functor, std::move(__f));
            _M_invoker = &_My_handler::_M_invoke;
            _M_manager = &_My_handler::_M_manager;
-           _My_handler::_M_init_functor(_M_functor, std::move(__f));
          }
       }
 
index 22fd36a..98c7b84 100644 (file)
@@ -113,9 +113,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename _Res>
     class shared_future;
 
-  template<typename _Res>
-    class atomic_future;
-
   template<typename _Signature>
     class packaged_task;
 
index 34d64c5..fc96919 100644 (file)
@@ -1,6 +1,6 @@
 // <mutex> -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 #include <bits/gthr.h>
 #include <bits/move.h> // for std::swap
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+#ifdef _GLIBCXX_HAS_GTHREADS
   // Common base class for std::mutex and std::timed_mutex
   class __mutex_base
   {
@@ -420,6 +421,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       }
   };
 #endif
+#endif // _GLIBCXX_HAS_GTHREADS
 
   /// Do not acquire ownership of the mutex.
   struct defer_lock_t { };
@@ -755,6 +757,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
         }
     }
 
+#ifdef _GLIBCXX_HAS_GTHREADS
   /// once_flag
   struct once_flag
   {
@@ -826,12 +829,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       if (__e)
        __throw_system_error(__e);
     }
+#endif // _GLIBCXX_HAS_GTHREADS
 
   // @} group mutexes
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_USE_C99_STDINT_TR1
 
 #endif // __GXX_EXPERIMENTAL_CXX0X__
 
index 82a67da..5350880 100644 (file)
@@ -1,7 +1,7 @@
 // Stream buffer classes -*- C++ -*-
 
 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// 2006, 2007, 2008, 2009, 2010, 2011, 2013 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
@@ -171,20 +171,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
 
     protected:
-      //@{
-      /**
+      /*
        *  This is based on _IO_FILE, just reordered to be more consistent,
        *  and is intended to be the most minimal abstraction for an
        *  internal buffer.
        *  -  get == input == read
        *  -  put == output == write
       */
-      char_type*               _M_in_beg;     // Start of get area. 
-      char_type*               _M_in_cur;     // Current read area. 
-      char_type*               _M_in_end;     // End of get area. 
-      char_type*               _M_out_beg;    // Start of put area. 
-      char_type*               _M_out_cur;    // Current put area. 
-      char_type*               _M_out_end;    // End of put area.
+      char_type*               _M_in_beg;     ///< Start of get area.
+      char_type*               _M_in_cur;     ///< Current read area.
+      char_type*               _M_in_end;     ///< End of get area.
+      char_type*               _M_out_beg;    ///< Start of put area.
+      char_type*               _M_out_cur;    ///< Current put area.
+      char_type*               _M_out_end;    ///< End of put area.
 
       /// Current locale setting.
       locale                   _M_buf_locale;  
index e77a297..1476a0c 100644 (file)
@@ -1,6 +1,6 @@
 // <unordered_map> -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2013 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
@@ -40,6 +40,7 @@
 #include <initializer_list>
 #include <bits/stl_algobase.h>
 #include <bits/allocator.h>
+#include <bits/alloc_traits.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
 #include <bits/functional_hash.h>
 #include <bits/hashtable.h>
index 739e0a4..aafbb76 100644 (file)
@@ -1,6 +1,6 @@
 // <unordered_set> -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2013 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
@@ -40,6 +40,7 @@
 #include <initializer_list>
 #include <bits/stl_algobase.h>
 #include <bits/allocator.h>
+#include <bits/alloc_traits.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
 #include <bits/functional_hash.h>
 #include <bits/hashtable.h>
index ff2bd2a..ef1461b 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 functional header -*- C++ -*-
 
-// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -1616,7 +1616,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        _M_get_pointer(const _Any_data& __source)
        {
          const _Functor* __ptr =
-           __stored_locally? &__source._M_access<_Functor>()
+           __stored_locally? std::__addressof(__source._M_access<_Functor>())
            /* have stored a pointer */ : __source._M_access<_Functor*>();
          return const_cast<_Functor*>(__ptr);
        }
@@ -1745,8 +1745,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        static void
        _M_init_functor(_Any_data& __functor, reference_wrapper<_Functor> __f)
        {
-         // TBD: Use address_of function instead.
-         _Base::_M_init_functor(__functor, &__f.get());
+         _Base::_M_init_functor(__functor, std::__addressof(__f.get()));
        }
       };
 
index eaf109e..7c72f58 100644 (file)
@@ -98,33 +98,6 @@ sources = \
 libsupc___la_SOURCES = $(sources) $(c_sources)
 libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
 
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
-# modified in a per-library or per-sub-library way.  Need to manually
-# set this option because CONFIG_CXXFLAGS has to be after
-# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion call for it.
-AM_CXXFLAGS = \
-       $(PIC_CXXFLAGS) \
-       $(XTEMPLATE_FLAGS) \
-       $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS)  $(CONFIG_CXXFLAGS)
-
-AM_MAKEFLAGS = \
-       "gxx_include_dir=$(gxx_include_dir)"
-
-
-# Use special rules for pulling things out of libiberty.  These
-# objects should be compiled with the "C" compiler, not the C++
-# compiler, and also should not use the C++ includes.
-C_INCLUDES = -I.. -I$(toplevel_srcdir)/libiberty -I$(toplevel_srcdir)/include
-C_COMPILE = \
-       $(CC) $(DEFS) $(C_INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
-# LTCOMPILE is copied from LTCXXCOMPILE below.
-LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared $(LIBTOOLFLAGS) --mode=compile \
-           $(CC) $(DEFS) $(C_INCLUDES) $(PIC_CXXFLAGS) \
-           $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
 cp-demangle.c:
        rm -f $@
        $(LN_S) $(toplevel_srcdir)/libiberty/cp-demangle.c $@
@@ -155,13 +128,37 @@ nested_exception.lo: nested_exception.cc
 nested_exception.o: nested_exception.cc
        $(CXXCOMPILE) -std=gnu++0x -c $<
 
-# Libtool notes
+# AM_CXXFLAGS needs to be in each subdirectory so that it can be
+# modified in a per-library or per-sub-library way.  Need to manually
+# set this option because CONFIG_CXXFLAGS has to be after
+# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
+# as the occasion call for it.
+AM_CXXFLAGS = \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
+       $(XTEMPLATE_FLAGS) \
+       $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS)  $(CONFIG_CXXFLAGS)
+
+AM_MAKEFLAGS = \
+       "gxx_include_dir=$(gxx_include_dir)"
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
 
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# Use special rules for pulling things out of libiberty.  These
+# objects should be compiled with the "C" compiler, not the C++
+# compiler, and also should not use the C++ includes.
+C_INCLUDES = -I.. -I$(toplevel_srcdir)/libiberty -I$(toplevel_srcdir)/include
+C_COMPILE = \
+       $(CC) $(DEFS) $(C_INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+
+# LTCOMPILE is copied from LTCXXCOMPILE below.
+LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared $(LIBTOOLFLAGS) --mode=compile \
+           $(CC) $(DEFS) $(C_INCLUDES) \
+           $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
+           $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+
+# Libtool notes
+
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -173,9 +170,18 @@ nested_exception.o: nested_exception.cc
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-#
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index 831f22b..a75d543 100644 (file)
@@ -220,7 +220,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -268,7 +267,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -413,7 +415,7 @@ libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion call for it.
 AM_CXXFLAGS = \
-       $(PIC_CXXFLAGS) \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS)  $(CONFIG_CXXFLAGS)
 
@@ -432,17 +434,14 @@ C_COMPILE = \
 
 # LTCOMPILE is copied from LTCXXCOMPILE below.
 LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared $(LIBTOOLFLAGS) --mode=compile \
-           $(CC) $(DEFS) $(C_INCLUDES) $(PIC_CXXFLAGS) \
+           $(CC) $(DEFS) $(C_INCLUDES) \
+           $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
            $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -454,9 +453,18 @@ LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared $(LIBTOOLFLAGS) --mode=comp
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-#
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index b6fd08e..d9f8cc4 100644 (file)
@@ -44,6 +44,8 @@ extern "C++" {
 
 namespace std 
 {
+  class type_info;
+
   /**
    * @addtogroup exceptions
    * @{
@@ -141,7 +143,7 @@ namespace std
       operator==(const exception_ptr&, const exception_ptr&)
        _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
 
-      const class type_info*
+      const class std::type_info*
       __cxa_exception_type() const _GLIBCXX_USE_NOEXCEPT
        __attribute__ ((__pure__));
     };
index 6b991b7..481e5d1 100644 (file)
@@ -1,6 +1,6 @@
 // std::initializer_list support -*- C++ -*-
 
-// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 //
 // This file is part of GCC.
 //
@@ -77,7 +77,7 @@ namespace std
       // One past the last element.
       constexpr const_iterator
       end() const noexcept { return begin() + size(); }
-  };
+    };
 
   /**
    *  @brief  Return an iterator pointing to the first element of
index 4392d89..a307650 100644 (file)
@@ -160,7 +160,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -208,7 +207,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
index f83fac8..249d56f 100644 (file)
@@ -184,7 +184,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -232,7 +231,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
index a1eb04d..de5850d 100644 (file)
@@ -116,22 +116,41 @@ compatibility-thread-c++0x.lo: compatibility-thread-c++0x.cc
 compatibility-thread-c++0x.o: compatibility-thread-c++0x.cc
        $(CXXCOMPILE) -std=gnu++11 -c $<
 
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
+# A note on compatibility and static libraries.
+# 
+# static lib == linked against only this version, should not need compat
+# shared lib == linked against potentially all compat versions
+#
+# Thus, the shared libs have more compat symbols, which can be found
+# segregated in the sources with -D_GLIBCXX_SHARED.
+#
+# In the sub-directories of libsupc++, src/c++98, src/c++11, only
+# -prefer-pic objects are generated for the convenience libraries.
+# 
+# In the main src directory, make shared and static objects just for
+# the compat libraries. Shared objects are compiled with -prefer-pic
+# -D_GLIBCXX_SHARED and in the .libs sub-directory, static objects are
+# compiled with -prefer-pic (ie, -fPIC but not -D_GLIBCXX_SHARED) and
+# the main src directory.
+#
+# Why are objects destined for libstdc++.a compiled with -fPIC? First,
+# because -fPIC is not harmful to use for objects destined for static
+# libraries. In addition, using -fPIC will allow the use of static
+# libstdc++.a in the creation of other C++ shared libraries.
+
+# AM_CXXFLAGS needs to be in each sub-directory so that it can be
 # modified in a per-library or per-sub-library way.  Need to manually
 # set this option because CONFIG_CXXFLAGS has to be after
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
 AM_CXXFLAGS = \
+       $(glibcxx_compiler_pic_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -142,7 +161,19 @@ AM_CXXFLAGS = \
 # can't decide which configuration to use, and it gives up.  The
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use
+# attempt to infer which configuration to use.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -182,7 +213,7 @@ libstdc++-symbols.ver:  ${glibcxx_srcdir}/$(SYMVER_FILE) \
          fi; \
        fi
        $(EGREP) -v '^[         ]*#(#| |$$)' $@.tmp | \
-         $(CC) -E -P -include ../config.h - > $@ || (rm -f $@ ; exit 1)
+         $(CC) -E -P -include $(CONFIG_HEADER) - > $@ || (rm -f $@ ; exit 1)
        rm -f $@.tmp
 
 CLEANFILES = libstdc++-symbols.ver
index b10d853..2387235 100644 (file)
@@ -213,7 +213,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -261,7 +260,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -374,23 +376,42 @@ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
 # Use special rules for parallel mode compilation.
 PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp
 
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
+# A note on compatibility and static libraries.
+# 
+# static lib == linked against only this version, should not need compat
+# shared lib == linked against potentially all compat versions
+#
+# Thus, the shared libs have more compat symbols, which can be found
+# segregated in the sources with -D_GLIBCXX_SHARED.
+#
+# In the sub-directories of libsupc++, src/c++98, src/c++11, only
+# -prefer-pic objects are generated for the convenience libraries.
+# 
+# In the main src directory, make shared and static objects just for
+# the compat libraries. Shared objects are compiled with -prefer-pic
+# -D_GLIBCXX_SHARED and in the .libs sub-directory, static objects are
+# compiled with -prefer-pic (ie, -fPIC but not -D_GLIBCXX_SHARED) and
+# the main src directory.
+#
+# Why are objects destined for libstdc++.a compiled with -fPIC? First,
+# because -fPIC is not harmful to use for objects destined for static
+# libraries. In addition, using -fPIC will allow the use of static
+# libstdc++.a in the creation of other C++ shared libraries.
+
+# AM_CXXFLAGS needs to be in each sub-directory so that it can be
 # modified in a per-library or per-sub-library way.  Need to manually
 # set this option because CONFIG_CXXFLAGS has to be after
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
 AM_CXXFLAGS = \
+       $(glibcxx_compiler_pic_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -401,7 +422,19 @@ AM_CXXFLAGS = \
 # can't decide which configuration to use, and it gives up.  The
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use
+# attempt to infer which configuration to use.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -846,7 +879,7 @@ compatibility-thread-c++0x.o: compatibility-thread-c++0x.cc
 @ENABLE_SYMVERS_TRUE@    fi; \
 @ENABLE_SYMVERS_TRUE@  fi
 @ENABLE_SYMVERS_TRUE@  $(EGREP) -v '^[         ]*#(#| |$$)' $@.tmp | \
-@ENABLE_SYMVERS_TRUE@    $(CC) -E -P -include ../config.h - > $@ || (rm -f $@ ; exit 1)
+@ENABLE_SYMVERS_TRUE@    $(CC) -E -P -include $(CONFIG_HEADER) - > $@ || (rm -f $@ ; exit 1)
 @ENABLE_SYMVERS_TRUE@  rm -f $@.tmp
 @ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
 @ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@         $(toplevel_srcdir)/contrib/make_sunver.pl \
index e8a4d3a..f650270 100644 (file)
@@ -68,7 +68,7 @@ libc__11convenience_la_SOURCES = $(sources)  $(inst_sources)
 # as the occasion calls for it.
 AM_CXXFLAGS = \
        -std=gnu++11 \
-       $(PIC_CXXFLAGS) \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
@@ -77,11 +77,7 @@ AM_MAKEFLAGS = \
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -93,8 +89,18 @@ AM_MAKEFLAGS = \
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index 0c63c51..d725d26 100644 (file)
@@ -177,7 +177,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -225,7 +224,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -331,7 +333,7 @@ libc__11convenience_la_SOURCES = $(sources)  $(inst_sources)
 # as the occasion calls for it.
 AM_CXXFLAGS = \
        -std=gnu++11 \
-       $(PIC_CXXFLAGS) \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
@@ -341,11 +343,7 @@ AM_MAKEFLAGS = \
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -357,8 +355,18 @@ AM_MAKEFLAGS = \
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index 8ccad93..3ad0b93 100644 (file)
@@ -30,7 +30,7 @@
 // XXX GLIBCXX_ABI Deprecated
 // gcc-4.7.0
 
-#ifdef PIC
+#ifdef _GLIBCXX_SHARED
 
 #define LOGSIZE 4
 
@@ -147,7 +147,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
 // In the future, GLIBCXX_ABI > 6 should remove all uses of
 // _GLIBCXX_*_SYMVER macros in this file.
 
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(_GLIBCXX_SHARED) \
     && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
     && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
 
index bd5dbe0..306bad5 100644 (file)
@@ -30,7 +30,7 @@
 # error "compatibility-c++0x.cc must be compiled with -std=gnu++0x"
 #endif
 
-#ifdef PIC
+#ifdef _GLIBCXX_SHARED
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index e5c7eec..5e87b53 100644 (file)
@@ -23,7 +23,7 @@
 // <http://www.gnu.org/licenses/>.
 
 #include <bits/c++config.h>
-#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC)
+#if defined(_GLIBCXX_HAVE_TLS) && defined(_GLIBCXX_SHARED)
 #define _GLIBCXX_ASYNC_ABI_COMPAT
 #endif
 
@@ -40,7 +40,7 @@
 // XXX GLIBCXX_ABI Deprecated
 // gcc-4.6.0
 // <future> export changes
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(_GLIBCXX_SHARED) \
     && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
     && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
 
@@ -57,7 +57,7 @@ _GLIBCXX_ASM_SYMVER(_ZN9__gnu_cxx15future_categoryE, _ZSt15future_category, GLIB
 // gcc-4.6.0
 // <mutex> export changes
 #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(_GLIBCXX_SHARED) \
     && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
     && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
 
@@ -82,7 +82,7 @@ _GLIBCXX_ASM_SYMVER(_ZN9__gnu_cxx11try_to_lockE, _ZSt11try_to_lock, GLIBCXX_3.4.
 // <future> export changes
 #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
   && (ATOMIC_INT_LOCK_FREE > 1)
-#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC)
+#if defined(_GLIBCXX_HAVE_TLS) && defined(_GLIBCXX_SHARED)
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
index 8a47da3..d21f221 100644 (file)
@@ -1,6 +1,6 @@
 // regex -*- C++ -*-
 
-// Copyright (C) 2011 Free Software Foundation, Inc.
+// Copyright (C) 2011-2013 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
@@ -34,5 +34,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   regex_error::~regex_error() throw() { }
 
+#ifdef _AIX
+  // PR libstdc++/52887
+  template class function<void (__regex::_PatternCursor const&,
+                               __regex::_Results&)>;
+  template class function<bool (__regex::_PatternCursor const&)>;
+#endif
+
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
index ff034b1..d0d902f 100644 (file)
@@ -1,6 +1,6 @@
 // thread -*- C++ -*-
 
-// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 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
@@ -26,6 +26,7 @@
 #include <thread>
 #include <system_error>
 #include <cerrno>
+#include <cxxabi_forced.h>
 
 #if defined(_GLIBCXX_USE_GET_NPROCS)
 # include <sys/sysinfo.h>
@@ -72,6 +73,10 @@ namespace std _GLIBCXX_VISIBILITY(default)
        {
          __t->_M_run();
        }
+      __catch(const __cxxabiv1::__forced_unwind&)
+       {
+         __throw_exception_again;
+       }
       __catch(...)
        {
          std::terminate();
index 05767e9..c153a59 100644 (file)
@@ -172,7 +172,7 @@ parallel_settings.o: parallel_settings.cc
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
 AM_CXXFLAGS = \
-       $(PIC_CXXFLAGS) \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
@@ -181,11 +181,7 @@ AM_MAKEFLAGS = \
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -197,8 +193,18 @@ AM_MAKEFLAGS = \
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index f36742b..c3173bc 100644 (file)
@@ -192,7 +192,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -240,7 +239,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
@@ -400,7 +402,7 @@ PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
 AM_CXXFLAGS = \
-       $(PIC_CXXFLAGS) \
+       $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
        $(XTEMPLATE_FLAGS) \
        $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
@@ -410,11 +412,7 @@ AM_MAKEFLAGS = \
 
 # Libtool notes
 
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
+# 1) In general, libtool expects an argument such as `--tag=CXX' when
 # using the C++ compiler, because that will enable the settings
 # detected when C++ support was being configured.  However, when no
 # such flag is given in the command line, libtool attempts to figure
@@ -426,8 +424,18 @@ AM_MAKEFLAGS = \
 # correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
 # CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
 # attempt to infer which configuration to use.
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
+# 
+# The second tag argument, `--tag disable-shared` means that libtool
+# only compiles each source once, for static objects. In actuality,
+# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
+# the libtool command that is used create the object, which is
+# suitable for shared libraries.  The `--tag disable-shared` must be
+# placed after --tag CXX lest things CXX undo the affect of
+# disable-shared.
+
+# 2) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
+# last. (That way, things like -O2 passed down from the toplevel can
+# be overridden by --enable-debug.)
 LTCXXCOMPILE = \
        $(LIBTOOL) --tag CXX --tag disable-shared \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
index 975450c..0e118ff 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <bits/move.h>
 
-#ifdef PIC
+#ifdef _GLIBCXX_SHARED
 
 #ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT
 # define _GLIBCXX_BEGIN_NAMESPACE_COMPAT
index 38d9e4b..9f423d0 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <bits/c++config.h>
 
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(_GLIBCXX_SHARED) \
     && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE)\
     && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
 #define istreambuf_iterator istreambuf_iteratorXX
@@ -204,7 +204,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
 
 // NB: These symbols renames should go into the shared library only,
 // and only those shared libraries that support versioning.
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(_GLIBCXX_SHARED) \
     && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
     && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
 
@@ -529,7 +529,7 @@ extern __attribute__((used, weak)) const void * const _ZTIPKe[4]
 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
 
 #ifdef _GLIBCXX_SYMVER_DARWIN
-#if (defined(__ppc__) || defined(__ppc64__)) && defined(PIC)
+#if (defined(__ppc__) || defined(__ppc64__)) && defined(_GLIBCXX_SHARED)
 /* __eprintf shouldn't have been made visible from libstdc++, or
    anywhere, but on Mac OS X 10.4 it was defined in
    libstdc++.6.0.3.dylib; so on that platform we have to keep defining
diff --git a/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc b/libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc
new file mode 100644 (file)
index 0000000..7feac92
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do link }
+// { dg-require-static-libstdcxx }
+// { dg-require-sharedlib "" }
+// { dg-require-effective-target fpic }
+// { dg-options "-shared -fPIC -static-libgcc -static-libstdc++" }
+
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>
+
+// libstdc++/28811 --with-pic vs. static linking
+#include <iostream>
+#include <locale>
+
+int main()
+{
+  std::locale c __attribute__((unused)) = std::locale::classic();
+  std::cout << "i am old-skool\n";
+  return 0;
+}
index f4bf96b..ba5a0d4 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index fa21231..2bc87b1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011, 2012 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
@@ -15,7 +15,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 20.7.11 Function template bind
+// 20.8.9 Function template bind
 
 // { dg-do compile }
 // { dg-options "-std=gnu++0x" }
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/55320.cc b/libstdc++-v3/testsuite/20_util/function/cons/55320.cc
new file mode 100644 (file)
index 0000000..611e8ac
--- /dev/null
@@ -0,0 +1,46 @@
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55320
+
+// { dg-options "-std=gnu++0x" }
+
+#include <functional>
+#include <testsuite_hooks.h>
+
+struct X
+{
+  X() { ++count; }
+  X(const X&) { throw 1; }
+  ~X() { --count; }
+  void operator()() { }
+  static int count;
+};
+
+int X::count = 0;
+
+int main()
+{
+  try
+  {
+    std::function<void()> f = X();
+  }
+  catch (int)
+  {
+    VERIFY( X::count == 0 );
+  }
+}
diff --git a/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc b/libstdc++-v3/testsuite/20_util/function/cons/addressof.cc
new file mode 100644 (file)
index 0000000..25b6fb8
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+#include <functional>
+
+struct F
+{
+  void operator()() { }
+  void operator&() const { }
+};
+
+void test01()
+{
+  F f;
+  std::function<void()> f1 = f;
+  std::function<void()> f2 = std::ref(f);
+}
+
+int main()
+{
+  test01();
+
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc b/libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc
new file mode 100644 (file)
index 0000000..cd7d086
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2012-2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <functional>
+
+namespace n {
+  struct X { int i; };
+  void mem_fn(int X::*);
+}
+
+using n::X;
+
+X x{};
+int X::* p = &X::i;
+
+int test01()
+{
+  auto ref = std::ref(p);
+  return ref(x);
+}
+
+int test02()
+{
+  std::function<int(X)> fun(p);
+  return fun(x);
+}
+
index adf3af4..9bebef2 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 
 // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
 //
index a1465d3..3a80439 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } }
 
 // 2007-05-03  Benjamin Kosnik  <bkoz@redhat.com>
 //
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/55123.cc
new file mode 100644 (file)
index 0000000..6628d4b
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2012 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <memory>
+
+// libstdc++/55123
+
+void f() {
+  std::unique_ptr<const int> y;
+  std::shared_ptr<const int> x = std::move(y);
+}
index 5d1ba94..788f7b1 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index fc11a74..1a29613 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 666445a..cd0d4eb 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 9fce440..88f7c0a 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 458bf53..2a0a1bc 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e300b09..b58332c 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4b3814f..08b91e5 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 77d0362..fb691d0 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6e34f0b..c5d70dc 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b7e12b3..23d4dfc 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 5f7fac6..4cd5564 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index d996ed6..7c75889 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4798e93..702acfe 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0f9eb45..7dec2a4 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c12282b..eb44727 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 572b9ee..6197731 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index a19d47a..3d23719 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6f45a73..ca7b5f7 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3fccff4..f385661 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 54e3527..f037791 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4247034..3cf4288 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 590fad6..ce7bb85 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 23ea900..57e0e2f 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index f2cd593..8f36076 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6e24335..2efaa74 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 70a0a34..b17707e 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 9e4b3d4..087abce 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6aabbea..46a74da 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 29c418a..a057c9c 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 9390827..49a48f7 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 77dcb75..a1ff667 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 42fe202..3d25787 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 08d49a5..84d39ae 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index db9fd5e..18e1670 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4ad698f..325028c 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4a93666..6238f6f 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4cc1cfc..e19be90 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3ee7f68..d0cee48 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6a7fcfb..5455623 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 55e50dc..1e63e90 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4c16190..9582a8b 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 486bfcf..85884c0 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 18b6f3c..09ad6aa 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b6ae3f3..b6c6e35 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index cade58f..349be4c 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 10444f0..554ac03 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6519078..26a4226 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e160381..43a11be 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4a9e364..31eaaa5 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 32a7db3..fe12af9 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index f227daa..f112bc2 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3bf61aa..6c09065 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 1291a26..55d1634 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2b8e3c7..082d2ad 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index bad78e2..fd71cb6 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 378cd9f..350b828 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index cb6c29a..3b0e8dc 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4a2f2bc..408e078 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index f2f51f2..d8c88b5 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index cf8c20a..4d56b15 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2d7e45b..2abc063 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c055f70..dea0d4c 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ee9b549..1879ed2 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e95f797..b25467b 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 8454c3f..990cf22 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 64602ac..c4017db 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index eb286e0..6fbcf6c 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index aebbe0b..772128d 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2c98213..48c7d90 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2f3f9df..601c5e7 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 100066f..7cd5762 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 8eb3da4..6db3333 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index faaf2f7..6d744a0 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 53570b4..1ed46b2 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4d28dae..9181e7e 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0598cfb..37a4806 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index a220b9b..4e14f1a 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0a3ea4d..6502827 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index a61071a..7e6c9c4 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ad99c27..bcfbb81 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2b54d51..0820e8a 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index afe148d..768bd63 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 41e43c6..3031608 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2fb7f4a..1e4e3c1 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 8ec8931..a8e407d 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index da4c77b..0f1c5bc 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 84372de..0a05f83 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b8e3acc..d3fb95e 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index a0ab540..7d9bccd 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ffbda4e..b1c33b7 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/55043.cc
new file mode 100644 (file)
index 0000000..50e5437
--- /dev/null
@@ -0,0 +1,69 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55043
+
+#include <unordered_map>
+#include <vector>
+
+struct MoveOnly
+{
+  MoveOnly() = default;
+  MoveOnly(MoveOnly&&) = default;
+};
+
+using hash = std::hash<int>;
+using equal = std::equal_to<int>;
+
+template<typename Alloc>
+  using test_type = std::unordered_map<int, MoveOnly, hash, equal, Alloc>;
+
+void test01()
+{
+  typedef test_type<std::allocator<MoveOnly>> uim;
+  std::vector<uim> v;
+  v.emplace_back(uim());
+}
+
+// Unordered containers don't use allocator_traits yet so need full
+// Allocator interface, derive from std::allocator to get it.
+template<typename T, bool R>
+struct Alloc : std::allocator<T>
+{
+  template<typename U>
+    struct rebind { typedef Alloc<U, R> other; };
+
+  Alloc() = default;
+
+  template<typename U>
+    Alloc(const Alloc<U, R>&) { }
+
+  typedef typename std::conditional<R, T&&, const T&>::type arg_type;
+
+  void construct(T* p, arg_type) const
+  { new((void*)p) T(); }
+};
+
+// verify is_copy_constructible depends on allocator
+typedef test_type<Alloc<MoveOnly, true>> uim_rval;
+static_assert(!std::is_copy_constructible<uim_rval>::value, "is not copyable");
+
+typedef test_type<Alloc<MoveOnly, false>> uim_lval;
+static_assert(std::is_copy_constructible<uim_lval>::value, "is copyable");
index c509a34..d651732 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4a6847e..089cf51 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b41b6a5..1555c48 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index bf05fab..c75ed9b 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 704f599..ed05d20 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc
new file mode 100644 (file)
index 0000000..10404ce
--- /dev/null
@@ -0,0 +1,36 @@
+// XFAIL because of PR libstdc++/55043 fix
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-std=gnu++11" }
+
+// Copyright (C) 2012-2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <unordered_map>
+
+struct LinkedHashMap
+{
+  struct Entry;
+
+  typedef std::unordered_map<int, Entry> Storage;
+  typedef Storage::iterator EntryPtr;
+
+  struct Entry
+  {
+    EntryPtr prev, next;
+  };
+};
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/55043.cc
new file mode 100644 (file)
index 0000000..afeecaa
--- /dev/null
@@ -0,0 +1,69 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55043
+
+#include <unordered_map>
+#include <vector>
+
+struct MoveOnly
+{
+  MoveOnly() = default;
+  MoveOnly(MoveOnly&&) = default;
+};
+
+using hash = std::hash<int>;
+using equal = std::equal_to<int>;
+
+template<typename Alloc>
+  using test_type = std::unordered_multimap<int, MoveOnly, hash, equal, Alloc>;
+
+void test01()
+{
+  typedef test_type<std::allocator<MoveOnly>> uim;
+  std::vector<uim> v;
+  v.emplace_back(uim());
+}
+
+// Unordered containers don't use allocator_traits yet so need full
+// Allocator interface, derive from std::allocator to get it.
+template<typename T, bool R>
+struct Alloc : std::allocator<T>
+{
+  template<typename U>
+    struct rebind { typedef Alloc<U, R> other; };
+
+  Alloc() = default;
+
+  template<typename U>
+    Alloc(const Alloc<U, R>&) { }
+
+  typedef typename std::conditional<R, T&&, const T&>::type arg_type;
+
+  void construct(T* p, arg_type) const
+  { new((void*)p) T(); }
+};
+
+// verify is_copy_constructible depends on allocator
+typedef test_type<Alloc<MoveOnly, true>> uim_rval;
+static_assert(!std::is_copy_constructible<uim_rval>::value, "is not copyable");
+
+typedef test_type<Alloc<MoveOnly, false>> uim_lval;
+static_assert(std::is_copy_constructible<uim_lval>::value, "is copyable");
index 4e2920c..7950713 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc
new file mode 100644 (file)
index 0000000..fc17256
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-options "-std=gnu++0x -D_GLIBCXX_DEBUG" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55028
+#include <string>
+#include <unordered_map>
+#include <testsuite_hooks.h>
+
+struct MyType
+{ };
+
+void test()
+{
+  // using MyMap = std::multimap<std::string, MyType *>; // works
+  using MyMap = std::unordered_multimap<std::string, MyType*>; // fails to link
+  MyMap m;
+  m.insert(std::make_pair(std::string("blah"), new MyType));
+}
+
+int main()
+{
+  test();
+  return 0;
+}
index 634bd9d..456074e 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index f95a668..bfc8ac1 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc
new file mode 100644 (file)
index 0000000..cccd2a8
--- /dev/null
@@ -0,0 +1,36 @@
+// XFAIL because of PR libstdc++/55043 fix
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+// { dg-options "-std=gnu++11" }
+
+// Copyright (C) 2012-2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <unordered_map>
+
+struct LinkedHashMap
+{
+  struct Entry;
+
+  typedef std::unordered_multimap<int, Entry> Storage;
+  typedef Storage::iterator EntryPtr;
+
+  struct Entry
+  {
+    EntryPtr prev, next;
+  };
+};
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/55043.cc
new file mode 100644 (file)
index 0000000..9d71cff
--- /dev/null
@@ -0,0 +1,73 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55043
+
+#include <unordered_set>
+#include <vector>
+
+struct MoveOnly
+{
+  MoveOnly() = default;
+  MoveOnly(MoveOnly&&) = default;
+};
+
+struct equal {
+  bool operator()(const MoveOnly&, const MoveOnly) const { return true; }
+};
+struct hash {
+  std::size_t operator()(const MoveOnly&) const { return 0; }
+};
+
+template<typename Alloc>
+  using test_type = std::unordered_multiset<MoveOnly, hash, equal, Alloc>;
+
+void test01()
+{
+  typedef test_type<std::allocator<MoveOnly>> uim;
+  std::vector<uim> v;
+  v.emplace_back(uim());
+}
+
+// Unordered containers don't use allocator_traits yet so need full
+// Allocator interface, derive from std::allocator to get it.
+template<typename T, bool R>
+struct Alloc : std::allocator<T>
+{
+  template<typename U>
+    struct rebind { typedef Alloc<U, R> other; };
+
+  Alloc() = default;
+
+  template<typename U>
+    Alloc(const Alloc<U, R>&) { }
+
+  typedef typename std::conditional<R, T&&, const T&>::type arg_type;
+
+  void construct(T* p, arg_type) const
+  { new((void*)p) T(); }
+};
+
+// verify is_copy_constructible depends on allocator
+typedef test_type<Alloc<MoveOnly, true>> uim_rval;
+static_assert(!std::is_copy_constructible<uim_rval>::value, "is not copyable");
+
+typedef test_type<Alloc<MoveOnly, false>> uim_lval;
+static_assert(std::is_copy_constructible<uim_lval>::value, "is copyable");
index 242642f..c65b17d 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0ea3e5b..2c8b4e6 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 137b0d6..ac0fdaa 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/55043.cc
new file mode 100644 (file)
index 0000000..1524890
--- /dev/null
@@ -0,0 +1,73 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// libstdc++/55043
+
+#include <unordered_set>
+#include <vector>
+
+struct MoveOnly
+{
+  MoveOnly() = default;
+  MoveOnly(MoveOnly&&) = default;
+};
+
+struct equal {
+  bool operator()(const MoveOnly&, const MoveOnly) const { return true; }
+};
+struct hash {
+  std::size_t operator()(const MoveOnly&) const { return 0; }
+};
+
+template<typename Alloc>
+  using test_type = std::unordered_set<MoveOnly, hash, equal, Alloc>;
+
+void test01()
+{
+  typedef test_type<std::allocator<MoveOnly>> uim;
+  std::vector<uim> v;
+  v.emplace_back(uim());
+}
+
+// Unordered containers don't use allocator_traits yet so need full
+// Allocator interface, derive from std::allocator to get it.
+template<typename T, bool R>
+struct Alloc : std::allocator<T>
+{
+  template<typename U>
+    struct rebind { typedef Alloc<U, R> other; };
+
+  Alloc() = default;
+
+  template<typename U>
+    Alloc(const Alloc<U, R>&) { }
+
+  typedef typename std::conditional<R, T&&, const T&>::type arg_type;
+
+  void construct(T* p, arg_type) const
+  { new((void*)p) T(); }
+};
+
+// verify is_copy_constructible depends on allocator
+typedef test_type<Alloc<MoveOnly, true>> uim_rval;
+static_assert(!std::is_copy_constructible<uim_rval>::value, "is not copyable");
+
+typedef test_type<Alloc<MoveOnly, false>> uim_lval;
+static_assert(std::is_copy_constructible<uim_lval>::value, "is copyable");
index 5dced4c..e661ee4 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b8957c3..9ef1c81 100644 (file)
@@ -2,7 +2,7 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-require-normal-mode "" }
 
-// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2011, 2012, 2013 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
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
@@ -19,7 +19,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-error "static assertion failed" "" { target *-*-* } 186 }
+// { dg-error "static assertion failed" "" { target *-*-* } 187 }
 
 #include <unordered_set>
 
index aba6f77..41f428a 100644 (file)
@@ -40,8 +40,28 @@ void test01()
     }
 }
 
+void test02()
+{
+  const int N = 1000;
+
+  typedef std::unordered_set<int> Set;
+  Set s;
+  s.reserve(N);
+  s.reserve(N);
+
+  std::size_t bkts = s.bucket_count();
+  for (int i = 0; i != N; ++i)
+    {
+      s.insert(i);
+      // As long as we insert less than the reserved number of elements we
+      // shouldn't experiment any rehash.
+      VERIFY( s.bucket_count() == bkts );
+    }
+}
+
 int main()
 {
   test01();
+  test02();
   return 0;
 }
index c18b059..a1c0c84 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ea116c3..2bb738a 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 067e57a..9053b00 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 760f10c..7cfa4ad 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index bcd521e..90a951e 100644 (file)
@@ -31,6 +31,7 @@ void test01()
   typedef propagating_allocator<T, false> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(v1);
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(0 == v2.get_allocator().get_personality());
@@ -42,6 +43,7 @@ void test02()
   typedef propagating_allocator<T, true> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(v1);
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(1 == v2.get_allocator().get_personality());
index 0e2050e..4bc5189 100644 (file)
@@ -31,7 +31,9 @@ void test01()
   typedef propagating_allocator<T, false> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(alloc_type(2));
+  v2.push_back(T());
   v2 = v1;
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(2 == v2.get_allocator().get_personality());
@@ -43,7 +45,9 @@ void test02()
   typedef propagating_allocator<T, true> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(alloc_type(2));
+  v2.push_back(T());
   v2 = v1;
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(1 == v2.get_allocator().get_personality());
index 2d56884..f5c3a18 100644 (file)
@@ -35,6 +35,7 @@ void test01()
   typedef std::allocator_traits<alloc_type> traits_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v(alloc_type{});
+  v.push_back(T());
   VERIFY( v.max_size() == traits_type::max_size(v.get_allocator()) );
 }
 
index 2a792c6..def0b1a 100644 (file)
@@ -31,7 +31,9 @@ void test01()
   typedef propagating_allocator<T, false> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(alloc_type(2));
+  v2.push_back(T());
   v2 = std::move(v1);
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(2 == v2.get_allocator().get_personality());
@@ -43,8 +45,10 @@ void test02()
   typedef propagating_allocator<T, true> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(alloc_type(2));
   v2 = std::move(v1);
+  v2.push_back(T());
   VERIFY(0 == v1.get_allocator().get_personality());
   VERIFY(1 == v2.get_allocator().get_personality());
 }
index 808753e..79038d4 100644 (file)
@@ -31,10 +31,14 @@ void test01()
   typedef propagating_allocator<T, false> alloc_type;
   typedef std::vector<T, alloc_type> test_type;
   test_type v1(alloc_type(1));
+  v1.push_back(T());
   test_type v2(alloc_type(2));
+  v2.push_back(T());
   std::swap(v1, v2);
   VERIFY(1 == v1.get_allocator().get_personality());
   VERIFY(2 == v2.get_allocator().get_personality());
+  // swap back so assertions in uneq_allocator::deallocate don't fail
+  std::swap(v1, v2);
 }
 
 void test02()
index cd5a6a4..f6d0e15 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index fc59199..5cd3d0e 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 7f6f9f2..c48e474 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index af6460a..72fac56 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2a73789..482166c 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 81cd55a..2cc5a7d 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0a10959..cbcbf61 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3bd1d2e..e2e37e3 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 92c5ade..d73c154 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 9a6e303..08d3f59 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 5822b78..29caf3a 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ebc8d9c..612eb48 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e3de207..885561a 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 5d100e8..172c2ae 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e07c492..4781ba1 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index aef55f1..ab66f72 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index d1beb44..201e278 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 37eb415..d8f5dbf 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 7b36e26..62ecf68 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c378c57..655b324 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index f4d8b8b..d787132 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 016f241..ac50b87 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ad3aae5..56a5cde 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 57405cc..211de81 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index aaf5006..2f697b0 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index ce820bb..85c5db7 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c59fdb5..8d3411b 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b12e4b8..75d139b 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index d6759fa..21a95a0 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6803f96..d6f0630 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 6c22ba6..2db2479 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index bf7094e..838a717 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index edabe1f..78a3c23 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2520662..fca18d9 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 695fe46..1a4b339 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 235a633..8dc5742 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 161b225..9251d61 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 49d3dee..1683a83 100644 (file)
@@ -8,7 +8,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 1506b5f..b166679 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 86eefbe..562ab46 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 954a65d..605fc45 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 7c612e6..e4cc7a0 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 41339b8..87efdef 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 1c3d7aa..cb756ca 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index b577cfa..65c42d1 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0e0debf..a97dfc0 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 436ccb0..2112004 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 9a8ba71..f695a6d 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0ea55ef..bbad940 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 925811b..94ef5a9 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 022a1b2..de6b476 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 57b3f17..e518301 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 7ca9ea4..a77e889 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 95d5006..6a98a72 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c5f95f3..7a3d214 100644 (file)
@@ -9,7 +9,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/discard_block_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..c655b26
--- /dev/null
@@ -0,0 +1,58 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::ranlux24(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::ranlux24();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..4b502b7
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::independent_bits_engine<std::mt19937, 9,
+                                         std::uint_fast32_t>(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::independent_bits_engine<std::mt19937, 9,
+                                         std::uint_fast32_t>();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..21333fb
--- /dev/null
@@ -0,0 +1,58 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::minstd_rand(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::minstd_rand();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..3453d9f
--- /dev/null
@@ -0,0 +1,58 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::mt19937(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::mt19937();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..d7db635
--- /dev/null
@@ -0,0 +1,58 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::knuth_b(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::knuth_b();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc b/libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc
new file mode 100644 (file)
index 0000000..4927d77
--- /dev/null
@@ -0,0 +1,58 @@
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+#include <testsuite_hooks.h>
+
+int f(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::ranlux24_base(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+int g(int x)
+{
+  std::seed_seq sq(&x, &x + 1);
+  auto rnd = std::ranlux24_base();
+  rnd.seed(sq);
+  return std::uniform_int_distribution<int>()(rnd);
+}
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  const int f1 = f(0);
+  const int f2 = f(0);
+
+  const int g1 = g(0);
+  const int g2 = g(0);
+  
+  VERIFY( f1 == f2 );
+  VERIFY( g1 == g2 );
+  VERIFY( f1 == g1 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
index be08d02..10f67da 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0bd620f..b913bc4 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
new file mode 100644 (file)
index 0000000..1d77a55
--- /dev/null
@@ -0,0 +1,29 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <atomic>
+void test01()
+{
+  using namespace std;
+  volatile atomic<bool> ab1 __attribute__((unused));
+  ab1 = true;
+  volatile atomic_bool ab2 __attribute__((unused));
+  ab2 = true;
+}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc
new file mode 100644 (file)
index 0000000..64f3b97
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-options "-std=gnu++0x -Wsystem-headers -Wnarrowing" }
+// { dg-do compile }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <atomic>
+void test01()
+{
+  using namespace std;
+  atomic_flag af __attribute__((unused)) = ATOMIC_FLAG_INIT;
+}
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/53841.cc
new file mode 100644 (file)
index 0000000..f91509c
--- /dev/null
@@ -0,0 +1,50 @@
+// { dg-do compile }
+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* hppa*-hp-hpux11* } }
+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+// { dg-require-cstdint "" }
+// { dg-require-gthreads "" }
+
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// PR libstdc++/53841
+
+#include <chrono>
+#include <mutex>
+#include <condition_variable>
+
+namespace ch = std::chrono;
+
+struct FPClock : ch::system_clock
+{
+    typedef double rep;
+    typedef std::ratio<1> period;
+    typedef ch::duration<rep, period> duration;
+    typedef ch::time_point<FPClock> time_point;
+
+    static time_point now()
+    { return time_point(duration(system_clock::now().time_since_epoch())); }
+};
+
+void f()
+{
+    std::mutex mx;
+    std::unique_lock<std::mutex> l(mx);
+    std::condition_variable cv;
+    cv.wait_until(l, FPClock::now());
+}
index c135e28..470fc4c 100644 (file)
@@ -1,11 +1,8 @@
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* powerpc-ibm-aix* } }
-// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* powerpc-ibm-aix* } }
-// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+// { dg-do run }
+// { dg-options " -std=gnu++11 " }
 // { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
 
-// Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011, 2012, 2013 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
diff --git a/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc b/libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc
new file mode 100644 (file)
index 0000000..26ff4b4
--- /dev/null
@@ -0,0 +1,45 @@
+// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } }
+// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } }
+// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
+// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+// { dg-require-cstdint "" }
+// { dg-require-gthreads "" }
+// { dg-require-nanosleep "" }
+
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <pthread.h>
+#include <thread>
+#include <atomic>
+
+void f(std::atomic<bool>& started)
+{
+  started = true;
+  while (true)
+    std::this_thread::sleep_for(std::chrono::milliseconds(100));
+}
+
+int main()
+{
+  std::atomic<bool> started{ false };
+  std::thread t(f, std::ref(started));
+  while (!started)
+    std::this_thread::sleep_for(std::chrono::milliseconds(100));
+  pthread_cancel(t.native_handle());
+  t.join();
+}
index bb077d1..3c4f39e 100644 (file)
@@ -160,7 +160,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PDFLATEX = @PDFLATEX@
-PIC_CXXFLAGS = @PIC_CXXFLAGS@
 RANLIB = @RANLIB@
 SECTION_FLAGS = @SECTION_FLAGS@
 SECTION_LDFLAGS = @SECTION_LDFLAGS@
@@ -208,7 +207,10 @@ glibcxx_MOFILES = @glibcxx_MOFILES@
 glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
 glibcxx_POFILES = @glibcxx_POFILES@
 glibcxx_builddir = @glibcxx_builddir@
+glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
+glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
 glibcxx_localedir = @glibcxx_localedir@
+glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
 glibcxx_prefixdir = @glibcxx_prefixdir@
 glibcxx_srcdir = @glibcxx_srcdir@
 glibcxx_toolexecdir = @glibcxx_toolexecdir@
index 337df66..b572f1e 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index e6737de..bed965a 100644 (file)
@@ -11,7 +11,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index db0bc03..94dce37 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 83edbe1..d23a882 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3232292..f734e92 100644 (file)
@@ -10,7 +10,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index c7dbdc0..461dfc0 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4318bd4..35d5d79 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/function/10.cc
new file mode 100644 (file)
index 0000000..ca29e3c
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright (C) 2012 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+#include <tr1/functional>
+
+struct F
+{
+  void operator()() { }
+  void operator&() const { }
+};
+
+void test01()
+{
+  F f;
+  std::tr1::function<void()> f1 = f;
+  std::tr1::function<void()> f2 = std::tr1::ref(f);
+}
+
+int main()
+{
+  test01();
+
+  return 0;
+}
index 5d29270..08d87f2 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 4f1b060..970593e 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 2a74c3c..a0b3fd8 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 0831bd5..63abcd4 100644 (file)
@@ -7,7 +7,7 @@
 // any later version.
 
 // This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// 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.
 
index 3719942..3e6d693 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 4c1806a..c74b6cf 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.
index 8b38555..aeabcd9 100644 (file)
@@ -1,3 +1,7 @@
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
 2012-09-20  Release Manager
 
        * GCC 4.7.2 released.